FC2ブログ
--.--
--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

01.17
Sat
Googleがウェブページの重要度の決定の指標の1つとして使っているというPageRankを単純化して
Pythonで書いてみます。PageRankについてはwikipediaとかこの辺(Google の秘密 - PageRank 徹底解説)参照。

ようするに、ウェブページのリンク関係から被リンク数の多いウェブページの重要度を高くしてスコアを出すというものです。

wikipediaの例でやってみます




$ python rank.py
{1: 0.3035143769968052, 2: 0.16613418530351443, 3: 0.14057507987220452,
4: 0.1054313099041534, 5: 0.17891373801916938, 6: 0.04472843450479236,
7: 0.06070287539936105}

各ノード(文書)に初期値を与え、愚直に出て行くリンクの数で割ったものを足し合わせてるだけです。

グラフが強連結でなかったりするとおかしくなりますし、どれくらいで収束するのかもわからないので繰り返す回数を
与えてます。

スポンサーサイト
comment 0 trackback 0
11.03
Mon
ある文中の名詞とそれの前後n文字に出現する名詞の頻度を数えてグラフにしてみます。

コードは以下



Graphvizのソースを吐きます。

で以下のようなグラフが得られました。

jnet_convert_20141103230823.png



Wikipediaの「日本語」のページをつかいました
comment 0 trackback 0
09.28
Sun
HTTPヘッダとかにくっつけるRFC1123形式の時刻表現をUNIX時間に変換します。



時間系あつかうモジュールがどうゆうふうにわかれてるのかわかりずらいとおもうPython
comment 0 trackback 0
09.28
Sun
入門自然言語処理読んでてNLTKのコーパスをダウンロードしようとおもったんだけど、
サーバインデックスがgooglecodeのやつだとうまくいかなかったけどhttp://www.nltk.org/nltk_data/に変えたらうまくダウンロードできました。
comment 0 trackback 0
09.06
Sat
Pythonの文字コードの扱いについて調べていました。
まぁPythonは日本語の扱いがな〜とかよく思っていたのですが、以下のサイトによくまとまっていて
うまくいくやり方が理解できました。
ただ自分がちゃんと仕組みを理解せず曖昧のまま使っていただけでした。よくないですね。

一般的なこと
シフトJIS、文字コード、云々

マルチバイト文字列のエンコード・デコード

PythonのUnicodeEncodeErrorを知る

ようするに、PythonではUnicode型という文字コードに依存しない(UTF-8)とかじゃないやつ
をもってるというのがハマりどころな気がしますね

comment 0 trackback 0
back-to-top
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。