机器学习平行语料库(翻译记忆库)(句对齐)开源工具及方法介绍

最近一直在做平行语料库句对齐的工作,新手上路

根据自己查的一些资料这里概括一下大致的思路(这里假设你有自己的语料库,文章,而且是双语的,也就是已经翻译好的文章,并且已经做了分段,且双语已经做了段落对齐。如果没有的话可以下载,一些双语语料库,如联合国双语语料库http://opus.nlpl.eu/MultiUN.php,有了这些,你要做一个分句,接就要对齐了,之后一般是要形成一个翻译记忆库,.tmx的格式)

一、首先就是对已经做好段落对齐的文件进行分句,这里其实也并不是那么容易,中文来说,一般是用“‘。’,‘!’,‘?’,‘……’”作为分句的标志,但是这其中又涉及到双引号中有这几种中的任何一个标点,那又如何分句,这里假设我们不理会双引号,直接对其进行分割。下面简要介绍中文分句的三种方法。

1、python语言直接进行分句,利用标点分割。

2、使用中文分词包,中文常用的分句工具是python包snowNLP。

3、或者你想分句更加精准写,可以使用正则表达式。

英文的话比较麻烦,有一些缩写如:A.B,小数点1.2,这个就不能简单地采用标点来分句了。这个我选择了使用python的一个包nltk,看了一下它的机制,使用了二分类模型,做了一些标记。这个包可以做很多的分句的包,如法语,西班牙语等等。当然没有中文……老外写的嘛下面附上一个数据包,在安装nltk后使用的data数据。

链接:https://pan.baidu.com/s/1KN2LTsY_8bTbrTC9WuRC7A提取码:zmes

二、下面就是句对齐了,找了好多资料,包括大多数的论文和工具(主要是做中英对齐的)。

下面大概的做一个比较这些工具开源代码galechurch,hunalign,champollion,bilingual-sentence-aligner,当然还有一些其他的工具,那些主要是基于这些基础算法的。

注:根据查到的资料,句对齐一般分为这么几种,基于长度,基于词典,基于长度和词典的,还有一些新的想法提出来是基于词源的(适合欧美语系),基于文本的主要思想是根据评分来做的。

1、galechurch(基于长度)

gale, church应该算是研究句对齐的鼻祖了,1993年发表了论文

提出来一种算法,适合欧美语系,思想就是根据句子的长度来比较的,具体的可以看论文。

这里附上链接:https://pan.baidu.com/s/1wOtZXrdx-SF9ZN9f-F2Ypw 提取码:gevo

2、hunalign(基于长度的),基于此算法的工具有LF

主要是基于galechurch想法写的,并做了改进,具体的没有做太多的研究,是之后主流的句对齐工具之一。可以用于十几种语句的对齐,但是很遗憾,中文不太使用,但是也不是完全不适用,只是效果不太好。LF就是根据它做了一些小的改进,对其效果还可以。

3、champollion

基于长度和词典的工具,perl编写的。效果还不错。这里附论文链接:https://pan.baidu.com/s/12AobRJLgwNWtZc41vDvyGg
提取码:7xzz

4、bilingual-sentence-aligner

微软做的,是基于IBM模型做的。这里附论文链接:https://pan.baidu.com/s/1EAvIz4bn1nYlSu8t7_2ZVw
提取码:ako9

还有一些比较专注于做这些工具如ABBalign, 雪人对齐,网上还有一个在线对齐的工具,不过要收费tmxmall。

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值