Pythonのコールword2vecキットのインストールおよびユーザーズ・ガイド
word2vecのpython-ツールキットのインストールと使用のチュートリアル
英語版から翻訳アンソロジーは、コードのコメントはこの記事から取られ、それを読むことをお勧めしますスキップ・モデルに関連した知識と再読み込みこのガイド
githubのリポジトリのアドレスを
環境の準備
- GCC、GCCのインストールピット以上をインストールし、ここで推奨コードブロックのgccコンパイラ、ダウンロードくるアドレスは、ここに注意を払う、コードブロック-mingwのバージョンをクリックしてください、環境変数PATHを設定し、インストールが完了した後、INCLUDE、LIB
- インストールしよう:
pip install word2vec
エラー状況を観察するために、いくつかのソリューションがありますが、私は、エラー発生したMicrosoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
ソリューションを++のMicrosoft VCをダウンロードすることですガイドをダウンロードし、以下のリンクで他のエラーの可能性があります。エラーリスト、余談:pythonのインストール・キットには、検査するとき、は、PyPIを、いくつかのミスを回避することができます
トレーニングモデル
インポートモデルimport word2vec
合わせた同義語、例えばマイケルjacsonとマイケルジャクソン
word2vec.word2phrase('./txt_file/text8', './txt_file/text8-phrases', verbose=True)
トレーニングスキップ-gramモデルは、word2vecワードベクトル表現を取得し、大きさはベクトルの次元であります
word2vec.word2vec('/Users/drodriguez/Downloads/text8-phrases', '/Users/drodriguez/Downloads/text8.bin', size=100, verbose=True)
出力
text8.bin
語ベクトル群のバイナリ形式を含むファイル単語ベクトルのアプリケーション:ワードクラスタ生成
text8-clusters.txt
クラスタリング結果はすべての単語を含む、結果は、番号テーブルに等しいワードの数よりも少ないですword2vec.word2clusters('/Users/drodriguez/Downloads/text8', '/Users/drodriguez/Downloads/text8-clusters.txt', 100, verbose=True)
モデルのモデルを使用します
ただ、生成されたモデルをインポートします
model = word2vec.load('/Users/drodriguez/Downloads/text8.bin')
モデルの属性
model.vocab
numpy.array形式の単語リストを取得し、ここでの単語は単語ベクトル形式ではありませんmodel.vectors
行列モデルであり、nは単語の数であり、mは、ベクトルのワード長であるvectors
M次元のN *することができます
model['dog'].shape
またはmodel['dog'][:10]
単語にベクトル情報の単語にアクセスするには単語ベクトル二十から二間の距離を計算します。
model.distance("dog", "cat", "fish")
同様の単語の単語(コサイン類似度ベース)を得た:、
indexes, metrics = model.similar("dog")
戻り値は最初のインデックスベクトルと類似している、第二は、類似であるタプルの形式であり、単語は、対応を与えるために使用することができますmodel.vocab[indexes]
類似した単語の統計:(単語の類似性)が取得
model.generate_response(indexes, metrics)
も使用することができるmodel.generate_response(indexes, metrics).tolist()
データ型は、Pythonを得るために変換します直接減算用語ベクトル:
indexes, metrics = model.analogy(pos=['king', 'woman'], neg=['man'])
、戻り値、およびgenerate_response method
同じ
クラスタモデルを使用して
クラスタモデルのインポート
clusters = word2vec.load_clusters('/Users/drodriguez/Downloads/text8-clusters.txt')
結果セットを取得し
clusters.get_words_on_cluster(90)
、その結果は、このグループのすべての単語であります
そして、このモデルは、クラスタと組み合わせて使用されています
中word2vecモデルにクラスタを追加
model.clusters = clusters
加減算の同様の分析。
indexes, metrics = model.analogy(pos=["paris", "germany"], neg=["france"])
得られた結果の後
model.generate_response(indexes, metrics).tolist()
、得られた(単語の類似性、所属グループ番号)