トップページ人工知能,実世界DBword vector, document vector の利用gensim を使ってみる

gensim を使ってみる

gensim の URL : https://radimrehurek.com/gensim/

先人に感謝.

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境

Python の URL: http://www.python.org/

【Python, pip の使い方】

Python, pip は,次のコマンドで起動できる.

【Python 開発環境のインストール】

Windows, Ubuntu での Python 開発環境(JupyterLab, spyder, nteract)のインストール: 別ページで,インストール手順を説明している.

gensim パッケージのインストール

  1. Windows で,コマンドプロンプトを管理者として実行する.

    [image]
  2. gensim をインストール
    python -m pip install -U gensim
    

    [image]
  3. インストール終了の確認

    [image]

Word2Vec に関するサンプルプログラムを動かしてみる

次のページで公開されているプログラムを使用する.

https://radimrehurek.com/gensim/auto_examples/tutorials/run_word2vec.html#sphx-glr-auto-examples-tutorials-run-word2vec-py

上のページの注意書きにもある通り,2G バイトのファイルがダウンロードされます.

  1. データのダウンロードと語彙の確認
    import gensim.downloader as api
    wv = api.load('word2vec-google-news-300')
    
    for i, word in enumerate(wv.vocab):
        if i == 10:
            break
        print(word)
    

    [image]
  2. 単語ベクトルの表示
    words = ['car', 'minivan', 'bicycle', 'airplane', 'cereal', 'communism']
    for w in words:
        print(wv[w])
    

    [image]
  3. 2単語間の類似度
    pairs = [
        ('car', 'minivan'),   # a minivan is a kind of car
        ('car', 'bicycle'),   # still a wheeled vehicle
        ('car', 'airplane'),  # ok, no wheels, but still a vehicle
        ('car', 'cereal'),    # ... and so on
        ('car', 'communism'),
    ]
    for w1, w2 in pairs:
        print('%r\t%r\t%.2f' % (w1, w2, wv.similarity(w1, w2)))
    

    [image]
  4. 単語の類似検索
    print(wv.most_similar(positive=['car', 'minivan'], topn=5))
    

    [image]