京都テキスト解析ツールキット(KyTea、「キューティー」)は、日本語など、単語(または形態素)分割を必要とする言語のための一般的なテキスト解析器です。
KyTeaには以下の機能が揃っています:
KyWsとKyPeは線形SVMやロジスティック回帰などを用いてそれぞれの分割点や発音を個別に推定するため、部分的にアノテーションされたデータを利用してモデルを学習することも可能です。 分類器の学習にはLIBLINEARを使用しています。 学習法の詳しい説明についてはこちらをご覧ください。
また、詳しくは以下の論文をご参照ください:
最新のバージョン: KyTea 0.1.2
KyTeaのバージョン0.1.0以降にはソースコードと現代日本語書き言葉均衡コーパス(BCCWJ)やUniDicを学習データとするモデルが含まれています。
過去のバージョン: KyTea 0.1.1 KyTea 0.1.0 KyTea 0.0.3 KyTea 0.0.2 KyTea 0.0.1
KyTeaのソースコードはApache License Version 2の条件に基づいて頒布されています。 KyTeaと同梱されているモデル、またはKyTeaモデルのページでダウンロード可能なモデルの研究及び商用利用は許可されているものの、事前に許可を得ない限り再分配は禁じられています。
KyTeaはLinux・Mac OSX・CygWinで動作確認をしています。 インストールをするために、最新版をダウンロードしてから、ファイルを解凍してmakeをします。
tar -xzf kytea-X.X.X.tar.gz cd kytea-X.X.X ./configure make make install kytea --help
これでヘルプが表示されればプログラムは正しく動作しています。 プログラムの効率やインストール場所を指定するオプションはコンパイル時に指定できます。
KyTeaをインストールしてから、プログラムを実行することで分かち書きされていないテキストを分割し、読みを付与することができます(モデルの文字コードはUTF-8なので、UTF-8以外の文字コードのテキストであれば新たにモデルを学習する必要があります)。 test.rawにベタ書きのテキストがあり、以下のようなコマンドを実行すれば、test.fullに解析結果が出力されます。
kytea < test.raw > test.full
単語分割・読み推定のモデルを構築することはそれほど難しくありません。 まず、以下の形式のコーパスを用意します(単語分割のみを必要とする場合、読みは不要です。また、train-kyteaで「-nope」を指定します):
コーパス/こーぱす の/の 例文/れいぶん で/で す/す 。/。 これ/これ で/で KyTea/きゅーてぃー を/を 学習/がくしゅう し/し ま/ま す/す 。/。
このコーパスはtrain.fullという名前で、test.rawという分かち書きされていないテストデータのファイルがある場合、このようにモデルを学習してテストデータの単語分割・読み推定ができます。
train-kytea -full train.wp -model model.dat kytea -model model.dat < test.raw > test.full
出力のtest.fullは単語分割され、各単語に読みがついています。
kyteaはモデルを用いて単語分割と読み推定を行います。
オプション: -model 使用するモデルファイル -in 入力の形式 (raw/full/part/conf、デフォルト:raw) -out 出力の形式 (full/part/conf、デフォルト:full) -nows 単語分割を行わない (raw入力では不可) -nope 読み推定を行わない (full入力では不可) -nounk 未知語の読み推定を行わない -unkcount 未知語の発音の最大出力数 (デフォルト:5、0の場合は全て出力) -unktag 未知語に付与されるタグ (デフォルト:なし) -unkbeam 未知語探索のビーム幅 (デフォルト:50, 0の場合は全探索)
train-kyteaはKyTeaモデルを学習するためのプログラムです。
入力・出力オプション: -encode 入出力の文字コード (utf8/euc/sjis、デフォルト:utf8) -full フルアノテーションされた学習データのファイル名 (複数可) -part 部分的にアノテーションされた学習データのファイル名 (複数可) -conf 信頼度付き学習データのファイル名 (複数可) -dict 辞書ファイル (複数可) -subword サブワード単位の辞書。追加することで未知語の読み推定が有効になる -model モデルファイルの出力先 -modtext テキスト形式のモデル出力 (デフォルトはバイナリ形式) モデル学習オプション: -nows 単語分割のモデルを学習しない -nope 読み推定のモデルを学習しない モデル学習オプション(上級編): -charw 文字素性の窓幅 (デフォルト:3) -charn 文字素性のn-gram長 (デフォルト:3) -typew 文字タイプ素性の窓幅 (デフォルト:3) -typen 文字タイプ素性のn-gram長 (デフォルト:3) -dictn 辞書素性の単語帳上限 (デフォルト:4) -unkn 未知語モデルのn-gram長 (デフォルト:3) -eps 分類器の学習で用いるε -bias 分類器の学習でバイアスを用いる (デフォルト:true) -solver 分類器の種類 (0=ロジスティック回帰、1=SVM、デフォルト:1)
KyTeaプロジェクトに参加されたい方はkytea@
までご連絡ください。
Last Modified: 2010-8-18 by neubig