こんにちは、グロービスでデータサイエンティストをしている@yaginuuunです。
この記事はGLOBIS Advent Calendar 2019の16日目の記事です。
みなさんWord2Vecをご存知でしょうか?
Word2Vecはテキストデータを解析し、単語の分散表現(ベクトル)を得る手法です。ベクトルを得ることで普通の数字と同様に足し算引き算などをすることができ、以下のようなことを可能にします。
・単語間の類似度の算出:ex. 「僕」に似ている単語:俺、私、ワイ、オイラ、アタクシ...
・単語の足し引きによる類推:ex. king - man + woman = queen
上の例だと一度は聞いたことがあるという方も多いのではないでしょうか?
現在Word2Vecを弊社のサービスであるグロービス学び放題内のレコメンデーションへの応用を試験しているので、この記事ではその様子を書いていきます。
理論的な詳細には踏み込みませんのでそちらは他の記事や論文をご覧ください。
https://code.google.com/archive/p/word2vec/
グロービス学び放題とは
グロービス学び放題はグロービスの誇る良質なビジネスナレッジを動画で時間や場所の制約無く学べるサービスです。
思考、リーダーシップ、マーケティング、会計、組織マネジメント等々バラエティ豊かなコンテンツを備えています。
具体的には以下のようなコースがあります。(以下のカテゴリ以外もあります)
・思考:クリティカルシンキング、MECE、ロジックツリー、ネゴシエーションスキル...
・戦略・マーケティング:SWOT分析、マーケティング(基本編)、経営戦略...
・組織・リーダーシップ:パワーと影響力、組織行動とリーダーシップ、PM理論...
・会計・財務:貸借対照表、管理会計、アカウンティング基礎(財務分析編)...
・テクノベート:デザインシンキング、ビジネスパーソンが知っておくべきWEBサービスの基本...
ビジネスを軸に、最新のテクノロジー的な潮流も追っていけるようなラインナップになっています。
Word2Vecとは
Word2Vecは文章をインプットとして与え、アウトプットとして単語の分散表現を得る手法です。分散表現というのは、単語の意味という捉えづらい性質を数値化したものになります。
例えば以下のような穴の空いた文章を考えてみましょう。
I want to drink 〇〇.
この〇〇に入るのは何でしょうか?waterやjuice, coffeeなどの単語が思い浮かびます。逆にbananaやshirtなどの単語は入りませんよね。とするとWord2Vecではwaterに対してjuice, coffeeは意味が近い単語、waterに対してbananaやshirtは意味が遠い単語という性質を反映するような表現を出力しようとします。
2次元で考えると下図のようなイメージになります。
Word2Vecを自社コンテンツに適用する
さて、本来自然言語の意味を捉えるために用いられるWord2Vecですが、文章と見ることができるものであれば他の分野にも応用できます。その一つの分野として、レコメンデーションがあります。
グロービス学び放題では大きく二つの場面でレコメンデーションを活用しています。
・ユーザーさん1人1人に対する、あなたへのおすすめコース(user-item)
・コース1つ1つに対する、このコースを学習した人はこのコースも学習しています(item-item)
Word2Vecを活用したレコメンドは後者のitem-itemレコメンド改善のために試験しています。
具体的には以下のようなステップを踏むことでレコメンデーションにWord2Vecを応用できます。
① 各ユーザーがアクション(閲覧など)したアイテムを時系列に並べ、文章とみなす。
② Word2Vecのインプットとして扱うことで、各アイテムの分散表現を得る
③ 各アイテムの分散表現からアイテム同士の類似度を算出する
④ Item-Itemレコメンド(関連コースの提示)に適用可能
①のイメージ
②, ③のイメージ
まだ試験段階でプロダクトインには至っていないのですが、得られた結果を使って少し遊んでみます。
※ この記事ではgensimというライブラリを使いました。
あるコースに似ているコースを表示する
Word2Vecによって得られた分散表現からコース同士のコサイン類似度を算出してみます。
MECE:https://hodai.globis.co.jp/courses/4bfa66e5
MECEはある物事をモレなくダブりなく分解した状態を指します。
類似と判定されたコースを見てみると、確かにMECEの考え方を使っているコースが多く上手く行っているように見えます。
SWOT分析:https://hodai.globis.co.jp/courses/ee1de01d
SWOT分析は会社を強み(Strengths)、弱み(Weaknesses)、機会(Opportunities)、脅威(Threats)の4つに整理する戦略的フレームワークです。
類似コースでは戦略系のコースが多く出ており、大枠でみると上手く行っているように見えます。
ネゴシエーションスキル:https://hodai.globis.co.jp/courses/63a58af6
ネゴシエーションスキルはその名の通り交渉スキルについて学ぶコースですが、類似コースを見ると一見関連が薄そうに見えます。単純に上手く行っていないのか、もしくは直感的には合わないけれども、同じような視聴行動をしているユーザーがこのようなコースを視聴しているのかもしれません。
この辺りは明確な正解が無いためABテストで検証したいですね。
(おまけ)ベクトルからの類推
ここからはレコメンデーションというスコープを若干逸脱しますが、冒頭で述べた足し引きによる類推を試してみます。
全般的にあまり上手く行かなかったのですが、上手くいっているように見えた一例をご紹介します。
相関分析 - 散布図 = ?
相関分析は二次元の図表に2つの軸をとり各要素の関連性を見る分析手法ですが、データを抜いたらどうなるのか試してみました。すると、相関分析そのものは出てしまっていますが、それ以外だと思考力に重きを置く分析手法が類似度が高いと判定されました。
ベクトルを足し引きしても演算に使用したコースそのものや、そのコースと元々類似度が高いようなコースが多い印象でした。そもそもコースの数が200個前後のため、上手く意味の足し引きを反映できるようなコースが発見できなかったのかもしれません。
まとめ
ここまで読んで頂きありがとうございました。
この記事ではWord2Vecをレコメンデーションに適用する方法、そして得られた結果を使って算出された類似コースをご紹介しました。
少しでもグロービスのデータサイエンスチームがやっていることが伝われば嬉しく思います。
もちろんこの記事でご紹介したのはデータサイエンスチームチームの仕事のほんの一部です。他にも社会人教育という分野特有のデータを扱い様々なことにチャレンジしていますので、もし他にやっていることにもご興味を持って頂ければ、お気軽にお話を聞きに来てください!