基于机器翻译的句子对齐工具
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.de、0.fr和0.trans等的目录0.trans是0.de到目标语言的转换,则此命令将对齐所有文件:
python batch_align.py raw_files de fr trans
这将生成文件0.de.aligned和0.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存储库。