--------(--)

スポンサーサイト

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

2012-05-04(Fri)

morogramを使ってみる

文章をN-gram解析してくれる便利なツールがあったのでメモる。
このmorogramでNGSM (N-Gram based System for Multiple document)を作成してみる。

(ダウンロード)
ここからダウンロードして展開する。
$ curl -O http://iij.dl.sourceforge.jp/morogram/32671/morogram20080828.zip
$ mkdir morogram
$ cd morogram
$ unzip morogram20080828.zip
$ make
これでmorogram-sortができる。


(使ってみる)
ヘルプを見るとだいたい理解できる。
$ perl morogram.5.8.pl --help

morogram: N-gram tool version 0.7.3,
by Shigeki Moro (s-moro@hanazono.ac.jp).

Usage: perl morogram.pl [switches] input_file > output_file
--help Display this help.
--f=n Set minimum frequency (default: n=2).
--g=min,max Set minimum and maximal gram (default: min=1, max=256).
--p Delete punctuations.
--e Regard &Mnnnnnn; as a charcter.
--BOM Print Byte Order Mark (BOM).

こんな感じ。
--f frequency(頻出度)を指定する。--f=1,5ならば頻出度が1~5のみ表示する。
--g Nを指定する。--g=2,2ならばN=2固定。 --g=2,3ならばN=2~3となる。
--p 句読点をのぞく。
--I=Guess 入出力の文字コードを自動判定する。

実行してみる。
$ perl morogram.5.8.pl --g=2,2 --p --I=Guess  sample.txt  > sample2.txt
Can't exec "morogram-sort": No such file or directory at morogram.5.8.pl line 134, line 102.

はい、エラー。。。。。
morogram-sortがないと。。さっき無事コンパイルできましたがなにか?
ここを見るとスクリプトを一部書き換えるとうまくいくらしい。
http://sourceforge.jp/ticket/browse.php?group_id=326&tid=16439

$ vim morogram.5.8.pl
134 # コメントする system "morogram-sort $length_input_file $gram_min $gram_max $frequency_min";
135 system "./morogram-sort $length_input_file $gram_min $gram_max $frequency_min";


気を取り直して再実行。
$ perl morogram.5.8.pl --g=2,2 --p --I=Guess  sample.txt  > sample2.txt
morogram: N-gram tool version 0.7.3,
by Shigeki Moro (s-moro@hanazono.ac.jp).

minimum number of frequency: 2
minimum number of gram : 2
largest number of gram : 2
filename : utf8.txt

------- First Stage -------
creating OFFSET file...done.
number of characters: 12714.
offset length: 2.
creating pointer files...done.
sorting pointer table...done.
counting coincidence number of characters...done.
largest coincidence number: 145.
------- Second Stage ------
calculating 2-gram frequency.

deleting temporary files...done.
Total time: 0 hour(s) 0 minute(s) 13 second(s)
$ tail -n 10 sample2.txt
4 駈け 2
3 騒ぎ 2
2 験を 2
2 験用 2
2 骨が 2
2 鳴ら 2
2 黙っ 2
4 Bに 2
6 Bの 2
2 Bは 2
左から頻度、単語、N=2で表示される。




参考:

関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

コメント

プロフィール

kumagonjp2

Author:kumagonjp2
Python,Django,R,Mongo,MySQL,Struts,Spring,データマイニングなどサーバー関係のメモを残していきます。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
雪が3Dで降るブログパーツ ver2

マウスで見る方向変えられます

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。