Pythonのコールword2vecキットのインストールおよびユーザーズ・ガイド

Pythonのコールword2vecキットのインストールおよびユーザーズ・ガイド

word2vecのpython-ツールキットのインストールと使用のチュートリアル

英語版から翻訳アンソロジーは、コードのコメントはこの記事から取られ、それを読むことをお勧めしますスキップ・モデルに関連した知識と再読み込みこのガイド
githubのリポジトリのアドレスを

環境の準備

  1. GCC、GCCのインストールピット以上をインストールし、ここで推奨コードブロックのgccコンパイラ、ダウンロードくるアドレスは、ここに注意を払う、コードブロック-mingwのバージョンをクリックしてください、環境変数PATHを設定し、インストールが完了した後、INCLUDE、LIB
  2. インストールしよう: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

  1. 合わせた同義語、例えばマイケルjacsonとマイケルジャクソン

    word2vec.word2phrase('./txt_file/text8', './txt_file/text8-phrases', verbose=True)
  2. トレーニングスキップ-gramモデルは、word2vecワードベクトル表現を取得し、大きさはベクトルの次元であります

    word2vec.word2vec('/Users/drodriguez/Downloads/text8-phrases', '/Users/drodriguez/Downloads/text8.bin', size=100, verbose=True)
  3. 出力text8.bin語ベクトル群のバイナリ形式を含むファイル

  4. 単語ベクトルのアプリケーション:ワードクラスタ生成text8-clusters.txtクラスタリング結果はすべての単語を含む、結果は、番号テーブルに等しいワードの数よりも少ないです

    word2vec.word2clusters('/Users/drodriguez/Downloads/text8', '/Users/drodriguez/Downloads/text8-clusters.txt', 100, verbose=True)

モデルのモデルを使用します

  1. ただ、生成されたモデルをインポートします

    model = word2vec.load('/Users/drodriguez/Downloads/text8.bin')
  2. モデルの属性model.vocabnumpy.array形式の単語リストを取得し、ここでの単語は単語ベクトル形式ではありません

  3. model.vectors行列モデルであり、nは単語の数であり、mは、ベクトルのワード長であるvectorsM次元のN *

  4. することができますmodel['dog'].shapeまたはmodel['dog'][:10]単語にベクトル情報の単語にアクセスするには

  5. 単語ベクトル二十から二間の距離を計算します。model.distance("dog", "cat", "fish")

  6. 同様の単語の単語(コサイン類似度ベース)を得た:、indexes, metrics = model.similar("dog")戻り値は最初のインデックスベクトルと類似している、第二は、類似であるタプルの形式であり、単語は、対応を与えるために使用することができますmodel.vocab[indexes]

  7. 類似した単語の統計:(単語の類似性)が取得model.generate_response(indexes, metrics)も使用することができるmodel.generate_response(indexes, metrics).tolist()データ型は、Pythonを得るために変換します

  8. 直接減算用語ベクトル:indexes, metrics = model.analogy(pos=['king', 'woman'], neg=['man'])、戻り値、およびgenerate_response method同じ

クラスタモデルを使用して

  1. クラスタモデルのインポート

    clusters = word2vec.load_clusters('/Users/drodriguez/Downloads/text8-clusters.txt')
  2. 結果セットを取得しclusters.get_words_on_cluster(90)、その結果は、このグループのすべての単語であります

そして、このモデルは、クラスタと組み合わせて使用​​されています

  1. 中word2vecモデルにクラスタを追加

    model.clusters = clusters
  2. 加減算の同様の分析。indexes, metrics = model.analogy(pos=["paris", "germany"], neg=["france"])

  3. 得られた結果の後model.generate_response(indexes, metrics).tolist()、得られた(単語の類似性、所属グループ番号)

おすすめ

転載: www.cnblogs.com/dongxiong/p/11705840.html