基于机器翻译的句子对齐工具

pypi-bleualign的Python项目详细描述


基于机器翻译的句子对齐工具

版权所有2010 里科·森里奇<;sennrich@cl.uzh.ch>;

苏黎世大学计算语言学小组的一个项目。

项目主页:http://github.com/rsennrich/bleualign

此程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它

一般信息

bleualign是一种在句子层次上对齐平行文本(即文本及其翻译)的工具。 除了源文本和目标文本之外,bleualign还需要至少一个文本的自动翻译。 然后根据源文本句子(翻译成目标语言)和目标文本句子之间的相似性(修改的bleu分数)进行对齐。 请参阅出版物一节了解更多详细信息。

获得自动翻译取决于用户。唯一的要求是翻译必须与源文本逐行对应(不插入或删除换行符)。

要求

该软件是在Linux上使用Python2.6开发的,但也应该支持较新版本的Python(包括3.x)和其他平台。 请向sennrich@cl.uzh.ch报告您遇到的任何问题

使用说明

bleualign的输入输出格式是每行一句话。 仅包含.eoa的行被视为硬分隔符(文章结尾)。 句子对齐不会跨越这些分隔符:可靠的分隔符可提高速度和性能,错误的分隔符会严重降低性能。

给定文件sourcetext.txt、targettext.txt和sourcetranslation.txt(后者是与sourcetext.txt对齐的句子),一个示例调用是

./bleualign.py -s sourcetext.txt -t targettext.txt –srctotarget sourcetranslation.txt -o outputfile

也可以在其他翻译方向上提供多个翻译和/或翻译。 Bleualign将在提供的每个翻译中运行一次,最终输出是各个运行的交叉点(即每个运行中生成的句子对)。

./bleualign.py -s sourcetext.txt -t targettext.txt –srctotarget sourcetranslation1.txt –srctotarget sourcetranslation2.txt –targettosrc targettranslation1.txt -o outputfile

./bleualign.py -h will show more usage options

为了便于批量处理多个文件,可以使用batch_align.py

python batch_align directory source_suffix target_suffix translation_suffix

示例:给定带有文件0.de0.fr0.trans等的目录0.trans0.de到目标语言的转换,则此命令将对齐所有文件:

python batch_align.py raw_files de fr trans

这将生成文件0.de.aligned0.fr.aligned

用作python模块

bleualign作为独立脚本工作,但也可以作为其他python项目的模块导入。 有关代码示例,请参见example/目录。如果想知道所有选项,可以在bleualign/aligner.py中看到aligner.default_options变量。

要将bleualign用作python模块,需要使用以下命令(从本地副本)安装包:

python setup.py install

BleuAlign软件包也可以直接从GitHub安装,安装方式为:

pip install git+https://github.com/rsennrich/Bleualign.git

出版物

算法在

Rico Sennrich,Martin Volk(2010年):
基于机器翻译的ocr生成的并行文本句子对齐。摘自:科罗拉多州丹佛市AMTA 2010会议记录。
里科·森里奇;马丁·沃克(2011):
基于mt的并行文本的迭代句子对齐。摘自:Nodalida 2011,北欧计算语言学会议,里加。

联系人

有关问题和反馈,请联系sennrich@cl.uzh.ch或使用github存储库。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?