2018年1月11日 更新

word2vec:Pythonで単語ベクトルを作成する

468 view お気に入り 0
 (4479)

まず単語ベクトルとは,単語がN次元のある一点として記述されたもので,図は2次元で記述されています.また意味的に関連が強い単語は距離が近くなります.この単語ベクトルを作成するためのオープンソースを word2vec と言います.また単語ベクトルを駆使することで,レコメンド機能やチャットボットの開発,感情分析などを行うこともできるそうです.
 (4480)

図のような,単語ベクトルの足し算や引き算も可能である.
 (4482)

今回は 10,000語 が登録されている場合を考える.すると,one-hotベクトルの次元数は10,000となる.
 (4483)

本記事では,COBW (Continuous Bag-of-Words) と呼ばれる方法を解説する.この方法では,前後の単語から ? に入る単語の予測を行うという問題を考える.
 (4484)

1回目の重みの足し合わせにおいて,重みは常に1である.つまり,ここではone-hotベクトルの足し合わせを行っている.
 (4485)

ここで得られる10000×200の行列に,10,000個の単語ベクトル (200次元) が格納されている.one-hotベクトル (10,000次元) から単語ベクトル (200次元) ,次元が削減されていることが分かる.
 (4486)

COBW では,ニューラルネットを駆使することで,10,000次元のone-hotベクトルを200次元にまで削減し,各要素の意味の抽象化を行っている.実際には,次元削減後の各要素の意味は分からない.
以上が単語ベクトル作成のアルゴリズムの一例となります.その他のアルゴリズムとして skip-gram などもありますが,COBWの原理が分かっていれば理解は容易かと思います.本記事では,単語ベクトル作成の理論について説明したので,次の記事では gensim と呼ばれる python のライブラリを用いて,単語ベクトル作成を実装していきたいと思います.
8 件

関連する記事 こんな記事も人気です♪

画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

画像のFilter をPython で視覚的に理解する (Gaussian, Edge 抽出).

Python を用いて,画像のFilter を視覚的に理解してみます.コードを載せていますので,実装可能です.
三好 裕之 | 154 view
python+tensorflowでatariのponをDQN(深層強化学習)してみた。

python+tensorflowでatariのponをDQN(深層強化学習)してみた。

今回兼ねてからやってみたかったDQN(深層強化学習)を触ってみました。 とは言っても、githubにあったコードを実行するだけですが、実際に学習していく様は楽しかったです。
Takumi Ihara | 796 view
Python + tensorflow でGANを試してみた.

Python + tensorflow でGANを試してみた.

今回兼ねてからやってみたかったGANを触ってみました。実際に画像が生成されていく様は楽しかったです。
Takumi Ihara | 2,077 view
Kaggleで使われている略語リスト

Kaggleで使われている略語リスト

機械学習のサイトKaggle で使われている略語をまとめました. 画像は[https://static1.squarespace.com/static/58a3826fd2b857e5fe09f025/58ac6a226b8f5b3bdce84c5a/58d04a9246c3c4a6bd5ab664/1490045642866/Kaggle+Workshop.png?format=1500w]から引用
Takumi Ihara | 721 view

この記事のキーワード

この記事のキュレーター

井上 大輝 井上 大輝