『日本の借金』時計

日本の借金
690兆3432億2799円

あなたの家庭の負担額は…
1466万8571.09円

『日本の借金』時計

ひー 書き写せる暇のないほどどんどん増えてるし((((;゜Д゜)))ガクガクガクブルブルブル
(ネタもと:日刊 かっぱの川流れ - つれずれブログサイト | あなたの借金は今・・・

汎用連想計算エンジン GETA

汎用連想計算エンジン(GETA)は、文書検索における頻度付き索引データ(どの文書にどの単語が何回出現するというような)を典型とする大規模かつ粗な行列を対象として、行と行あるいは列と列(具体的には文書間および単語間)の類似度を内積型メジャーで高速計算するツールです。

汎用連想計算エンジン GETA

気になる

GETA の研究

インストール

とりあえずそのままやってみた。debian-woody-testing 特に問題ないと思われ。

libwam データベース(WAM)の作成と低レベルな検索

WAM
データベースみたいなもの
handle
データベース名みたいなもの
freqfile
データ定義ファイル
handle=my-inbox.walkuere.geta.hatoyama.hitachi.co.jp
$GETAROOT/sbin/mkw $handle $GETAROOT/data/$handle/freqfile

データファイルの例

@で始まる行
行名、データベースで言うところの行ID
数値
データベースで言うところの値
その後の単語
列名、データベースで言うところのフィールド名
@inbox/1
2 鳩山
1 猿
@inbox/2
3 越生
2 写真

libwam で wam_get_vec(wam, WAM_COL, wam_name2id(wam, WAM_COL, "列名"), &vec, XR_HOSTORDER) で、"列名"を含む行が vec に入る。

libae 連想クラスライブラリ

いろんな方法(定義可能)で、入力された検索文章、によく似た文章を探す。似てるかどうかの判別方法は定義可能。
まず検索クエリの解析を
syminfo *q= wstem("検索文章", wam, WAM_COL, jma, &qlen);
で、それを使って検索

syminfo *r= wsh(q, qlen, wam, WAM_COL, WT_TF, &rlen, NULL, NULL, NULL);
for (i=0; i
重み
文章内の単語の重み。TF/IDFとか。「それぞれの単語の重さが似ている」と「文章が似ている」と判断する……のかな?
重み計算定義
$GETASRC/lib/ae/wt/*.f にあるらしい。*.f を適当に作ったりして、$GETASRC/lib/ae で make install するらしい。フィードバックもできるらしい

libcs クラスタリングライブラリ

q, qlen は文章の配列
cslst = csb(q, qlen, 0, wam, wam_dir, CS_HBC, &nc, 2, NKW);
配列 syminfo *q の内容が類似度によってソートされる。x 個のクラスタに分割したければ、q[num].u.i > (qの全数=qlen)-x の時に、q[num] の前と、q[num]からあと、で分割できる。( sort_cw_syminfo_list を使うと u.i がクラスタ番号に書き換わる )
返値 cslst は、クラスタクラスタの代表値の配列を持っている。


これおもしろそうだなー。xreaとか AAA! Cafe で入れてくれないかなー。phpインターフェース誰か作ってくれないかなー。

PHP4.0の拡張

さあ、PHP拡張の作り方の翻訳ですよ! GETAPHPモジュールを是非!
http://psa.ange.ac/zenddoc/zend.html
ちなみに GETARubyモジュール見つけた……配布してないけど
http://www.lr.pi.titech.ac.jp/~fujiki/diary/?date=20031009#p02
というかGETAの第3版がコンパイルできません! mkf(汎用 flequency作成ユーティリティー)も見つからないし(;´д⊂)