こんにちは!
CTOの島田(@tatsushim)です。
前回のブログでは「データドリブン」開発手法について触れさせていただきました。
今回はIVS CTO Night & Dayで発表させていただいた内容についてご紹介したいと思います。
IVS CTO Night & Dayは、CTO及び技術責任者のためカンファレンスです。
GREE CTO 藤本さんのKeynoteに始まり、様々な技術責任者の方とディスカッションさせていただく濃い3日間でした。
非常に学びが多かったです。運営の皆様有難う御座いました。
初日にLTをする機会をいただきましたので、word2vecについて発表させていただきました。
こちらの発表内容について解説していきます。
そもそもword2vecとは?
ざっくり言うと、単語同士の関係性をベクトルとして表現し、そのベクトルを利用して類似度の計算や足し引きを可能にしたものです。 テキストだとちょっとイメージしにくいので具体的な例で見ていきましょう。
こちらの例ではFrance - Paris + Tokyo = Japanになるそうです。 直感的には理解できても、なんとなく不思議ですね。ちょっと整理してみましょう。
「France - Paris」の部分は「ある都市を首都とする国」を表しています。
そこに首都を足してみます。今回は「Tokyo」です。
その結果、 東京を首都とする国、つまり「Japan」が導き出されます。
このような単語同士のたし引きを可能にしたのがword2vecです。
ママリQでword2vecしてみる
ママリサービスは日本で妊娠・出産で悩む人の5,6人に1人が月1アクセスする、社会的にもインパクトのあるサイトになってきました。
ママリQにはたくさんの質問と回答のテキストが存在しています。
女性向けコミュニティサイトで飛び交っている会話を対象にやってみたら、どんな結果が出るでしょうか?
word2vecに使ってみて出た面白い結果を3つ程ご紹介したいと思います。
1. 公立 - 息子 + 娘 = 私立
- 女の子の方が学校を選ぶ際に私立の可能性を検討するのでしょうか?
2. お父さん - お母さん + チューハイ = ビール
- お父さんはやっぱりビール好きなんですね。
- ちなみに私はウーロン茶をロックで飲みます。
3. 可愛い - 息子 + 娘 = 可愛い
- 息子さんでも娘さんでも結局可愛いんですね。
word2vecをプロダクトにどう活かしていくか?
一般的には類義語検出に使用することができます。
今後社内では質問の中で最も良い回答を抽出したり、ママリQ内のコミュニティにおいて、適切な質問者と回答者をマッチングするエンジンの開発に利用したいと考えています。
最近はCategory2Vecなど、派生した研究も出ていて非常に興味深いです。またこちらのブログで関連研究も取り上げさせていただくかもしれません。
word2vecに限らず、新しい技術にドンドンチャレンジし、ユーザーのために技術力を高めていく過程をこちらのブログで発信していきます。
参考リンク
word2vec - Tool for computing continuous distributed representations of words
お知らせ
word2vec等も含め、技術力を高め合いながら社会にインパクトを与えたいエンジニアを募集しています。
まずはランチなどご一緒しながらカジュアルにお話させてください。