TOP > 国内特許検索 > 文字列対応付け装置、方法、及びプログラム > 明細書

明細書 :文字列対応付け装置、方法、及びプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第6044996号 (P6044996)
公開番号 特開2015-022508 (P2015-022508A)
登録日 平成28年11月25日(2016.11.25)
発行日 平成28年12月14日(2016.12.14)
公開日 平成27年2月2日(2015.2.2)
発明の名称または考案の名称 文字列対応付け装置、方法、及びプログラム
国際特許分類 G06F  17/28        (2006.01)
FI G06F 17/28 627
請求項の数または発明の数 5
全頁数 26
出願番号 特願2013-149869 (P2013-149869)
出願日 平成25年7月18日(2013.7.18)
審査請求日 平成27年8月27日(2015.8.27)
特許権者または実用新案権者 【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
発明者または考案者 【氏名】須藤 克仁
【氏名】永田 昌明
【氏名】森 信介
個別代理人の代理人 【識別番号】110001519、【氏名又は名称】特許業務法人太陽国際特許事務所
審査官 【審査官】成瀬 博之
参考文献・文献 特開2001-142877(JP,A)
特開2007-156545(JP,A)
特開2012-185679(JP,A)
特開2003-263432(JP,A)
特開2005-092682(JP,A)
調査した分野 G06F 17/27-17/28
特許請求の範囲 【請求項1】
異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置であって、
前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行う対応付け計算部
を含み、
前記対応付け計算部は、
前記第1の言語の前記非翻字モデル選択確率と、前記第2の言語の前記非翻字モデル選択確率と、前記第2の言語の各部分文字列に対する前記翻字モデル選択確率と、前記第1の言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第2の言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第1の言語の部分文字列と前記第2の言語の部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、に対して初期値を各々設定する初期値設定部と、
前記初期値設定部によって設定され、又は前回更新された、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記文字列組の各々に対して、前記第1の言語の文字列のうちの部分文字列と、前記第2の言語の文字列のうちの部分文字列との間の部分文字列の各ペアについて、前記ペアが翻訳関係にある期待値を計算し、前記第1の言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算し、前記第2の言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算する期待値計算部と、
前記文字列組の各々に対して前記期待値計算部によって計算された各ペアに対する前記翻訳関係にある期待値、前記第1の言語の各部分文字列についての前記非翻字部分である期待値、及び前記第2の言語の各部分文字列についての前記非翻字部分である期待値に基づいて、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率を更新するパラメータ更新部と、
予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、前記期待値計算部による計算、及び前記パラメータ更新部による更新を繰り返す停止条件判定部と、を含み
前記文字列組の各々に対して、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率の各々に基づいて、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行う文字列対応付け装置。
【請求項2】
異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置であって、
前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行う対応付け計算部
を含み、
前記対応付け計算部は、
前記文字列組の各々に対して、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、対応付けの初期設定を行う初期対応設定部と、
前記初期対応設定部によって設定され、又は前回更新された、前記複数組の文字列組のうちの処理対象の文字列組以外の文字列組の各々についての前記対応付けに基づいて、前記第1の言語の前記非翻字モデル選択確率と、前記第2の言語の前記非翻字モデル選択確率と、前記翻字モデル選択確率と、前記処理対象の文字列組の前記第1の言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第2の言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第1の言語の文字列のうちの部分文字列と、前記第2の言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、を計算するフィルタリング部と、
前記フィルタリング部によって計算された前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記処理対象の文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、前記処理対象の文字列組に対する前記対応付けを更新するサンプリング部と、
予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、各文字列組を処理対象とした前記フィルタリング部による計算及び前記サンプリング部による更新を繰り返す停止条件判定部と、を含む文字列対応付け装置。
【請求項3】
対応付け計算部を含み、異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置における文字列対応付け方法であって、
対応付け計算部によって、前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行い、
前記対応付け計算部は、初期値設定部と、期待値計算部と、パラメータ更新部と、停止条件判定部と、を含み
前記初期値設定部によって、前記第1の言語の前記非翻字モデル選択確率と、前記第2の言語の前記非翻字モデル選択確率と、前記第2の言語の各部分文字列に対する前記翻字モデル選択確率と、前記第1の言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第2の言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第1の言語の部分文字列と前記第2の言語の部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、に対して初期値を各々設定するステップと、
前記期待値計算部によって、前記初期値設定部によって設定され、又は前回更新された、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記文字列組の各々に対して、前記第1の言語の文字列のうちの部分文字列と、前記第2の言語の文字列のうちの部分文字列との間の部分文字列の各ペアについて、前記ペアが翻訳関係にある期待値を計算し、前記第1の言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算し、前記第2の言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算するステップと、
前記パラメータ更新部によって、前記文字列組の各々に対して前記期待値計算部によって計算された各ペアに対する前記翻訳関係にある期待値、前記第1の言語の各部分文字列についての前記非翻字部分である期待値、及び前記第2の言語の各部分文字列についての前記非翻字部分である期待値に基づいて、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率を更新するステップと、
停止条件判定部によって、予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、前記期待値計算部による計算、及び前記パラメータ更新部による更新を繰り返すステップと、を含み
前記文字列組の各々に対して、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率の各々に基づいて、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行う文字列対応付け方法。
【請求項4】
対応付け計算部を含み、異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置における文字列対応付け方法であって、
対応付け計算部によって、前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行い、
前記対応付け計算部は、初期対応設定部と、フィルタリング部と、サンプリング部と、停止条件判定部と、を含み、
前記初期対応設定部によって、前記文字列組の各々に対して、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、対応付けの初期設定を行うステップと、
前記フィルタリング部によって、前記初期対応設定部によって設定され、又は前回更新された、前記複数組の文字列組のうちの処理対象の文字列組以外の文字列組の各々についての前記対応付けに基づいて、前記第1の言語の前記非翻字モデル選択確率と、前記第2の言語の前記非翻字モデル選択確率と、前記翻字モデル選択確率と、前記処理対象の文字列組の前記第1の言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第2の言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第1の言語の文字列のうちの部分文字列と、前記第2の言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、を計算するステップと、
前記サンプリング部によって、前記フィルタリング部によって計算された前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記処理対象の文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1の言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2の言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、前記処理対象の文字列組に対する前記対応付けを更新するステップと、
前記停止条件判定部によって、予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、各文字列組を処理対象とした前記フィルタリング部による計算及び前記サンプリング部による更新を繰り返すステップと、を含む文字列対応付け方法。
【請求項5】
コンピュータを、請求項1又は請求項2に記載の文字列対応付け装置の各部として機能させるためのプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、文字列対応付け装置、方法、及びプログラムに係り、特に、異なる言語の文字列の組における文字の対応付けを行う文字列対応付け装置、方法、及びプログラムに関する。
【背景技術】
【0002】
ある言語の音韻体系で表記された語句を別の言語の音韻体系での表記に変換する機械翻字を、統計モデルとして表現するために、互いが対応する単語の組を統計モデルの学習のためのデータとして利用して、単語を構成する文字同士の対応関係を推定することが広く行われている。例えば、非特許文献1では、英語の音韻表現と日本語におけるカタカナ語のローマ字化された表記との間での音韻記号-ローマ字間の1対多の対応付け方法について記している。さらに、非特許文献2では、英語の文字と音韻表記との多対多の対応付けについて記している。非特許文献3では、記号の多対多の対応関係を自動的に行うコンピュータプログラムについて記している。
【0003】
一方で、統計モデルの学習に利用する単語の組を大量に収集しようとすると、ある程度の誤りの混入は避けられない。いわゆる「カタカナ語」と英語の対応で言えば、日英対訳辞書の項目において日本語側がカタカナで表記されているものでも、「コンピュータ」と”computer”のように翻字関係となっているものもあれば、「カブトムシ」と”beetle”のように、カタカナで表記されるが翻字関係とはなっていないものもある。こうした誤った単語対応を統計モデルの学習に利用することでノイズが混入し、統計モデルの質を低下することは避けるべきである。この問題に対して、翻字関係となっている文字間対応の統計モデルと、翻字関係となっておらず2言語間で独立な文字列の統計モデルを利用した翻字対応付け方法が提案されており、有効に働くことが示されている(例えば、非特許文献4)。対訳辞書の存在を仮定しない非特許文献5のような「統計的機械翻訳」と呼ばれる技術分野においては、対訳文中の共起関係等を用いて自動的に単語対応を得ている。この自動的に得られた単語対応から翻字対応関係を得ようとすると単語対応に誤りが含まれる可能性も高くなるが、非特許文献4の方法により、1対1の単語対応組を、翻字となっている単語組と翻字となっていない単語組を自動的に分類し、翻字となっている単語組からのみ翻字対応の統計モデルを学習することが可能となる。また、非特許文献6には、上記非特許文献3の技術を、翻字でない文字列に対応させた場合について記載されている。
【先行技術文献】
【0004】

【非特許文献1】Kevin Knight and Jonathan Graehl、「Machine Transliteration」、Computational Linguistics、1998、Volume 24、Number 4、p.599-612
【非特許文献2】Sittichai Jiampojamarn他2名、「Applying Many-to-Many Alignments and Hidden Markov Models to Letter-to-Phoneme Conversion」、Proceedings of NAACLHLT、2007、p.372-379
【非特許文献3】Andrew Finch and Eiichiro Sumita、「A Bayesian Model of Bilingual Segmentation for Transliteration」、Proceedings of International Workshop on Spoken Language Translation、2010
【非特許文献4】Hassan Sajjad他2名、「A Statistical Model for Unsupervised and Semisupervised Transliteration Mining」、Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics、2012、p.469-477
【非特許文献5】Philipp Koehn他2名、「Statistical Phrase-Based Translation」、Proceedings of HLT-NAACL、2003、p.48-54
【非特許文献6】Ohnmar Htun他3名、「Improving Transliteration Mining by Integrating Expert Knowledge with Statistical Approaches」、International Journal of Computer Applications、2012、58(17)、p.12-22
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献4の方法は単語対応が「翻字である」か「翻字でない」かを識別するため、複合語等、複数の単語の間の対応関係において「部分的には翻字であるが、その他の部分は翻字になっていない」ような場合を識別することができない。非特許文献5のような句に基づく統計的機械翻訳においては、2言語間の句と句の対訳関係を自動的に推定するため、部分的に訳語でないものが含まれることがあり、非特許文献4の方法では十分な識別を行うことが期待できず、そこから得られる翻字対応および翻字モデルの正確性に問題が生ずる。例えば、「コンピュータ」に対して”the computer”という句が対応しているという状況においては、”the”に対応する文字列がカタカナ語側にはないため、「翻字である」か「翻字でない」かの2値分類は適さない。
【0006】
本発明は、上記の事情を鑑みてなされたもので、異なる言語の文字列の組における文字の対応付けを精度よく行うことができる文字列対応付け装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために本発明に係る文字列対応付け装置は、異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置であって、前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行う対応付け計算部を含んで構成されている。
【0008】
本発明に係る文字列対応付け方法は、対応付け計算部を含み、異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、前記第1の言語の文字列と、前記第2の言語の文字列との間で文字の対応付けを行う文字列対応付け装置における文字列対応付け方法であって、対応付け計算部によって、前記文字列組を複数組記憶した文字列組データベースに記憶された前記文字列組の各々に対して、前記文字列組の各文字列を、前記文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、前記他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、前記他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成したときに、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にない非翻字部分である確率を表す非翻字モデル選択確率と、前記第1言語の部分文字列が、前記第2言語の部分文字列と翻字関係にある翻字部分であり、かつ前記第2言語の部分文字列が、前記第1言語の部分文字列と翻字関係にある翻字部分である確率を表す翻字モデル選択確率と、前記第1言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第1言語における生成確率を表す非翻字モデル生成確率と、前記第2言語の文字列のうちの前記前置非翻字セグメントの部分文字列、及び前記後置非翻字セグメントの部分文字列の各々に対する前記第2言語における生成確率を表す非翻字モデル生成確率と、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表す翻字モデル生成確率と、に基づいて尤もらしくなるように、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行うステップを含む。
【0009】
また、本発明に係る前記対応付け計算部は、前記第1言語の前記非翻字モデル選択確率と、前記第2言語の前記非翻字モデル選択確率と、前記第2言語の各部分文字列に対する前記翻字モデル選択確率と、前記第1言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第2言語の各部分文字列に対する前記非翻字モデル生成確率と、前記第1言語の部分文字列と前記第2言語の部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、に対して初期値を各々設定する初期値設定部と、前記初期値設定部によって設定され、又は前回更新された、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記文字列組の各々に対して、前記第1言語の文字列のうちの部分文字列と、前記第2言語の文字列のうちの部分文字列との間の部分文字列の各ペアについて、前記ペアが翻訳関係にある期待値を計算し、前記第1言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算し、前記第2言語の文字列のうちの各部分文字列について、前記部分文字列が非翻字部分である期待値を計算する期待値計算部と、前記文字列組の各々に対して前記期待値計算部によって計算された各ペアに対する前記翻訳関係にある期待値、前記第1言語の各部分文字列についての前記非翻字部分である期待値、及び前記第2言語の各部分文字列についての前記非翻字部分である期待値に基づいて、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率を更新するパラメータ更新部と、予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、前記期待値計算部による計算、及び前記パラメータ更新部による更新を繰り返す停止条件判定部と、を含み前記文字列組の各々に対して、前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率の各々に基づいて、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行うようにすることができる。
【0010】
また、本発明に係る前記対応付け計算は、前記文字列組の各々に対して、前記文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、対応付けの初期設定を行う初期対応設定部と、前記初期対応設定部によって設定され、又は前回更新された、前記複数組の文字列組のうちの処理対象の文字列組以外の文字列組の各々についての前記対応付けに基づいて、前記第1言語の前記非翻字モデル選択確率と、前記第2言語の前記非翻字モデル選択確率と、前記翻字モデル選択確率と、前記処理対象の文字列組の前記第1言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第2言語の文字列のうちの各部分文字列に対する前記非翻字モデル生成確率と、前記処理対象の文字列組の前記第1言語の文字列のうちの部分文字列と、前記第2言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する前記翻字モデル生成確率と、を計算するフィルタリング部と、前記フィルタリング部によって計算された前記非翻字モデル選択確率、前記翻字モデル選択確率、前記非翻字モデル生成確率、及び前記翻字モデル生成確率に基づいて、前記処理対象の文字列組の各文字列を前記前置非翻字セグメント、前記翻字セグメント、及び後置非翻字セグメントで構成し、かつ、前記第1言語の文字列のうちの前記翻字セグメントの部分文字列と、前記第2言語の文字列のうちの前記翻字セグメントの部分文字列との間で文字の対応付けを行って、前記処理対象の文字列組に対する前記対応付けを更新するサンプリング部と、予め定められた停止条件が満たされたか否かを判定し、前記停止条件が満たされるまで、各文字列組を処理対象とした前記フィルタリング部による計算及び前記サンプリング部による更新を繰り返す停止条件判定部と、を含むようにすることができる。
【0011】
本発明に係るプログラムは、コンピュータを、本発明に係る文字列対応付け装置の各部として機能させるためのプログラムである。
【発明の効果】
【0012】
以上説明したように、本発明の文字列対応付け装置、方法、及びプログラムによれば、異なる第1の言語及び第2の言語にそれぞれ属する同じ意味の文字列の組み合わせである文字列組について、文字列組の各文字列を、文字列の先頭から順番に、前置非翻字セグメントと、翻字セグメントと、後置非翻字セグメントとで構成したときに、翻字モデル選択確率と、非翻字モデル選択確率と、非翻字モデル生成確率と、翻字モデル生成確率と、に基づいて尤もらしくなるように、文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、第1言語の文字列のうちの翻字セグメントの部分文字列と、第2言語の文字列のうちの翻字セグメントの部分文字列との間の文字を対応付けることにより、異なる言語の文字列組における文字の対応付けを精度よく行うことができる、という効果が得られる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施の形態に係る文字列対応付け装置の構成を示す概略図である。
【図2】本発明の第1の実施の形態に係る文字列対応付け装置における文字列対応付け処理ルーチンの内容を示すフローチャートである。
【図3】本発明の第2の実施の形態に係る文字列対応付け装置の構成を示す概略図である。
【図4】本発明の第2の実施の形態に係る文字列対応付け装置における文字列対応付け処理ルーチンの内容を示すフローチャートである。
【図5】対応付けの一例として、本実施の形態に係る文字列対応付け装置に入力された英語とカタカナとを示す図である。
【図6】英語とカタカナの対応付け結果の例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を詳細に説明する。

【0015】
<発明の概要>
本発明の実施の形態は、対応付けの対象となる文字列組について、「翻字である」か「翻字でない」かの区別を部分文字列の単位で識別する。また、単純に部分文字列単位での識別を行うと文字列組の中で「翻字である」部分と「翻字でない」部分が頻繁に入れ替わってしまうことがあり文字列対応方法として適さないため、「翻字である」部分は文字列組において高々1箇所であるという制約を加える。具体的には、上記非特許文献1記載の多対多の文字列対応付け方法において、文字列の生成モデルとして「翻字モデル」「非翻字モデル」の2つを同時に学習することで、文字列組の翻字となっている部分を識別し、非翻字部分が混在したデータにおける適切な文字列間の対応付けを実現する。

【0016】
本発明の実施の形態では、上記非特許文献3や上記非特許文献4と同様の「翻字である」文字列の確率モデル(以下、「翻字モデル」と称する)と、「翻字でない」文字列の確率モデル(以下、「非翻字モデル」と称する)の2種類のモデルの存在を仮定する。翻字モデルは原言語と目的言語の部分文字列の同時確率P( ̄s, ̄t)( ̄sは原言語の部分文字列、 ̄tは目的言語の部分文字列)のモデルであり、非翻字モデルは「原言語の部分文字列の確率P( ̄s)のモデル」と「目的言語の部分文字列の確率P( ̄t)のモデル」との独立した2つの確率モデルを含んで構成される。

【0017】
本発明の実施の形態では、上記非特許文献4や、上記非特許文献6のように、学習に用いられる原言語と目的言語の文字列組が、文字列全体として翻字であるか、翻字でないかを区別するのではなく、文字列のどの部分が翻字であり、どの部分が翻字でないかを区別するように確率モデルを学習する。また、翻字である部分は高々1箇所であると仮定する。つまり、原言語と目的言語の文字列の各々は、

【0018】
・「0文字以上の翻字でない部分」(以下、前置非翻字セグメントと称する。)
・「0文字以上の翻字である部分」(以下、翻字セグメントと称する。)
・「0文字以上の翻字でない部分」(以下、後置非翻字セグメントと称する。)

【0019】
の順で構成されると仮定する。すなわち、文字列組の各文字列を、文字列の先頭から順番に、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す前置非翻字セグメントと、他方の言語の部分文字列と翻字関係にある0文字以上の部分文字列を示す翻字セグメントと、他方の言語の部分文字列と翻字関係にない0文字以上の部分文字列を示す後置非翻字セグメントとで構成した場合を想定する。
なお、文字列全体が翻字でない場合は、すべてが前置非翻字セグメントに属するものとする。本実施の形態における文字列の対応付けは、原言語と目的言語の文字列組を構成する文字列を上記セグメントに分割し、非翻字セグメントにおいては原言語と目的言語で独立な非翻字モデルに基づいて部分文字列が生成され、翻字セグメントにおいては原言語と目的言語との翻字モデルに基づいて部分文字列の組が生成される場合の尤度が最大となるような対応付けを求める過程である。翻字モデルや非翻字モデル自体の構成及びモデル最適化アルゴリズムは特に規定しないが、翻字モデルは、原言語の0文字以上の文字列と目的言語の0文字以上の文字列の組の同時生成確率(ただし双方とも0文字となる場合は除く)モデルであり、非翻字モデルは原言語と目的言語で独立な、1文字以上の文字列の生成確率モデルであるとする。

【0020】
また、ある文字列が翻字モデルと非翻字モデルとのどちらから生成されるかを表す確率変数(以下、「翻字モデル選択確率」、及び「非翻字モデル選択確率」と称する)も同時に考慮する。従って、上記の前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで文字列が構成されることを前提とすると、原言語の非翻字モデル選択確率は、原言語の部分文字列が、目的言語の部分文字列と翻字関係にない非翻字部分である確率を表しており、目的言語の非翻字モデル選択確率は、目的言語の部分文字列が、原言語の部分文字列と翻字関係にない非翻字部分である確率を表している。
また、翻字モデル選択確率は、原言語の部分文字列が、目的言語の部分文字列と翻字関係にある翻字部分であり、かつ目的言語の部分文字列が、原言語の部分文字列と翻字関係にある翻字部分である確率を表している。

【0021】
モデルの最適化においては、上記非特許文献4で用いられている前向き後向き(forward-backward)アルゴリズムに基づく期待値最大化(EM)アルゴリズムや、その変種といえる、上記特許文献1で用いられている、ギブス(Gibbs)サンプリングに基づく前向きフィルタリング・後ろ向きサンプリングアルゴリズムにおいて、 上記の3セグメントでの構成を考慮した上で、非翻字セグメントでは非翻字モデル生成確率、翻字セグメントでは翻字モデル生成確率を利用して期待値を計算し、その結果を利用してモデルの更新を行う過程を繰り返し行えばよい。
ここで、原言語の部分文字列の非翻字モデル生成確率は、原言語の前置非翻字セグメント又は後置非翻字セグメントにおける部分文字列の、原言語における生成確率を表し、目的言語の部分文字列の非翻字モデル生成確率は、目的言語の前置非翻字セグメント又は後置非翻字セグメントにおける部分文字列の、目的言語における生成確率を表す。
また、翻字モデル生成確率は、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間の部分文字列の各ペアに対する同時生成確率を表している。

【0022】
〔第1の実施の形態〕
<システム構成>
本発明の第1の実施の形態に係る文字列対応付け装置100は、原言語(第1の言語)の文字列(単語)と目的言語(第2の言語)の文字列(単語)との対訳である複数組の文字列組を入力とし、文字列組の各々について、文字列の対応付けを行う。この文字列対応付け装置100は、CPUと、RAMと、後述する文字列対応付け処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図1に示すように、文字列対応付け装置100は、入力部10と、演算部20と、出力部30とを備えている。

【0023】
入力部10は、文字列の対応付けを行う対象である複数組の文字列組を受け付ける。具体的には、入力部10は、翻字又は対訳になっていることが期待され、かつ空白文字等も含んだ文字列組を、入力装置、記憶媒体もしくはネットワークを通じて複数組読み込む。

【0024】
演算部20は、文字列組データベース21、文字列組データ読み込み部22、及び対応付け計算部23を備えている。

【0025】
文字列組データベース21には、入力部10により受け付けた複数組の文字列組が格納される。

【0026】
文字列組データ読み込み部22は、文字列組データベース21から全ての文字列組を読み込む。

【0027】
対応付け計算部23は、文字列組毎に、原言語の文字列と、目的言語の文字列との間で部分文字列同士の対応付けを行う。

【0028】
対応付け計算部23は、初期値設定部231、期待値計算部232、パラメータ更新部233、停止判定部234、及び文字対応付け処理部235を備えている。

【0029】
初期値設定部231は、原言語の部分文字列に対する非翻字モデル選択確率と、目的言語の部分文字列に対する非翻字モデル選択確率と、原言語の部分文字列と目的言語の部分文字列とのペアに対する翻字モデル選択確率と、原言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、目的言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、原言語の文字列のうちの部分文字列と、目的言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する翻字モデル生成確率と、に対して初期値を設定する。ここで、初期値は、出現頻度や共起頻度の比を用いて設定することが広く行われているが、一様分布としてもよい。
なお、対応付けの単位として上記非特許文献4のように1文字単位のものしか考慮しない場合は、非翻字モデル生成確率は単純な文字ユニグラム確率となるため、平滑化を考慮しなければ単純な文字の出現頻度に基づく出現確率分布に従って求められ、以後の処理において確率を更新せず、固定するようにしてもよい。
また、翻字モデル選択確率・非翻字モデル選択確率については、上記非特許文献4ではそれぞれ0.5を初期値としているが、0より大きく、和が1となるような任意の初期値を設定してもよい。

【0030】
期待値計算部232は、初期値設定部231によって設定され、又は前回更新された、非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率に基づいて、文字列組の各々に対して、原言語の文字列のうちの部分文字列と、目的言語の文字列のうちの部分文字列との間の部分文字列の各ペアについて、当該ペアが翻訳関係にある期待値を計算し、原言語の文字列のうちの各部分文字列について、当該部分文字列が非翻字部分である期待値を計算し、目的言語の文字列のうちの各部分文字列について、当該部分文字列が非翻字部分である期待値を計算する。期待値の計算方法は上記非特許文献4に記載の方法に類似するが、本実施の形態では、文字列に、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントの順で、各セグメントが割り当てられて構成されるため、翻字セグメントのみが存在することを仮定している上記非特許文献4の方法を拡張した方法を用いる。

【0031】
上記非特許文献4に記載の方法で用いられている前向き後ろ向きアルゴリズムでは、動的計画法を用いて、文字列組の先頭から対応付けの確率を記録する前向き確率表と、逆に文字列組の末尾から対応付けの確率を記録する後向き確率表とに、計算した確率を順次記録するが、本実施の形態では、前置非翻字セグメント、翻字セグメント、後置非翻字セグメントのそれぞれに対応する前向き確率表と後向き確率表の、合計6個の確率表を利用する。前向き確率及び後向き確率の計算と記録とに際しては、前置非翻字セグメント、翻字セグメント、後置非翻字セグメントの順を考慮する。前置非翻字セグメントの前向き確率表に記録される確率の計算にあたっては、そこより前の位置における前置非翻字セグメントの前向き確率のみを参照し、翻字セグメントの前向き確率表に記録される確率の計算にあたっては、そこより前の位置における前置非翻字セグメントの前向き確率及び翻字セグメントの前向き確率を参照し、後置非翻字セグメントの前向き確率表に記録される確率の計算にあたっては、そこより前の位置における翻字セグメントの前向き確率及び後置非翻字セグメントの前向き確率を参照する。

【0032】
後向き確率表についてはこれと逆の順序となるため、後置非翻字セグメントの後向き確率表に記録される確率の計算にあたっては、 そこより後の位置における後置非翻字セグメントの後向き確率のみを参照し、翻字セグメントの後向き確率表に記録される確率の計算にあたっては、そこより後の位置における後置非翻字セグメントの後向き確率及び翻字セグメントの後向き確率を参照し、前置非翻字セグメントの後向き確率表に記録される確率の計算にあたっては、そこより後の位置における翻字セグメントの後向き確率及び前置非翻字セグメントの後向き確率を参照する。また、確率表の初期値については、前置非翻字セグメントの前向き確率表の先頭と、後置非翻字セグメントの後向き確率表の末尾を1とし、それ以外を0とする。

【0033】
期待値計算部232は、初期値設定部231によって設定され、又は前回更新された、非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率に基づいて、上記のように、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する前向き確率表の各前向き確率を計算して記録すると共に、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する後ろ向き確率表の各後ろ向き確率を計算して記録する。なお、前向き及び後ろ向き確率表は、文字列組ごとに計算される。
期待値計算部232は、これらの前向き確率表と後向き確率表を用いて、文字列組中の任意の文字対応付けについて翻訳関係にある期待値を計算する。原言語側の文字位置jからj’-1までの文字列と目的言語側の文字位置iからi’-1までの文字列が翻字となる期待値Et(j→j’,i→i’)は、以下のように計算できる(なお、文字列位置は0から始まるものとする)。

【0034】
【数1】
JP0006044996B2_000002t.gif

【0035】
ここで、P(sj→j’,ti→i’)は原言語側の文字位置jからj’-1までの文字列と目的言語側の文字位置iからi’-1までの文字列の同時生成確率(翻字モデルの確率)、pは翻字モデル選択確率、Pf1(j,i)、Pf2(j,i)、Pf3(j,i)はそれぞれ原言語側の文字位置j、目的言語側の文字位置iまでの前置非翻字セグメント、翻字セグメント、後置非翻字セグメントに対する前向き確率、Pb1(j,i)、Pb2(j,i)、Pb3(j,i)はそれぞれ原言語側の文字位置j、目的言語側の文字位置iより後の前置非翻字セグメント、翻字セグメント、後置非翻字セグメントに対する後向き確率、Jは原言語側の文字列長、Iは目的言語側の文字列長である。
期待値計算部232は、全ての文字列組d毎に、文字列組dの部分文字列の各ペアについて、上記(1)式の期待値を計算する。

【0036】
期待値計算部232は、前向き確率表と後向き確率表を用いて、非翻字部分の期待値も同様に計算する。具体的には、原言語側の文字位置jからj’-1までの部分文字列が、目的言語側の文字位置iの後で目的言語側から(翻字ではなく)独立に生成される期待値Esrc(sj→j’,i)を、以下の式のように前置非翻字セグメントで現れる場合と後置非翻字セグメントで現れる場合の期待値の和として計算する。期待値計算部232は、前向き確率表と後向き確率表を用いて、目的言語側についても同様に、目的言語側の文字位置iからi’-1までの部分文字列が、原言語側の文字位置jの後で原言語側から(翻字ではなく)独立に生成される期待値Etrg(si→i’,j)を計算する。

【0037】
【数2】
JP0006044996B2_000003t.gif

【0038】
ここで、Psrc(sj→j’)は原言語側の文字位置jからj’-1までの部分文字列の生成確率(原言語側の非翻字モデルの確率)、psrcは原言語側の非翻字モデル選択確率である。

【0039】
期待値計算部232は、全ての文字列組d毎に、文字列組dの原言語側の部分文字列の各々について、上記(2)式の期待値を計算する。また、期待値計算部232は、全ての文字列組d毎に、文字列組dの目的言語側の部分文字列の各々について、上記(2)式と同様の期待値を計算する。
期待値計算部232は、全ての文字列組dに対する計算結果に基づいて、原言語及び目的言語の部分文字列のペア(s、t)の各々について、当該ペア(s、t)に関する期待値の計算結果を集計して当該ペア(s、t)に対する翻字モデルからの同時生成の期待値E(s,t)を計算する。期待値計算部232は、原言語の各部分文字列sについて、当該部分文字列sに関する期待値の計算結果を集計して当該部分文字列sに対する非翻字モデルからの生成の期待値Esrc(s)を計算する。また、期待値計算部232は、目的言語の各部分文字列tについて、当該部分文字列tに関する期待値の計算結果を集計して当該部分文字列tの非翻字モデルからの生成の期待値Etrg(t)を計算する。
また、上記の確率表および期待値の計算において、前置非翻字セグメント、後置非翻字セグメント内では、必ず原言語側が先に生成されるものとし、同じ文字列の生成に際して複数回の数え上げが起こらないようにする。

【0040】
パラメータ更新部233は、文字列組の各々に対して、期待値計算部232によって計算された各ペアに対する翻訳関係にある期待値、原言語の各部分文字列についての非翻字部分である期待値、及び目的言語の各部分文字列についての非翻字部分である期待値に基づいて、非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率を更新する。具体的には、パラメータ更新部233は、期待値計算部232において計算された期待値をもとに、翻字モデルの同時生成確率、非翻字モデルの生成確率、及び翻字モデル選択確率・非翻字モデル選択確率を更新する。翻字モデルの同時生成確率及び非翻字モデルの生成確率については、期待値が0より大きい文字列組もしくは文字列に対して、期待値の総和との比をとって更新後の同時生成確率又は生成確率とする。つまり、翻字モデルの同時生成確率については、原言語の部分文字列sと目的言語の部分文字列tの同時生成確率P( ̄s, ̄t)を以下のように更新する。

【0041】
【数3】
JP0006044996B2_000004t.gif

【0042】
非翻字モデルの生成確率については、原言語側の部分文字列sの生成確率Psrc( ̄s)を以下のように更新する。目的言語側の部分文字列tの生成確率Ptrg( ̄t)も同様に更新する。

【0043】
【数4】
JP0006044996B2_000005t.gif

【0044】
翻字モデル選択確率・非翻字モデル選択確率については、原言語と目的言語でそれぞれ翻字セグメントに属する文字数・非翻字セグメントに属する文字数の割合に基づくと考え、原言語の非翻字モデル選択確率は非翻字セグメントで現れる原言語の文字数の割合、目的言語の非翻字モデル選択確率は非翻字セグメントで現れる目的言語の文字数の割合とする。つまり、部分文字列の期待値を利用して計算すると、原言語の非翻字モデル選択確率psrcは以下のように更新される。|s|は部分文字列sの長さ(文字数)を表す。目的言語の非翻字モデル選択確率ptrgについても同様に更新される。

【0045】
【数5】
JP0006044996B2_000006t.gif

【0046】
そして、翻字モデル選択確率pは、以下の式に示すように、(1-原言語の非翻字モデル選択確率)×(1-目的言語の非翻字モデル選択確率)で更新される。

【0047】
【数6】
JP0006044996B2_000007t.gif

【0048】
停止判定部234は、予め定められた停止条件が満たされたか否かを判定し、当該停止条件が満たされるまで、期待値計算部232による計算、及びパラメータ更新部233による更新を繰り返す。停止条件としては、文字列組データの尤度が一定以上の数値になった、尤度の変動幅が一定以下の数値になった、パラメータ更新の繰り返し回数が一定の回数を超えた、などが考えられる。本実施の形態では、文字列組データの尤度が一定以上の数値になることを、停止条件とする。

【0049】
文字対応付け処理部235は、文字列組の各々に対して、パラメータ更新部233により最終的に更新された非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率の各々に基づいて、当該文字列組の各文字列を、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行う。具体的には、文字対応付け処理部235は、得られた最終的な非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率を用い、当該非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率の下で最尤な文字対応付けをビタビアルゴリズムによって求める。ビタビアルゴリズムは当該分野で広く知られた、動的計画法によって最尤な系列を求めるアルゴリズムである。具体的には、期待値計算部232における前向き確率表の確率計算とは異なり、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントの各々の前向き確率表に対して、最も確率の高い経路の確率およびその経路の情報を保持する形で末尾まで計算を行い、その結果得られた確率表を末尾から先頭に向かって辿っていくことで最尤経路を得ることができる。経路が翻字セグメントの前向き確率表内にあるものは該当する部分が翻字の関係にあり、非翻字セグメントの前向き確率表内にあるものは翻字の関係にないことを表す。

【0050】
出力部30は、文字対応付け処理部235で対応付けられた文字列組の各々の対応付けの情報を出力する。具体的には,出力部30は、対応付けの情報を付与した文字列組を端末に表示、もしくは記憶媒体やネットワークを通じて書き出す。

【0051】
<文字列対応付け装置の作用>
次に、第1の実施の形態に係る文字列対応付け装置100の作用について説明する。まず、対訳となっている第1の言語体系の文字列及び第2の言語体系の文字列の組である文字列組が、文字列対応付け装置100に複数入力されると、文字列対応付け装置100によって、入力された複数の文字列組が、文字列組データベース21に格納される。そして、文字列対応付け装置100によって、図2に示す文字列対応付け処理ルーチンが実行される。

【0052】
まず、ステップS100において、文字列組データ読み込み部22によって、文字列組データベース21から、全ての文字列組を読み込む。

【0053】
ステップS102において、初期値設定部231によって、原言語及び目的言語の各々の非翻字モデル選択確率と、翻字モデル選択確率と、原言語及び目的言語の各々の各部分文字列に対する非翻字モデル生成確率と、原言語及び目的言語の部分文字列の各ペアに対する翻字モデル生成確率と、に対して初期値を設定する。

【0054】
次に、ステップS104において、期待値計算部232によって、全ての文字列組の各々について、周知の前向き後ろ向きアルゴリズムを用いて、上記ステップS102で設定され、又は後述するステップS110で前回更新された、非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率に基づいて、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する前向き確率表の各前向き確率を計算して前向き確率表に記録すると共に、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する後ろ向き確率表の各後ろ向き確率を計算して後ろ向き確率表に記録する。

【0055】
ステップS106において、期待値計算部232によって、全ての文字列組の各々について、上記ステップS104で計算された当該文字列組の前向き確率表と後向き確率表とを用いて、当該文字列組の部分文字列の各ペアに対し、翻字関係にある期待値を計算する。

【0056】
ステップS108において、期待値計算部232によって、全ての文字列組の各々について、上記ステップS104で計算された当該文字列組の前向き確率表と後向き確率表を用いて、当該文字列組の原言語側の各部分文字列に対し、非翻字部分となる期待値を計算すると共に、当該文字列組の目的言語側の各部分文字列に対し、非翻字部分となる期待値を計算する。

【0057】
ステップS110において、パラメータ更新部233は、上記ステップS106で計算された翻訳関係にある期待値、上記ステップS108で計算された原言語の各部分文字列についての非翻字部分である期待値、及び目的言語の各部分文字列についての非翻字部分である期待値に基づいて、原言語及び目的言語の各々の非翻字モデル選択確率、翻字モデル選択確率、原言語の各部分文字列に対する非翻字モデル生成確率、目的言語の各部分文字列に対する非翻字モデル生成確率、及び原言語及び目的言語の部分文字列の各ペアに対する翻字モデル生成確率を更新する。

【0058】
ステップS114において、停止判定部234によって、予め定められた停止条件が満たされたか否かを判定する。そして、停止条件が満たされていない場合には、上記ステップS104へ戻り、上記ステップS104~ステップS110の処理を実行する。一方、停止条件が満たされている場合には、ステップS116へ進む。

【0059】
ステップS116において、文字対応付け処理部235によって、文字列組の各々に対して、上記ステップS110で最終的に更新された非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率の各々に基づいて、当該文字列組の各文字列を、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行う。

【0060】
ステップS118において、出力部30によって、上記ステップS116で対応付けた結果を出力して、文字列対応付け処理ルーチンを終了する。

【0061】
以上説明したように、本発明の第1の実施の形態に係る文字列対応付け装置によれば、原言語及び目的言語において対訳となる文字列の組み合わせである文字列組について、文字列組の各文字列を、文字列の先頭から順番に、前置非翻字セグメントと、翻字セグメントと、後置非翻字セグメントとで構成したときに、翻字モデル選択確率と、非翻字モデル選択確率と、非翻字モデル生成確率と、翻字モデル生成確率と、に基づいて尤もらしくなるように、文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、原言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行うことにより、異なる言語の文字列組における文字の対応付けを精度よく行うことができる。

【0062】
また、文字列の生成モデルとして「翻字モデル」「非翻字モデル」の2つを同時に学習することで、文字列の組の翻字となっている部分を識別し、非翻字部分が混在したデータにおける適切な文字列間の対応付けを実現することができる。

【0063】
また、統計的機械翻訳で用いられる自動的に抽出された対訳語句対のような、必ずしも翻字の組となっておらず、部分的に翻字となっているような文字列組データに対しても、翻字となっている文字列を選択的に対応づけることが可能となる。

【0064】
〔第2の実施の形態〕
<システム構成>
次に、第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。

【0065】
第2の実施の形態では、ギブスサンプリングを用いて、文字列組における文字の対応付けを求めている点が、第1の実施の形態と異なっている。

【0066】
本実施の形態で用いるギブスサンプリングは、上記非特許文献3や上記非特許文献6で用いられており、当該分野では広く知られる方法である。
上記非特許文献3及び非特許文献6に記載の方法のように、参考文献7(Daichi Mochihashi他2名、「Bayesian Unsupervised Word Segmentation with Nested Pitman-Yor Language Modeling」、Proc. of ACL-IJCNLP、2009)に記載の方法に類似したアルゴリズムによって対応付けを繰り返し更新する。

【0067】
この方法では、文字列組の集合Dから1つの文字列組dを選び、dを除く文字列組の集合D-dにおける対応付けから推定される事後確率分布に基づいてd上の対応付け結果をサンプリングする、という過程を、dを入れ替えながら繰り返し行う。サンプリングの結果はdに対する一意の対応付け結果であるため、EMアルゴリズムを利用する第1の実施の形態の構成とは異なり、停止判定部によって学習が終了したと判定された時点ですべてのdに対する対応付け結果が得られるため、文字対応付け処理部235は必要ない。ただし、停止判定後に1度フィルタリングステップ・サンプリングステップを繰り返すことによって対応付けを再度更新してもよい。

【0068】
図3に示すように、第2の実施の形態に係る文字列対応付け装置200の演算部220は、文字列組データベース21、文字列組データ読み込み部22、及び対応付け計算部24を備えている。

【0069】
対応付け計算部24は、ギブスサンプリングを用いて、複数の文字列組の各々に対して対応付けを行う。対応付け計算部24は、初期値対応部241、フィルタリング部242、サンプリング部243、及び停止判定部244を備えている。

【0070】
初期値対応部241は、文字列組の各々に対して、文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行って、対応付けの初期設定を行う。ここで、ギブスサンプリングを用いる場合は、確率分布の初期値でなく、適当な初期対応付けを与える必要がある。従って、初期対応付の決定方法としては、何かの規則により対応付けを行う、ランダムに対応付けを行う、別途簡便なモデルでの対応付け結果を利用するなどの方法が考えられる。本実施の形態では、ランダムに対応付けを行う。

【0071】
フィルタリング部242は、フィルタリング部242によって前回計算された、原言語の非翻字モデル選択確率と、目的言語の非翻字モデル選択確率と、翻字モデル選択確率と、処理対象の文字列組の原言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の目的言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の原言語の文字列のうちの部分文字列と、目的言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する翻字モデル生成確率とに基づいて、上記第1の実施の形態における前向き確率の計算の場合と同様の方法で、処理対象の文字列組dに対して、文字列組の先頭から前向き確率を計算し、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する前向き確率表に、計算した各前向き確率を記録する。ここで、確率が非常に小さい経路を大量に保持すると計算量が大きくなる場合があるため、他の対立する対応付け経路と比較して非常に確率が小さいような場合はその経路を無視してもよい。
また、フィルタリング部242は、初期対応設定部241によって設定され、又は後述するサンプリング部243によって前回更新された、複数組の文字列組のうちの処理対象の文字列組以外の文字列組の各々についての対応付けに基づいて、原言語の非翻字モデル選択確率と、目的言語の非翻字モデル選択確率と、翻字モデル選択確率と、処理対象の文字列組の原言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の目的言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の原言語の文字列のうちの部分文字列と、目的言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する翻字モデル生成確率と、を計算する。翻字モデル生成確率Pgt(EMアルゴリズムによる構成の場合のPに相当)は、上記非特許文献3や上記非特許文献6に記載の方法を拡張し、以下のように定義できる。

【0072】
【数7】
JP0006044996B2_000008t.gif

【0073】
ここで、c(sj→j’,ti→i’)は,原言語側の文字列sj→j’と目的言語側の文字列ti→i’がdを除く文字組列の集合で対応付けられている回数、BM(sj→j’,ti→i’)は基底測度、αはハイパーパラメータ、Cはdを除く文字列組データでの翻字となっているすべての対応付けの数である。非翻字モデルについても同様であり、原言語・目的言語の非翻字モデル生成確率も、同様に以下のように定義できる(EMアルゴリズムによる構成の場合のPsrc、Ptrgに相当)。

【0074】
【数8】
JP0006044996B2_000009t.gif

【0075】
翻字モデル選択確率p、非翻字モデル選択確率psrc、ptrgは前記EMアルゴリズムの場合と同様、翻字になっている文字数と非翻字になっている文字数の割合で与えることができる。

【0076】
サンプリング部243は、フィルタリング部242によって計算された非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率に基づいて、処理対象の文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行って、処理対象の文字列組に対する対応付けを更新する。具体的には、サンプリング部243は、フィルタリング部242で計算された前向き確率表を末尾から順に辿っていき、前向き確率に基づいて対応付けを決定していき、dに対する対応付けを更新する。より具体的には、文字列組データ中のある位置(j,i)に対して、その位置に至る1つ前の位置(j,i)を選択する際に、(j,i)から(j,i)に至る確率に基づく重み付きサンプリングを行う(確率が高い経路ほど選ばれやすいようにする)。(j,i)から(j,i)に至る確率は、(j,i)における前向き確率と(j,i)から(j,i)への経路の確率(sj-→j’,ti-→i’の翻字あるいは非翻字確率)である。こうして決定された対応付けをdの新しい対応付けとする。

【0077】
全ての文字列組の各々を、処理対象の文字列組として、フィルタリング部242及びサンプリング部243による処理を繰り返し行う。
停止判定部244は、予め定められた停止条件が満たされたか否かを判定し、停止条件が満たされるまで、各文字列組を処理対象とした、フィルタリング部242による計算及びサンプリング部243による更新を繰り返す。本実施の形態では、ギブスサンプリングを利用しており、文字列組dを一つ選択するごとにフィルタリング部242によるフィルタリング処理と、サンプリング部243によるサンプリング処理とを行うので、文字列組の集合Dの全てに対してフィルタリング処理とサンプリング処理とを適用した後に停止判定を行う。ただし、途中で停止してもよい。停止条件はEMアルゴリズムを利用する第1の実施の形態の場合と同様に設定が可能である。

【0078】
<文字列対応付け装置の作用>
次に、第2の実施の形態に係る文字列対応付け装置200の作用について説明する。なお、第1の実施の形態と同様の処理については、同一符号を付して説明を省略する。

【0079】
まず、対訳となっている原言語の文字列及び目的言語の文字列の組である文字列組が、文字列対応付け装置200に複数入力されると、文字列対応付け装置200によって、入力された複数の文字列組が、文字列組データベース21に格納される。そして、文字列対応付け装置200によって、図4に示す文字列対応付け処理ルーチンが実行される。

【0080】
ステップS100において、文字列組データベース21から、全ての文字列組を読み込む。

【0081】
そして、ステップS202において、初期値対応部241によって、文字列組の各々に対して、文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行って、対応付けの初期設定を行う。

【0082】
次にステップS204において、フィルタリング部242によって、処理対象として、1つの文字組のデータdを設定する。

【0083】
ステップS206において、フィルタリング部242によって、上記ステップS204で設定された処理対象の文字列組のデータdについて、本ステップで前回計算された、原言語の非翻字モデル選択確率と、目的言語の非翻字モデル選択確率と、翻字モデル選択確率と、処理対象の文字列組の原言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の目的言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の原言語の文字列のうちの部分文字列と、目的言語の文字列のうちの部分文字列との間の部分文字列の各ペアに対する翻字モデル生成確率とに基づいて、上記第1の実施の形態における前向き確率の計算の場合と同様の方法で、処理対象の文字列組dに対して、文字列組の先頭から前向き確率を計算し、前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントのそれぞれに対応する前向き確率表に、計算した各前向き確率を記録する。

【0084】
ステップS208において、フィルタリング部242によって、上記ステップS202で設定され、又は後述するステップS210で前回更新された、複数組の文字列組のうちの処理対象の文字列組以外の文字列組の各々についての対応付けに基づいて、原言語及び目的言語の各々の非翻字モデル選択確率と、翻字モデル選択確率と、処理対象の文字列組の原言語及び目的言語の各々の、文字列のうちの各部分文字列に対する非翻字モデル生成確率と、処理対象の文字列組の目的言語の文字列のうちの各部分文字列に対する非翻字モデル生成確率と、翻字モデル生成確率と、を計算する。

【0085】
ステップS210において、サンプリング部243によって、上記ステップS208で計算された非翻字モデル選択確率、翻字モデル選択確率、非翻字モデル生成確率、及び翻字モデル生成確率に基づいて、処理対象の文字列組の各文字列を前置非翻字セグメント、翻字セグメント、及び後置非翻字セグメントで構成し、かつ、原言語の文字列のうちの翻字セグメントの部分文字列と、目的言語の文字列のうちの翻字セグメントの部分文字列との間で文字の対応付けを行って、処理対象の文字列組に対する対応付けを更新する。

【0086】
ステップS212において、文字列組の集合Dのうちの全ての文字列組dについて、上記ステップS204~ステップS210の処理を実行したか否かを判定する。そして、全ての文字列組dについて、上記ステップS204~ステップS210の処理を実行していない場合には、上記ステップS204へ戻り、新たな文字列組dを処理対象として設定する。一方、全ての文字列組dについて、上記ステップS204~ステップS210の処理を実行した場合には、ステップS214へ進む。

【0087】
ステップS214において、停止判定部244によって、予め定められた停止条件が満たされたか否かを判定する。そして、停止条件が満たされていない場合には、上記ステップS204へ戻り、再び、全ての文字列組dについて、上記ステップS204~ステップS212の処理を実行する。一方、停止条件が満たされている場合には、ステップS216へ進む。

【0088】
ステップS216において、出力部30によって、上記ステップS210で最終的に対応付けた結果を出力して、文字列対応付け処理ルーチンを終了する。

【0089】
なお、第2の実施の形態に係る文字列対応付け装置200の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。

【0090】
以上説明したように、第2の実施の形態に係る文字列対応付け装置によれば、ギブスサンプリングにより、非翻字モデル選択確率と、翻字モデル選択確率と、非翻字モデル生成確率と、翻字モデル生成確率とを計算し、処理対象の文字列組に対する対応付けを更新することにより、異なる言語の文字列組における文字の対応付けを精度よく行うことができる。

【0091】
<実施例>
次に本発明に係る実施の形態を実施した例について示す。実施例では原言語として日本語(カタカナ語)、目的言語として英語を利用した。なお、本実施例ではギブスサンプリングを利用した第2の実施の形態によって、対応付けの計算を行う。

【0092】
図5はそれぞれ本実施例で用いた日本語と英語との文字列組データ(およそ5万語対)を抜粋したものである。同じ行に記された文字列組が対応していることを示す。各記号(カタカナ及びアルファベット)は1文字ずつ区切り文字(空白文字)によって分割されている。空白文字自体を対応付けの対象文字として扱いたい場合には、区切り文字として別の文字(例えば”:”)を利用するか、空白文字を別の記号(例えば”[sp]”)に置換すればよい。

【0093】
第2の実施の形態によって、上記図5に示した文字列組データに対して対応付けを行った。まず、上記文字列組データを記録した電子ファイルを文字列組データ読み込み部22により読み込んだ。また、カタカナとアルファベットの任意長さの文字列間の対応を考慮すると計算量が大きくなるため、本実施例においては、カタカナ(日本語)側は最大2文字、アルファベット(英語)側は最大3文字までの対応に限定することとした。

【0094】
本実施例における初期値対応部241では、ランダムな対応付けを与えるために、フィルタリング部242によるフィルタリング処理における前向き確率表の前向き確率の値をすべて1と仮定した上で(ただし、カタカナ側3文字以上、アルファベット側4文字以上となる対応付けは許さないようにする)、サンプリング部243によるサンプリング処理で利用されるサンプリングアルゴリズムを適用した。これにより、ランダムな初期対応付けを得ることができる。

【0095】
続いて、文字列組データの各文字列組に対して、フィルタリング処理とサンプリング処理の順に繰り返し計算を行う。各文字列組に対するフィルタリング処理・サンプリング処理を文字列組データのデータ数分行う処理を1ラウンドとして、本実施例では30ラウンドの処理を行った。また、英語の記号”‐”は通常カタカナに対応するものではないため、常に日本語の長さ0の部分文字列に対応するものとして扱った。なお、ギブスサンプリングにおいてはデータを一個ずつ処理して対応付けとモデルの確率が更新されるため、データの処理順序が学習に与える影響が大きいことが広く知られている。したがって、文字列組データ中のデータの処理順序は毎ラウンド開始時にランダムに入れ替えることとした。

【0096】
30ラウンドの繰り返しの後、ビタビアルゴリズムによって再度文字列対応付けを行った。その結果を図6に示す。図6は日本語と英語の文字列がタブ文字で区切られて表記されており、対応付けられる部分文字列が記号”:”で区切られている。つまり、”:”の数は日本語側と英語側で同一となっており、1番目の要素同士が対応する部分文字列組であることを示す。また、”<noise>”となっているのは、対応する部分文字列がない(ノイズである)ことを示している。

【0097】
図6の結果から、”コンピュータ”と”computers”の組では、英語側末尾の”s”がノイズであること、”バーン”と”burn‐in”の組では、英語側の”in”がノイズであること、”シンメトリー”と”asymmetry”との組では、英語側先頭の”a”がノイズであること、”サイド”と”side‐effect”の組では、英語側の”effect”がノイズであること、などが見て取れる。また、その他の文字列組についても、妥当な文字列対応付け結果が得られた。

【0098】
なお、同じデータを上記非特許文献4の方法を実現するコンピュータプログラムによって対応付けした場合、及び上記非特許文献6の方法を実現するコンピュータプログラムによって対応付けした場合は、本実施例において部分的にノイズであると判定された文字列組は、すべてノイズであると判定されたため、本実施例は部分的にノイズが含まれるような文字列組の対応付けに適した方式であることが認められた。

【0099】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。

【0100】
例えば、文字列組データベース21は、外部に設けられ、文字列対応付け装置とネットワークで接続されていてもよい。

【0101】
上述の文字列対応付け装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。

【0102】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【0103】
10 入力部
20、220 演算部
21 文字列組データベース
22 文字列組データ読み込み部
23、24 対応付け計算部
30 出力部
100、200 文字列対応付け装置
231 初期値設定部
232 期待値計算部
233 パラメータ更新部
234 停止判定部
235 文字対応付け処理部
241 初期値対応部
242 フィルタリング部
243 サンプリング部
244 停止判定部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5