わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Webコンテンツ解析〜LDAとWord2Vec

授業で話したこと

「当研究室でこれまで実施している『Webコンテンツ解析』について説明します.潜在的ディリクレ配分法(LDA)やWord2Vec(ワード・ツー・ベック)を,収集済みのWebコンテンツに適用しまして,そこから新着用語の獲得や,レコメンド(推薦)システムの構築といったことを試みています.
今回,解析手法の詳細を述べるかわりに,2つの例を紹介したいと思います.まず,LDAを用いることで,大量の情報からトピックを見つけることができます.文例は,こうです」

大谷はDHでオールスターにノミネート

「これは,先日,目にした新聞記事の見出しなのですが,これを見れば,野球,それも大リーグのトピックだと分かります.
ところでこれを,単語ごとに分けてみると,どうでしょうか.『大谷』は人物名かもしれないし,地名かもしれないし,大学名かもしれません.『DH』は,野球のトピックでは指名打者を意味しますが,セキュリティの分野で『DH』と書かれたら全く違うものを指します.DHという略語で表せる意味が他にも考えられます.『オールスター』も『ノミネート』も,それら個別には,必ずしも野球の用語を意味しません.
ですが『大谷はDHでオールスターにノミネート』とあったら,これは大リーグの話になる…そのように人間が認識するのと同じように,コンピュータが認識できるには,何をすればいいかというと,例えば機械学習です.
といっても,『大谷はDHでオールスターにノミネート』と書いてあったら大リーグのトピックだよと教えるわけではありません.関連する情報を多数,用意して,うまく処理を行うと,結果がコンピュータの『脳内』に蓄積されます.『機械』による,『学習』です.
そうすることで,『大谷は…』は,いくつか考えられる中で大リーグのトピックの可能性が高く,別の語句だったら別のトピックであろうと,推論できたりするのです.
2番目の例です」

和歌山市−和歌山+兵庫=?

「足し算と引き算をします.文字で見るなら,『和歌山市−和歌山』の結果は『市』です.そこに『兵庫』を足すとなると,結果は『市兵庫』? 『兵庫市』? いずれも変ですね.
例えばこんなふうな結果が得られないか,と考えます」

和歌山市−和歌山+兵庫=神戸市

「『和歌山市−和歌山』の部分を『県庁所在地』と読み替えます.『和歌山の検証所在地は,和歌山市にある』となります.そして『県庁所在地』と『兵庫』の足し算をします.兵庫県の県庁所在地は…神戸市,ですね.
この種の意味を考慮した足し算・引き算を実現するものとして,Word2Vecというのが数年前に考案され,日本でも世界でもさまざまな研究が進められています.Vecとはベクトルのことで,足し算や引き算ができることは,高校の数学で学習してきたと思います.
ちなみにWord2Vecでよく使われる例は,『王様−男+女=女王様』だったりします.関西の地名に,置き換えてみました」

補足

昨年度の授業でもほぼ同じ話をしていたのですが,1つめの例は「大谷,今年も二刀流を継続か」でした.この春にマスターコースを修了した学生が,ゼミ発表で使用していました.
「二刀流」は辞書を引くまでもなく剣術に関する用語ですが…と思いながら,wikipedia:二刀流を見ると,目次で「野球における二刀流」の占める行数が多く,びっくりしました.