今天博主学习,学习了到了一种自然语言翻译系统的设计。
博主就分享一下,这种翻译系统。很多人可能没有听过这种思路,这和一般的深度学习翻译任务有所区别。
在这个翻译系统设计中,翻译任务被分成两个大的模块。
(1)第一个模块就是,先将需要翻译的句子分成一个个词语,也就是分词操作,中文需要分词,有些语言可能不需要分词。
然后呢,分词之后,在进行词对词的翻译,也就是如果我们要将中文翻译成英文,那么将中文分词之后呢,把每个词语先翻译成对应的一个个单词,做到这一步,第一个模块的任务就算完成了。
(2) 第二个模块则是,我们考虑到不同语言之间,语序往往是不一致的,所以,我们并不能直接按照相中文中的对位置去把翻译后的单词去直接拼接。于是在这个系统中,采用了组合的方式,将翻译后的单词全部随机拼接,然后,我们计算所有拼接后句子语序正确的概率,之后选择概率最大的那个作为最终翻译的句子。
对于这个翻译系统设计,博主也是第一次见,不过,从方案上看还是有一定的可行性的。
第一个模块,我们可以通过字典翻译就可以实现,一般这种问题,还是通过字典去实现就可以了,如果使用机器学习的方法,不一定比通过字典去翻译好。
对于第二个模块,我们可以通过隐马尔可夫模型,朴素贝叶斯模型等一些概率模型就可以实现。当然深度学习中的一些模型应该也可以的。
最后这个系统,因为第一个模块存在不足,翻译的时候可能会出现漏词、多词等问题,且可能翻译过于死板,因为是词对词的翻译,不能考虑翻译句子整体的连贯性、语义等因素,也会存在很多问题。