我尝试创建一个特定于领域的神经机器翻译引擎:专注于数据收集和性能验证(第 1 部分)

起先
自 2015 年以来,随着 AI 行业技术神经网络的发展,出现了一种称为神经机器翻译 (NMT) 的新型机器自动翻译。
NMT 只存在了几年,但它仍然被称为 Rule Base 机器翻译。 RBMT) 和统计机器翻译。 与 SMT 相比,它可以以更高的准确性进行翻译,因此它一下子成为机器翻译的主流。
现在,继续讨论特定领域的翻译,人们强烈认为特定领域的翻译应该留给人类而不是机器。
这样做的原因是:
1. 专业文档翻译难度高,与人工翻译相比质量差异大。
2. 术语的输出翻译每次都不同,或者输出不适合该领域。
等等。
然而,在现实中,当综合考虑工作量、成本和质量时,手工特定领域的翻译存在各种限制。
另一方面,客户的期望越来越高,即如果根据应用程序提供的翻译满足一定水平,机器翻译是可以接受的。
现在 NMT 正在蓬勃发展,是否有可能创建能够满足这些期望的特定领域 NMT?
另外,你是如何制造的,它的表现如何?
现在让我们来检查一下。
引擎创建的第一个因素:数据
毋庸置疑,创建特定于现场的 NMT 引擎需要数据。 数据本身必须是双语的,并且特定于领域。
双语数据是句子及其双语句子对齐和对应的数据。 例如,日语及其中文翻译是相连的。
换句话说,字段识别意味着运动数据用于制作运动场的引擎。 这样做的原因是,如果您使用通用双语数据,它可能与特定字段中的数据不匹配,而其他字段中的数据可能会产生负面影响。
由于 NMT 的机制,需要比传统 SMT 更多的双语数据。
因此,保护大量特定于领域的双语数据是需要克服的第一个问题。
如何收集特定于域的双语数据
然而,在实践中,收集双语数据并不容易。 此外,添加主题标识的名称使收集数据变得更加困难。
那么,您如何收集“高容量”、“特定领域”、“双语”数据呢?
有三种可能的方法可以做到这一点
1. 提取双语数据
(1) 如果没有句子级双语数据,则为两种语言分配一定量的数据,例如在文件级别。
(2) 从(1)中的文件级数据中,确定句子级对应关系并提取 “biingual” 句子对。
2. 字段相似数据的提取
(1) 如果本身存在双语数据,但多个字段的数据混杂不区分,首先从数据中选择少量字段特定的双语数据。
(2) 使用句子相似度计算来搜索与所选字段特定数据相似的数据。
3. 语言转换
(1) 确保单语种数据安全。
(2) 将其转换为其他语言。
(3) 将其视为双语数据。
到目前为止,我们已经介绍了三种收集双语数据的方法,但这次我们将介绍第一种方法,“1. 使用“双语数据提取”,我实际上收集了特定于 IT 领域的日日双语数据。
通常,有许多站点包含支持每页多种语言的技术 IT 文档。
因此,可以从此类网站获得大量的中日双语数据。
获得的数据仅在页面文件级别,但我们将创建一个对齐工具并将白天数据处理到句子级别。
这里的 “对齐” 是指自动关联句子,该方法将在另一个场合介绍。
作为这个过程的结果,我们最终能够收集大约 600,000 对句子的中日双语数据。
尽管与使用最先进的通用 NMT 的数据量相比,数据量仍然很小,但足以对 NMT 引擎进行原型设计。
在下一篇文章中,我将介绍使用此处收集的中日双语数据对特定于该领域的中日和中日NMT引擎进行实际原型设计的过程。