(六)多语言人工智能语言翻译

目录

介绍

翻译多种语言

下一步


介绍

谷歌翻译工作得如此之好,它通常看起来很神奇。但这不是魔法——这是深度学习!

在本系列文章中,我们将向您展示如何使用深度学习来创建自动翻译系统。本系列可被视为分步教程,可帮助您理解和构建神经元机器翻译。

本系列假设您熟悉机器学习的概念:模型训练、监督学习、神经网络以及人工神经元、层和反向传播。

我们在上一篇文章中取得的成果很好,即使它还没有完全准备好取代谷歌翻译。在本文中,我们将在其他语言上训练和测试我们的翻译模型。

翻译多种语言

我们在这里创建的函数将使用我们开发的模型支持从一种语言到另一种语言的自动翻译。

欢迎您将代码下载为Google Colab文件

我们的应用程序将能够从制表符分隔的平行语料库中创建模型,例如来自Tatoeba项目的语料库。

查看我们的代码,您会看到我们已将训练模型所需的所有内容分组到一个train_model函数中,以及一个translate函数,该函数接收一个包含模型输入语言文本的文件并将其翻译成模型的输出语。

让我们用一个包含一些我们希望翻译的英文文本的文件来运行我们的工具——f test.txt,其中包含:

this is a test  
hello
can you give me the bill please 
where is the main street
translate("rus.txt","test.txt","model12")

我们得到以下输出:

 input                             model translation
0 this is a test                    это тест      
1 hello                             привет       
2 can you give me the bill please   не можете мне  пожалуйста   
3 where is the main street          где здесь улице

结果是正确的,除了第三行。

现在让我们训练然后使用法语翻译器:

train_model("fra.txt","model_fr")
translate("fra.txt","test.txt","model_fr")
  input                             model translation
0 this is a test                    c'est un d'un     
1 hello                                     
2 can you give me the bill please   tu me donner la  s'il te prie
3 where is the main street          où est la rue est rue

结果很糟糕。只有第四句话被翻译得比较容易理解。原因是法语的复杂性,以及与俄语数据集相比,训练数据集相对较小的事实。

这是从英语到德语的自动翻译结果:

  input                             model translation
0 this is a test                    das ist eine test    
1 hello                                              
2 can you give me the bill please   könntest sie mir die rechnung geben  
3 where is the main street          wo ist die straße

这几乎是100%完美的。

最后,让我们看看同样的方法将英语翻译成荷兰语的效果如何:

  input                            model translation
0 this is a test                   dit is een nationale    
1 hello                            hallo       
2 can you give me the bill please  kunt je me  instapkaart geven  
3 where is the main street         waar is de bushalt

不完美主街在哪儿翻译成公交车站在哪里?“can you give me bill please”翻译成“can you give me the boarding pass”

如您所见,根据语言和训练数据集的大小,我们得到了非常不同的结果。

下一步

正如我们所见,我们能够构建一个非常好的机器翻译系统,而无需编写数千行代码或在GPU上花费数千美元来训练或建模。当然,与大多数深度学习任务一样,您的训练数据集越大(并且您可以花更多时间训练它),您的翻译模型就越准确。

有很多方法可以为机器翻译构建ML系统。我们只是探索了其中之一。或者,您可以使用卷积神经网络(CNN)代替RNN,或使用Moses之类的软件;将统计机器翻译与深度学习模型相结合。

既然您已经看到了AI语言翻译的实际应用,您可能想尝试使用Transformers进行AI翻译。Transformer是一种完全基于注意力的自然语言处理任务的最先进方法。它们根本不像我们创建的模型那样使用序列。尽管Transformer是新的,并且不像基于序列的AI翻译那样得到大量研究的支持,但看起来Transformer将成为许多自然语言处理任务的未来。

https://www.codeproject.com/Articles/5299750/AI-Language-Translation-With-Multiple-Languages

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值