前提・実現したいこと
非タスク指向型の対話システムを作っており、話題が継続しているかを判断する際にWord2Vecを利用しています。
このWord2Vecの対象から形容詞を外したいのですが、どうすればいいでしょうか?
該当のソースコード
python
1 2from gensim.models import word2vec 3import numpy as np 4import make_sentence_list 5import MeCab_mrphs 6 7model = word2vec.Word2Vec.load('./model/word2vec.gensim.model') 8def avg_feature_vector(words, model, num_features): 9 feature_vec = np.zeros((num_features,), dtype="float32") 10 for word in words: 11 feature_vec = np.add(feature_vec, model[word]) 12 if len(words) > 0: 13 feature_vec = np.divide(feature_vec, len(words)) 14 return feature_vec 15 16def sentences_closed_vec_search(sen1,sen2): 17 kei=MeCab_mrphs.input2mrphs(sen1) 18 words1=make_sentence_list.mei_yogen(kei) 19 kei=MeCab_mrphs.input2mrphs(sen2) 20 words2=make_sentence_list.mei_yogen(kei) 21 vec_cos_max=0 22 vec_cos=0 23 max_sim=[] 24 for k1 in words1: 25 if k1 in words2: 26 continue 27 for k2 in words2: 28 if k2 in words1: 29 continue 30 if k1 in k2 or k2 in k1: 31 continue 32 try: 33 vec_cos=model.similarity(k1, k2) 34 if vec_cos>vec_cos_max: 35 vec_cos_max=vec_cos 36 max_sim=[k1,k2,vec_cos_max] 37 except KeyError: 38 a=1 39 40 return max_sim 41 42
あなたの回答
tips
プレビュー