新たな単語表現の仕方!「Word2Vec」とは?

Python
この記事は約3分で読めます。

みなさんこんにちは!

 

イザナギです。

 

アイスなどが美味しい季節がすぐそこまで迫っていますね。

 

そして、最近暑くなっていますね。

 

体調管理には気をつけていきましょう!

 

さて、今回紹介するのは「Word2Vec」についてです。

 

「Word2Vec」を利用すると、「単語の意味の足し算引き算」などができるようになるんです!

 

面白いツールですよね。

 

なので今回は「Word2Vec」について調べてみたいと思います。

 

Word2Vecとは?

Googleの研究者によって開発される

まず、「Word2Vec」の歴史から見ていきましょう!

 

歴史を遡るは2013年、

 

Googleのトマス・ミコロフ氏達による研究者チームによって開発されました。

 

その後、他の研究者の方々によってアルゴリズムの分析などが行われています。

 

参照:https://en.wikipedia.org/wiki/Word2vec

 

Word2vecは何ができるのか?

「Word2vec」を使ってできることは「単語の分散表現(ベクトル化)」です。

 

例えば、以下のようにベクトル化できます。

  1. 楽しい(0.2,0.2,0.6,0.5)
  2. 嬉しい(0.1,0.2,0.3,0.1)
  3. 幸せ(0.3,0.4,0.9,0.6)

そして、上のデータをもとに意味を計算させることができます。

 

楽しい + 嬉しい ≒ 幸せ

 

つまり、意味の足し算引き算ができるようになるわけです!

 

それに加えて、その単語の意味に近い単語を検出できるようにもなります!

 

モデルについて

Word2Vecに使用されているモデルは「CBOW」「skip-gram」の二つのモデルです。

 

モデルの詳細はまた次回まとめてみたいと思います。

 

Word2Vecの使い所

「Word2Vec」が単語の分散表現(ベクトル化)できることがわかりましたが、

 

実際どう言うところで使われているんでしょうか?

 

単語の関係性を表現

似た意味の単語、単語同士の繋がりなど単語同士の関係性を調べることができます。

 

「この文章ではこの単語が似たような意味で使われてる」

 

「この文章ではこの単語同士にこんな関係があるんだ!」

 

などを調べることができます。

 

実際にやってみた!

では実際に試してみましょう!

 

Pythonでやってみたいと思います。

 

Pythonであれば「gensim」というライブラリを用いることで、簡単に「Word2Vec」を試すことができます!

 

Gensim: topic modelling for humans
Efficient topic modelling in Python

例えば、以下のようなテキストを学習させ

 

検索ワード「YouTube」で意味が近い、単語を検索した結果以下の通りになりました。

 

今回は学習させた文章量が少なかったので、正確なデータとは言えないかもしれません。

 

まとめ

今回は「Word2Vec」について簡単に調べてみました。

 

今回で、概要に関してはある程度理解したと思ったので、

 

次回は、実際にデータを分析していきたいと思います。

 

それでは今回はここで筆を置かせていただきます。

 

最後まで記事をご覧いただきありがとうございました!

 

コメント

タイトルとURLをコピーしました