1
異なる単語間の類似性を単純なベクトル空間グラフにプロットしたいと思います。 gensimで与えられたモデルword2vec
を使って計算しましたが、文献ではグラフィカルな例は見つかりません。次のように私のコードです:銀行、金融、市場、不動産、石油、エネルギー、ビジネスと経済:単語類似度のグラフィカルプロットWord2Vecによって与えられる
## Libraries to download
from nltk.tokenize import RegexpTokenizer
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer
from gensim import corpora, models
import gensim
import json
import nltk
import re
import pandas
appended_data = []
#for i in range(20014,2016):
# df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
# appended_data.append(df0)
for i in range(2005,2016):
if i > 2013:
df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
appended_data.append(df0)
df1 = pandas.DataFrame([json.loads(l) for l in open('Scot_%d.json' % i)])
df2 = pandas.DataFrame([json.loads(l) for l in open('APJ_%d.json' % i)])
df3 = pandas.DataFrame([json.loads(l) for l in open('TH500_%d.json' % i)])
df4 = pandas.DataFrame([json.loads(l) for l in open('DRSM_%d.json' % i)])
appended_data.append(df1)
appended_data.append(df2)
appended_data.append(df3)
appended_data.append(df4)
appended_data = pandas.concat(appended_data)
# doc_set = df1.body
doc_set = appended_data.body
## Building the deep learning model
import itertools
sent_detector = nltk.data.load('tokenizers/punkt/english.pickle')
sentenized = doc_set.apply(sent_detector.tokenize)
sentences = itertools.chain.from_iterable(sentenized.tolist()) # just to flatten
from gensim.models import word2vec
result = []
for sent in sentences:
result += [nltk.word_tokenize(sent)]
model = gensim.models.Word2Vec(result)
を、単純なベクトル空間のグラフでは、私は、次の単語を配置するようになります。私は簡単に機能して単語のこれらのペアの類似度を計算することができます。
model.similarity('bank', 'property')
0.25089364531360675
どうもありがとう
デフォルトでは、 'gensim.models.Word2Vec'は100次元の単語ベクトルを生成することを考慮してください。ベクトルの位置を2次元または3次元にプロットする場合は、最初に次元数を減らす必要があります。 –
非常に良い提案@Alvaro。私はそれを考慮に入れなかった。それにもかかわらず、関数モデル類似度によって得られた結果に基づいて、飛行機内の距離をプロットする簡単な方法が期待されます。 –
次元を小さくすることは、Mikilov et al。 [彼らの論文で](https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf)(図2参照)。私は残念ながら別の方法があるとは思わない。 –