kakasiとmorogramとその他。
(未来: 自分のBlogにおける「ひらがなの出現頻度」を、パソコンを使って調べてみよう!(kanji2na+morogram編、244万文字頻度付き) )
(未来:「雑記/えもじならべあそび」における、全2,440,461文字についての2文字連接頻度。)
(未来:「雑記/えもじならべあそび」における、全2,440,461文字についての1〜3文字連接頻度、表計算ドキュメント版。)
WindowsXPへの導入メモです…忘れると面倒なので。
MS-DOS時代を知らない人にとって役立つかどうかは微妙。
Uジローさんの記事「My ☆ カナ出現頻度表!」絡みです。
(後日追記: http://kirinsystem.net/diary/?date=20050523 も参照いただくと、更に良い感じです)
(2005年10月13日23:59:50追記 漢字→かな変換に関しては、kakasiなどを使用せずに「Kanji2na」(これはGUIベースなので、コマンドプロンプトを使用しなくともよい)を使用するという方法もあります。使い方はみのりさんによる解説を参照願います。)
- kakasi
- http://kakasi.namazu.org/ から「Win32用 バイナリパッケージ 正式公開版: Web ( kakasi-2.3.4.zip とか言う名前)」をgetする。保存先は…Cドライブのルート(c:\)で良いでしょ。
- 解凍する。ツールがないときはlhaplusをダウンロードして使うと良い感じ。解凍すると、 c:\ の下に kakasi というフォルダが出来る。さっきの .zipファイルはもう要らないので、とりあえずは出来たばかりの kakasi フォルダに移動しておくと見た目には良い感じ。
- kakasi フォルダ内の README-ja.win32 を開く…内容はテキストファイルなので、メモ帳(notepad)で開く。
- 書いてあるとおりに環境変数を設定する。
- kakasi単体の動作テスト方法、一例。
- スタート→ファイル名を指定して実行→ cmd (enter)
- c:(enter)
- cd \kakasi(enter)
- type readme-ja.win32 | kakasi -w | kakasi -JH -KH(enter)
- ファイル名はくそまじめに打たず、rまで打ってtabキーを叩いていれば、そのうち出ます。kakasiのオプションは大文字・小文字を間違えると上手く動作しないみたい。
- 上の例は「readme-ja.win32 を標準出力に投げて、まずは分かち書きして、それから漢字→かな変換とカナ→かな変換をする」という事。 | はシフト+\です。
- 上手く動作したら、 exit(enter)でDOS窓を閉じてください。
- morogram
- morogram単体の動作テスト方法、一例。
- スタート→ファイル名を指定して実行→ cmd (enter)
- c:(enter)
- cd \kakasi(enter)
- type readme-ja.win32 | kakasi -w | kakasi -KH -JH > hogehoge.txt(enter)
morogram-0.7.1xCJKT.exe --w --g=2,2 --I=sjis --O=sjis hogehoge.txt > hindo.txt(enter)- morogram-0.7.1xCJKT.exe --g=2,2 --I=sjis --O=sjis hogehoge.txt > hindo.txt(enter)
- morogramの.exeまでについても、ファイル名はくそまじめに打たず、mだけ打ってtabキーを叩いていれば、そのうち出ます。
- hindo.txtを確認してみてください。
- 結果をソートする場合は、この中身を OpenOffice.org-Calc(表計算ソフト)あたりにコピペして、OOo上で並べ替える方が楽ですな(いや、別にexcelでも良いんだけど、個人的にはOOoの方が好きなので…)。
- 上手く動作したら、 exit(enter)でDOS窓を閉じてください。
一つtipsを。
- for %f in (1 2 3 4 5 6 7 8 9 10 11 12 12 13 14 15) do morogram-0.7.1xCJKT.exe --g=%f,%f --I=sjis --O=sjis hogehoge.txt > hindo.%fgram.txt(enter)
morogram-0.7.1xCJKT.exe --w --g=%f,%f --I=sjis --O=sjis hogehoge.txt > hindo.%fgram.txt(enter)
こんな感じで書くと、N=1〜15までのN-gram解析をパッチ的に処理できます(%fに1〜15が代入されて、計15回コマンドが実行される。出力先のファイル名もhindo.%fgram.txtなどとして変数を含ませるのがポイント…これで分別済みのファイルが15個生成される)。
コマンドラインの文字数制限があるので、それに引っ掛からない程度に分割しなければなりませんが、それでも大体10〜15回分はこの1行で処理できます。
…ってゆーか、15-gramなんて出るのか微妙ですから、この一回で全て賄えそうな気はしますが。