簡體   English   中英

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需要將文本示例分解為word-tokens。 看起來你只是在為Word2Vec提供字符串,所以當它迭代它們時,它只會看到單個字符作為單詞。

韓國人是否使用空格來划分單詞? 如果是這樣,請在將單詞列表作為文本示例傳遞給Word2Vec之前,按空格分隔文本。

如果沒有,在將句子傳遞給Word2Vec之前,你需要使用一些外部的word-tokenizer(不是gensim的一部分)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM