N-gram 頻度計数ツール - NWC Toolkit

Abstract: nwc-toolkit-ngram-counter は分かち書きされたテキストに含まれる N-gram の頻度を計数するツールです.N-gram の異なり数が大きい場合,出力される N-gram コーパスは複数のファイルに分割されるので,nwc-toolkit-ngram-merger によるマージが必要になります.

概要

nwc-toolkit-ngram-counternwc-toolkit を構成するツールの一つです.分かち書きされたテキストを入力として,N-gram の頻度を計数するようになっています.すべての N-gram をメモリ上に展開できないときは,複数のファイルに分割して出力します.出力ファイルは nwc-toolkit-ngram-merger を使ってマージすることができます.

使い方

書式

ヘルプを表示するオプションは -h, --help です.いずれかを指定することにより,オプションのリストを確認できます.入力ファイルはオプション以外のコマンドライン引数により指定できます.指定がなければ標準入力を使用します.拡張子が gz, bz2, xz のいずれかであれば,入力ファイルを自動的に伸長します.出力ファイルは -p, --prefix-e, --extension により指定できます.拡張子が gz, bz2, xz のいずれかであれば,出力ファイルを自動的に圧縮します.

オプション

$ nwc-toolkit-ngram-counter -h
Usage: nwc-toolkit-ngram-counter [OPTION]... [FILE]...

Options:
  -n, --tokens=[N: 1-32]
                  limit the length of n-grams to N (default: 5)
  -l, --memory=[N: 2-262144]
                  limit the memory usage to N MiB (default: 1024)
  -w, --wakati    input wakati-formatted text (default)
  -m, --mecab     input mecab-formatted text
  -c, --chasen    input chasen-formatted text
  -b, --boundary  count sentence boundaries as <S> and </S>
  -s, --sort      sort result
  -p, --prefix=[S]     set the prefix of output files
                       (default: ngms-%Y%m%d-%H%M%S)
  -e, --extension=[S]  set the extension of output files (default: gz)
                       gz, bz2, or xz forces compression of result
  -f, --files=[N: 0-9999]
                  limit the number of output files to N + 1 (default: 99)
  -h, --help      print this help
  • -n, --tokens
    • N が指定した値以下の N-gram のみを頻度計数の対象にします.デフォルトの設定は 5 です.
  • -l, --memory
    • 割り当てるメモリの上限を MiB 単位で指定します.デフォルトの設定は 1GiB です.メモリの割り当てを大きくすれば,より多くの N-gram をメモリ上に展開できるようになり,出力ファイルの分割数を抑えることができます.
  • -w, --wakati
    • 入力を MeCab による分かち書きの結果として扱います.具体的には,改行を文の区切り,空白を単語の区切りとして扱います.デフォルトの設定です.
  • -m, --mecab
    • 入力を MeCab による形態素解析結果として扱います.具体的には,"EOS" だけの行を文区切り,各行の水平タブまでを単語として扱います.
  • -c, --chasen
    • 入力を ChaSen による形態素解析結果として扱います.具体的には -m, --mecab と同じです.
  • -b, --boundary
    • 文の先頭を "<S>",文の終端を "</S>" として頻度計数の対象にします.
  • -s, --sort
    • N-gram コーパスを整列してから出力します.nwc-toolkit-ngram-merger によるマージを予定している状況では便利ですが,整列用のメモリを確保する必要があり,メモリ上に展開できる N-gram の数が少なくなるので,出力ファイルの分割数は大きくなります.
  • -p, --prefix
    • 出力ファイルのプレフィックスを指定します.デフォルトの設定は ngms-%Y%m%d-%H%M%S であり,2010 年 10 月 28 日の正午に実行された場合であれば,ngms-20101028-120000 のように変換されます.ただし,日時への変換が有効になるのはデフォルトの設定を用いた場合のみです.最終的に出力されるファイルの名前は prefix.NNNN.extension になります.NNNN にはファイルの ID が入り,.extension は拡張子の設定が空文字列でない場合にのみ有効になります.
  • -e, --extension
    • 出力ファイルの拡張子を指定します.デフォルトの設定は gz です.
  • -f, --files
    • 出力ファイルの数に上限を N + 1 に設定します.デフォルトの設定は 99 です.
  • -h, --help
    • ヘルプを表示します.

実行例

$ nwc-toolkit-ngram-counter -n 7 -mbs mecabs/*.xz

HTML アーカイブの作成に用いたオプションは -n 7 -mbs です.入力するファイルが mecabs/*.xz であれば,コマンドライン引数として mecabs/*.xz も指定することになります.

備考

特にありません.