2018年1月11日 更新

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

5,983 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 件

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

量子アニーリングを駆使して数独を解いてみた

量子アニーリングを駆使して数独を解いてみた

先日,量子アニーリングの勉強会に参加して来ました.そのアウトプットとして,今回,数独ソルバーを作ってみます.
井上 大輝 | 4,058 view
Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

画像処理の一つ,モルフォロジー変換をPython と OpenCVのライブラリを用いて実装し,それを2値画像に対して適用します.
等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

前回の記事「等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 1」の続きです. 実際に実装をして,写像を確かめてみます.
等角写像による画像の変換〜Schwarz-Christoffel 変換〜 part1

等角写像による画像の変換〜Schwarz-Christoffel 変換〜 part1

等角写像の一つであるSchwarz Christoffel 変換を用いて,画像の変換をしてみます. python によるコードも記載しております. 画像はhttps://uk.mathworks.com/help/images/examples/exploring-a-conformal-mapping_ja_JP.html より.

この記事のキーワード

この記事のキュレーター

井上 大輝 井上 大輝