论文部分内容阅读
机器翻译是自然语言处理的一个范畴,它是利用计算机把一种自然源语言转变为另一种自然目标语言的过程。机器翻译技术的实现主要分为基于规则的和基于语料库的两类,其中,基于语料库的方法又可以分为基于统计和基于实例的方法。因为统计机器翻译系统能够自动从双语语料中获取模型系统需要的各个参数,需要较少的人工干预,近年来获得了快速发展。
统计机器翻译中词对齐是一个重要环节。当前统计机器翻译中普遍使用GIZA++作为对齐工具,该工具是针对统计机器翻译模型的训练工具集。这个工具可以生成IBM的5个统计翻译模型,采用两种方向的训练。但目前的GIZA++在进行大规模语料库的训练时会花费大量的时间。通过使用并行方法可以大大提高训练速度,节省时间。目前已有的并行对齐方法包括使用多处理器方法和使用集群方法。
本文首先介绍了统计机器翻译特别是对齐方面的历史、研究现状、主要方法和分类,之后详细介绍GIZA++工具所实现的IBM5个翻译模型。
其次,介绍GIZA++并行化的理论依据,介绍当今世界上已有的两种并行化方法,详细介绍GIZA++多处理器并行化过程中使用到的各种技术,描述了POSIX多线程编程技术以及GIZA++多处理器并行化过程并简单介绍cygwin模拟环境。
再次,以Windows系统下已存在的GIZA++为基础,参考linux系统下的多处理器并行工具MGIZA++,完成Windows系统下的并行对齐工具WinMGIZA++,同时也使用cygwin模拟环境实现linux下的MGIZA++的Windows版本CWinMGIZA++。并详细介绍工作经验和遇到的问题。
最后,利用已有的汉英双语语料库,使用GIZA++和WinMGIZA++对相同大小的汉英双语语料库进行训练,统计两种情况下资源的消耗数据,包括内存的消耗和时间的长短。并通过使用最小二乘法对这些数据进行函数拟合,对GIZA++和WinMGIZA++的计算性能进行初步的预测分析。实验表明,虽然使用WinMGIZA++进行双语语料库的对齐训练与使用原始GIZA++进行训练的训练效果以及消耗的系统内存接近,但使用WinMGIZA++消耗时间更短,效率更高。