- ここではN-gramモデルを構築するためのツールである、morogramの使い方について説明しています。
morogramの使い方 ―その1―
- 前のページでも書いたように、morogramにはオリジナルのPerl script版と、極悪氏の 手によるWindows版実行ファイル形式との二通りあります。
- いずれもZIP形式でアーカイブ(幾つかのファイルを一つのファイルにまとめて、圧縮をかけています)されていますので、ソフトをダウンロードしたら、ZIPファイルを解凍してください。
- 立命の共用パソコンの場合は、ZIPファイルにマウスカーソルを合わせて右クリックするとコンテキストメニューが表示されますので、そこから[クイック解凍]を選択してください。
- 解凍後、生成されたファイルとフォルダをパスの通ったフォルダにコピーしてください。
- 立命の共用パソコンの場合は、フロッピーディスクではなく、必ず[一時保存用(d:\temp)]にコピーしてください。
- morogramは多くのディスクスペースを必要とします。フロッピーディスクでは、容量が足りなくなります。
morogramの使い方 ―その2―
- morogramは、[コマンドプロンプト]から利用します。
- 必ず、morogramのファイルをにコピーしてからここの手順を実行してください。
- 初めに[スタートメニュー]→[プログラム]→[コマンドプロンプト]を実行します。
- 下図のように[D:\TEMP]以外のフォルダが選択されていた場合は、以下の数値の順番に従って入力してください。
- ここでは、[D:\TEMP]に[morogram]というフォルダを作成し、そこにmorogram関連のファイルを置いてあると仮定して説明しています。
C:\ コマンドプロンプト
C:\>_
- [D:]と入力して[Enter]キーを押します。
- 左端のプロンプトが[C:\]から[D:\]に変わったのを確認したら、[cd temp\morogram]と入力します。
- これで、一時保存用フォルダ[実態は、d:\temp\morogram]に移動しました。
C:\ コマンドプロンプト
C:\D:
D:\>cd temp\morogram
D:\temp\morogram>
- そのフォルダに、どのような名前のファイルとサブフォルダがあるかは、dirコマンドで見る事が出来ます。その際、オプションの/Wを付けて実行すると、ワイド一覧形式で閲覧する事が出来ます。
C:\ コマンドプロンプト
E:\temp\morogram>dir /w
ドライブ E のボリューム ラベルは DATA です
ボリューム シリアル番号は FCF6-AFC2 です
E:\temp\morogram のディレクトリ
[.] [..] NGMERGE.PL
SORTL.EXE morogram-0.7.1w.exe
3 個のファイル 1,024,357 バイト
2 個のディレクトリ 1,922,961,408 バイトの空き領域
E:\temp\morogram>
ドライブ E のボリューム ラベルは DATA です
ボリューム シリアル番号は FCF6-AFC2 です
E:\temp\morogram のディレクトリ
[.] [..] NGMERGE.PL
SORTL.EXE morogram-0.7.1w.exe
3 個のファイル 1,024,357 バイト
2 個のディレクトリ 1,922,961,408 バイトの空き領域
E:\temp\morogram>
- 移動後、[perl morogram-0.7.1.pl]と入力して[Enter]キーを押します。
- 実行ファイル版の場合は、[morogram-0.7.1w.exe]と入力しましょう。
- 下図のようなメッセージが表示されたら、morogramを使う準備が整いました。
オリジナル版
C:\ コマンドプロンプト
D:\TEMP\morogram>perl morogram-0.7.1.pl
morogram: N-gram tool version 0.7.1,
by Shigeki Moro (moro@ya.sakura.ne.jp).
Usage: perl morogram-0.7.1.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).
実行ファイル版
C:\ コマンドプロンプト
D:\TEMP\morogram>morogram-0.7.1w.exe
morogram: N-gram tool version 0.7.1,
by Shigeki Moro (moro@ya.sakura.ne.jp).
Usage: morogram-0.7.1w.exe [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).
deleting temporary tables...failed
Total time: 0 hour(s) 0 minute(s) 0 second(s)
morogramの使い方 ―その3―
- morogramのあるフォルダに移動後、実際にmorogramを実行する場合は、以下の書式に従って入力してから[Enter]キーを押してください。
- 半角空白も正しく入力しないと上手く動きません。
オリジナル版
C:\ コマンドプロンプト
perl morogram-0.7.1.pl [オプション(複数指定可能)] 入力ファイル名 > 出力ファイル名
実行ファイル版
C:\ コマンドプロンプト
morogram-0.7.1w.exe [オプション(複数指定可能)] 入力ファイル名 > 出力ファイル名
- morogramを実行するテキストファイルは、文字コードをutf-8にして保存する必要があります。
オプション
- morogramに様々な操作を指定するためのオプションをここで指定します。
- よく使うオプションは、--f=n --g=min,max辺りだと思います。
オプション | 説明 |
---|---|
--help | ヘルプの表示 |
--f=n | 最小頻度の指定 数値は半角で指定。 無指定では、「頻度2以上」が指定される |
--g=min,max | 最小・最大グラムの指定 数値は半角で指定。 無指定では「最小1」「最大256」が設定される) 単一gram数を指定する場合は、min,max両方に同じ数値を入力 |
--p | 句読点の消去 |
--e | 実体参照形式&Mnnnnnn;(1≦nnnnn≦131,072)を一文字として扱う この番号は、今昔文字鏡の文字鏡番号等を利用可能 ※現在のバージョンではこのオプション付きでの実行にバグがあるので、利用は推奨しない。 |
--BOM | Byte Order Markを出力 |
実行例
オリジナル版
C:\ コマンドプロンプト
perl morogram-0.7.1.pl --f=1 --g=2,5 100.txt > 101.txt
実行ファイル版
C:\ コマンドプロンプト
morogram-0.7.1w.exe --f=1 --g=2,5 100.txt > 101.txt
- いずれも、「100.txt」を対象に「頻度数1」で「2〜5gramモデル」で共起頻度を集計し、その結果を「101.txt」に出力するという命令を実行しています。
- この場合、「100.txt」はmorogramのあるフォルダに存在する必要があります。
- 「101.txt」もmorogramのあるフォルダに生成されます。morogramが生成したファイルは、いずれもエンコーディングスキーム が[utf-8]になります。
- morogramを終了後、コマンドプロンプトを閉じるには、exitを入力して[Enter]キーを押してください。
morogramの出力形式
- morogramの出力結果は、一行ごとに以下の形式に従っています。
頻度[水平タブ]文字列[水平タブ]gram数
- 区切り文字として[水平タブ]が使われていますので、一行ごとに三つの部分に分かれるのがわかるかと思います。
51 曰君子 3
110 君子 2
458 子曰 2
68 孔子 2
55 曰君 2
71 而不 2
注意事項
- 作業中は、入力ファイルの3〜12倍のディスクスペースを利用します。
- フロッピーディスクでの運用は現実的ではありません。必ずハードディスク上で実行してください。
- morogramを実行するテキストファイルは、morogramの実行ファイルと同じフォルダに置いておきましょう。
- コマンドプロンプトには「ヒストリ機能」がついています。
- 直前に実行した命令を再表示したい場合は、カーソルキーの上を、次の実行命令に切り替えたい場合は、カーソルキーの下を押してください。