11

現在、Python で gensim を使用して word2vec モデルに取り組んでおり、特定の単語の反意語と同義語を見つけるのに役立つ関数を作成したいと考えています。例: antonym("sad")="happy" synonym("upset")="enraged"

word2vecでそれを行う方法はありますか?

4

2 に答える 2

9

word2vec では、次の方法で類推を見つけることができます

model = gensim.models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)

model.most_similar(positive=['good', 'sad'], negative=['bad'])
[(u'wonderful', 0.6414928436279297),
 (u'happy', 0.6154338121414185),
 (u'great', 0.5803680419921875),
 (u'nice', 0.5683973431587219),
 (u'saddening', 0.5588893294334412),
 (u'bittersweet', 0.5544661283493042),
 (u'glad', 0.5512036681175232),
 (u'fantastic', 0.5471092462539673),
 (u'proud', 0.530515193939209),
 (u'saddened', 0.5293528437614441)]

次に、(良い、悪い)、(金持ち、貧弱) などの標準的な反意語を使用して、最も近い反意語のリストを複数見つけます。その後、このリストのベクトルの平均を使用できます。

于 2015-08-05T06:16:03.663 に答える