morogram: Unicode対応Nグラムツール

師 茂樹(s-moro@hanazono.ac.jp


morogramについて

morogramは、古典テキストのデータマイニング的分析手法(NGSMなど)において重要な頻度1やユニグラムの検出、 あるいはUnicodeによる多言語処理などができることを目指して開発した。 開発においては、Nagao and Mori [1994]を参考にしている。

当初はPerlスクリプトだけで作っていたが、速度的な問題もあってソート部分をCで書き直した。 また、極悪氏がWindowsの実行形式に変換してくださり、 PerlやCコンパイラを使わなくても良くなった(感謝!)。

まだまだバグが残っているような気がするので、改良していきたい。バグレポートや感想などをお寄せ頂ければ幸いである。

特徴

※ 4,294,967,296は理論値 (^_^;;

使用方法

必要な環境

なお、極悪氏がWindows用の実行形式にしてくださったもの(感謝!)を使えば、Perlや上記モジュールを使う必要ない。

ダウンロード

http://sourceforge.jp/projects/morogram/

利用は一切自由ですが、自己責任でお願いします(下記の注意事項をお読みください。バグレポートなどを頂けたら幸甚至極です)。

実行方法

perl morogram-5.8.pl [オプション] 入力ファイル名 > 出力ファイル名

オプション
--help ヘルプの表示
--f=n 最小頻度の指定(デフォルト: 2)
--g=min,max 最小・最大グラムの指定(デフォルト: 最小1、最大256)
--p 句読点の消去

注意事項

今後の課題

変更履歴

ver.0.6 (2001-12-31)
ファイル先頭の文字列が適切に処理されない不具合を修正(極悪氏のご指摘による。感謝!)。
--p オプションを追加。
ヘルプ表示を修正。
ver.0.5 (2001-10-08)
極悪氏によってWindows実行形式が公開される。参照: http://www1.u-netsurf.ne.jp/~dune/morogram.html?
ver.0.5 (2001-09-21)
ループ関係のバグをつぶした。
処理のほとんどをCで書きなおした(ver.0.4と比べて、1.5倍くらい速くなった)。
ver.0.4 (2001-09-07)
ループ関係のバグをつぶした。
一番時間がかかるソート部分を、Cで書いてみた(ものによっては2倍くらい速くなった)。
空白の除去、大文字小文字の統一を組み込んだ(いずれ、オプションで指定できるようにするつもり)
ver.0.2 (2001-08-31)
入力ファイルの大きさによって、テンポラリファイルの大きさを変えるようにした(が、ちょっと遅くなった)。
範囲外の余計なグラム計算はしないようにした(ものによってはだいぶ速くなった)。
ver.0.1 (2001-08-30)
とりあえず完成。一応動くがまだ遅い。

参考文献

Makoto NAGAO and Shinsuke MORI.
"A New Method of N-gram Statistics for Large Number of n and Automatic Extraction of Words and Phrases from Large Text Data of Japanese", In Proceedings of the 15th International Conference on Computational Linguistics (1994), pp.611-615. http://www-lab25.kuee.kyoto-u.ac.jp/member/mori/postscript/Coling94.ps

mailto: s-moro@hanazono.ac.jp
$Id: index.html,v 1.2 2008/08/28 13:17:38 moroshigeki Exp $