机器翻译:谷歌翻译是如何对几乎所有语言进行翻译的?( 七 )
我们想让输出内容为法语的单词序列 。 因此需要将整数转换回单词 。 我们将为输入和输出创建新词典 , 其中键为整数 , 对应的值为单词 。
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学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
推荐阅读
- 谷歌浏览器拟禁用第三方Cookies 遭英国反垄断调查
- 谷歌建立新AI系统 可开发甜品配方
- 鸿蒙获欧企力挺!华为的大时代将到来,谷歌身上重现诺基亚的影子
- 谷歌新款Nest Hub或能追踪睡眠 但外媒提出诸多疑问
- “全能神”开发谷歌应用APP传播邪教教义
- 集录音转写、拍照翻译为一体,搜狗AI录音笔E2带你开启智慧办公新体验
- 翻译|机器翻译能达60个语种3000个方向,近日又夺全球五冠,这家牛企是谁?
- 谷歌“跨年夜”Doodle带大家一起倒计时
- 谷歌推出新版Pixel 4a 5G:骁龙765G芯/卖3200元
- FTC委员称苹果、谷歌是移动游戏行业的“看门人”