我正在尝试通过 Gensim 在波斯语上制作一个 word2vec 模型,它以“空格”作为字符分隔符,我使用 python 3.5。我遇到的问题是我提供了一个文本文件作为输入,它返回一个模型,该模型仅包含每个字符而不是单词。我还将输入作为推荐的单词列表提供:
它对我不起作用,我认为它不考虑句子中的单词序列,所以它是不正确的。
我对我的输入做了一些预处理,其中包括:
将多个空格合并为一个,
通过拆分空格来标记化
删除少于 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')
Run Code Online (Sandbox Code Playgroud)
gensim Word2Vec 模型不期望字符串作为其文本示例(句子),而是list-of-tokens。因此,在将文本传递给 Word2Vec 之前,由您的代码对文本进行标记。
如图所示,您的代码只是将原始数据从 'aggregate.txt' 文件传递到 Word2Vec 作为wFileRead.
查看 gensim 文档中的示例,包括 gensim 包含的LineSentence类,以获取想法
| 归档时间: |
|
| 查看次数: |
3481 次 |
| 最近记录: |