リアルタイムにTwitterのつぶやきの話題推定をする技術「どたばたかいぎ」研究途中報告
お久しぶりです。えりっくです。実装に関しては別エントリにまとめることにします。
筑波大学大学院システム情報工学研究科産学間連携推進室にて、ぼく含め3人で研究をしています。ここでの研究は企業と連携をとり、社会に還元することを目的としています。もし実用化できれば、Twitterユーザたちにサービスとして展開することも考えています。 既にこの研究は既にニコニコ大百科(有限会社未来検索ブラジル様)、Pixiv百科事典(Pixiv様)の記事データ提供によるご協力を頂いております。
で、どういう技術なの。
タイトルの通りつぶやきからその話題を推定する技術の研究をしています。
この研究がうまくいくと、TwitterのTLに張り付く必要がなくなります。
とあなたがつぶやいたら、
「Wordの出来の悪さに比べてヤツの出来はやばい。Microsoft本気出してる。」
「PerlよりRubyにしませんか(´・ω:;.:... 」
みたいなつぶやきがだれかさんによってTLに流れた時に勝手にあなたに通知されるようになります。
映画サマーウォーズの1シーンにもあるように、TLのつぶやきが話題ごとにまとめられて表示されるユーザインタフェースのTwitterクライアントもできるかもしれません。夢がひろがるね。
アイディア
一般的に、普通はtf-idf(単語が出てきた回数)だとか使ってその語彙分布から文章の話題を推定します。ところがTwitterの文章は140文字以内なのでこういうアプローチが使えない。じゃあどうするか。
つぶやきに含まれる特徴的な語の上位概念・関連概念を予め用意しておき、つぶやきに含まれる単語1つ1つの上位概念・関連概念を探索して取得する
っていうのをおもいつきました。例えば「Erlang」という単語には「関数型言語」「オープンソース」「並行計算」「Erlang」「プログラミング言語」が対応するように辞書を用意しておけば、「Erlang」を含むつぶやきの話題は「関数型言語」「オープンソース」「並行計算」「Erlang」「プログラミング言語」である、と推定ができます(いろいろ端折った)。っていう。仕組み自体は至極簡単でしょ。「おもいついた」っていうのが恥ずかしくなるくらい。
理想と現実
「上位概念なんてどっから持ってくるんだよ」
うん、言うと思った。でもこれみんなよく知ってるアレを使うんですよ。
Wikipedia
ニコニコ大百科
Wikipedia
「関連項目」だとか「カテゴリ」あたりから上位概念とか関連概念を引っ張り出してきます。あと記事名も取得して持っておきます。これを文章中から特徴語を抽出するために使います。
WikipediaはMySQLのダンプをPerlのようなもので殴ってデータ生成
ニコニコ大百科はデータ提供してもらって自前パースしてPerlのようなものd(ry
Pixivもデータ提供してもらってPerlの(ry
快く承諾していただいたブラジル様とPixiv様に感謝。
頑張ったお陰でいいかんじの概念データベースが出来上がりました。例えば
というつぶやきからは
- ももいろクローバー
- スターダストプロモーション
- 1994年生
- ライブアイドル
- 日本の歌手
- 日本の俳優
- アイドルに関するスタブ
- 浜松市出身の人物
- 皮膚科学
- 顔
- えくぼ
- 笑い
- 存命人物
- 日本のアイドルグループ
- 百田夏菜子
- 日本のアイドル
- ももいろクローバーZ
が取得できました。