机器翻译:谷歌翻译是如何对几乎所有语言进行翻译的?( 七 )
我们想让输出内容为法语的单词序列 。 因此需要将整数转换回单词 。 我们将为输入和输出创建新词典 , 其中键为整数 , 对应的值为单词 。
idx2word_input = {v:k for k, v inword2idx_inputs.items()}idx2word_target = {v:k for k, v inword2idx_outputs.items()}
该方法将接受带有输入填充序列的英语句子(整数形式) , 并返回法语译文 。
deftranslate_sentence(input_seq):states_value = http://kandian.youth.cn/index/encoder_model.predict(input_seq)target_seq = np.zeros((1, 1))target_seq[0, 0] =word2idx_outputs['']eos = word2idx_outputs['
预测
为测试该模型性能 , 从input_sentences列表中随机选取一个句子 , 检索该句子的对应填充序列 , 并将其传递给translate_sentence()方法 。 该方法将返回翻译后的句子 。
i = np.random.choice(len(input_sentences))input_seq=encoder_input_sequences[i:i+1]translation=translate_sentence(input_seq)print('Input Language: ', input_sentences[i])print('Actualtranslation : ', output_sentences[i])print('Frenchtranslation : ', translation)
结果:
文章插图
很成功!该神经网络翻译模型成功地将这么多句子译为了法语 。 大家也可以通过谷歌翻译进行验证 。 当然 , 并非所有句子都能被正确翻译 。 为进一步提高准确率 , 大家可以搜索“注意力”机制(Attention mechanism) , 将其嵌入编码器-解码器结构 。
文章插图
图源:unsplash
大家可以从manythings.org上面下载德语、印地语、西班牙语、俄语、意大利语等多种语言的数据集 , 并构建用于语言翻译的神经网络翻译模型 。
神经机器翻译(NMT)是自然语言处理领域中的一个相当高级的应用 , 涉及非常复杂的架构 。 本文阐释了结合长短期记忆层进行Seq2Seq学习的编码器-解码器模型的功能 。 编码器是一种长短期记忆 , 用于编码输入语句 , 而解码器则用于解码输入内容并生成对应的输出内容 。
文章插图
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
- 高通和联发科慌了?谷歌将推出自研手机和电脑芯片
- SOTA论文也未必能被接收,谷歌科学家谈顶会审稿标准
- 谷歌发布新工具帮助城市“降温”
- 谷歌推AI工具Verse by Verse:能写出知名诗人风格的诗歌
- 超越谷歌,半导体双量子比特保真度达99.99%
- 「翻译」虚拟内存介绍
- Python爬取有道翻译(破解加密--js加密)
- 谷歌完成Chimera Painter开发工作:使用GAN来生成噩梦生物的网页工具
- Waymo与谷歌提出TNT模型,实现自动驾驶多轨迹行为预测
- 海外|英媒:继谷歌之后,美国政府计划下周对脸书提起诉讼