赞
踩
欢迎转载,转载请注明出处:http://blog.csdn.net/lucygill
本文基于个人理解,欢迎讨论交流。
最近在看斯坦福大学机器翻译的开源代码,琢磨着把代码稍微改动一下,做成中文到英文的翻译。参考了业界大牛的不少论文,大致明白了机器翻译实现的步骤:
1.将源文件转化成词向量(像中文这种词之间没有明显符号的,要先进行分词)
转化的方法,最简单的是生成one-hot词向量。具体来说就是,如果文件中包含n个不同的词,那么每个词的词向量都是n维的,而且只有一个元素的值为1,其余元素都为0. 这样做虽然简单,但需要的空间极大,而且无法反映出词与词之间的联系。我们想得到的词向量是这样的:舅舅-男人=舅妈,或者,王子+女人=公主。斯坦福大学的论文中是这样做的:先生成one-hot词向量,再通过一个变换矩阵将其压缩成低维向量。
注意,机器翻译是有监督学习,所以词向量的转化涉及将源语言和目标语言的文件进行词向量转化。通过转化,我们就把语言与语言之间的转换,等价变为向量与向量之间的转换。为什么要这样做呢?因为电脑本身是没有语言的概念的,它只认一串串数字。事实上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。