2007年11月19日月曜日

最新のSEO関連研究 コンテンツスパムの発見法

検索エンジンのコンテンツに関してスパムにならないようにはどうしたら良いか、キーワードが5%が最適とか言っている前に最新の論文を読んだほうが良いだろう。ということでWorld Wide Web Conference2006からそれに該当する論文を読んで要約してみた、これを理解すればどのような行為がスパムになるのかが良くわかるはずである。SEO業者も必見かと思います。

論文はこちら このグラフはこの論文中のものを指しています。 また計算式がみにくいですけどこれも論文中のものを見てもらえれば助かります。

Detecting Spam Web Pages through Content Analysis


  1. Introduction

サイトのクオリティを高める努力をせずに検索エンジンのランキングを外部リンクや人気キーワードのサイトへの埋め込みなどによって不正に上昇させるような行為を検索エンジンスパムという。英語のサイトの13.8%はスパムサイトであるといわれているがこれを看破できないサーチエンジンはリソースの約7分の1を浪費してしまい、更にはサーチエンジンのクオリティの低下でユーザが離れてしまうのでどうにかしなければならない。

これらを防ぐために

  1. Webの大きさを考ると人手を介さず自動でスパムサイトを発見しなければならない

  2. 正統な(スパムでない)サイトをスパムとみなしてはいけない。

  3. クエリーをユーザーが投げる前にはスパムを発見したい(そうすることで無駄なロボット巡回、クエリー処理、インデキシングを省くことができリソースを有効活用できる。)

この論文で我々はスパムを発見する様々な方法、また効率、精度よくスパムサイトを発見するアルゴリズムを作るために、如何に個々の方法を統合する機械学習技術を使ったかを示す。

この論文の構成は次のようになる

§2:実験概要、実世界データセットの紹介

§3:データセット中のスパムの蔓延度合いをドメイン、言語別で比較

§4:スパムの発見する方法を説明

§5:我々の手法の評価

§6:関連研究

§7:結論と将来への展望


2.実験概要とデータセット

データセット:MSNサーチエンジンが収集したサイトデータから105,484,446(約1億)のページをランダムで取ってきたもの。

厳密にはMSNサーチが取り込むデータ自体もスパム排除プログラムを潜り抜けたものであるからランダムとは言えないが。しかし実際にユーザが目にするのはそのようなサイトであるし、我々の実験で得られた結果も、真の意味でランダムでとってきたのよりも悪くなるはずなので控えめな見積もりということができるので十分にこの論文の価値はあるといえる。

  1. どれくらいスパムがあるの?

この章では、どれくらいスパムがWeb上に蔓延しているのかと、トップドメイン名、国などで区切った時あるページの集合が他のページの集合に比べてどれくらいスパムが多いのかを調べていく。Figure2はどのトップレベルドメインにスパムが多いかを調べた結果であり、Figure3は言語によるスパムサイトの割合である。この二つの実験からスパムはかなりの割合でWebに蔓延しており、また特定のドメインはスパムだらけである。これらの調査はスパム発見手法に生かしていく。


  1. 内容に基づいたスパムの発見

我々のWebDBの論文[8]で、我々はスパムの発見手法を数多く説明したが、その中には完全にページの内容と独立したものもある。(リンク構造やDNSレコードを使ったもの)また一方で内容が解釈されていないもの(ページの進化状況、(構造的に?)似たようなものをクラスタリングする)もある。

 この論文では、我々は全てコンテンツに基づいたスパム判定を行う。

 我々は1億のデータから最も多数ある(54%)英語のページをランダムで17168ページ取得してそのそれぞれに対して人手でスパムページかそうでないかを仕分けした。そのうち13.8%がスパムページで86.2%がスパムページでなかった。この章の残りで我々が研究したコンテンツに基づくスパム発見手法を詳細に説明していく。


    1. ページ中の単語数

スパムページは人気キーワードをとかく詰め込む傾向があるので、過剰な数の単語がスパムの指標になるのかを調べ、その結果は図4のようになった。確かにページ数が多いほどスパムの割合は高くなるが全ての範囲でスパム率は50%を切っているのでこれだけでスパムかどうかを判定するわけにはいかない。


    1. ページタイトル中の単語の数

スパムの常套手段のもう一つとしてページタイトル中に単語を詰め込むというものがある。そこで我々はページタイトルに含まれる単語数とスパムの関係を調べ、その結果は図5のようになった。図4と図5を比べると図5のページタイトルに含まれる単語数の方がスパムを判断する上で良い指標となるといえる。


    1. 単語の平均の長さ

クエリを複数語を指定して投げる時にスペースを入れない人がいるのでそれを狙って単語をつなげているページがある。例えば”freepicture”,”freemp3”などなど。そこで単語の平均アルファベット数とスパムの関係を調べてみたところ図6のようになった。単語の長さが8文字をすぎるとかなりスパムの割合が高くなることがわかる。


    1. アンカーテキストの量

リンクはアンカーテキストとなっているが、単に他のページにリンクの渡すためだけのカタログページが存在する。そのようなサイトは大量の初リンクがあるのでアンカーテキストの単語が全単語に占める割合とスパムとの関係を調べた。その結果図7のようになった。ややアンカーテキストの割合が高いほどスパムの確率は上昇するがあまり顕著ではなかった。


    1. 見えているコンテンツの割合

マークアップでない単語の総バイトをページの総バイト数で割ったところ図8のようになった。これからスパムページはマークアップ(スクリプトやスタイルシートなども含む)が普通のサイトより少なく人にサイトを見せるための装飾等を省いているといえる。


    1. 圧縮率

冗長なコンテンツがあるページは圧縮器をかけることによりサイズを縮小できる。例えば同じ単語が何度も使われていたりすると圧縮率は高くなる。そこでGZIP[14]という圧縮器を使って圧縮率とスパムの関係を調査して、その結果が図9のようになった。 


    1. ページ中で一般的に良く使われる単語が含まれる割合

スパムページは検索エンジン対策のため文章が不自然になっている可能性があるので、データセットで上位200位までの頻出単語が全文章中でどれくらいの割合で使われているのかを調べ、それとスパムとの相関を図10に示した。この結果スパムページは一般的に使われている単語をあまり使っておらず偏りがあることがわかる。


    1. 一般的に良く使われる単語の割合

データセットで上位500位までの頻出単語のうち何種類がページ中に含まれているかを求めスパムとの相関を調べた。4.7の場合例えばページ中に”a”とだけ書かれた文字があったとするとスコアは1となるが4.8の場合は1/500となる。うまく4.7の欠点を補う意味で調査をした。その結果図11のようになったが全体的に控えめな結果となった。


    1. 独立したN-gramの可能性

スパムページは文法的におかしい傾向が強いためn-gramにより文書の傾向を調べた。理想的には文法的かつ意味的に正確さを追求したいのだが、計算量が多くなるため統計的な手法であるn-gramを用いることにした。

という式でまずあるn-gramの発生率を求める。分母はngram全体の数、例えばngramはオーバーラッピングするので3gramで5個単語があるとすれば最初の3つ、真ん中の3つ、最後の3つで合計total number of ngram = 3 となる。分子はこれら3つの重複数で最初、真ん中、最後の全てが異なる場合1となるし、最初と最後が同じで真ん中が異なると最初と最後の値が2となり真ん中が1となる。

この式から文書全体のn-gramの発生率のようなもの(文書中にはk個のn-gramを持った文書の確率は個々のPの確率の積であると書かれているがまったく理解できない)を取り、それを文書の長さによる差がでないように正規化すると

となる、これをコンピュータの誤差が出にくいようにさらに変形して

とする。この式からわかることはngramで共起する回数が少ないほどlogPの値が小さくなる、すなわち負の値が大きくなるためIndepLHの値が大きくなる。また逆にngramで共起回数が多いほどlogPの値が大きくなり、すなわち負の値が小さくなるためIndepLHの値は小さくなるということである。(これ以上は理解不能)

図12はこのIndepLHの値とスパムとの関係である。極端にngramでの共起が少ないときと多いところにスパムが集まっている。共起が多いときは同じ表現を繰り返し何度も使っているスパムであると判断できる、また(グラフのどこからその根拠を得ているのかは不明だが)起こりそうにないngramで構成されている文書はよりスパムである確率が高い、おそらく文法的にありえない文書を使っているからであろう。


4.10 条件付ngramの可能性

と条件付確率を定義するとより計算量が増えるかわりに精度が上がるらしい。(どう、または精度が向上するのかはよくわからないがとにかくより良い手法らしい)そして後は4.9と同じようにして計算してスパムとの関係を調べると図13のようになった。大体図12とライングラフが一致している。(結局あまり大差ないやん)。


5.今までのデータを組み合わせて分類器の生成

今までのデータを用いて分類器を生成して、ページがスパムであるかスパムでないのかを求めた。これを行う技術としては決定木、ルールベース技術、ニューラルネット、サポートベクターマシンを使った。そのうちで最も分類精度が良かったのは決定木のC4.5というアルゴリズムである。C4.5は簡単に説明すると最も分類精度が高い順にルートから木を生成していくというアルゴリズムである。分類例は図14のようになり、再現率と精度はテーブル1のようになった。


5.1 分類の正確さの改善

より分類器の正確さを上げるために我々は最も有名な2つの技術「bagging」と「boosting」を使おうと思う。

Baggingの説明

  1. もとのデータセットからN個のデータセットを作る。その時各データセットはもとのデータセットからそれぞれn個のデータをランダムで選んだものとする。(それゆえデータセット間のデータの重複は許される)

  2. N個のデータセットそれぞれについて分類器を作成する

  3. それぞれの分類器を使ってスパムかスパムでないかを判別する。

  4. 最終的な結果は分類器の多数決によって決める。

これがBaggingの概要であるが今回はN=10,n=15453で実験して行ってみたところ結果は表2のようになり正確さは上昇した。

Boostingの説明

  1. 最初に全てのデータに1/nの重みを割り当てる(今回の場合n=15453)この重みはトレーニングセットの中で一つデータを取り出した時に該当するデータである確率である。

  2. この重みを使って分類器を生成する

  3. 分類した際にスパム・ノンスパムの分類を間違えたデータは重みを増やし、正解したデータは重みを減らす(つまり学習例として適しているデータの重みを増やすってことだとは思う)

  4. 2.3を繰り返す(今回の場合10回)

  5. 10個分類器ができるのでスパム・ノンスパムの判定は重み付投票で決める。

これにより分類してみたところ結果は表3のようになりかなり改善が見られた。

6.RELATED WORK

  1. 機械学習の関連研究

C4.5を使ったEmailの分類[16,28]
これは人が読むものに対するスパムだが我々は検索エンジンのロボットが読むためのスパムを発見するという意味で異なる。

  1. スパムの役割やシステムについて

    • Henzingerら[15]はスパムがサーチエンジンにもたらす脅威を認めた

    • Perkins[25]が数多くのスパムテクニックを定義しGyongyiとGarciaMolina[13]がよりそれを詳細に分割した。

    • DeStefano[20]はWebスパムと宣伝の関係を指摘(調べてみたらあるサイトのリンクポピュラリティを故意に上げよう(あるサイトを宣伝しよう)とした時に現れるリンク構造を発見したみたいな内容であった)

スパム手法は一般的にリンクスパム、内容スパム、クローキングに大別できる

  1. リンクスパムについて

  • Davison[7]は早い時期にリンクスパムについて調査しており、縁故主義のリンクについて考察している

  • Amitayら[2]はリンク構造をルールベースの分類器に入れてリンクスパムを発見する手法を提案

  • Baeza-Yateら[3]はページランクを上げるために示し合わせたリンク形態の研究を示し、Adaliら[1]はあるページにリンクを張るためのみにページを生成することが最も効率的なスパムの手段である事を示した。(今では古いと思うが)

  • Zhang[31]らはどうやってページランクを攻撃(スパム)に耐えられるものにするかを示した

  • Gyongyiら[11]は信頼の置けるサイトからのリンクを辿ることによるTrustRankというものをスパムでないページの発見のために用いた。

  • Benzur[4]らは不自然にページランクを上昇させているページに対してどうペナルティーを与えるのかについて示した。

  • Wu と Davison[29]とGyongyi と Garcia-Molina[12]はリンクファームの発見手法について研究した。

  • [8]で我々はリンクスパムを指数法則からの逸脱をもとに発見する方法を示した。

  • Mishneら[21]らはブログのコメントにあるリンクスパムを発見するために単語の使用頻度を用いた確率的な手法を提案した。


4. コンテンツスパム 

  • [8]で我々は長いホスト名、多くのダッシュやドット、数字が入っている、単語に多様性がない、頻繁に広範囲にわたってコンテンツを修正する、ということがスパムであるかどうかの良い指標になることが多いということを示した。

  • [9]で我々は切り取りと貼り付けで作ったようなサイトのスパムを調査して、そのようなページを発見する方法を提案した。

  1. クローキング
    クローキングとはWebサーバに細工をして検索エンジンの巡回ロボットに一般の閲覧者とは異なる内容のWebページを見せる事を言う。(フラッシュ等を多用しているサイトでは検索エンジンとの親和性が低いためそれをカバーするため最適化したHTML構造を巡回ロボットに見せるというパターンが多い)

    • GyongyiとMolina[13]は現在のクローキングテクニックを示した。

    • WuとDavison[30]は3つの別々のページに共通する単語を計算することに基づいたクローキングの発見方法の有効性を示した。(意味不明)注目すべきはクローキングが有益なものを使うということである。例えば帯域幅やストレージコストを減らすためにサーチエンジンに対してクローキングがマークアップなしでページのコピーを返すような感じである。(サーチエンジンに有用な部分だけを見せるということだと思う)


7.結論と先への展望
Webスパムと検索エンジンのいたちごっこは続いていくであろうが我々の技術がより良い検索のために役立てばうれしいと思う。継続的な研究により効果的なスパムを行うよりもコンテンツ作りを充実させたほうがよりリスクが少ないようになるのが我々の願いである。


2007年11月17日土曜日

ここが変だよGoogle翻訳

GoogleにはGoogle翻訳というサービスがある。http://www.google.co.jp/translate_t?langpair=jaenこれは文法をきちきちと解釈して訳をつくっているのではなく、日本語文書とそれに対応する英語文書があれば、対応関係などを大量に学習して自動的に適切な訳を出してくれる機械学習を用いている。
その性能は非常に高く、別に暇な人が対応表みたいなものをつくったわけでもないのに「千と千尋の神隠し」と入れるとSpirited Awayと返すし、「バイオハザード」と入れるとRezident Evilと、固有名詞までしっかりと学習している。
ところが・・・・「JOJOの奇妙な冒険」と入力すると
WRYYY
とか返してきた。これはJOJOの最大の敵であるDIOの有名な奇声のことなのだが一体何をどう学習すればWRYYYになるのか見当もつきません。Googleなりのギャグととらえるべきでしょうか?
他にも「ニューガンダムは伊達じゃない」とかガンダムの名言でも入れてみるとKiwi is not NYUGANDAMU(ニュージーランド人はガンダムではない)とか返してきた。
今後もGoogleからは目が離せません!

2007年11月7日水曜日

Ajax vs Flash

リッチクライアントを実現するためのコア技術であるAjaxとFlash、どちらがどのような方面で一体優れているのか比較検討してみたい。

ニューヨークで行われたフラッシュ先進会議みたいなものでAjaxの動きがフラッシュ製作者にどのようなインパクトを与えるかという話題があったそうである。

クライアントに対して行えることに関してはFlashはDHTMLよりかなり優位に立っているということがいえる。Ajaxをフラッシュの替わりに用いているサイトの特徴としてはユーザーインターフェースや機能が比較的簡単なものであるということが言える。確かにGooglemapsのような巨大予算を費やした例外もあるが、これはGoogleがビジネス上の思惑でmacromediaやadobeに頼ったシステムを作りたくなかったゆえではないか?という事が伺える。まあしかしフラッシュにもAjaxにも長所、短所がありそれらについて簡単にまとめてみる。

Flash

・プラグインをしなければならず、また決められた範囲の場所にしか表示できない。

・互換性についてはあまり考えなくてもよく作るのが簡単。

・CSSをある程度しかサポートしていない

・javaに似た堅牢なプログラミングモデル

・テキスト表示が弱い、(汚い?)

Ajax

・html、ブラウザとの親和性が高い

・CSSをフルサポート

・動的なコンテンツ生成が容易

個人的にはどちらが良いのかはあまりわかりませんが、javascriptとflashを連携させることなども可能なので両方学習しておいていいとこどりするのが一番いいと思います。

2007年11月6日火曜日

情報可視化インタフェース

数値データから描かれる統計グラフ⇒値の推移を把握するのに適しているが節目と考えられる部位や、背景・影響などを読み取るのは難しい

新聞記事などのテキスト⇒具体的な値の推移把握には不十分だが、背景や影響、節目として解釈すべき箇所を理解する際には有効

ということなのでこれらの情報を相補的に扱うことができればユーザーインターフェースは確実に向上する。

時系列数値情報とテキスト情報を組み合わせて情報を提示する場合、その最も単純な実現方法は、白書等より得られる数値情報を統計グラフとして描画し、新聞記事等のテキスト情報をその発行日を用いてグラフの時間軸に関連付ける方法であろう。

しかし、この方法は欠点があり、それは記事の発効日を利用したとしてもその記事がいつの出来事について書いているのかがわからないということである。今までの変遷をつづったものなのかもしれないし、昨日の出来事を書いたものかもしれない。これをまずテキストの自動解釈技術に基づいていつからいつまでの出来事について書いたものなのかを判別して時間軸と連動させる必要がある。またテキストがグラフのどの変遷箇所に注目して書かれたものなのかを解釈必要がある。

ユーザの探索行為を考えた場合(1)グラフの特徴的な箇所に着目し、それに関する知見を得るためにテキストを参照する。(2)テキスト情報から気になる箇所を見つけそれがグラフのどこに対応しているのかを参照する。っという双方向の情報アクセスが想定できる。そのため、情報提示インタフェースはユーザにテキスト情報の一覧からグラフの対応箇所を見つけるインタラクションを提供する必要がある。

Webで情報可視化インタフェースを考えるとフラッシュかAjaxあたりで実装できそう

2007年6月18日月曜日

Web Trust 研究動向

1.はじめに

フィッシング詐欺やチャリンカー詐欺(現物を確保する前にネットオークションに出品し、注文を受けてから安く調達して利ざやを稼ぐ自転車操業的な手法。また、赤字になるような安い価格で出品を続け、高い評価がたまったところで大量の仮出品を行い、入金されたところで逃亡する詐欺のこともある)、P2Pソフトを介した個人情報漏えい問題など、Webの利用が進むにつれ次々に新しい問題が起こっている。今後Webを健全な社会インフラとして活用するためにはWebの信憑性の扱いが最大の課題となっているといっても過言ではない。そこでWebを安心して使えるようにするためWebの信憑性の問題に様々な分野で取り組んだ研究が近年注目されている。そこで本稿ではこれらをWeb Trustの研究と呼び、具体的な事例をあげて現状を紹介する。

2.Trustとは?

2.1 TrustとPrivacy,Security

相手を信頼するためには相手に関するあらゆる情報を判断材料として入手したいだろう、こうした相手に関する情報の入手につきまとうのがPrivacyである。Privacyは、情報のオーナシップやコントロールに関する権利とされ捉えられ、またその権利を保護することがSecurityである。リスクを減らすには、できるだけ多くの判断情報を集めたいが、これを追求するとPrivacyの考えが脅かされる。一方Privacyを尊重しすぎると、相手を信頼するに至らないという局面が増える。こうした意味で、信頼に基づく社会を実現するには、PrivacyとTrustとのバランスを考慮する必要があり、この点がPrivacyの取り決めを難しくする要因のひとつである。また、Privacyを保護するSecurityが確立していないと、やはりPrivacyは保護されないことになる。Trustに立脚した社会の実現は、PrivacyとSecurityの課題と切り離せない関係にあるといえる。

2.2 Trust研究のマップ

イタリアCNR(National Research Council)のInstitute of Cognitive Sciences and Technologies(ISTC:認知科学技術研究所)では、Trustを総合的に研究するため,T3 Groupという研究組織が活動している。T3はTrust Theory and Technologyの頭文字をとったもので、様々な分野の研究者が集まり、Trustとは何か、Trustは社会や技術にどのような影響を与えるのかなどを幅広く検討している。T3では、Trustを扱う研究分野として以下の5分野をあげている。

  • 経済学(Economics/Organizations)
  • 社会学(Sociology)
  • 心理学(Psychology)
  • コンピュータサイエンス(Computer Science)
  • 社会的認知科学(Socio-cognitive approach)

§1 他分野におけるTrust研究事例

経済学:経済学でのTrustは、主に顧客が企業などの組織に対して感じる信用や安心などの基準であり、変数として表せる因子の一つとみなされている。

社会学:社会学では、Trustを主に個人対個人の信頼関係と捉えている。

心理学:どういう状況でTrustを感じるか、あるいはTrustとTrustに類似した概念をどのように識別するかを中心に議論している。

社会的認知科学:社会的認知科学では、人間が様々な要因からTrustを導き出す過程をモデル化する研究が行われいている。

3.Web Trust研究

3・1 WebにとってのTrustの意義

Webを含むコンピュータサイエンスでは、Trustは大きく分けて二つの異なる側面から議論されている。一つはセキュアなシステムの構築手法、もう一つはネットワーク上でのエージェントに対するTrustを算出する手法である。前者は、高いセキュリティを持つシステムやセキュリティを重視するユーザはTrustworthyであるとするものである。一方後者は実世界での組織や個人の間の関係をコンピュータネットワークに適用し、ネットワーク上のノードやWeb上のオンラインショップ、それらの利用者などをエージェントと捉え、その信憑性を推定しようとするものである。Webには、実世界の距離を超えたコミュニケーションを可能にし、匿名性が高いという2つの大きな特徴があるため、実世界よりも大きなチャンスとリスクがあり、相手を正しく選択する重要性が高い。

3・2 Trust推定のための評判情報管理

利用者の評価情報を元に、エージェントのTrustを予測する一連の仕組みは、評判管理システム(reputation system)と呼ばれている。Reputation systemの基本的なアイディアは、今まで面識のない相手のTrustを「間接的な情報」である評判情報をもとに予測することにある。ここで「間接的な情報」とは、すでにこの相手と面識のあるほかのエージェントによる評価を意味する。

Trustの研究は大きくはcentralized型とdistributed型に分けることができるがこれらについて説明していく

§1 Centralized Reputation Systems

評判情報をサーバ上で中央管理するシステムで、商品レビューサイトなどに代表される情報提示サイトなど、数々のWebサービスにおいてreputation systemが利用されている。最も有名なものがヤフーオークションなどで利用されているユーザ評価方式であり、取引完了後、売り手と買い手のそれぞれが相手に対してプラス(+1)、中立(0)、マイナス(-1)の評価を下すプリミティブなフィードバック方式となっており、あるユーザの評価値は、このユーザが受けた評価値の総和(ないしは平均値)となる。また、オープンソースプログラマのための情報共有コミュニティであるadvogatoにおいてもメンバの評価(スキル習熟度)を管理するreputation systemが提供されていて、ここで採用されているAdvogato's trust metricは、各メンバをnodeとし、メンバ間の参照情報をedgeとする有効グラフを用いてメンバ評価を行う。またEpinionという製品及び店舗のレビューサイトではユーザはレビューとレビュアの双方に評価情報を付与することができる。

§2 Distributed Reputation Systems

中央管理を必要としない分散型reputation systemに関する研究は、主にP2Pファイル共有におけるファイル詐称問題への対応策として研究が進められてきた。例えばMudhakar SrivastsaはP2P環境下でのピア(通信相手)の選択にTrustを導入し、あるファイルを取得する場合にTrust値の高い(信頼できる)ピアを選択することで、故意にウイルス感染させたファイルを配信するような悪質なピアに接続する危険を減少させるシステムを提案している[Srivatsa 05]

また中央管理型とは異なり、分散型reputation systemにおいては、評判情報が各ユーザの手元に点在することになる。このため、あるユーザに関するTrustを調べる際には、他のユーザから該当ユーザに関する評判情報を収集する必要がある。そこで、この評判情報を如何に効率的に収集するか、如何に分散する評判情報を元に必要とするユーザのTrustを計算するかがポイントとなる。Abererらは、ユーザのマイナス評価を分散環境下において共有するアーキテクチャを発表している。[Aberer 01]

また評判情報の一貫性をどう管理するかといった分散環境特有の課題もある。

§3 評判システムの課題

効果的なreputation system実現のためには、いくつか解決すべき課題が存在する。Resnickは、正確なReputationを得るためには、(1)利用者からのフィードバックをどのように誘発するか、(2)信頼性のあるReputationの配信をどう実現するかなどの課題を解決する必要があるとしている。(1)の問題については、ユーザに対してフィードバックへの対価として金銭的インセンティブを与えるアプローチや、ポジティブとネガティブの両方のフィードバックを採用することで、比較的少数のユーザ間関係からでも高い精度でTrust値算出が計算可能な手法を検討するアプローチがある。しかしこのシステムではポジティブ方向に偏りがちなのでより正直な評価を引き出すために匿名性を加えたreputation systemも考えられている。(2)については悪い評判がついたエージェントが、いったん自分のIDを捨てた後、新規参入エージェントのフリをして新たなIDと新たな評判を取得することが問題となっており対応が非常に難しい。また悪意を持ったユーザを統計処理などにより除くといったことも行われている。

3.3 ページの内容による信憑性の推定

FoggによるWebページの信憑性を心理学的な視点から調査した研究があるが、それによると大きく分けて5つのグループがあり、それぞれ

  1. Real-World Feel Scale
    組織の住所や社員の顔写真が掲載されているかといった実世界での実在性を感じさせる基準
  2. Ease of Use Scale
    キーワード検索が可能か、リンクナビゲーションが適切かといった使いやすさによる基準
  3. Expertise Scale
    記事の出展が明記されているなど、情報の専門性、技術的裏づけに関する基準
  4. Trustworthiness Scale
    著名なサイトからリンクされている、よく知られた企業のサイトであるといった社会的な信用に関する基準
  5. Tailoring Scale
    情報を送信すると確認メール返信されるなど、細部の作りこみに関する基準。

3.4 その他のWeb Trustに関する研究

§1検索エンジンのランキング

検索エンジンのランキングの信憑性として、意図した相互リンクなどをどこまで認めるのか、また本来のランキングのあり方を改めて問うてみる、といった動きが見られる。

§2 評価表現抽出

blog等から個人の主観的な意見を抜き出そうということも行われている。ここでは文章中に表れる「良い」評価や「悪い」評価を自然言語処理技術を用いて抽出し、その記述全体としての(おそらく信憑性)の評価を算出するというものである。(「良い」「悪い」の記述からその文に対する信憑性を求めているのか、それともある製品があってそれに対して肯定的な意見が多いのか否定的な意見が多いのかを単に調べているだけなのかは論文内容からはよくわからない)

参考文献 人工知能学会誌 21巻4号

blogマイニング ーインターネット上のトレンド、意見分析を目指してー

1.はじめに

ブログは通常のWebページとは異なり、速報性、リアルタイム性のある新鮮な情報が発信されることから、掲示板同様有用な情報源と考えられるようになってきている。このblogを大量に収集し、収集したblog集合を様々な手法で分析することで一般の人々の「生の声」をうまく抽出することに現在関心が集まっている。

2.blogとは?

blogの情報源としての特徴の第一は、時系列情報を伴った膨大なテキスト集合であるという点であろう。いうまでもなく、内容を書いた日付(時刻)がメタデータとして付与されているテキストはこれまでで希少であり、そのため経年変化などの動向調査を行う素材としては非常に興味深いということができる。また上述したように、blogの書き手が一般の個人であり、その内容から一般の人々が何をし、何を思っているかを抽出できる可能性があることがblogを情報源として魅力的にしている第二の理由といえる。さらにblogの場合、トラックバックなど付加的な機能により、人と人の間のつながりに関する情報を入手しやすいという特徴もあり、後述するコミュニティ抽出などのように個人間のつながりに関する分析に向いているという特徴もある。

3.blogマイニング

       -blogから社会の何が見えてくるのか-

blogを対象にした分析にはどのようなものが考えられるだろうか。現状ではblogマイニングと呼ぶことができる分析技術は以下のようなものである。

  • Authority分析
  • トレンド分析
  • 評判分析
  • コミュニティ抽出
  • blogの書き手の属性推定
  • 実世界の動向(例えば、株価、売り上げ)との相関分析
  • spam filtering
  • 自動要約
  • 情報の重要性、信頼性評価
  • blogのエントリの自動分類、トピック同定
  • マスメディア(例えば、新聞記事)とblogの自動対応付け

4.blog検索 ーblogによるランキング手法

blogのみに的を絞った検索エンジンとしては、例えば、未来検索livedoor,Yahoo!ブログ検索などがあるが、これらは人手による収集、あるいはpingサーバからblogサイトの情報を得て、RSSを利用することでblogを収集する検索システムである。ブログ特有のランキング付けとして、日付順、更新間隔が短いもの順などを利用することが考えられる。

5. blogにおけるトレンド分析ーいつどんな話題が盛り上がっているのか?

ある程度の規模のblogページを利用することが可能な場合、それらのページの中で、あるキーワードの出現頻度がどのように推移するかを計ることで、そのキーワードが「いつ」、「どの程度」注目されていたのかを知ることが可能である。出現頻度のみを注目度の指標にするだけではキーワードごとの総出現頻度の差を受けるといった問題がある。(つまり人気キーワードと人気キーワードではないが最近注目されているキーワードの総出現頻度が同じである時、それらを同等に扱うのは間違いであり、最近注目されているキーワードをもっと優遇すべきということ)そこで筆者らはキーワードの出現間隔が狭くなってきている状態(バースト)を発見することによって、キーワードが注目されていると考えられる期間を検出している。

6.評判分析ー人々の意見を収集、分析する

blogが個人の発信するメディアであることから、現状評判分析がblogマイニングで最も関心をもたれている技術といってよいだろう。評判分析では、blog中の、ある対象に対する個人の肯定的あるいは否定的意見を抽出、表示することが目的となる。blogWatcherでは、ある対象に関する評判情報を検索することができる。実際にキーワードとしてipodと入力すると、評価表現が肯定的な評価か、否定的な評価かなどが自動的に判定されグラフにより傾向を掴むことができる。評判分析手法は、テキスト中の肯定的・否定的意見箇所を抽出する手法、それらの箇所がどの対象に対する意見であるかを同定する手法、それらの箇所がどの対象に対する意見であるかを同定する手法、の大きく2つの要素技術に分けることができる。

7. blog空間におけるコミュニティ抽出

blog空間におけるリンク構造を解析しblogのコミュニティを抽出しようという試みが多数見られる。またコミュニティが時間経過とともにどのように変化していくかを分析する手法なども研究されている。

8. その他のblogマイニング技術

8.1 blogの書き手の属性推定

blogの書き手の属性が推定できると、例えば属性による分類ごとに分析結果を示したり、また、居住地域を特定できれば、その居住地域に関して記述されている内容は、「地元」の人の記述として遠方の人のものより信頼性を与えられる可能性もでてくる。書き手の属性としては、性別、年齢、居住地域などが現在推定の対象となっている。

8.2 実世界の動向との相関分析

blogマイニングの結果、トレンドや評判の推移に関する情報がblogを情報源として得られるようになると、次は、このblog中での動向が実世界での動向とどのように相関するのかを分析したいという関心も当然高まってくる。この典型例が、blogの中での動向が実世界での動向とどのように相関するのかを分析したいという関心も当然高まってくる。この典型例が、blogの中での記述が選挙結果とどのように関連したかを分析するものといえる。同様に、株価の推移がblog中の記述とどのような相関にあるかを分析するという研究もある。またGruhlらは、amazonにおける書籍の売り上げランキングとblog上での言及数の推移の相関を分析している。

9.blogWatcher-インターネットから社会の関心、意見を収集・分析する

blogWatcherでは、システムが「今話題のトピック」と判定した話題を紹介するためのblog(メタブログ)を自動生成している。これは、全単語についてのバーストを計算することでその日にバーストしている単語がわかるため、その単語を元に注目されている話題を発見し,

その話題を、Movable Type(ブログのサーバサイドソフトウェア、投稿された記事をデータベースに保存しあらかじめ決められたテンプレートでその内容を表示するもの)で作られたblogに対し、毎日記事として(自動で?)投稿することで実現されている。メタブログでは特に何も入力しなくてもシステム側が推薦するコンテンツを見ることができるというような使い方の違いが存在する。

第2版で追加された機能である、ニュースとブログの自動対応付けでは、ある新聞記事に関して記述しているblogエントリを自動的に特定する。この機能により、記事にリンクを張っていないエントリでも、元記事を参照できるだけでなく、記事に言及しているblogエントリを検索できるので、新聞記事に関してのblog中での反応を閲覧可能である。また第三版では行動分析により、その行動がどの時間帯(朝、昼、夕方、夜)に行われたものかを自動推定する機能を追加予定である。ここでは「みんなは**をいつ食べている?」といった疑問に答えられることを目指している。

Webサーチ技術の現状と今後の展望

1.はじめに

ほとんどのユーザがWebへの入り口としてWebサーチエンジンを利用しており、Webサーチの重要性はますます高まってきている。本稿では、目覚しい発展を続けるWebサーチ技術について、「ユーザの問題解決や意思決定」という観点から、現状の動向を概観するとともに今後の方向性を探る。

2.文書検索からの脱却

従来型のWebサーチエンジンは精度は向上したが依然、検索語に適合する膨大なWebページのリストを返すのみである。ユーザが求めているのは膨大なWebページのリストではなく、自らの問題解決や意思決定に必要な「答え」である。例えば、Web情報に基づいて、世の中の動向を把握したり、行動計画を立案したり、コミュニケーションすべき相手を探し出したりする。しかし、従来型のWebサーチエンジンでは答えにたどり着くまでユーザ自身努力して膨大な情報を集約し洗練する必要がある。そこで次世代のWebサーチに求められるのはユーザの問題解決や意思決定を直接的に支援することである。そのためには、膨大なWeb情報を集約し洗練することによって一段上位の「知識」を発見し利用することが必須である。また、ユーザごとに異なる状況に応じてサーチを適応化させる技術や、ユーザの行動とサーチを連携させる技術などが重要になる。本稿では、従来型の文書検索から脱却し次世代のWebサーチを指向する様々な取り組みについて述べる。

3.Web情報の集約と分析

本章では、Web情報を集約し、より深く分析することによって、Webページ単位の検索では見えてこなかった「知識」を浮き彫りにしようとする試みについて述べる。

3.1 クラスタリングエンジン:検索結果から学ぶ

多くの検索ユーザは、最初漠然とした情報要求しか持っていないことも多く、何度かサーチしながら自分の情報要求を明確化し絞り込んでいく。こうした検索スタイルを支援すべく、検索結果をクラスタリングすることによって、検索結果に含まれる代表的なトピックを発見するクラスタリングエンジンが近年注目を浴びている。クラスタリングエンジンはWebサーチの検索結果に含まれるWebページ集合を内容の類似性に基づいてグループ化し、各グループの内容を特徴付けるラベル(単語やフレーズ)を生成することを行う。ユーザが理解しやすいラベルを生成するために、クラスタリングアルゴリズムとラベル生成は密接に関係しており、例えばZamirらは共通の単語やフレーズを含むWebページ集合を階層的にグループ化し、クラスタとそのラベルを同時に生成するSuffix Tree Clustering(STC)手法を、ZengらはWebページのタイトルとスニペットを手がかりに、機械学習に基づいてラベル候補となるフレーズを発見しそのフレーズを含むWebページをグループ化するクラスタリング手法を提案している。また商用サービスもすでに公開されている。

3.2 評判情報の抽出

レビュー記事を肯定・否定に分けたり、良い点と悪い点を抽出する研究。意見を要約する研究などが行われている。個人の情報発信メディアとして大きな役割を果たしているblogは、評判情報抽出の情報源としても注目されている。blogからの評判情報抽出で問題となるのは、ある話題について述べられている一連のblogエントリ集合を特定し、評判情報抽出の対象となるテキストデータを取得することである。日常会話形式の砕けた文で書かれているためニュースサイトのようなある程度形式がある文と比べて話題分割が難しい。そこで記事の内容だけでなく記事の間に存在する意味構造を利用して話題分割を行うという手法が考えられている。(具体的なところはよくわからないが)

3.3 大量のWebデータに潜む傾向の分析

IBMのWebFountainプロジェクトでは従来のWebサーチエンジンが軽視してきたWebデータ、すなわち掲示板やblog、ニュースグループといったリンク構造を持たないデータに着目している。こうしたリンク構造を持たないテキストデータのほうが興味深いデータを発見するのに有効だと考えているからである。またWebFountainが従来の検索エンジンと異なる点は、大量の分析結果からトレンドを見つけ、例えば「会社の評判」や業界のトレンドといった質問に答えようとしていることである。

3.4 Webページの”見られ方”の発見

自分のWebページが他のWebページからどのように見られているのかを発見する技術として、[Zettsu 05]の「アスペクトマイニング」というものがある。アスペクトマイニングでは、目的のWebページをリンクしている個々のリンクアンカーの周辺テキストを「参照文脈」として抽出し、それらを類似したもの同士のグループにクラスタリングする。これを応用することでほしい情報とその情報を利用する状況(文脈)の両面から検索結果を絞り込むことが可能になる。

4.集合知の利用

4.1 Folksonomy:タグによる集団分類

様々なユーザがWebコンテンツに対して持つ”コンテンツ”を「タグ」と呼ばれるキーワードを使って付与し、ボトムアップなコンセンサスを形成しながら集団でWebコンテンツを分類する。

4.2 集団思考と評判システム

digg.com(技術系のニュースサイト)⇒どの記事がdiggのトップページを飾るかをユーザの投票によって決める。

reddit(某ニュースサイト)⇒"karma system"という評判システムによって記事の優先順位付けを行っている。ある記事が昇格されたり降格されたりすると、その記事を投稿したユーザにも報酬が与えられたりペナルティが付けられたりする。これを”(editorial)karma"という値で各ユーザに付与している。人気のある記事を数多く投稿するユーザほど高いkarmaをもつことになる。すなわちkarma systemはユーザが互いを評価しあうpeer ranking systemを提供する。

5. サーチの個人化

5.1 デスクトップ検索⇒Webサーチエンジンでの技術をデスクトップコンテンツへ拡張

5.2 検索履歴の利用

近年の傾向として、過去に一度検索したページを再度取得しなおす”re-find"機能が注目されている。例えばGoogle My Search Historyでは、個人の検索履歴を保管し、後からそれを検索することが可能である。また、検索結果の中で実際にアクセスしたページを記録し、日付ごとの検索履歴を一覧表示したり、カレンダーに日ごとの検索活動量を色分けして表示したりする。またYahoo!MyWeb2.0では、"tagging,saving and sharing"というコンセプトのもと、気に入った検索結果をコメントやタグとともにユーザのPCに保存し、後から検索できるようにしている。(これはおそらく検索順位の変動による影響を受けないと思われる。)

6. 行動支援ツールを目指して

6・1 サーチとサービスの連携

WebサーチエンジンがWebへの入口として定着してきた今日、サーチから様々なサービスへとユーザを導くために、サーチとサービスを連携させることが注目されている。例えば、HousingMaps.comでは、米国及びカナダの24都市で入居可能な住居の情報を検索し、検索結果を地図上に表示するサービスを提供している。これは、Craigslist(オンライン掲示板)検索とGoogle Mapsサービスの連携によって実現されている。今日サーチエンジンやサービスプロバイダが公開しているAPIを組み合わせる(マッシュアップ)ことによって、ユーザ側で独自の連携サービスを作ることができる。

6・2 Mobile Web サーチ

近年、パケット定額制が追い風となり、携帯電話によるインターネットアクセスが飛躍的に増加している。それに伴い、「ちょっと知りたいことを検索する」という文化が携帯でも根付き始めてる。現状では、携帯による携帯用コンテンツの検索が主流である。例えば、携帯向け書かれたWebページや、着メロ、待受画像の検索などが上げられる、携帯向けサーチの特徴として、入力の障害はほとんどないが、出力が限定される問題がある。また、リンク解析など高度な機能を有するPC向けサーチエンジンに比べ検索精度が悪いことも問題として挙げられる。今後のmobile Webサーチの方向性として、以下のことがあげられる。

  • サーチから地図、路線、グルメなどのサービスと連携
  • ローカル検索(エリア検索)
  • Blogとの連動、例えば、携帯で写真を撮ってblogにアップロードする。
  • 暇つぶし検索。エンターテイメント系のコンテンツ検索の充実

7. まとめ

今後のWebサーチの主な方向性として以下の点が上げられる

  • サーチとマイニングの融合:サーチによって得られるWeb情報を集約・分析(マイニング)することにより、ある興味に対する多種多様な観点や意見、傾向や動向などを発見するとともに、得られた知見をサーチに反映させる。
  • 集合知の利用:増殖し続けるWeb情報の分類や評価を、ユーザの視点からボトムアップな合意形成に基づいて行う。
  • 個人の情報ポータル化:個人が扱うありとあらゆるコンテンツを検索する統合サーチ環境の実現。(グーグルデスクトップ等)
  • 想起型サーチの実現:過去の利用状況や利用目的からコンテンツを特定する形態のサーチ
  • サーチからアクションへの誘導:サーチとサービスの連携や、モバイル環境での利用に特化したサーチ。

参考 人工知能学会誌 21巻4号