最近、学校で習ったことをちょっとくらいは世間に役立てようと、いろいろごちゃごちゃしてるわけですが、ぼちぼち進行してたりしてます。
というか、普段やってたことを、学校で整理して勉強して、改めてフィードバックしてるだけだったりもするんですが。
今日は、グラフ構造を解析する上での超基本技の強連結成分分解というテクニックでレポートを書かなくてはならい感じでした。
ざっくりいうと、リンクがぐるっと一周回ってると、それが同じくラスタとして抽出できるということです。
同じような内容のwebページがリンクしあってるというのであれば、これを使ってウェブページを分類できそうです。
と、おもって単純にやってみたらうまくいきませんでしたorz
なんでかというと、ほとんどのページがTOPページへリンクされているので、ほとんどのページが同じくラスタになってしまうわけですね(^^;;;;;;;;;;;
つまり適当なところで、リンクを分割せねばなりません。
完全にやろうとすると、完全にコスト過多(どうせ適当に書いたって実験はいい成績つく・・・)なので、とりあえずそれっぽい方法を考案してみました。
手順の概略は単純です。
改良点の発想は、被リンク数の多いページを「インデックスページ」か「目次」と考えて、そこに末端のページからリンクバックしないようにしようという感じです。
これがまぁまぁいい感じにできました。最初一つのクラスタだった(つまりまったく分類できてなかった)のがとりあえず意味のある4つとその他に分類できました。
とりあえず学部実験なのでこんなもんでいいか・・・と見切りをつけてざざっと書いた。
一応、他の場合も考えてみたりしました。
たとえば、「被リンク数ではなくてページ内のリンクの数で閾値を決める」「被リンク数とリンク数の両方を使う」「被リンク数とリンク数の差の自乗を使う」とかなんとか。
結構偏りがでるので意味があるかなと思ってやってみたんですが、どうもいい感じにはなりません。
被リンク数が一番いい感じでした。(いい感じって何だろう
グーグルのページランクもしかりですが、被リンクにはやはりそれなりの意味(情報)があるのかもしれないですね。
ただ今テスト前なのと、もっとやりたいことと、やんなくちゃいけないことと、楽しいことたちが待ってるので、このくらいにしようと思います。
今回はあらかじめ与えられたリンク情報からやったので必ずしも一般的な議論ではないですが、解析としてはまぁまぁ面白かった気がします。
追記:
クローラから設計するときはもうちょい賢い実装をします。が、学校の課題に全力注いでも、リターンが少なすぎるというちょっと悲しい現実があったりするので、そこらへんはスルーです。
なので、あんまし突っ込まないでください。
追記:
適当な深さで分割できるようにできると便利なんだろうけど。と、ちょっと思った。
3 Responses for "webグラフを強連結成分分解してみた。"
いや、googleのページランクというのは
非常に性善説的な考えに基づくもので、
2000年代初めまでは有効であったのですが、
SEO対策だとか、 そういうことを考える「悪人」が出てきたので
その本来の有効性が失われてきているのです。
これは間違いありません。
現在は、間違いなく「不正」な手段でページランクが操作されています。
被リンクという考えは非常に画期的ではあったのですが、
「操作」が出来てしまうのです。
そして、現在のweb環境は、そういう情報操作が入りきっている世界なのです。
>TAKさん
今回の実験の場合、一サイト内に完結したwebグラフを使ってるので割とページランク計算した人もいい感じになっているようです。
被リンクが何らかの意味を伝えているというのは本当みたいです。
その上でいわゆるSEO対策とかの問題を話するなら、それは確かにノイズになっているのかと思います。
個人的には、そういったノイズよりは、有名なサイトとかが必要以上にリンクを集めてしまうこととかのほうが、取り除きにくいし、検索精度にとってマイナスになるような気がしないでもないです。
Hi there, I dont know if I am writing in a proper board but I have got a problem with activation, link i receive in email is not working…