- - 情報の選別にソフトウェアを使う試み - -
ソフトウェアを用いて、大量のニュースから、利用者の求めたニュースのみを抽出する実験。
近年、日本では情報化が一段と進み、個人が扱わなければならない情報の量は増加の一途をたどっている。そして、その情報量は、もはや、人の手のみで捌くことのできる限界を超えてしまっている。この問題を解決することは、まだまだ増加すると思われる情報を扱わなければならない、これからの情報社会にとって、必要なことである。よって、ここでソフトウェアを使えないか考える。
まずは、既に実用化されている情報選別の技術を俯瞰していく。
現在、いくつかのサイトで「パーソナライズ」ということが行われている。パーソナライズとは、@IT情報マネジメント用語事典によると、「Webサイトや電子メールなどで、利用者(閲覧者)個々人を特定・識別し、その属性や行動に合わせて提供するサービスやコンテンツを変えること、またはその仕組みや機能。」である。利用者が自分で見たいものの峻別を全て行うカスタマイズに対し、パーソナライズは多くの点で自動化されている点で、これと異なる。このようなシステムによって「One to Oneマーケティング」つまり、個々人のニーズをとらえ、それに基づいた商品や情報を提供することが可能になり、顧客満足度や顧客ロイヤリティの向上を図ることが出来、ひいては収益にとつなげることが出来る。
この先駆けはAmazonで、顧客の過去の購入履歴を参照することで、その顧客の属性を判別し、それに応じた新しい商品を掲示している。Amazonは1-Click特許でビジネスモデル特許の先駆けとしても名を馳せたが、それに続く利便性向上のための技術がパーソナライズである。Amazonはこの分野に対しEコマース検索技術開発専門の子会社を作るなど、積極的な投資を続けている。
この動きに対して、GoogleやYahoo! Shoppingなどの競合他社も対抗し、パーソナライズ技術に対しての投資を増やしている。さらに、最近では検索エンジンに対するパーソナライズの計画が発表されたり、Instant Messagingソフトウェアに対するパーソナライズの計画が発表されたりと、パーソナライズの適用はますます分野を広げており、IT関連の企業では欠かせないものとなりつつある。しかし、この実用は簡単なものではなく、様々な経験則や、数学が活用されている。
前述のAmazonが顧客へのお勧めを求めるのに用いている仕組みの基礎は、「特定の同じ商品群を買った顧客は、他の商品についても同じものを買うであろう」という経験則である。例えば、商品A,B,Cを買った顧客甲と、商品B,C,Dを買った顧客乙がいる場合、顧客甲には商品Dを、顧客乙には商品Aを勧める。このような仕組みを大規模に行うことで、ある程度の精度を持った「お勧め」機能が実現されている。また、最近では以上のような機械的な「お勧め」機能以外に、それぞれのユーザのお勧め商品をレビューしてもらい、それを提示する、という試みも行われている。
これらの機能を実現しているのは、先述の通り、経験則と数学である。
経験則、つまり、何に着目して考えるかは極めて重要な要素であり、その機能が実際に使えるものとなるかは、そもそもの着想に依存する点が大きい。情報の選別においては、有用な情報と無用な情報を、どこに着目して選別するかが大きな要素となる。Amazonのように商品の選別ならば、まだ問題は比較的簡単であるが、任意の自然文について選別を行う場合は、この着想が間違っていると、処理速度の問題や精度の問題で、実用的なものは作りえない。
もう一つの柱が数学である。個人商店が少数の顧客を相手にするならば、人が全てを行っても問題はない。しかし、24時間営業にしたり、ネット通販にしたり、大規模に行ったりする場合は、人手では追いつかないため、自動化が必要となる。効率的な自動化を実現できるプログラムを作るためには、数学が必要なことが多いが、このケースにおいてもそれが当てはまる。具体的に用いられている理論は次の迷惑メールフィルタの項で述べる。
迷惑メールとは、端的に言えば、自分にとって必要のないメールの事であり、数が多い場合は無視できない量の時間を消費されることになってしまう。そこで、昔から、そして近年ではよりいっそう、迷惑メールは問題とされてきており、これに応じて数々の対策が考えられてきた。こうして、多くのメールクライアントに迷惑メールのフィルタリング機構が実装されるようになった。これは、前者とは逆に、多くの情報の中から不要な情報を排除するものである。
旧来から存在するのが、ホワイトリスト・ブラックリスト方式である。これは信頼できる送信者のリストと迷惑メールの送信者のリストを作り、前者からのメールは必要なメール、後者からのメールは迷惑メール、と断定する。素朴な方式ではあるが、一定の効果はあるため、広く使われている方法である。しかし、この方法では未知の送信元からのメールを判定することは出来ないため、さらなる方法が求められた。
次に現れたのが、キーワード方式である。キーワード方式では、あらかじめ迷惑メールに含まれると考えられるキーワードを登録しておく。この登録されたキーワードを含むメールは迷惑メールだと断定するのである。この方法を用いた場合は、未知の送信元からのメールも判定でき、実用性は一段と増す。特に、2002年4月11日に成立した特定電子メール法で定めたような「未承諾広告※」の表示義務を満たすメールなどには、強い効果を持つ。しかし、これもいちいちキーワードを登録しないといけないという点で利便性を欠く上に、特定のキーワードを含まないが迷惑メールであるものは排除することが出来ない。最近まではこの段階より先に進んだフィルタリングソフトは実用化されていなかった。
そして、最近になって現れたのが、ベイズ理論を利用した新しいタイプのフィルタリング方式である。この方式ではメールの本文の内容を元に、個々の要素と迷惑メールかどうかとの関連性をあらかじめ蓄えられた情報から算出し、その算出したを総計して出したスコアが、ある一定の閾値を超えた場合、迷惑メールだろう、とする。この方法は完璧な正確さを得ることは出来ないが、あらかじめキーワードを登録するようなことが必要なく、自動化できるという点で大きな利点を持つ。
このベイズ理論は長らく注目されることの無い理論であった。しかし、Microsoftが2001年の春にベイズ理論を今後積極的に用いていくことを表明して以来状況が変わった。Microsoftは積極的に自社の製品にベイズ理論を応用するようになり、同様に他社もベイズ理論に注目し、利用を始めるようになった。特に、学習型の迷惑メールフィルタであるPOPFileが登場すると、その性能は世間の知るところとなり、急速にベイズ理論を利用した迷惑メールフィルタを搭載したプログラムが増え、現在ではほとんどのメーラーではベイズ理論を用いた迷惑メールフィルタを利用することが出来るようになった。
ベイズ理論は、18世紀後半のスコットランドの長老派教会の牧師であり、アマチュア数学者でもあったトーマス・ベイズによって考え出された。この理論を一言で言えば「過去から未来は推測できる」ということである。現実から集められた過去のデータを元に、推測を行い、未来の確率を求める。過去のデータが多ければより正確な予測を行うことが出来るが、一方でデータが少なくともそれなりの推測を行うことが出来る。そんなベイズの定理自体は、高校の確率の範囲をぎりぎり超える程度、大学の確率論の教科書に載る程度の難易度で、簡単なものである。単純なだけに応用範囲が広く、今後ますます多くの分野で使われるようになることだろう。
まずニュースをどこから集めるかは重大な問題である。ランダムな文字列では意味が無いため、実際のニュースを実験でも用いるべきであろう。今回は朝日新聞の公開しているRSSデータを利用することにする。RSSは一般にニュースを利用しやすい形で配信するのに使われる。現在存在するRSSクライアントは受け取ったニュースを全て表示するが、利用者の興味のあるニュースだけを表示するようにすれば、その利便性はさらに向上するであろう。
ソフトウェアは、前述のニュースデータを受け取って、そこから利用者の興味があると思われるニュースのみを取り出す、ソフトウェアである。利用者の興味を理解し、ニュースの振り分けを実現するためのアルゴリズムには、前述のベイズ理論を利用する。ベイズ理論を適用する際、英語は単語を個々の要素とするが、日本語ではこの処理は決まった処理は無い。多く用いられる方式として、一定文字数ごとに文字列を取ってゆくn-gram方式や、単語単位に分割する形態素解析などが用いられる。その他の方式も含めて、どのような方式を用いるかは、実験を通して最適なものを探って必要があるだろう。ベイズ理論を用いて算出した、個々の要素とニュースの有用性から、ニュースそのものの有用性を算出する方法も、単純に掛け合わせる方法から、複雑な計算を用いるものまで、何通りも考えられるが、これも実際に試してみて、決めるべきであろう。
利用者は、前述のニュース群のうち、それぞれの利用者が興味を持つと思われるニュースのみを受け取ることになる。最初のうちはトレーニング期間となるため精度は低いが、使っていくうちにだんだんと、精度が上がっていくはずである。
まず、趣味嗜好のまちまちな男女を20人程度集める。モデル自体は言語に依存しないので、言語もまちまちでいいはずだが、前述の通り文章から要素を取り出す際の処理などは言語に依存するし、元のニュースが日本語なので、今回は日本語に限定する。
被験者は朝日新聞のRSSからニュースを受け取るソフトウェアを用いてニュースを受け取る。その際に、そのニュースが本当に自分の見たかったニュースかどうかを評価する。使っているうちに、興味が無いであろうと判定されたニュースも出てくるはずだが、あえてそこも見てもらい、興味があるのに興味が無いと判定されてしまったニュースが無いかも調べてもらう。
実験当初は精度が低く、どのニュースも興味があるニュースであろうと判断されたり、逆に興味があるニュースなのに興味が無いだろうと判定される。しかし、ある程度正しく実装されていれば、数日程度で調子がよくなり始め、一週間経つ頃にはそこそこ使えるレベルにまでトレーニングがなされるだろう。とはいえ、本当にそうなってくれるかはわからないため、この点を記録しておく。具体的にはそれぞれのニュースについて、興味のあるなし、ソフトウェアの判定結果、その判定の正誤を記録する。
以上の実験・記録を1ヶ月程度継続する。(2週間程度でも十分な調査は可能かもしれない)判定の結果をグラフにすると当初は精度が低いが、徐々に判定が強化され、精度の上がっていく様が見て取れるはずである。そうならない場合、本文からの要素の抽出の仕方や、個々の要素からニュース全体の有用度を計算する方法の見直しが必要となる。
ソフトウェアに情報の選別をさせるという考え方は近年急速に広まっている。また、考え方だけでなく、実装も現時点で一定数存在しており、迷惑メールフィルタについては多くの人がすでに恩恵に与っている。夢も現実も広がっているという点で、このジャンルは今後とも興味深いものになっていくであろう。
ベイズ理論について調べている途中で、オペラント条件付けとの関連性が気になった。ベイズ理論の、新たな情報が入るごとに、判定が強化されていくという点はオペラント条件付けと極めて類似性が高いように思える。しかし、ざっと検索した限りでは、一つの文章に「オペラント条件付け」と「ベイズ理論」の両方の単語が含まれているものは見つかったものの、その点について詳細かつ平易に説明した文献は見つけられず、保留することになってしまった。
ちなみに、RSSとベイズ理論を組み合わせたニュースフィルタリングソフトウェアは、8月12日現在、Googleで検索した限りでは公開されていないようだ。自分自身がRSSを使ってみた際、あまりにノイズなニュースが多いのに辟易して利用をやめたので、今回言及したようなソフトウェアがあれば欲しい。誰かが作ってくれる無いかなと期待しつつも、機会があれば自分でも作ってみたいとも思う。