2017年2月21日火曜日

新しい手法を学ぶことの大切さ

はじめに

我々は、お客様の課題を解決する手段として機械学習(※注1)を使うことが多くあります。 機械学習の手法は日々進歩しているため、常に新しい手法を学び、その活用方法について考えることは、お客様により良い分析結果を提供するために大切なことだと考えています。
今回は、自然言語処理(※注2)の手法のひとつであるWord2Vecの
応用モデルについて取り上げます。どの応用モデルもWord2Vecをベースにしているため、まずWord2Vecの概念について説明します。

(※注1) 機械学習とは、人間の学習能力と同様の機能をコンピュータで実現しようとする技術・手法のこと。
(※注2)自然言語処理とは、人間が普段使っている自然言語をコンピュータに処理させる技術のこと。

Word2Vecについて

Word2Vecとは、Google社のTomas Mikolovによって2013年に発表された手法1)で、ニューラルネットワークの1種です。この手法では、文章中の単語の特徴を文脈から学習させることで、単語を語彙数に対して低次元のベクトル(分散表現)で表すことができます。

この手法には、2種類のモデルがあります。1つは、文脈(前後の単語)を使って対象の単語を推測するモデル(CBOW: Continuous Bag-of-Words)。もう1つは、対象の単語を使って前後の文脈を推測するモデル(Skip-gram)です。この手法を用いると、文脈が単語の特徴を表すことになるため、似たような文脈で出現する単語(類似語または対義語)を定量的に見つけることや、単語の加算減算に意味をもたせることが可能になります(※注3)

(※注3) 例えば、「日本 の 首都 は 東京 である。」「フランス の 首都 は パリ である。」などの文章を学習すると、それぞれ、
  • 「日本」のベクトル+「首都」のベクトル=「東京」のベクトル
  • 「フランス」のベクトル+「首都」のベクトル=「パリ」のベクトル
のように学習され、「フランス」-「パリ」+「東京」=「日本」などの結果を得ることができます。

このように、単語の意味表現を定量的なベクトルとして表現できるため、言語ごとにWord2Vecを用いて分散表現を学習し、言語ごとの分散表現の対応関係を見ることで、機械翻訳に活用できます。また、POSデータに適用することで(文書 = ユーザ、単語 = 商品)、過去にユーザが購買した商品のベクトルの足し合わせをユーザの購買志向のベクトルとみなし、ユーザと商品のベクトルの類似度を計算することができます。結果、類似度の高い商品をレコメンドするといった活用ができます。

Word2Vecの応用モデル

Word2Vecの応用モデルが、いくつか提案されています。ここでは、Paragraph2Vec(Doc2Vec)とLDA2Vecについてご紹介します。
1つ目は、Paragraph2Vec。Word2Vecと同じくTomas Mikolovらによって2014年に発表された手法2)です。この手法は、「単語」ではなく「文章」に意味を持たせてベクトル演算できるようにしています。

この手法にも、Word2Vec同様に2種類のモデルがあります。1つは、文脈(前後の単語)と文書IDから対象語を推測するモデル(Distributed Memory)。もう1つは、文書IDを使って、前後の文脈を推測するモデル(Distributed Bag-of-words)です。
この手法を用いると、任意の長さの文書もベクトル化できるため、文書のベクトルをクラスタリングすることでニュース記事などの文書分類にも活用できます。

2つ目は、LDA2Vec。Latent Dirichlet Allocation(LDA)とWord2Vecの特徴の両方を持つ手法3)で、2016年にChristopher Erick Moodyによって提案されています。
このモデルは、文章における単語の共起性(大域的な視点)と文脈による単語の分散表現(局所的な視点)の両方を学習することで、より精緻な単語の分散表現を得ることができます。加えて、LDAと同様に文書がいくつかのトピックから構成されているという仮定を入れることで、その文書がどのような分類になるかなどの結果の解釈しやすさを狙ったモデルです。

著者によると、現在はまだ実験段階の手法で、LDAやWord2Vecに対する優位性が示せれば、レコメンド、機械翻訳および文書分類の精度の向上が図れると考えられます。

終わりに

今回は、Word2Vecの応用モデルとして、Doc2VecとLDA2Vecについて紹介しました。新しい手法は実績が少なく、ビジネス上の課題解決に用いるにはリスクがあります。しかし、技術で壁を超えられる可能性も秘めています。機械学習はあくまで課題解決のツールですが、良いツールをそろえておくことは、良い仕事をする上で大切な要素だと考えます。


投稿者:データサイエンス部 山崎(株式会社アイズファクトリー
※Word2Vecは、当社のデータ解析エンジン一覧でもご紹介しています。


1) Mikolov, Tomas; et al. "Efficient Estimation of Word Representations in Vector Space", 2013
2) Le, Quoc; et al. "Distributed Representations of Sentences and Documents", 2014
3) Christopher E Moody; "Mixing Dirichlet Topic Models and Word Embeddings to Make lda2vec", 2016