mpaligner (0.97) | 2012-03-15 01:24 |
自動読み付与(発音付与)のための文字列アライメントツールです. 多対多のアライメントを提供し,与えられた2つの文字列の最小パターンを見つけます. アライメント結果は未知語に対する読み付与などに使用されます. 部分的にアライメントの正解を与える部分的アノテーションやある特定の表記と読みの 対応付けを他の対応付けよりも有利にしたり禁止したりできます. また,特殊な表記と読みの対応付け(AAA,トリプルエーなど)を検出する機能があります. ライセンスは GNU GPL です.
アライメント後のデータを学習データとして発音推定のためのモデルを構築し,それを使って発音推定を行いたい場合は, 発音推定に関する学習手法と発音推定を行う予測器(デコーダー)が実装された slearp ( http://sourceforge.jp/projects/slearp/ ) を使用してください.
開発者は以下の通りです.
奈良先端科学技術大学院大学
情報科学研究科 情報処理学専攻
知能コミュニケーション研究室 博士後期課程
久保 慶伍 (Keigo Kubo)
mpaligner は部分文字列の共起関係を基に部分文字列のアライメントをとります. 例えば,
東 京 ト ウ キ ョ ウ
京 都 キ ョ ウ ト
大 阪 オ オ サ カ
という表記と読みの対データがあるとします.日本語が分からない人にとっては「東」の 読みは「ト」なのか「トウ」なのか「トウキョ」なのかわかりません.しかし,「東京」 と「京都」を見比べてみると,「京」がある時に読みに「キョウ」が出現していることが わかります.このことから「京」の読みは「キョウ」と推定すると,「東」はおそらく 「トウ」であることが分かります.ここでは,この「京」と「キョウ」の関係を共起関係 と定義します.mpaligner は上記のような共起関係を用いて部分文字列の最小パターンを 見つけアライメントを行います.最終的に mpaligner によって以下のようなデータが得られます.
東|京| ト:ウ|キ:ョ:ウ|
京|都| キ:ョ:ウ|ト|
大阪| オ:オ:サ:カ|
「|」はアライメントの区切りを表す文字です. また,「:」は文字同士の結合を示す文字です. 大阪が分割されていないのは,今回の学習データ内には「大 オオ」や 「坂 サカ」のパターンが他の対データには存在せず,最小のパターンとして 「大阪」が選ばれたからです.このデータは読み付与モデルを構築する際の 学習データとして使用することができます.
mpaligner の他に,文字列同士のアライメントをとるプログラムとして m2m-aligner があります.m2m-aligner の詳細な情報は以下にあります.
http://code.google.com/p/m2m-aligner/
m2m-aligner は1対1,2対1,1対2でアライメントを行うことを想定しており, 2対2以上のアライメントを行うためには,アライメントの制約を緩める必要があります. しかし,アライメントの制約を緩めることで,小さい単位でアライメントがとれなくなり, 日本語などの2対2以上のアライメントを必要とする言語では読み付与の性能に悪影響を 与えます.そこで,mpaligner はアライメントの制約がない場合でも小さい単位での アライメントを実現するためにアルゴリズムを工夫しています. さらに,長い文字列でも計算できるようにlogによる計算を採用し, 高速化・小メモリ化も行っています.
また,mpalignerは部分的にアライメントの正解を与える部分的アノテーションやある特定の表記と読みの 対応付けを他の対応付けよりも有利にしたり禁止したりできます. さらに,特殊な表記と読みの対応付け(<AAA,トリプルエー>や<紙鳶, イカノボリ>など)を検出する機能があります.
mpaligner (0.97) | 2012-03-15 01:24 |