トップページ -> データベース関連技術 -> word vector, document vector の利用 -> gensim を使ってみる
[サイトマップへ], [サイト内検索へ]

gensim を使ってみる

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

先人に感謝.


前準備

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

Windows の場合

  1. Python のインストール

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

    インストール手順の詳細は: 別ページで説明している.

  2. pip と setuptools の更新Python 開発環境(JupyterLab, spyder)のインストール

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    python -m pip install -U pip setuptools
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder
    

Ubuntu の場合

システム Python を使用(インストール操作は不要)

  1. pip と setuptools の更新Python 開発環境(JupyterLab, spyder)のインストール

    次のコマンドを実行.

    sudo apt -yV install python3-dev python3-pip python3-setuptools
    sudo apt -yV install jupyter-qtconsole jupyter-notebook python3-jupyter-client python3-jupyter-console python3-spyder spyder3
    

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]

    本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

    問い合わせ先: 金子邦彦(かねこ くにひこ) [image]