2009年4月 8日

サービス紹介

人物情報検索のトレンドご紹介 part3 テキストマイニング技術について

  • このエントリーをはてなブックマークに追加

こんにちは、Yahoo! JAPAN 研究所の山下達雄です。

今回は「Yahoo!人物名鑑」の一要素である「関連人物モジュール」について技術的な解説をしていきたいと思います。よろしくお願いします。

関連人物モジュールは、人物名鑑のページの右カラムにある「関係ありそうな人物名」で使われています。

例)妻夫木聡さんの場合
ウェブ上のさまざまなテキストデータを分析して、人物同士の関連度を計算し、その関連度の高い人物をタグクラウド形式で表示しています。

関連度の計算には様々なテキストマイニング的な手法を用いていますが、ここではウェブ検索を利用した簡単で効果的を方法を説明します。

■処理の流れ
分かりやすくするため、関連人物ではなく関連語を抽出するというタスクを例にとります。

大前提
文章中で「○○や○○」(例:東京や大阪)というように「や」を介して並べて表記される単語同士は関連のあるものとします。例えば「昨日飲み会があって、ビールや日本酒を飲んだよ!」という文章から「ビール」と「日本酒」は飲むもの繋がりの関連語であると言えます。

ここで、「ビール」と何かしらの繋がりのある語、関連のある語を探すとすると、「ビールや○○」といった表現を探してきて、「○○」の部分を集めてくれば良さそうです。

この処理にはウェブ検索が使えます。
Yahoo! ウェブ検索で「"ビールや"」で検索すると、検索結果に

「ビールやお酒の」
「ビールや発泡酒も」
「ビールやワイン等」

といった表現が見つかります。
これにより、関連語として「お酒」「発泡酒」「ワイン」が得られます。

しかし、この方法では関連語ではないノイズが多く含まれてしまいます。
先ほどの検索結果の中には

「ビールや最高の状態の」
「いや絶対ビールやねん! 」
「ビールや世界の洋酒」

といった表現もありました。さすがに「最高」「ねん」「世界」は関連語としては不適切かと思われます。

そこで次に、一度抽出したこれらの関連語「候補」をチェックするフェーズを設けます。
その方法は単純で「"関連語候補やビール"」でウェブ検索をしてヒットするかを確認するだけです。
関連語ならば「や」でつながる前後を逆にした表現もきっと誰かが書いているはずです。それがウェブで見つからなかったならば、その関連語候補はノイズだと判定できます。見つかっても少数な場合は信頼度は低いということでノイズ判定することもできます。

例えば、「"ワインやビール"」は大量ヒットするので確実に関連語であると判定できます。
しかし、「"世界やビール"」は2件だけしかヒットしません。
しかも、どちらも『〜のおいしい世界」や、ビールの』で記号入り(Yahoo! ウェブ検索の仕様)なので実質0件です。

ということで関連語ではないと判定できます。

もちろん完全な判定は無理ですがノイズの多くは排除できるため非常に実用的です。

このような、「や」でつながった語を抽出し逆につなげてチェックするという手法は、NIIの相澤先生や京都大学の田中研の論文で提案されています。興味のある方は調べてみてください。

なお、Yahoo!人物名鑑の関連人物モジュールでは前述の手法をそのまま利用しているわけではありません。アルゴリズムにアレンジを加えたり、データを工夫したり、別系統の手法を用いたりしています。

その工夫の一つに「フレッシュクロール」があります。
物と物の関係、人と人の関係の度合いは時系列によって変化します。例えば、最近離婚を迎えたある女優さんといっしょに語られる人物は、一ヶ月前と現在では大幅に異なります。そこで、その時代、時期に即した関連を抽出できるように、最新データからの抽出を優先するなどの処理を行っていたりします。

このようなウェブ検索の利用は我々が研究しているテキストマイニングの技術のベースとなっています。大規模なテキストデータと検索技術と統計を道具に、今後も様々なサービスを展開してきたいと思っています。

また、これらの技術を用いて、将来的には「関連人物API」的なものも検討中ですので、ご期待ください。

§

「人物情報検索のトレンドご紹介」これまでの記事:
第1回
第2回

次回は、「Yahoo!人物名鑑」サービス構築の裏側を、担当エンジニアからご紹介する予定です。

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加