首页 » 网站推广 » wid7iis6php设置装备摆设php网站技巧_若何自己开拓一个谷歌翻译质量的机械翻译系统

wid7iis6php设置装备摆设php网站技巧_若何自己开拓一个谷歌翻译质量的机械翻译系统

访客 2024-12-07 0

扫一扫用手机浏览

文章目录 [+]

在过去几年里,机器翻译领域发生了一场革命。
利用深度学习构建的新翻译系统取代了措辞学家利用统计学领域几十年的研究成果构建的旧系统。
像 Google Translate 这样的热门翻译产品,已经将其内部构造换掉,用新的深度学习模型取代了旧的代码。

这对大家来说,是极好的。
深度学习的方法不仅更准确,而且你不必拥有措辞学研究生学历就能理解。
从理论上讲,它很大略,只要有足够的演习数据和算力,谁都可以构建自己的措辞翻译系统。
话虽如此,但要自己开拓一个翻译系统还是有一定的难度,由于对付一样平常的玩票来说,所需的数据量和算力让人望而生畏。

wid7iis6php设置装备摆设php网站技巧_若何自己开拓一个谷歌翻译质量的机械翻译系统

但就像机器学习中的其他东西一样,机器翻译也在迅速成熟。
工具越来越随意马虎利用,GPU 也越来越强大,演习数据比以往任何时候都要丰富得多。
现在,你可以利用现成的硬件和软件来构建措辞翻译系统了,这些硬件和软件都已经足够好,足以用于实际项目了。
最棒的是,你无需向 Google 支付任何 API 用度,就可以利用它。

wid7iis6php设置装备摆设php网站技巧_若何自己开拓一个谷歌翻译质量的机械翻译系统
(图片来自网络侵删)

那就让我们开始吧!
让我们构建一个西班牙语到英语的翻译系统,可以准确地将包含未列入词汇表中的词汇的文本进行翻译。

基于神经网络的文本翻译

我们这个翻译系统的核心将是一个神经网络,它接管一条句子并输出该句子的翻译结果。
我以前写过关于机器翻译系统的历史,以及我们如何利用神经网络来翻译文本,下面是简短版本:

神经翻译系统实际上是两个神经网络连接在一起,端到真个神经网络。
第一个神经网络学习将单词序列(即句子)编码成代表其意义的数字数组。
第二个神经网络学会将这些数字解码成一系列意思相同的单词。
诀窍是,编码器接管一种措辞的单词,但解码器输出的是另一种措辞的单词。
因此,实际上该模型通过中间的数字编码,来学习一种人类措辞到另一种措辞的映射。

为了对句子的意思进行编码和解码,我们将利用一种分外类型的神经网络,称为递归神经网络。
一个标准的神经网络是没有影象的。
如果你给它同样的输入,它每次都会得出同样的结果。
比较之下,递归神经网络之以是被称为递归,是由于上一次的输入会影响下一次的预测。

这很有用,由于句子中的每个单词都不是独立存在的。
每个单词的意思要取决于它在句子中的高下文。
通过让句子中的每个单词影响下一个单词的值,可以让我们捕获到高下文的一些内容。

因此,如果你向神经网络显示单词 “My”、“name”、“is”,然后哀求它对 “Adam” 这个词的含义进行编码,它就会用前面的词来知道表示 “Adam” 这个词作为名字的意思。
如果你想理解更多有关其事情事理的细节,请查看我之前写的文章。

如果你非常精通机器学习,那么,一提到递归神经网络,你可能会打哈欠。
如果是这样,请跳到下面的 Linux shell 命令,开始演习你的模型吧。
我知道,机器学习是一个发展迅速的领域,几年前绝对是革命性的东西,搁到现在已经成了古老的事物。

事实上,还有一种更新颖的措辞翻译方法,它利用了一种叫做 Transformer 的新型模型。
Transformer 模型更进一步,通过对每一个单词之间的交叉关系进行建模,而不是仅仅考虑单词的顺序,试图捕获句子中每个单词的高下文意义。
我也写过关于 Transformer 模型的文章,但为了保持合理的演习韶光,我们将在这个项目中利用递归神经网络。
别担心,效果还是会很好的!

完全的翻译管道

很好,我们将利用两个递归神经网络来翻译文本。
我们将演习第一个神经网络对西班牙语的句子进行编码,然后演习第二个神经网络将其解码为英语。
如果你相信我在 reddit 上的评论,那么每个已安装 Python 的高中生都已经知道如何创建一个递归神经网络了。
以是,是时候开始了,对吧?

别这么快!
我们还须要一种策略,来处理缭乱的真实数据。
人类非常善于在没有任何帮助的情形下从混乱的数据中提取信息。
例如,你可以绝不费力地读下面这句话:

cOMPuTERs are BAd at UNderStandING Messy DAtA…

一个用格式完美的文本进行演习的神经网络根本不会知道这句话是什么意思。
神经网络并没有能力在演习数据之外进行推断。
如果神经网络之前没有见过 “cOMPuTERs” 这个词,它不会自动地知道这个词跟 “computers” 的意思是一样的。

办理方案是将文本进行归一化,我们希望肃清尽可能多的格式变革。
我们将确保单词在相同的高下文总是以相同的办法大写,我们将修复标点符号前后的任何奇怪的格式,并清理 MS Word 软件随机添加的任何奇怪的引号,等等。
全体想法便是,无论用户如何输入,都会确保相同的句子总是以完备相同的办法输入。

下面是文本归一化的一个示例:

请把稳,无论用户的 Shift 键用得多糟糕,“He visited London”这句话是如何以同样的办法进行归一化的。
把稳,“London”总是大写,而其他单词没有大写,由于它常日被用作专用名词。
确保文本格式清晰,会让神经网络的事情变得轻松很多。

下面是我们完全的翻译流程,用我们想要翻译的文本解释,用翻译后的版本来结束:

首先,我们须要将文本分割成句子。
我们的神经网络每次只能翻译一个句子,如果我们试图一次性把整段的句子馈入,效果会很差。

将文本分割成句子看起来彷佛很随意马虎,但实际上是一个棘手的任务,由于有人可以用各种不同的办法来嵌套标点和格式。
在这个项目中,我们将利用一个用 Python 编写的大略的句子分割器来减少你须要安装的第三方库。
但是 NLP 库 (如 spaCy ) 包含了繁芜的句子分割模型,如果还不能知足你的需求,你就可以利用这些模型。

接下来,我们将对文本进行归一化处理。
这是最难的部分,如果你在这一步上偷工减料的话,终极的结果会很丢脸的。
而一旦我们将文本成功归一化后,就可以将它馈入到翻译模型中了。

记住,你还须要反转文本归一化和句子分割步骤来天生终极的翻译。
以是,我们会有一个去归一化的步骤,然后再把文本重新组合成句子的步骤。

软件及硬件哀求Python 3

我们将利用 Python 3 编写胶水代码来对文本进行归一化、实行翻译,并输出结果。

Marian NMT(机器翻译深度学习框架)

你可能以为我们会利用像 TensorFlow 或 PyTorch 之类的通用机器学习框架来实现我们的翻译模型。
取而代之的是,我们利用 Marian NMT,这是一个基于 C++ 的机器学习框架,专门为机器翻译而设计,紧张由 Microsoft Translator 团队开拓。
它已经内置了多个神经翻译模型架构。

虽然 TensorFlow 和 PyTorch 非常适宜用来实验或考试测验新的神经网络设计。
但是,一旦你搞清楚了模型架构,并试图扩展你的设计来处理真实天下的用户,你就可以不再须要通用工具了。

Marian NMT 是一种专用工具,旨在让你能够轻松地快速构建生产级翻译系统。
你没有必要“重新发明轮子”。
这是一个例子,解释随着机器学习从研究实验室进入日常利用,软件是如何变得更加成熟的。

带有 GPU 的台式打算机

要运行 Marian,我们须要一台 Linux 打算机。
任何一台打算机都可以,只能性能足够强,该当都可以运行。
我利用的是一台台式机打算机,装的是 Ubuntu Linux 18.04,配置了 Intel i7 处理器和 32GB 内存。
为了存储演习数据,我利用的是普通的 SSD 硬盘。

主要的是,打算机要有一个好的 NVIDIA GPU,还要有足够的显存。
GPU 要承担大部分的打算事情,以是 GPU 便是你该当投资的地方。
我利用的是 NVIDIA TITAN RTX,显存为 24GB。
至少,你须要一个最低 8GB 显存的 GPU。
至于其他不错的消费级 GPU,如 GTX 1080 Ti 或 GTX 2080 Ti 是可以用的;像 NVIDIA TESLA 或 Quadro 系列这样做事器级的 GPU 也是可以的。

你可以将 Marian 与单个 GPU 或多个 GPU 并行利用来加快速率,但每个 GPU 都须要有足够的内存来单独保存模型和演习数据。
也便是说,两个 4GB 显存的 GPU 并不能代替一个 8GB 显存的 GPU 事情。

准备你的打算机安装 Ubuntu Linux 18.04 LTS

只管得到了 Microsoft 的支持,但 Marian 尚无法在 Windows 上运行。
而且也不能在 Mac OS 上运行。
以是,你要么在你的打算机上安装 Linux,要么考虑从你最喜好的云做事供应商哪里租用一台云端中的 Linux 机器。

我建议,为这个项目安装 Ubuntu Linux 18.04 LTS。
只管最近发布了 Ubuntu Linux 20.04 LTS,但是 GPU 驱动程序和深度学习库都须要韶光来更新以适应新版本的 Ubuntu。
以是,千万不要考试测验利用最新版本的 Ubuntu,除非你乐意面对额外的、令人头疼的问题,并自己办理安装问题。

安装 NVIDIA 的 CUDA 和 cuDNN 库

NVIDIA 的 CUDA 和 cuDNN 库可以让 Marian 利用你的 GPU 来加速演习过程。
因此,在我们连续之前,如果你还没有安装 CUDA 和 cuDNN 的话,请先安装这些。

在 Ubuntu Linux 18.04 上,我建议安装 CUDA/cuDNN 版本 10.1,这些版本适用于 Marian。

安装 CUDA 10.1安装置套的 cuDNN 版本

如果你安装了不同的版本,就必须调度下面的命令来匹配。
NVIDIA 由于在 CUDA 的新版本中做了一些眇小的改动而臭名昭著,这些改动会导致旧版本软件涌现不兼容性。
因此,如果你偏离了标准路径,请再次做好自己调试的准备。

安装 Marian 和演习脚本

在编译 Marian 之前,你须要安装比 Ubuntu 18.04 默认包含的更新版本的 CMake。
你还须要安装一些其他必备条件。

不过,你不用担心,这没什么大不了的,你只需运行下面终端命令即可:

复制代码

# Install newer CMake via 3rd-party repowget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null |sudo apt-key add -sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'sudo apt-get install cmake git build-essential libboost-all-dev

请把稳,这些命令将从第三方软件包仓库中拉取软件包。
因此,请检讨命令正在实行的操作,以确保没有问题。

安装了这些必备条件后,运行以下命令并编译 Marian(包括示例和助手工具,它们分布在不同的 git repo 中):

复制代码

# Download and compile Mariancd ~git clone https://github.com/marian-nmt/mariancd marianmkdir buildcd buildcmake -DCOMPILE_SERVER=on -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.1/ ..make -j4# Grab and compile the Marian model examples and helper toolscd ~/marian/git clone https://github.com/marian-nmt/marian-examples.gitcd marian-examples/cd tools/make

末了,我分享了我们用 Marian 演习西班牙语到英语模型的脚本。
这些脚本是基于 Marian 附带的罗马尼亚语翻译示例,但针对西班牙语到英语进行了修正,并将其扩展到更大的数据集。

复制代码

# Download the Spanish-to-English scripts for this articlecd ~/marian/marian-examplesgit clone https://github.com/ageitgey/spanish-to-english-translation# Install the Python modules we'll use latercd spanish-to-english-translationsudo python3 -m pip install -r requirements.txt

你可以自由地调度这些脚本,使实在用于你想要翻译的任何措辞对。
像法语或意大利语这样的基于拉丁语的措辞险些不须要什么修正;而像普通话这样的不太相似的措辞就须要更多的事情了。

若何找到演习数据

要演习一个翻译模型,我们须要数百万对完备相同的句子,只是它们已经被翻译成两种措辞,这便是所谓的平行语料库(parallel corpora)。

每行为一句话。
这两个文件中的句子是相配的。

我们拥有的句子对越多,模型就能更好地学习如何翻译不同类型的文本。
要创建工业级强度的模型,就须要数千万个演习句子,乃至更多。
而且最主要的是,这些句子须要覆盖全体人类表达的所有方面,从正式文件到鄙谚和笑话。

糟糕的翻译系统和像 Google Translate 这样强大的翻译系统之间最大的差异在于:演习数据的数量和种类!
幸运的是,在 2020 年,我们可以在很多地方找到有时创建的并行数据,并可以通过一些奥妙的技巧将其转换成演习句子对。

对付正式文件和法律文本,我们有来自欧盟的礼物。
它们将其法律文件翻译成成员国的所有措辞,个中就包括了英语和西班牙语。
沿着同样的思路,我们可以从其他国际机构找到交叉翻译的法律文本,如联合国和欧洲央行。

对付历史写作,我们可以从已经被翻译身分歧措辞的经典书本中找到句子对。
我们可以拿没有版权的书本,将这些作品的不同译本进行配对,以创造句子对,我们知道这些句子对说的是同一件事。

对付非正式的发言,我们有 DVD 的礼物。
自 20 世纪 90 年代末推出 DVD 格式以来,险些所有的电影和电视节目都包含了多种措辞的字幕,这些字幕机器可读。
我们可以对同一部电影和电视节目的不同翻译进行配对,以创建并行数据。
同样的想法也适用于带有字幕的新内容,比如蓝光和 YouTube 视频。

现在,我们知道在哪里可以找到这些数据了,但要把这些数据全部清理并准备好,还是有很多事情要做的。
幸运的是,开放平行语料库(Open Parallel Corpus,OPUS)的那些人已经完成了网络多种措辞的句子对事情,这些人非常了不起。
你可以在他们的网站上浏览并下载他们所有的平行句子数据。
这将大大加快我们的项目,以是请务必在本文文末查看他们事情的引文。

我们稍后将运行的演习脚本将自动从 OPUS 下载这些数据源,这为我们供应了近 8500 万个翻译过的句子对,而且不须要任何事情。
这太棒了!

OPUS 按措辞对供应文件。
因此,如果你想创建一个比如说芬兰语到意大利语的翻译模型,而不是西班牙语到英语,你可以通过下载该措辞对的文件来实现。
请记住,对付利用不太广泛的措辞,是很难找到句子对的。
其余,还请记住,有些措辞须要独特的文本归一化方法,而本文的这个例子中并没有涉及到这些方法。

图为来自 OPUS 的欧洲议会数据的可用措辞对表。
请把稳,与英语等利用较广泛的措辞比较,利用范围较小的措辞的文件更小,数据也更少

同时请把稳,这些数据来自不同的地方,质量良莠不齐。
这些下载中肯定会存在一些缺点或重复的数据。
当你利用弘大的数据集时,数据质量将永久得不到担保,并且,你还须要常常亲自动手来创造和修复任何明显的问题。

合并和准备演习数据

我供应的用于演习模型的脚本会自动为你下载并准备数据,但如果你要为其他措辞对构建翻译模型,还是有必要谈论一下所涉及的步骤。

我们从 OPUS 下载的每个数据源都会包含两个文本文件。
一个文本文件有一个英语句子列表,另一个文本文件有一个与之相配的西班牙语句子列表,顺序相同。
因此,我们终极会有许多文本文件,如下图所示。

我们须要经由几个步骤来准备演习数据:

合并:将所有英语文本合并成一个大型文本文件。
同样地,将所有的西班牙语文件合并起来,确保保持所有的句子顺序,以便英语和西班牙语文件仍旧相配。
随机洗牌:将每个文件中句子的顺序进行随机洗牌(Shuffle),同时保持英语和西班牙语中句子的相对顺序相同。
将不同来源的演习数据稠浊在一起,可以帮助模型学习在不同类型的文本中进行泛化,而不是先学习翻译正式数据,然后在学习翻译非正式数据,以此类推。
分割:将煤种措辞的主数据文件分割成演习、开拓和测试部分。
我们将根据大量的演习数据对模型进行演习,但保留一些句子来测试模型并确保其事情正常。
这就确保了我们测试模型时利用的句子是它在演习中从未见过的,因此我们可以确定它不但是记住了精确的答案。
用子词分割处理生僻新词

演习数据永久不可能覆盖所有可能的单词,由于人们无时无刻不在编造新的单词。
为了帮助我们的翻译系统处理从未见过的单词,我们可以利用一种叫做子词分割(Subword Segmentation)的方法。

子词分割便是我们将单词分成更小的片段,并教会模型在每个单词的每个片段之间进行翻译,我们希望的是,如果模型看到一个从未见过的单词,它至少能够通过翻译构成它的子词来预测这个单词的意思。

想象一下,我们的演习数据中包含了 low、lowest、newer 和 broad 等单词。
我们可以将这些词分成词根和后缀(又称词尾,是一种后置于其他词素后的词缀)。

词根:low、new、wid后缀:est、er

现在想象一下,我们被哀求翻译 widest 这个词。
纵然这个词从来没有涌如今演习数据中,但模型会知道如何翻译 wid 和 est,以是通过把这两个子词的翻译放在一起,它就能很好地预测出 widest 的意思。
虽然这并不总是完美的,但它在很多情形下都能很好地事情,这将使翻译模型整体上更加准确。

我们将利用的子词分割的详细实现称为 BPE,即字节对编码(Byte Pair Encoding)。
你可以在最初的研究论文理解它的事情事理。

为了利用 BPE 的上风,我们须要演习一个新的 BPE 模型来适应我们的演习数据集,然后在文本归一化过程中加入一个额外的步骤,在这一步骤中,通过 BPE 模型运行文本。
同样的,我们还须要在去归一化过程中增加一个步骤,以便重新连接终极翻译中被 BPE 模型分割成单独单词的任何单词。

演习完全的翻译管道

下载演习数据、准备数据、创建 BPE 模型以及与 Marian 一起演习实际翻译模型的全体过程都在一个脚本中完成。
要启动所有操作,请运行以下命令:

复制代码

cd ~/marian/marian-examples/spanish-to-english-translation/./run-me.sh

你可以看看 run-me.sh 脚本,看看每一步都发生了什么。
脚本写得非常大略明了:它下载演习数据、将其合并,进行归一化,然后启动 Marian 演习过程。

如果要构建一个生产级的翻译系统,你可以随意用自己的实现来更换这个脚本。
这个脚本只是起到辅导你须要实行哪些步骤的浸染。

在数据准备好并且模型开始演习之后,你将会看到如下图所示的输出:

复制代码

[2020-05-01 10:09:23] Ep. 1 : Up. 1000 : Sen. 154,871 : Cost 70.37619781 : Time 370.45s : 5024.86 words/s

下面阐明了缩写的含义:

Ep. = Epoch(轮数),指全体演习数据集的通过次数。
Up. = Updates(更新)Sen. = Sentences(句子)

这条是说,我们目前正在进行第一个轮数(即第一次通过演习数据集),到目前为止,模型已经更新了 1000 次,处理了 154871 个句子对。

本钱值为 70.3 见告你模型演习过程中找到最优办理方案的程度。
当本钱值为 0.0 时,则意味着模型是完美的,能够将任何西班牙语句子转换为演习数据中完美相配的英语翻译。
但这永久不会发生,由于模型永久不可能是完美的,而且每个句子也不会只有一个精确的翻译。
但是本钱值越低,演习过程就越靠近于完成。

随着韶光的推移,本钱值该当会低落,终极,演习将会自动结束。
在我的系统中,演习过程大约须要一天的韶光,但也有可能须要更长的韶光,这取决于你的 GPU 性能和网络的演习数据量。

演习过程中,偶尔会涌现停息,以便在一个小的句子集上验证模型,这些句子不在演习集中。
这是为了确保模型在新数据中运行良好,而不仅仅是影象演习数据。

演习完成后(1~2 天后),所有模型文件都将保存在 /models/ 子文件夹中。
这些文件是你在另一个程序中利用翻译模型来翻译新文本所须要的。

我没韶光,可以下载你的预演习模型吗?

如果你不想等上一两天演习结束就连续下一个步骤,可以下载我的西班牙语转英语的预演习模型:

复制代码

cd ~/marian/marian-examples/spanish-to-english-translation/wget https://github.com/ageitgey/spanish-to-english-translation/releases/download/0.1/model-spanish-to-english.tar.gztar -zxvf model-spanish-to-english.tar.gz利用模型翻译新文本

现在进入有趣的部分,让我们试一下我们的新翻译系统!

要翻译文本,我们须要将文本通过与演习数据相同的文本归一化步骤,让神经网络对文本进行翻译,然后再将文本归一化步骤逆向输出。

由于 Marian 模型本身相称大,因此在转换过程中,最慢的步骤之一是将模型加载到内存中。
为避免这种延迟,Marian 可以在“做事器模式”下运行,在这种模式下,它保存在内存中,并许可你将其发送翻译要求。
我们将利用做事器模式。

要启动 Marian 做事器,请在终端窗口中运行以下命令:

复制代码

cd ~/marian/marian-examples/spanish-to-english-translation/../../build/marian-server --port 8080 -c model/model.npz.best-translation.npz.decoder.yml -d 0 -b 12 -n1 --mini-batch 64 --maxi-batch 10 --maxi-batch-sort src

上述命令是见告做事器监听端口 8080 上的连接,并利用文件 model.npz.best-translation.npz.decoder.yml 中描述的模型文件。

记住,Marian 做事器只处理我们管道中的翻译步骤,它不进行任何文本归一化步骤。
无论如何,都不要犯这个缺点:把原始的、未经归一化处理的文本直接发送到 Marian 做事器。
如果你这样做的话,会得到很糟糕的结果!
我们翻译的新文本须要与演习数据的格式完备相配。
这意味着我们须要对翻译的任何新文本运用相同的文本归一化步骤进行处理。

让我们来运行我编写的一个 Python 脚本,它可以翻译一些示例文本。
在 Marian 做事器已经运行的情形下,打开一个新的终端窗口并键入如下命令:

复制代码

python3 translate_sentences_example.py

现在,我已经用 Python 代码调用 Marian 包含的相同 Perl 脚本来对演习数据进行归一化处理。
这虽然不是超级干净,但它很好用。
如果你想把它作为生产系统的一部分来支配,可以用纯 Python 重写这些 Perl 脚本,以避免这些 shell 调用,并加快过程,

Python 脚本中的示例文本是小说《哈利·波特》第一部西班牙语版的第一段。
你该当得到这样的输出:

复制代码

Input:El niño que vivió.El señor y la señora Dursley, que vivían en el número 4 de Privet Drive, estaban orgullosos de decir que eran muy normales, afortunadamente.Output:The boy who lived.Mr. and Mrs. Dursley, who lived at number 4 on Privet Drive, were proud to say they were very normal, fortunately.They were the last people who would expect to find themselves related to something strange or mysterious, because they weren't for such nonsense.

把稳,如果涌现“Connection Refused error”(连接谢绝缺点),请检讨一下是否启动了 Marian 做事器,并且它仍在另一个终端窗口中运行。

下面是我们翻译的《哈利·波特》与英文原著的比拟:

相称不错啊!
虽然我们的译文并不完备符合这本小说的英文版本,但它确实通报了同样的意思。
如果你看过西班牙语,你会创造我们的翻译的更靠近西班牙语的文本。

你可以将脚本中的示例文本更换为你想要翻译的任何内容!
现在你已经有了一个可以从 Python 调用的翻译模型,那么,天下就在你的节制之中。
你可以随意地将它包含在你创建的任何其他程序中。
以下是一些(或许不怎么样的)想法:

利用 feedparser 库从最喜好的西班牙报纸中获取 RSS 提要,并自动翻译所有的新闻宣布。
编写一个程序来翻译 https://www.meneame.net/ 上的所有文章,这样,你就可以及时理解所有西班牙语最热门的最新动态。
编写一个程序来完成你的西班牙语作业。

祝你玩得愉快!

引文

我要感谢这些人,是他们,开拓了那么多工具,供应了那么多数据资源,正是由于有了他们的贡献,快速开拓一个自己的翻译系统才能成为可能!

Marian:快速神经机器翻译在 C++ 中的实现。
Junczys-Dowmunt、Marcin 和 Grundkiewicz、Roman and Dwojak、Tomasz 和 Hoang、Hieu 和 Heafield、Kenneth 和 Neckermann、Tom 和 Seide、Frank 和 Germann、Ulrich 和 Fikri Aji、Alham 和 Bogoychev、Nikolay 和 Martins、Andre F. T. 和 Birch、Alexandra。
2018 年 ACL 会议纪要,系统演示。

http://www.aclweb.org/anthology/P18-4020

OPUS (Open Parallel Corpus,开放平行语料库): Jörg Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
United Nations Corpus(联合国语料库):Ziemski, M.、Junczys-Dowmunt, M. 和 Pouliquen, B.,2016 年,联合国平行语料库、措辞资源和评价(LREC '2016), Portorož,斯洛文尼亚,2016 年 5 月。
EMEA(欧洲药品管理局)语料库: http://www.emea.europa.eu/ ,J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
ECB(欧洲中心银行)语料库: Alberto Simoes / J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
OpenSubtitles(开放字幕)语料库:P. Lison 和 J. Tiedemann,2016 年,《 OpenSubtitles2016:从影视字幕中提取大型平行语料库》(OpenSubtitles2016: Extracting Large Parallel Corpora from Movie and TV Subtitles),第十届国际措辞资源与评价会议论文集(LREC '2016)。
DGT(欧盟委员会)语料库:JRC / J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
MultiUN 语料库:《 MultiUN:联合国文献多语种语料库》(MultiUN: A Multilingual corpus from United Nation Documents),Andreas Eisele 和 Yu Chen,LREC '2010 / J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
无版权图书语料库: http://farkastranslations.com/bilingual_books.php J. Tiedemann, 2012,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
TED2013 语料库: CASMACAT / J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。
Wikipedia 平行语料库:《主语对齐可比语料库的构建及真实平行句子对的挖掘》(Building Subject-aligned Comparable Corpora and Mining it for Truly Parallel Sentence Pairs.),Procedia Technology,18,Elsevier,第 126~132 页,2014 年 / J. Tiedemann,2012 年,《 OPUS 中的并行数据、工具和接口》(Parallel Data, Tools and Interfaces in OPUS),第八届国际措辞资源与评价会议论文集(LREC '2012)。

作者先容:

Adam Geitgey,对打算机和机器学习感兴趣,喜好撰写有关这些方面的文章。

原文链接:

https://medium.com/@ageitgey/build-your-own-google-translate-quality-machine-translation-system-d7dc274bd476

阅读数:124发布于:2020 年 7 月 3 日 07:00

文章版权归极客邦科技 InfoQ 所有,未经容许不得转载。

标签:

相关文章