word2vecはじめました。

はじめに

趣味の開発にword2vecが使えそうなので、word2vecチュートリアル行ってきた。これです。

Python+Janome+gensim で学ぶ自然言語処理入門 - connpass

環境構築

Mac新しくしたので、janome、gensim、scikit-learn、その他もろもろをまずインストール。

仮想環境作る

$ python3.6 -m venv nlp
$ source nlp/bin/activate

pipのアップグレード

$ python -m pip install --upgrade pip

janomeのインストール

いままでMeCab使っていたけれど、janome入れてみた。MeCabがパフォーマンスが良いのだけれど、インストールで詰みがちでつらい。janomeなら

$ pip install janome

で簡単にインストールできちゃうし、何よりもpythonなので読みやすい。機械学習MeCabがよいのだろうけれど、ちょっと分ち書きしたい程度だったらjanomeの方が使いやすい。もっと早く入れておけばよかった!

gensimのインストール

https://radimrehurek.com/gensim/install.html

$ pip install --upgrade gensim

Spicy stackのインストール

Scipy.orgで"Scipy stack" のインストールを推奨してたので、以下をまとめてインストール。 https://www.scipy.org/install.html

$ pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose

Scikit-learnのインストール

http://scikit-learn.org/stable/install.html

$ pip install -U scikit-learn

Jupyter notebookのインストール

http://jupyter.org/install.html

$ python3 -m pip install jupyter

チュートリアル

github.com

このjupyter notebookのLevel 1 - 3 やった。

というか、Shift + Enterを叩いただけだった・・・。まぁ、2時間のチュートリアルってそうなるよね。

TFIDF

TFIDF = 特徴語抽出の手法 TF * IDF

TF: ある単語がその文で何回出てきたか

IDF: log( ( 全体の文書数 + 1 ) / ( ある単語の含まれる文書数 + 1 ) )

word2vec

word2vecはあまり収穫なかった。tensorflowのページとMikorovさんの論文読むのつらいから、おかねで解決しようとチュートリアルに参加してみたけれど、あきらめてちゃんと自分で勉強しようという気持ちになることができたのが収穫、かな。。。

Vector Representations of Words  |  TensorFlow

参考

O'Reilly Japan - word2vecによる自然言語処理

深層学習による自然言語処理 | 書籍情報 | 株式会社 講談社サイエンティフィク