京都テキスト解析ツールキット(KyTea、「キューティー」)は、日本語など、単語(または形態素)分割を必要とする言語のための一般的なテキスト解析器です。
KyTeaには以下の機能が揃っています:
KyWsとKyPeは線形SVMやロジスティック回帰などを用いてそれぞれの分割点や発音を個別に推定するため、部分的にアノテーションされたデータを利用してモデルを学習することも可能です。 分類器の学習にはLIBLINEARを使用しています。 学習法の詳しい説明についてはこちらをご覧ください。
また、詳しくは以下の論文をご参照ください:
KyTeaの最新版はここからダウンロードできます:KyTea 0.1.0
KyTeaの最新版にはソースコードと現代日本語書き言葉均衡コーパス(BCCWJ)とUniDicを学習データとするモデルが含まれています。 モデルはUTF-8を文字コードとし、読み推定の読みはキーボード入力に沿って付与します。 つまり、「京都は快晴」は発音の「きょーとはかいせー」ではなく、キーボードで入力する「きょうとはかいせい」となっています。 分割基準により分割単位は形態素となっており、活用語の語幹と語尾は別の単語として分割されます。
過去のバージョン: KyTea 0.0.3 KyTea 0.0.2 KyTea 0.0.1
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/prob、デフォルト:raw) -out 出力の形式 (full/part/prob、デフォルト:full) -nows 単語分割を行わない (raw入力では不可) -nope 読み推定を行わない (full入力では不可)
train-kyteaはKyTeaモデルを学習するためのプログラムです。
入力・出力オプション: -encode 入出力の文字コード (utf8/euc/sjis、デフォルト:utf8) -full 全アノテーションされた学習データのファイル名 (複数可) -part 部分的にアノテーションされた学習データのファイル名 (複数可) -prob 信頼度付き学習データのファイル名 (複数可) -dict 辞書ファイル (複数可) -model モデルファイルの出力先 -modtext テキスト形式のモデル出力 (デフォルトはバイナリ形式) モデル学習オプション: -nows 単語分割のモデルを学習しない -nope 読み推定のモデルを学習しない モデル学習オプション(上級編): -charw 文字素性の窓幅 (デフォルト:2) -charn 文字素性のn-gram長 (デフォルト:3) -typew 文字タイプ素性の窓幅 (デフォルト:3) -typen 文字タイプ素性のn-gram長 (デフォルト:3) -dicn 辞書素性の単語帳上限 (デフォルト:4) -eps 分類器の学習で用いるε -bias 分類器の学習でバイアスを用いる (デフォルト:true) -solver 分類器の種類 (0=ロジスティック回帰、1=SVM、デフォルト:1)
KyTeaプロジェクトに参加されたい方はkytea@
までご連絡ください。