- ベストアンサー
Yahoo!知恵袋の関連度のアルゴリズムとは?
Yahoo!知恵袋の関連度の仕組みが知りたいです。 なぜ関連度と言った指標を作ることができるのでしょうか。 キーワードに意味を持たせるための仕組みがあるのだろう事は分かるのですが どのように判断し、意味を更新してゆき、意味を蓄積してるんでしょうか。 また、この開発に関連のある技術としてどんなものがありますか? 私は、なんらかの「結果」や「現象」からそのプログラムが どのようなものなのか想像するのが苦手です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こういうのは、いろんなやり方があると思いますので、Yahoo!の人間でない限りは、推測しかできないと思いますよ。 で、考え方としては、テキストの語句を解析するアプローチありますし、ユーザー行動を解析するアプローチもあると思います。 ユーザー行動によるアプローチというのは、例えばこういうことです。あるユーザーが、何かを知りたくて知恵袋で検索をしたとします。一発で知りたい答えが出てくることはないでしょうから、何度も検索するでしょう。すると、そのユーザーが一定時間内に検索した質問というのは、何かを知りたくて探しだしたもの=何かの疑問について関連があるもの、と考えることができます。 Yahoo!ともなれば、1日に何十万という検索がされるでしょう。それらのデータをどんどん蓄積していけば、ある質問を検索した人の多くがこっちの質問も検索してみている、というようなことが数値データとして溜まっていきます。これが関連性のデータとして利用できるでしょう。 語句解析は、文字通りそのページに投稿されたテキストの語句を解析し、数値化するというアプローチです。多数の投稿のテキストを解析し、よく使われる語句を抽出し、それらにラベルを付けます。例えば、「Ruby」という単語であれば、「ruby」「プログラミング」「スクリプト」「Rails」……というようなラベルがつけられるでしょう。そうやって、たくさんの語句に、関連するラベルをつけていきます。(もちろん、人間が作業するのでなく、プログラムで処理できるようにしているでしょう) ある投稿がされた時、そのテキストで使われている語句を解析し、それに付けられているラベルを取り出すと、その質問に関連付けられたラベルの一覧が得られます。より多くの同じラベルがつけられている投稿を検索すれば、それは関連性が高い質問と考えられるでしょう。 この他にももちろん山のようなアプローチが考えられると思います。どういうアプローチにすればよりユーザーの要望にぴったりな回答を得ることができるか、それぞれの企業がそれを競っているわけで、どれが正解というのはないのだろうと思います。
お礼
なるほど。 ユーザーの要望を細かく知り、方法を判断する必要があるのですね。 ありがとうございました。 参考にします。