最近在看斯坦福大学机器翻译的开源代码,琢磨着把代码稍微改动一下,做成中文到英文的翻译。机器翻译的第一步是将词转化成词向量。斯坦福大学没有做中文的转化,我只好自己想办法。
我用的是斯坦福大学的nmt-matlab-master代码,显然这是用matlab编写的。matlab中没有直接将词转换成词向量的程序可用,Python倒是有一个:word2vec。所以我就先用Python生成,存储为.mat类型的文件,再应用到matlab上。
下面是代码:
from gensim.models import word2vec
import logging
logging.basicConfig(format='%(asctime)s:%(levelname)s: %(message)s', level=logging.INFO)
sentences =word2vec.Text8Corpus(u"F:\chinese1w.txt")
model =word2vec.Word2Vec(sentences, size=200)
model.save(u"F:\分词.mat")