0
我想用gensim製作word2vec。我聽說詞彙語料庫應該是unicode,所以我把它轉換成unicode。Python Gensim word2vec詞彙表鍵
# -*- 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
店分別例如字사과
。 是什麼原因以及如何解決它?
Umm ...我給出的輸入是'u'u450 u479 uc2a4',u'uc758',u'uc138 uacc4',u'\ uc801',u'\ uc774',u '\ u11ab',u'\ uc758 \ uc0c1',u'\ ub514 \ uc790 \ uc774 \ ub108',u'\ uc5e0 \ ub9c8 \ ub204 \ uc5d8',u'\ uc6c5 \ uac00 \ ub85c',u'\ uac00',u'\ uc2e4 \ ub0b4',u'\ uc7a5 \ uc2dd',u'\ uc6a9',u'\ uc9c1 \ ubb3c',u'\ ub514 \ uc790 \ uc774 \ ub108',u'\ ub85c' ,u'\ ub098 \ uc11c',u'\ uc5c8',u'\ ub2e4'] '。 unicode字符串列表。這不正確嗎? – Damotorie
這不是你創建'corpus'列表的代碼。 (你的實際代碼與問題中的代碼有什麼不同?)什麼是語料庫[0]?如果它是一個字符串,而不是一個令牌列表,那麼所有的Word2Vec都會看到單個字符。 (並且,如果您的整個詞彙似乎是單字符標記,gensim的最新版本會記錄警告。) – gojomo