Python Gensim word2vec 词汇键
Python Gensim word2vec vocabulary key
我想用gensim制作word2vec。听说语料库应该是unicode所以我转成unicode
# -*- encoding:utf-8 -*-
# !/usr/bin/env python
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from gensim.models import Word2Vec
import pprint
with open('parsed_data.txt', 'r') as f:
corpus = map(unicode, f.read().split('\n'))
model = Word2Vec(size=128, window=5, min_count=5, workers=4)
model.build_vocab(corpus,keep_raw_vocab=False)
model.train(corpus)
model.save('w2v')
pprint.pprint(model.most_similar(u'너'))
以上是我的源代码。看起来效果不错。但是词汇键有问题。我想制作使用 unicode 的韩文 word2vec。例如,单词 사과
在英语中表示道歉,它的 unicode 是 \xC0AC\xACFC
如果我尝试在 word2vec 中查找 사과
,则会出现关键错误...
而不是 \xc0ac\xacfc
\xc0ac
和 \xacfc
分开存储。
是什么原因,如何解决?
Word2Vec 需要被分解成单词标记的文本示例。看起来您只是向 Word2Vec 提供字符串,因此当它遍历它们时,它只会将单个字符视为单词。
韩语用空格来分隔单词吗?如果是这样,请在将单词列表作为文本示例交给 Word2Vec 之前用空格分隔文本。
如果没有,在将句子传递给 Word2Vec 之前,您需要使用一些外部单词标记器(不是 gensim 的一部分)。
我想用gensim制作word2vec。听说语料库应该是unicode所以我转成unicode
# -*- encoding:utf-8 -*-
# !/usr/bin/env python
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from gensim.models import Word2Vec
import pprint
with open('parsed_data.txt', 'r') as f:
corpus = map(unicode, f.read().split('\n'))
model = Word2Vec(size=128, window=5, min_count=5, workers=4)
model.build_vocab(corpus,keep_raw_vocab=False)
model.train(corpus)
model.save('w2v')
pprint.pprint(model.most_similar(u'너'))
以上是我的源代码。看起来效果不错。但是词汇键有问题。我想制作使用 unicode 的韩文 word2vec。例如,单词 사과
在英语中表示道歉,它的 unicode 是 \xC0AC\xACFC
如果我尝试在 word2vec 中查找 사과
,则会出现关键错误...
而不是 \xc0ac\xacfc
\xc0ac
和 \xacfc
分开存储。
是什么原因,如何解决?
Word2Vec 需要被分解成单词标记的文本示例。看起来您只是向 Word2Vec 提供字符串,因此当它遍历它们时,它只会将单个字符视为单词。
韩语用空格来分隔单词吗?如果是这样,请在将单词列表作为文本示例交给 Word2Vec 之前用空格分隔文本。
如果没有,在将句子传递给 Word2Vec 之前,您需要使用一些外部单词标记器(不是 gensim 的一部分)。