Word2Vecの辞書モデルを作成する方法

Pythonを使用してWord2Vecのモデルを作成します。
そんなに難しいことではありません。

from gensim.models import word2vec
import MeCab

import warnings
warnings.filterwarnings('ignore')

# 形態素解析
def tokenize(sentence):
    try:
        mecab = MeCab.Tagger()
        node = mecab.parse(sentence).splitlines()
        texts = []
        for item in node:
            if item.split('\t')[0]=='EOS':
                break
            field = item.split('\t')[1].split(',')[0]
            if field == '名詞' or field == '動詞' or field == '形容詞' or field== '感動詞' or field == '助動詞':
                print(item.split('\t')[0])
                texts.append(item.split('\t')[0])
        return texts
    except:
        return []

# 元データ
doc = ["エレンおはようございます"
      ,"エレンこんばんは"
      ,"エレンこんにちは"
      ,"エレンおはよう"
      ,"エレンおやすみ"
      ,"エレンたんたん"]

tokeData=[]
for sentence in doc:
   tokeData.append(tokenize(sentence))

model = word2vec.Word2Vec(tokeData, min_count=1)

# モデルファイルを保存します
model.save("small.gensim.model")

どの品詞を使うかは適宜調整してください。

システム開発

Posted by @erestage