我正在尝试使用 Gensim 在波斯语上制作一个 word2vec 模型,其中以“空格”作为字符分隔符,我使用 python 3.5。我遇到的问题是我给出了一个文本文件作为输入,它返回一个模型,该模型仅包含每个字符而不是单词。我还以推荐的单词列表的形式给出了输入:
Python Gensim word2vec 词汇键 https://stackoverflow.com/questions/43065843/python-gensim-word2vec-vocabulary-key%5D
它对我不起作用,我认为它没有考虑句子中的单词顺序,所以它是不正确的。
我对输入进行了一些预处理,其中包括:
将多个空白折叠成一个
通过空格分割进行标记
删除长度小于 3 个字符的单词
删除停用词
我将文本交给了 word2vec,它给了我正确的结果,但我需要在 python 上使用它,所以我的选择仅限于使用 Gensim。
我还尝试在 gensim 上加载由 word2vec 源创建的模型,但出现错误,因此我需要通过 Gensim 创建 word2vec 模型。
我的代码是:
wfile = open('aggregate.txt','r')
wfileRead = wfile.read()
model = word2vec.Word2Vec(wfileRead , size=100)
model.save('Word2Vec.txt')
gensim Word2Vec 模型不期望strings作为其文本示例(句子),但是令牌列表。因此,在将文本传递给 Word2Vec 之前,由您的代码对文本进行标记。
如图所示,您的代码只是将原始数据从“aggregate.txt”文件传递到 Word2Vec 中,如下所示wFileRead
.
查看 gensim 文档中的示例,包括LineSentence
gensim 包含的课程,用于获取想法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)