翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法
【課題】翻字の対象とされる文字列が何語を起源とするか不明な場合でも、翻字された文字列が当該対象を翻字したものであるかを従来よりも精度良く特定できる翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法を提供する。
【解決手段】翻字処理装置100は、翻字のために原断片が翻字断片に書き換えられる書換確率を複数含む、互いに異なるK個の言語に対応した書換表と、K個の言語に対応した翻字表とを生成する生成部105を備える。また翻字処理装置100は、使用された書換表に対応した言語を起源とする原綴り文字列が目的綴り文字列に翻字される翻字確率を当該言語に対応した翻字表に保存した後に、K個の翻字表の尤度を算出する尤度関数の期待値を最大化するように、K個の書換表を更新する更新部107を備える。
【解決手段】翻字処理装置100は、翻字のために原断片が翻字断片に書き換えられる書換確率を複数含む、互いに異なるK個の言語に対応した書換表と、K個の言語に対応した翻字表とを生成する生成部105を備える。また翻字処理装置100は、使用された書換表に対応した言語を起源とする原綴り文字列が目的綴り文字列に翻字される翻字確率を当該言語に対応した翻字表に保存した後に、K個の翻字表の尤度を算出する尤度関数の期待値を最大化するように、K個の書換表を更新する更新部107を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法に関する。
【背景技術】
【0002】
従来から、ある言語の文字列snを他の言語の文字列tnに翻字する翻字モデルを、当該ある言語の文字列snで表される人名が中国語、日本語、及び英語のいずれを起源とするかに応じて切り替え、切り替えられたモデルを用いて翻字を行う方法が知られている(例えば、非特許文献1)。
【0003】
また従来から、ある言語の文字列snを構成する文字列又は文字(以下、断片という)αが、他の言語の文字列tnを構成する断片βに書き換えられる書換確率に基づいて当該ある言語の文字列snが当該他の言語の文字列tnに翻字される翻字確率を算出するαβ法が知られている(例えば、非特許文献2)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ハイゾー・リー(Haizhou Li)、他3名著、「セマンティク トランスリタレーション オブ パーソナル ネームズ(Semantic Transliteration of Personal Names)」、2007年6月、p.120−127
【非特許文献2】エリック・ビル(Eric Brill)、他1名著、「アン アンプルーブドブド エラー モデル フォー ノイジー チャネル スペリング コレクション(An improved error model for noisy channel spelling Correction)」、2000年、p.286−293
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、非特許文献1の方法では、ある言語の文字列snで表される人名が何語を起源とするかが不明な場合には、翻字モデルを切り替えることができない。また非特許文献2の方法では、ある文字列snが言語の起源とするかが不明な場合には、翻字確率を算出できない。このため、これらの方法では、ある言語の文字列snが他の言語の文字列tnの翻字であるかを精度良く特定できないという問題があった。
【0006】
本発明は、このような点に鑑みてなされたものであり、その目的とするところは、翻字の対象とされる文字列が何語を起源とするか不明な場合でも、翻字された文字列が当該対象を翻字したものであるかを従来よりも精度良く特定できる翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点に係る翻字処理装置は、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
を備えることを特徴とする。
【0008】
また、第1の観点に係る翻字処理装置において、
前記K個の翻字表それぞれに対応した起源言語を起源とする原綴り文字列が、前記訓練集合に含まれる複数の原綴り文字列に占める割合をそれぞれ示す、前記K個の翻字表の重みパラメタを初期化する初期化部、を更に備え、
前記更新部は、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の翻字表に含まれる当該翻字確率の前記重みパラメタによる重み付き平均に基づいて、前記原綴り文字列の起源言語が当該翻字表に対応した起源言語である起源確率をそれぞれ算出した後に、当該起源確率をさらに用いて算出される前記尤度関数の期待値を最大化するように、前記K個の重みパラメタを更新した後に、前記起源確率の算出と前記重みパラメタの更新とを繰り返す、としても良い。
【0009】
また、第1の観点に係る翻字処理装置において、
前記生成部は、1個の前記書換表を生成した後に、前記生成された1個の書換表に含まれる書換確率を、前記K個の言語毎に変化させることにより、前記K個の言語に対応したK個の書換表を生成する、としても良い。
【0010】
また、第1の観点に係る翻字処理装置において、
前記生成部は、1個の前記書換表を用いたαβ法により1個の前記翻字表を生成した後に、前記生成された1個の翻字表に含まれる翻字確率を変化させることにより、前記K個の言語に対応したK個の翻字表を生成し、
前記更新部は、前記K個の翻字表のそれぞれに含まれる翻字確率をEMアルゴリズムにより更新する、としても良い。
【0011】
また、第1の観点に係る翻字処理装置において、
前記更新部は、前記更新による前記尤度関数の期待値の変化量が、所定の大きさ未満となるまで前記更新を繰り返す、としても良い。
【0012】
また、第1の観点に係る翻字処理装置において、
前記任意の起源言語における綴りからなる第1文字列と、前記所定の目的言語における綴りからなる第2文字列と、を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が前記受け付けられた第2文字列に翻字される翻字確率を求め、当該求められた翻字確率を出力する確率出力部、
をさらに備える、としても良い。
【0013】
また、第1の観点に係る翻字処理装置において、
前記任意の起源言語における綴りからなる第1文字列を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が翻字されうる前記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される翻字確率を求め、当該求められた翻字確率が高い順に当該求められた候補文字列を出力する候補出力部、
をさらに備える、としても良い。
【0014】
また、第1の観点に係る翻字処理装置において、
前記受付部は、前記訓練集合に含まれていない第1文字列を受け付ける、としても良い。
【0015】
上記目的を達成するため、本発明の第2の観点に係る翻字処理プログラムは、
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする。
【0016】
上記目的を達成するため、本発明の第3の観点に係るコンピュータ読み取り可能な記録媒体は、
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラムを記録している。
【0017】
上記目的を達成するため、本発明の第4の観点に係る翻字処理方法は、
生成部及び更新部とを備える翻字処理装置が実行する方法であって、
前記生成部が、任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成ステップ、
前記更新部が、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新ステップ、
を有することを特徴とする。
【発明の効果】
【0018】
本発明に係る翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法によれば、翻字の対象とされる文字列が何語を起源とするか不明な場合でも、翻字された文字列が当該対象を翻字したものであるかを従来よりも精度良く特定できる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施例に係る翻字処理システムの一構成例を表すシステム構成図である。
【図2】(a)は、端末装置が表示する入力画面の一例を表す図である。(b)は、端末装置が表示する結果表示画面の一例を表す図である。
【図3】本発明の実施例に係る翻字処理装置の一構成例を表すハードウェア構成図である。
【図4】本発明の実施例に係る翻字処理装置が実行する訓練集合生成処理の一例を表すフローチャートである。
【図5】本発明の実施例に係る翻字処理装置が発揮する機能の一例を表す機能ブロック図である。
【図6】(a)は、基礎翻字テーブルの一例を表す図である。(b)は、第1翻字テーブルの一例を表す図である。(c)は、第2翻字テーブルの一例を表す図である。(d)は、第3翻字テーブルの一例を表す図である。
【図7】翻字処理装置が実行する翻字処理の一例を表すフローチャートである。
【図8】(a)は、基礎書換テーブルの一例を表す図である。(b)は、第1書換テーブルの一例を表す図である。(c)は、第2書換テーブルの一例を表す図である。(d)は、第3書換テーブルの一例を表す図である。
【図9】書換回数テーブルの一例を表す図である。
【図10】翻字処理装置が実行する第1生成処理の一例を表すフローチャートである。
【図11】翻字処理装置が実行する第2生成処理の一例を表すフローチャートである。
【図12】(a)は、EMアルゴリズムに従った処理の実行により生じる翻字確率の変化を説明するための図である。(b)は、重付翻字確率の変化を説明するための図である。(c)は、書換確率の変化を説明するための図である。
【図13】(a)は、本発明の実施例の変形例2に係る端末装置が表示する入力画面の一例を表す図である。(b)は、変形例2に係る端末装置が表示する結果表示画面の一例を表す図である。
【図14】本発明の実施例の変形例2に係る翻字処理装置が実行する翻字処理の他例を表すフローチャートである。
【図15】本発明の実施例の変形例2に係る翻字処理装置が発揮する機能の一例を表す機能ブロック図である。
【図16】本発明の実施例の変形例3に係る翻字処理システムの一構成例を表すシステム構成図である。
【図17】検索エンジンが返信する検索結果画面の一例を表すシステム構成図である。
【図18】本発明の実施例の変形例3に係る翻字処理装置が実行する翻字処理の他例を表すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施例について添付図面を参照しつつ説明する。
【0021】
図1の翻字処理システム1は、コンピュータ通信網10(以下単に、通信網10という)と、本発明の翻字処理装置100と、端末装置200と、日本語データベースサーバ(以下、日本語DBサーバという)301及び外国語データベースサーバ(以下、外国語DBサーバという)302とで構成される。
【0022】
通信網10は、例えば、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
【0023】
翻字処理装置100について説明する前に、端末装置200と日本語DBサーバ301及び外国語DBサーバ302について説明する。
端末装置200は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボードなどの入力部とを備えたパーソナル・コンピュータで構成される。端末装置200は、図2(a)に示すような入力画面FI1を表示することで、任意の起源言語における綴りからなる第1文字列と、当該第1文字列を所定の目的言語の文字列に翻字した文字列であるとユーザが考える文字列であって、所定の目的言語における綴りからなる第2文字列との対(以下、入力対という)を入力するように促す表示を行う。
【0024】
尚、翻字とは、例えば、「Barak Obama」を「バラクオバマ」と翻訳するように、表記体系の異なる言語間における音韻的な翻訳をいう。本実施例において、所定の目的言語は日本語であり、任意の起源言語は、例えば、英語、フランス語、スペイン語、ドイツ語、ポーランド語、及びロシア語などの表記にアルファベットを用いる言語であれば何語であっても構わないとして説明を行うが、これに限定される訳ではない。例えば、所定の目的言語は英語であり、任意の起源言語は、例えば、日本語及び中国語などの表記に漢字を用いる言語であっても良い。
【0025】
また、第1文字列の起源言語とは、当該第1文字列の読み方を定める言語をいう。例えば、第1文字列が「monget」であり、当該文字列が文字商標を構成する場合であって、当該商標の使用者が当該文字商標をフランス語読みで「モンジェ」と称呼するように、当該商標が付された商品の販売者や広告会社等に依頼する場合には、当該第1文字列の起源言語はフランス語である。また、例えば、第1文字列が「Monet」であり、当該文字列がフランス人の名前を表す場合には、第1文字列「Monet」はフランス語読みで「モネ」と読まれるので、当該第1文字列の起源言語はフランス語である。つまり、第1文字列の起源言語は、第1文字列を使用する者が定める言語であってもよいし、第1文字列で表される内容によって必然的に定まるものであっても良い。しかし、起源言語は、例えば、英語「etc」がラテン語「et cetera」を起源とするというような、ある文字列の語源となった言語をいうのではない。
【0026】
図2(a)の入力画面FI1を表示した後に、端末装置200は、ユーザの操作に応じた各種の信号を翻字処理システム1に入力し、入力された信号に基づいて入力対を生成し、生成した入力対を表す情報を翻字処理装置100へ送信する。その後、端末装置200は、翻字処理装置100から返信された情報を受信し、受信された情報に基づいて、図2(b)に示すような結果表示画面FO2に、当該入力対を構成する第1文字列及び第2文字列と、当該第2文字列が当該第1文字列の翻字である確率とを表示する。
【0027】
日本語DBサーバ301及び外国語DBサーバ302は、例えば、Wikipedia(登録商標)及びDBpediaなどの不特定のユーザが編集を許可されたオンライン百科事典の解説頁を表す情報を管理するデータベースを有し、当該データベースで管理される情報をインターネット上に公開する。尚、日本語DBサーバ301は、日本語の解説頁を表す情報を管理及び公開し、外国語DBサーバ302は、外国語の解説頁を表す情報を管理及び公開する。日本語DBサーバ301が公開する日本語の解説頁には、当該日本語の解説頁と同じ物又は人を解説する外国語の解説頁(以下、対応頁という)のURL(Uniform Resource Locator)が記載されている。
【0028】
翻字処理装置100は、ウェブサーバソフトウェアをインストールされたサーバ機である。翻字処理装置100は、端末装置200から、入力対を表す情報を受信し、受信された情報で表される入力対が互いに翻字関係にある確率を算出し、算出された確率を表す情報を端末装置200へ返信する。
【0029】
翻字処理装置100は、図3に示すように、CPU(Central Processing Unit)100a、ROM(Read Only Memory)100b、RAM(Random Access Memory)100c、ハードディスク100d、メディアコントローラ100e、LANカード(Local Area Network)100f、ビデオカード100g、LCD(Liquid Crystal Display)100h、キーボード100i、スピーカ100j、及びマウス100kで構成される。
【0030】
CPU100aは、ROM100b又はハードディスク100dに保存されたプログラムに従ってソフトウェア処理を実行することで、翻字処理装置100の全体制御を行う。RAM100cは、CPU100aによるプログラムの実行時において、処理対象とする情報(つまり、データ)を一時的に記憶する。
【0031】
ハードディスク100dは、各種の情報(つまり、データ)を保存した表(つまり、テーブル)を記憶する情報記憶部である。尚、翻字処理装置100は、ハードディスク100dの代わりに、フラッシュメモリを備えても良い。
【0032】
メディアコントローラ100eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
【0033】
LANカード100fは、通信網10を介して接続する端末装置200、日本語DBサーバ301、及び外国語DBサーバ302との間でデータを送受信する。キーボード100i及びマウス100kは、ユーザの操作に応じた信号又は情報を入力する。LANカード100fは、情報取得部、受付部、及び確率出力部を構成する。
【0034】
ビデオカード100gは、CPU100aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD100hは、ビデオカード100gから出力された画像信号に従って画像を表示する。なお、翻字処理装置100は、LCD100hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ100jは、CPU100aから出力された信号に基づいて音声を出力する。
【0035】
翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図4の訓練集合生成処理を実行することで、図5に示すような訓練集合生成部101として機能する。また、CPU100aは、LANカード100fと協働して情報取得部102として機能する。さらに、CPU100aは、ハードディスク100dと協働して情報記憶部103として機能する。
【0036】
図4の訓練集合生成処理について説明する前に、情報記憶部103が記憶するテーブルであって、訓練集合生成処理の実行に用いられるデータが保存されたテーブルについて説明する。
情報記憶部103は、図6(a)に示すような基礎翻字テーブルを記憶している。図6(a)の基礎翻字テーブルは、図6(b)から図6(d)に示す第1翻字テーブルから第3翻字テーブルを生成するために用いられるテーブルである。尚、第1翻字テーブルから第3翻字テーブルについては後述する。
【0037】
図6(a)の基礎翻字テーブルには、任意の起源言語における綴りからなる原綴り文字列snを表す情報と、当該綴り文字列snを所定の目的言語に翻字した綴りからなる目的綴り文字列tnを表す情報と、当該原綴り文字列snと当該目的綴り文字列tnとの対(以下、翻字対という)を識別する番号(以下、翻字対番号という)nを表す情報と、当該原綴り文字列snが当該目的綴り文字列tnに翻字される翻字確率Pαβ(sn|tn)を表す情報とが対応付けられて保存されている。
【0038】
具体例としては、翻字対番号「1」で識別される翻字対は、「flextime」という原綴り文字列と、「フレックスタイム」という目的綴り文字列とで構成される。尚、図6(a)の基礎翻字テーブルに保存された複数の情報で表される翻字対を要素とする集合を訓練集合という。
【0039】
図4の訓練集合生成処理を開始すると、訓練集合生成部101は、訓練集合を空集合とし、訓練集合に追加された翻字対の数(これは、翻字対番号に一致する)を表す変数nに値「1」を代入することで当該変数nを初期化する(ステップS01)。次に、図5の情報取得部102は、日本語DBサーバ301から、日本語のオンライン百科辞典を構成する任意の解説頁を表す情報であって、未だ取得されていない情報を取得する(ステップS02)。次に、訓練集合生成部101は、取得された情報で表される解説頁から、当該解説頁の解説項目に記載された日本語の文字列を取得する(ステップS03)。
【0040】
その後、訓練集合生成部101は、取得された日本語の文字列が他の言語(つまり、外国語)の文字列を翻字したものであるか否かを、当該日本語の文字列がカタカナのみで構成されるか否かに基づいて判別する(ステップS04)。日本語では、外来語をカタカナのみで表記するためである。
【0041】
ステップS04において、取得された日本語の文字列が翻字されたものではないと判別された場合には(ステップS04;No)、訓練集合生成部101は、ステップS02に戻り上記処理を繰り返す。これに対して、取得された日本語の文字列が翻字されたものであると判別された場合には(ステップS04;Yes)、訓練集合生成部101は、取得された日本語の文字列が固有名詞であるか否かを判別する(ステップS05)。尚、ステップS05の判別方法は、例えば、取得された日本語の文字列が、情報記憶部103に予め記憶された情報で表される固有名詞と一致するか否かを判別する方法であっても良いし、他の公知の方法であっても良い。
【0042】
ステップS05において、取得された日本語の文字列が固有名詞でないと判別されると(ステップS05;No)、訓練集合生成部101は、ステップS02から上記処理を繰り返す。通常、解説頁の解説項目には、当該解説頁で解説される物の名称又は人の名前などの固有名詞を表す文字列が記載されるため、解説項目から取得された文字列が固有名詞でない場合には、正しく文字列が取得されなかったと考えられるためである。
【0043】
ステップS05において、取得された日本語の文字列が固有名詞であると判別されると(ステップS05;Yes)、訓練集合生成部101は、ステップS02で取得された日本語の解説頁から、当該日本語の解説頁に対応する対応頁(つまり、外国語のオンライン百科辞典の対応頁)のURLを抽出し、抽出されたURLに基づいて当該頁を表す情報を外国語DBサーバ302から取得する(ステップS06)。
【0044】
尚、日本語の解説頁には、当該日本語の解説頁と同じ物又は人を解説する外国語の対応頁のURLが記載されており、訓練集合生成部101は、日本語の解説頁に予め記載された対応頁のURLを抽出するとして説明したが、これに限定される訳ではない。例えば、訓練集合生成部101は、日本語の解説頁のURLに含まれるサブドメインであって、日本語DBサーバ301の設置された国を識別するサブドメインを「jp」から「en」、「de」、及び「fr」などに変更することで、外国語の対応頁のURLを取得してもよい。次に、訓練集合生成部101は、取得された情報で表される解説頁から、当該解説頁の解説項目に記載された外国語の文字列を取得する(ステップS07)。次に、訓練集合生成部101は、例えば、山田 ××(お笑い芸人)のように、同じ名前の有名人が複数存在する場合などにおいて、当該名前の後に括弧書きで付される説明書きなどのノイズを除去するために、取得された日本語の文字列及び外国語の文字列から、括弧及び当該括弧で括られた文字列を除去する。
【0045】
その後、訓練集合生成部101は、ステップS03で取得された日本語の文字列を原綴り文字列snとし、ステップS07で取得された外国語の文字列を目的綴り文字列tnとし、当該原綴り文字列snと当該目的綴り文字列tnとの対を翻字対とした後に(ステップS08)、当該翻字対を訓練集合に追加する(ステップS09)。次に、訓練集合生成部101は、図6(a)の基礎翻字テーブルへ、当該翻字対の翻字番号nを表す情報と、当該翻字対を構成する原綴り文字列snを表す情報と、目的綴り文字列tnを表す情報とを対応付けて保存する(ステップS10)。
【0046】
その後、訓練集合生成部101は、翻字番号を表す変数nの値を値「1」だけインクリメントした後に(ステップS11)、変数nの値が所定値m以上であるか否かを判別する(ステップS12)。尚、所定値mを表す情報は、図5の情報記憶部103に記憶されている。本実施例において、所定値mは「11,000」であるとして説明を行うが、これに限定される訳ではなく、当業者は好適な値を実験により定めることができる。
【0047】
ステップS12において、変数nの値が所定値m未満であると判別されると(ステップS12;No)、訓練集合生成部101は、ステップS02から上記処理を繰り返す。これに対して、変数nの値が所定値m以上であると判別されると(ステップS12;Yes)、訓練集合生成部101は、訓練集合生成処理の実行を終了する。
【0048】
翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図7の翻字処理を実行することで、図5に示すような第1生成部105a及び第2生成部105bを有する生成部105、初期化部106、並びに期待値算出部107a、判定部107b、及び最大化部107cを有する更新部107としてさらに機能する。また、CPU100aは、LANカード100fと協働して確率出力部108としてさらに機能する。
【0049】
図7の翻字処理について説明する前に、情報記憶部103が記憶するテーブルであって、翻字処理の実行に用いられる情報が保存されたテーブルについて説明を行う。
【0050】
情報記憶部103は、図8(a)に示すような基礎書換テーブルを記憶している。図8(a)基礎書換テーブルは、図8(b)から図8(d)の第1書換テーブルから第3書換テーブルの作成のために用いられるテーブルである。尚、第1書換テーブルから第3書換テーブルについては後述する。
【0051】
図8(a)の基礎書換テーブルには、図6(a)の基礎翻字テーブルに保存された情報で表される原綴り文字列snの断片(以下、原断片という)αを表す情報と、当該原綴り文字列を翻字した目的綴り文字列tnの断片であって、当該原断片αに対応する断片(以下、翻字断片という)βを表す情報と、当該原断片αと当該翻字断片βとの対(以下、断片対という)を識別する断片対番号jを表す情報と、翻字のために当該原断片αが当該翻字断片βに書き換えられる確率(以下、書換確率という)を表す情報と、が対応付けられて保存されている。尚、原断片及び翻字断片は、ともに1文字であっても良いし、2文字以上からなる文字列であっても良い。
【0052】
具体例としては、断片対番号「1」で識別される断片対は、「^f」という原断片αと、「^フ」という翻字断片βとで構成される。また、断片対番号「5」で識別される断片対は、「get$」という原断片αと、「ジェ$」という翻字断片βとで構成され、断片対番号「6」で識別される断片対は、「get$」という原断片αと、「ゲット$」という翻字断片βとで構成される。このように、同じ原断片「get$」に対して異なる翻字断片「ジェ$」と「ゲット$」とが対応付けられているのは、訓練集合に、末尾が「get$」である原綴り文字列snと、当該原綴り文字列snをフランス語読みした音韻に基づいて翻字された目的綴り文字列tnとの翻字対と、末尾が「get$」である原綴り文字列snと、当該原綴り文字列snを英語読みした音韻に基づいて翻字された目的綴り文字列tnとの翻字対とが含まれていたからである。尚、「^」は、直後に続く文字が文字列の先頭であることを表す記号であり、「$」は、直前の文字が文字列の末尾であることを表す記号である。
【0053】
さらに、情報記憶部103は、図9に示すような書換回数テーブルを記憶している。図9の書換回数テーブルには、翻字対番号nを表す情報と、断片対番号jを表す情報と、当該番号nで識別される翻字対を構成する原綴り文字列snを、当該翻字対を構成する目的綴り文字列tnに翻字するために、断片対番号jで識別される断片対の原断片αを翻字断片βに書き換えた書換回数fn(α→β)を表す情報とが対応付けられて保存されている。
【0054】
具体例としては、翻字対番号「1」で識別される翻字対を構成する原綴り文字列「flextime」を目的綴り文字列「フレックスタイム」に翻字するために、断片対番号「2」で識別される断片対を構成する原断片「le」を翻字断片「レ」に書き換えた書換回数は1回である。これに対して、原綴り文字列「flextime」を目的綴り文字列「フレックスタイム」に翻字するために、断片対番号「3」で識別される断片対の原断片「le」を翻字断片「ル」に書き換えた書換回数は0回である。また、翻字対番号「9」で識別される翻字対の原綴り文字列「mama」を目的綴り文字列「ママ」に翻字するために、断片対番号「100」で識別される断片対の原断片「ma」を翻字断片「マ」に書き換えた書換回数は2回である。
【0055】
図7の翻字処理が開始されると、図5の受付部104は、端末装置200から送信された情報で表される入力対を受け付ける(ステップS31)。次に、生成部105は、受け付けた入力対を翻字対とみなす。その後、生成部105は、当該翻字対を訓練集合に追加し、当該翻字対の翻字対番号をm+1とし、訓練集合に属する翻字対の数を表す変数Nをm+1とする。次に、生成部105は、図6(a)の基礎翻字テーブルへ、翻字対番号Nを表す情報と、当該翻字対を表す情報とを対応付けて追加保存する(ステップS32)。
【0056】
その後、生成部105が有する第1生成部105aは、図10に示すような第1生成処理を実行する(ステップS33)。
図10の第1生成処理を開始すると、第1生成部105aは、図6(a)の基礎翻字テーブルを参照することで訓練集合に含まれる翻字対を取得した後に、取得した翻字対を用いて、図9の書換回数テーブルを生成する(ステップS51)。具体的には、第1生成部105aは、訓練集合から全ての翻字対を取り出す。次に、第1生成部105aは、取り出した全ての翻字対に対して、当該翻字対を構成する原綴り文字列snの先頭に特殊文字「^」を追加し、末尾に特殊文字「$」を追加する。その後、第1生成部105aは、特殊文字が追加された文字列snを分割することで原断片αを生成する。
【0057】
ここで、原綴り文字列snの長さがAである場合(つまり、原綴り文字列snがA文字の文字列である場合)には、原綴り文字列snの分割方法Sは、2(A−1)−1通り存在する。第1生成部105aは、全通りの分割方法Sで原綴り文字列snを分割することで、全通りの原断片αを生成する。また、第1生成部105aは、上記原綴り文字列snの全通りの分割方法Sを要素とする集合をPart(sn)とする。同様に、第1生成部105aは、目的綴り文字列tnの全通りの分割方法Tを特定した後に、特定された全通りの分割方法Tを要素とする集合Part(tn)を生成する。その後、第1生成部105aは、全通りの分割方法Tで目的綴り文字列tnを分割することで全通りの翻字断片βを取得する。
【0058】
その後、第1生成部105aは、原断片αと翻字断片βとの全通りの組合せを生成し、生成された組合せ毎に上記の書換回数fn(α→β)を算出する。次に、第1生成部105aは、図9の書換回数テーブルへ、算出された書換回数fn(α→β)を表す情報を、翻字対番号nを表す情報と、原断片αと翻字断片βとで構成される断片対の断片対番号jを表す情報とに対応付けて保存する。
【0059】
図10のステップS51の後に、第1生成部105aは、図9の書換回数テーブルに基づいて、図8(a)の基礎書換テーブルを生成する(ステップS52)。具体的には、第1生成部105aは、算出された書換回数fn(α→β)を、以下の式(1)に用いることで、原断片αが翻字断片βに書き換えられる書換確率P(α→β)を算出する。
【0060】
【数1】
【0061】
その後、第1生成部105aは、算出された書換確率P(α→β)を表す情報を、原断片αと翻字断片βとで構成される断片対の断片対番号jを表す情報に対応付けて、図8(a)の基礎書換テーブルに保存する。
【0062】
図10のステップS52の後に、第1生成部105aは、図8(a)の基礎書換テーブルに基づいて図6(a)の基礎翻字テーブルを再生成した後に(ステップS53)、第1生成処理の実行を終了する。具体的には、先ず、第1生成部105aは、訓練集合に属する翻字対の内で、未処理の翻字対に注目する。次に、第1生成部105aは、注目した翻字対(以下、注目翻字対という)を構成する原綴り文字列sn及び目的綴り文字列tnと、算出された書換確率P(α→β)とを以下の式(2)に用いることで、注目翻字対についてαβ法を実行する。尚、αβ法の実行方法の詳細ついては、非特許文献2に記載されているため説明を省略する。また、本明細書は、非特許文献2の内容を参照により取り込む。
【0063】
【数2】
【0064】
但し、Tは、目的綴り文字列tnの分割方法を表し、Part(tn)は、全分割方法Tを要素とする集合である。同様に、Sは、原綴り文字列snの分割方法を表し、Part(sn)は、全分割方法Sを要素とする集合である。さらに、|S|は、原綴り文字列snを分割方法Sで分割した場合に生成される原断片αの数を表す。またさらに、αiは、原綴り文字列snを分割方法Sで分割した場合に生成される先頭からi番目の原断片を表し、βiは、目的綴り文字列tnを分割方法Tで分割した場合に生成される先頭からi番目の翻字断片を表す。
【0065】
このαβ法の実行により、第1生成部105aは、注目翻字対を構成する原綴り文字列snが当該目的綴り文字列tnに翻字される翻字確率Pαβ(sn|tn)を算出する。次に、第1生成部105aは、図6(a)の基礎翻字テーブルへ、算出された翻字確率Pαβ(sn|tn)を表す情報を、注目翻字対の翻字対番号nを表す情報に対応付けて保存する。その後、第1生成部105aは、未処理の翻字対が無くなるまで上記処理を繰り返す。
【0066】
図7のステップS33の後に、図5の受付部104は、端末装置200から送信された情報で表される言語数Kを受け付ける(ステップS34)。この言語数Kは、訓練集合に属する複数の翻字対をそれぞれ構成する原綴り文字列snを、起源言語に応じて幾つのクラスに潜在的に(つまり、明示的ではなく)分類するかを表す値である。具体的には、訓練集合に含まれる複数の原綴り文字列snが、英語、フランス語、スペイン語、ドイツ語、ポーランド語、及びロシア語のいずれかを起源言語とする場合に、受け付けた言語数Kが値「7」であれば、当該複数の原綴り文字列snは、それぞれ起源言語に応じて、英語のクラス、フランス語のクラス、ドイツ語のクラス、ポーランド語のクラス、及びロシア語のクラスという7つのクラスに潜在的に分類されることが多い。
【0067】
これに対して、受け付けた言語数Kが値「3」であれば、例えば、英語及びドイツ語のクラス、フランス語及びスペイン語のクラス、並びにポーランド語及びロシア語のクラスといった言語学上の語派に潜在的に分類されることが多い。同じ語派に属する起源言語を有する原綴り文字列snは、他の起源言語を有する文字列snよりも互いに類似した表記及び表記に対する音韻を用いることが多いためである。
【0068】
尚、フランス語及びスペイン語のように、同じクラスに潜在的に分類される原綴り文字列snの起源言語を総称して潜在言語という。本実施例では、潜在言語の数Kは「3」個であるとして説明を行うがこれに限定される訳ではない。「3」個の潜在言語は、言語番号「1」、「2」、及び「3」でそれぞれ識別される。この言語番号「1」、「2」、及び「3」でそれぞれ識別される潜在言語を第1言語、第2言語、及び第3言語と称する。本実施例において、言語番号zは潜在変数であり、言語番号zで識別される潜在言語は、具体的に何語であるかが特定されることはない。
【0069】
図7のステップS34の後に、図5の第2生成部105bは、図11に示すような第2生成処理を実行する。
図11の第2生成処理を開始すると、第2生成部105bは、図8(a)の基礎書換テーブルを読み込む(ステップS61)。その後、第2生成部105bは、読み込んだ基礎書換テーブルをK個コピーすることで、第1書換テーブルから第K書換テーブルまでのK個の書換テーブルを生成する(ステップS62)。具体的には、第2生成部105bは、図8(a)の基礎書換テーブルに保存された断片対を識別する番号jを表す情報と、当該断片対を構成する原断片αを表す情報と、当該断片対を構成する翻字断片βを表す情報と、当該原断片αを含む原綴り文字列snの起源言語が第1言語である条件の下で当該原断片αが翻字断片βに書き換えられる書換確率P(α→β|z=1)を表す情報とを対応付けて保存された第1書換テーブルを生成する。同様に、第2生成部105bは、書換確率P(α→β|z=2)を表す情報を保存された第2書換テーブルと、書換確率P(α→β|z=3)を表す情報を保存された第3書換テーブルとを生成する。
【0070】
ステップS62の後に、第2生成部105bは、図6(a)の基礎翻字テーブルを読み込む(ステップS63)。その後、第2生成部105bは、読み込んだ基礎翻字テーブルをK個コピーすることで、第1翻字テーブルから第K翻字テーブルまでのK個の翻字テーブルを生成した後に(ステップS64)、第2生成処理の実行を終了する。具体的には、第2生成部105bは、基礎翻字テーブルに保存された翻字対を識別する番号nを表す情報と、当該翻字対を構成する原綴り文字列snを表す情報と、当該翻字対を構成する目的綴り文字列tnを表す情報と、当該原綴り文字列snの起源言語が第1言語である条件の下で当該原綴り文字列snの翻字が目的綴り文字列tnである翻字確率P(tn|sn,z=1)を表す情報とを対応付けて保存された、図6(b)に示すような第1翻字テーブルを生成する。同様に、第2生成部105bは、図6(c)に示すような翻字確率P(tn|sn,z=2)を表す情報を保存された第2翻字テーブルと、図6(d)に示すような翻字確率P(tn|sn,z=3)を表す情報を保存された第3翻字テーブルとを生成する。
【0071】
尚、第2生成部105bは、翻字確率P(tn|sn,z=1)、翻字確率P(tn|sn,z=2)、及び翻字確率P(tn|sn,z=3)をそれぞれ所定量以上互いに異なる値に変更する。これらの翻字確率がそれぞれ所定量以上互いに異ならない場合には、後述するEM(Expectation Maximization)アルゴリズムのEステップ及びMステップが繰り返し実行されないためである。本実施例では、第2生成部105bは、同じ翻字対番号nを表す情報に対応付ける翻字確率P(tn|sn,z=1)、翻字確率P(tn|sn,z=2)、及び翻字確率P(tn|sn,z=3)を、当該翻字対番号nを表す情報に対応付けられた翻字確率Pαβ(tn|sn)に対して、それぞれランダムな値を加算、減算、乗算、及び除算などした値に設定するとして説明する。しかし、これに限定される訳ではなく、上記の翻字確率P(tn|sn,z=1)から翻字確率P(tn|sn,z=3)が、K個の言語毎にそれぞれ翻字確率Pαβ(tn|sn)と所定量ずつ異なる値に設定されても良い。
【0072】
図7のステップS35の後に、図5の初期化部106は、後述するEMアルゴリズムの実行に用いられるパラメタを初期化する初期化処理を実行する(ステップS36)。具体的には、初期化部106は、訓練集合に属する翻字対を構成するN個の原綴り文字列snの内で、言語番号kで識別される潜在言語を起源言語とする原綴り文字列snの割合を表す重みパラメタπkを所定の値「1/K」にそれぞれ初期化する。
【0073】
尚、所定の値を表す情報は、情報記憶部103に記憶されており、当該情報で表される重みパラメタπkの初期値は「1/K」に限定される訳ではなく、当業者は、実験により好適な値を定めることができる。また、重みパラメタπ1を、図6(a)に示す第1翻字テーブルの重みパラメタといい、同様に、重みパラメタπ2を、図6(b)に示す第2翻字テーブルの重みパラメタといい、重みパラメタπ3を、図6(c)に示す第3翻字テーブルの重みパラメタという。
【0074】
ステップS36の後に、図5の期待値算出部107aは、EMアルゴリズムのEステップを実行する(ステップS37)。具体的には、Eステップは、第1Eステップから第3Eステップで構成される。期待値算出部107aは、Eステップを初回に実行する場合には、Eステップを構成する第1Eステップから第3Eステップとの内で、第2Eステップ及び第3Eステップのみを実行し、そうでない場合には第1Eステップから順に第3Eステップまでを実行する。何故ならば、第1Eステップは、書換確率P(α→β|z=1)からP(α→β|z=3)を用いてαβ法を実行することで、翻字確率P(tn|sn,z=1)からP(tn|sn,z=3)を算出する処理であるため、初回の第1Eステップに相当する処理は、図10のステップS53及び図11のステップS64の処理であり、既に実行されているためである。
【0075】
期待値算出部107aは、第1Eステップを開始すると、言語番号「1」の第1言語に注目し、当該第1言語を注目言語とする。次に、期待値算出部107aは、注目言語に対応した図8(b)の第1書換テーブルから書換確率P(α→β|z=1)を参照する。その後、期待値算出部107aは、図6(b)の第1翻字テーブルに保存された情報で表される未処理の翻字対の1つに注目する。その後、期待値算出部107aは、注目した翻字対(以下、注目翻字対という)を構成する原綴り文字列snと目的綴り文字列tnと、参照した書換確率P(α→β|z=1)とを以下の式(3)に用いることでαβ法を実行する。
【0076】
【数3】
【0077】
但し、S及びT、Part(sn)及びPart(tn)、|S|、αi、並びにβiは、それぞれ上記式(2)で使用したものと同様であるので説明を省略する。
【0078】
上記式(3)を用いてαβ法を実行することにより、注目翻字対の翻字確率P(tn|sn,z=1)を算出し、図6(a)の第1翻字テーブルを算出された値を表す情報で更新する。その後、期待値算出部107aは、未処理の翻字対が無くなるまで上記処理を繰り返した後に、言語番号「2」で識別される第2言語を注目言語として上記処理を繰り返す。その後、期待値算出部107aは、言語番号「3」で識別される第3言語を注目言語として上記処理を繰り返した後に、第1Eステップを終了する。
【0079】
第2Eステップでは、期待値算出部107aは、翻字対番号nで識別される翻字対の原綴り文字列snが言語番号kで識別される潜在言語を起源としている場合に値「1」となり、そうでない場合に値「0」となる確率変数znkの期待値γnk(つまり、E[znk])を、全ての翻字対番号n及び全ての言語番号kについて以下の式(4)を用いて算出する。尚、期待値γnkは、翻字確率P(tn|sn,z=1)を、重みパラメタπkで重み付けした重付翻字確率であり、原綴り文字列snの起源言語が言語番号kで識別される潜在言語である確率(以下、起源確率という)でもある。
【0080】
【数4】
【0081】
第3Eステップでは、期待値算出部107aは、尤度関数Lの期待値Qを期待値γnkを用いて算出する。尚、尤度関数Lは、訓練集合が得られた(つまり、観測された)場合に、当該訓練集合の要素である複数の翻字対を言語番号「1」から「3」の3個の潜在言語に基づいて潜在的にクラス分けした翻字モデルにおける、図6(b)から図6(d)にそれぞれ示された第1翻字テーブルから第3翻字テーブルの尤もらしさを表す尤度を算出する関数であり、以下の式(5)で表される。
【0082】
【数5】
【0083】
図7のステップS37の後に、図5の判定部107bは、今回初めて尤度関数Lの期待値Qが算出されたか(つまり、Eステップが初めて実行されたか)否かを判別する(ステップS38)。このとき、更新部107は、今回初めて尤度関数Lの期待値Qが算出されたのではないと判別すると(ステップS38;No)、ステップS37で前回に算出された尤度関数Lの期待値Qから、今回に算出された尤度関数Lの期待値Qへの変化量の絶対値を算出する。次に、更新部107は、算出された変化量の絶対値が所定値Z以上であるか否かを判別する(ステップS39)。尚、所定値Zを表す情報は、図5の情報記憶部103に記憶されており、所定値Zの好適な値は、当業者が実験により定めることができる。なお、ここでは変化量の絶対値で判別を行っているが、絶対値でなく割合によって判別を行ってもよい。例えば、前回に算出された尤度関数Lの期待値Qに対する今回に算出された尤度関数Lの期待値Qの割合が所定値Z以上であるか否かを判別したり、前回に算出された期待値γnkに対する今回に算出された期待値γnkの割合が所定値Z以上であるか否かを判別したりすることもできる。
【0084】
ステップS38において、更新部107が、今回初めて尤度関数Lの期待値Qが算出されたと判別した場合(ステップS38;Yes)、又は期待値Qの変化量の絶対値が所定値Z以上であると判別した場合に(ステップS39;Yes)、図5の最大化部107cは、尤度関数Lの期待値Qを最大化するMステップを実行する(ステップS40)。
【0085】
具体的には、最大化部107cは、図9の書換回数テーブルに保存された情報で表される書換回数fn(α→β)と、図7のステップS37(つまり、Eステップ)で算出された期待値γnkを以下の式(6)及び(7)に用いることで、尤度関数Lの期待値Qを最大化する重みパラメタπk*と、翻字確率P(tn|sn,z=k)*とを、全ての翻字対番号n及び言語番号kについてそれぞれ算出する。
【0086】
【数6】
【0087】
図7のステップS40の後に、更新部107は、ステップS37で尤度関数Lの期待値Qを算出するために用いられる重みパラメタπkを、ステップS40で算出された最適な重みパラメタπk*(つまり、尤度関数Lの期待値Qを最大にする最適解)に更新し、図6(b)から図6(d)の第1翻字テーブルから第3翻字テーブルにそれぞれ保存された翻字確率P(tn|sn,z=1)から翻字確率P(tn|sn,z=3)を表す情報を、それぞれ最適な翻字確率P(tn|sn,z=1)*からP(tn|sn,z=3)*を表す情報に更新するパラメタ更新処理を実行する(ステップS41)。その後、ステップS37から上記処理が繰り返される。
【0088】
判定部107bが、前回算出された尤度関数Lの期待値Qから、今回算出された尤度関数Lの期待値Qへの変化量の絶対値が所定値Z未満であると判別した場合に(ステップS39;No)、図5の確率出力部108は、入力対を識別する番号Nを表す情報に対応付けられた翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)を表す情報を、図6(b)の第1翻字テーブルないし図6(d)の第3翻字テーブルから参照する。その後、確率出力部108は、参照した翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)の内で最大の翻字確率を表す情報を端末装置200へ出力(つまり、送信)した後に(ステップS42)、翻字処理の実行を終了する。
【0089】
次に、EMアルゴリズムの実行に伴う書換確率P(α→β|z=1)、翻字確率P(tn|sn,z=1)、及び重付翻字確率(つまり、確率変数znkの期待値であり、起源確率である)γnkの変化について説明する。
図11のステップS62において、図8(b)の第1書換テーブルに保存された断片対番号「5」で識別される断片対を構成する原断片「get$」が翻字断片「ジェ$」に書き換えられる書換確率P(α→β|z=1)が、他の書換確率P(α→β|z=2)及びP(α→β|z=3)よりも高い値に設定されると、原断片「get$」を含む原綴り文字列s2「xxaget」が翻字断片「ジェ」を含む目的綴り文字列t2「△アジェ」に翻字される翻字確率P(tn|sn,z=1)は、上記の式(3)を用いて算出されるため、図12(a)に示すように、他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりも高くなる。
【0090】
翻字確率P(tn|sn,z=1)が他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりも高くなると、上記の式(4)で算出される重付翻字確率γ21が、図12(b)に示すように、他の重付翻字確率γ22及びγ23よりも高くなる。
【0091】
重付翻字確率γ21が高くなると、上記の式(6)で算出される最適な重みパラメタπ1*が、他の重みパラメタπ2*及びπ3*よりも大きくなる。このため、上記の式(4)で算出される重付翻字確率γ21がさらに高くなる。
【0092】
重付翻字確率γ21がさらに高くなると、図12(c)に示すように、上記の式(7)で算出される書換確率P(α→β|z=1)が、他の書換確率P(α→β|z=2)及びP(α→β|z=3)よりも高い値に更新される。このため、翻字確率P(t2|s2,z=1)が他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりもさらに高くなる。
【0093】
このようにして、潜在言語が何語であるか特定されないにも関わらず、原綴り文字列s2の末尾を構成する原断片「get$」を翻字断片「ジェ」に書き換える書換確率P(α→β|z=1)が高い、例えば、フランス語のような潜在言語に対応した第1翻字テーブルでは、当該潜在言語を起源言語とする原綴り文字列s2「xxaget」を当該起源言語の音韻に従って目的綴り文字列t2「△アジェ」に翻字される翻字確率P(t2|s2,z=1)が高い値となる。
【0094】
これらの構成によれば、書換確率P(α→β,z=k)を用いて翻字確率P(tn|sn,z=k)を算出してから、当該翻字確率P(tn|sn,z=k)を用いて算出される尤度関数Lの期待値Qを最大化するように書換確率P(α→β,z=k)を更新した後に、翻字確率P(tn|sn,z=k)の算出と書換確率P(α→β,z=k)の更新とを繰り返す。このため、書換確率P(α→β,z=k)を表す情報が保存された書換テーブルに対応した潜在言語及び翻字確率P(tn|sn,z=k)を表す情報が保存された翻字テーブルに対応した潜在言語のいずれもが不明であっても(つまり、翻字の対象とされる原綴り文字列snが何語を起源とするか不明な場合でも)、翻字された目的綴り文字列tnが当該対象を翻字したものであるかを翻字確率P(tn|sn,z=k)に基づいて従来よりも正確に特定できる。
【0095】
またこれらの構成によれば、翻字確率P(tn|sn,z=k)と、重みパラメタπkとを用いて起源確率(つまり、確率変数znkの期待値であり、起源確率である)γnkを求めた後に、翻字確率P(tn|sn,z=k)だけでなく起源確率γnkをさらに用いて算出される尤度関数Lの期待値を最大化するように、翻字確率P(tn|sn,z=k)だけでなく重みパラメタπkをも更新するため、尤度関数Lの期待値が従来よりさらに最大化する。このため、翻字の対象とされる原綴り文字列snが何語を起源とするか不明な場合でも、翻字された目的綴り文字列tnが当該対象を翻字したものであるかを精度良く特定できる。
【0096】
これらの構成によれば、1個の基礎書換テーブルからαβ法を実行することで生成された1個の基礎翻字テーブルに含まれる翻字確率Pαβ(sn|tn)を、K個の言語毎に変化させることによりK個の言語に対応したK個の翻字表を生成し、生成されたK個の翻字テーブルのそれぞれに含まれる翻字確率P(tn|sn,z=k)をEMアルゴリズムにより更新する。このため、K個の翻字テーブルの生成に要する計算量を削減しつつ、尤度関数Lの期待値を従来より確実に最大化できる。
【0097】
またこれらの構成によれば、尤度関数Lの期待値Qの変化量が所定の大きさ未満となるまで翻字確率P(tn|sn,z=k)及び重みパラメタπkの更新を繰り返すので、尤度関数Lの期待値Qを従来より確実に最大化できる。
【0098】
さらにこれらの構成によれば、第1文字列と第2文字列とを受け付けると、受け付けられた第2文字列が、第1文字列を翻字したものである確率を出力するため、第1文字列が何語を起源とするか不明な場合でも、第1文字列と第2文字列とを受け付ければ、第2文字列が第1文字列を翻字したものである確率を従来よりも正確に算出して出力できる。このため、翻字処理装置100を使用するユーザは、第1文字列の起源言語を知らない場合であっても、第1文字列と、第1文字列の翻字と考えられる第2文字列とを翻字処理装置100へ入力しさえすれば、第1文字列と第2文字列との翻字確率を知ることができる。このため、ユーザは、翻字確率に基づいて、第2文字列が第1文字列の正しい翻字であるか否かを容易かつ正確に判断できる。
【0099】
またこれらの構成によれば、訓練集合に含まれていない第1文字列を受け付け、受け付けられた第1文字列と、第2文字列との翻字確率を算出する。このため、予め訓練集合に含まれていない第1文字列と第2文字列との対(つまり、入力対)であっても、第2文字列が第1文字列を翻字したものである確率を従来よりも正確に算出して出力できる。
【0100】
なお、本実施例において、ステップS34で端末装置200から送信された情報で表される言語数Kを受け付ける、としたが、翻字処理装置100に予めKの値が設定されていてもよい。また、設定する言語数Kの値は1つではなく、複数であってもよい。例えば、値「3」、「4」、「5」の3つがKとして設定されていれば、それぞれで求められた翻字確率のうち、最も高い翻字確率に基づいて第2文字列が第1文字列の正しい翻字であるか否かをユーザは判断できる。
【0101】
<変形例1>
次に、本実施例の変形例1について説明を行う。
本実施例では、図5の生成部105が、図10のステップS53において、翻字確率Pαβ(sn|tn)を表す情報が保存された図6(a)の基礎翻字テーブルを生成してから、図11のステップS64において、当該基礎翻字テーブルに基づいて第1翻字テーブルから第3翻字テーブルを生成するとして説明した。また、本実施例では、図5の更新部107が、図7のステップS37(つまり、Eステップ)の初回の実行時において、第1Eステップ(つまり、第1書換テーブルから第3書換テーブルを用いたαβ法を実行することで、翻字確率P(tn|sn,z=k)を算出するステップ)を実行しないとして説明した。
【0102】
じかし、これに限定される訳ではなく、変形例1では、図5の生成部105が、図10のステップS53において、翻字確率Pαβ(sn|tn)を表す情報が保存されていない基礎翻字テーブルを生成してから、図11のステップS62において、基礎書換テーブルに基づいて第1基礎書換テーブルから第3基礎翻字テーブルを生成した後に、図5の更新部107が、図7のステップS37の初回の実行時において、第1Eステップから順に第3Eステップまでを実行する。この変形例1において、生成部105は、同じ断片対番号jを表す情報に対応付ける書換確率P(α→β,z=1)からP(α→β,z=3)を、当該断片対番号jを表す情報に対応付けられた書換確率P(α→β)に対して、それぞれランダムな値を加算、減算、乗算、及び除算などした値に設定しても良いし、K個の言語毎にそれぞれ所定量ずつ異なる値に設定しても良い。
【0103】
これらの構成によれば、1個の基礎書換テーブルに含まれる書換確率P(α→β)を変化させることにより、K個の言語に対応したK個の書換テーブルを生成しても、翻字確率P(tn|sn,z=k)の算出と、書換確率P(α→β,z=k)の更新とを繰り返すので、K個の書換テーブルの生成に要する計算量を削減しながら、尤度関数Lの期待値Qを従来より確実に最大化できる。
【0104】
<変形例2>
次に、本実施例の変形例2について説明を行う。
変形例2において、図1の端末装置200は、図2(a)の入力画面FI2ではなく、図13(a)に示すような入力画面FI2を表示することで、任意の起源言語における綴りからなる第1文字列を入力するように促す表示を行う。次に、端末装置200は、ユーザの操作に応じた各種の信号を翻字処理システム1に入力し、入力された信号に基づいて第1文字列を生成し、生成した第1文字列を表す情報を翻字処理装置100へ送信する。その後、端末装置200は、翻字処理装置100から返信された情報を受信し、受信された情報に基づいて、図2(b)の結果表示画面FO1ではなく、図13(b)に示すような結果表示画面FO2に、第1文字列と、当該第1文字列が翻字されうる上記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される確率とを、当該確率が高い順に一覧表示する。尚、端末装置200は、候補文字列を当該確率が低い順に一覧表示しても良い。また、端末装置200は、当該確率が最も高い第1文字列と候補文字列と当該確率とを1つだけ表示しても良い。さらに、端末装置200は、最も高い確率が所定の閾値を超えている場合に限り、当該最高の確率と1文字列と候補文字列と当該確率とを1つだけ表示しても良い。
【0105】
変形例2の翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図7ではなく図14の翻字処理を実行することで、図5ではなく図15に示すような各機能部101から107と、候補出力部109として機能する。
【0106】
図14の翻字処理を開始すると、図15の受付部104は、端末装置200から送信された情報で表される第1文字列を受け付ける(ステップS71)。次に、生成部105は、図10の第1生成処理を実行する(ステップS72)。その後、生成部105は、受け付けた第1文字列の候補文字列を複数生成する(ステップS73)。
【0107】
具体的には、生成部105は、第1文字列に対して任意の分割方法Sで分割を行い、全通りの断片文字列又は断片文字(以下、断片という)を取得する。次に、生成部105は、図8(a)の基礎書換テーブルに保存された情報で表される断片対を構成する原断片αの内で、取得された断片と同じものの全組み合わせ(つまり、全並び)を生成し、生成した全組み合わせの内で、第1文字列となるものを特定する。その後、生成部105は、図8(a)の基礎書換テーブルから、特定された組み合わせを構成する原断片αで構成される断片対を表す情報を全て取得し、取得した情報で表される断片対を構成する翻字断片βを、当該翻字断片βの対となる原断片αの組み合わせ順(つまり、並び順)に従って組み合わせる。このようにして、生成部105は、第1文字列の翻字として考えられる全ての候補文字列を生成する。
【0108】
図14のステップS73の後に、生成部105は、生成された複数の候補文字列毎に、ステップS71で受け付けられた第1文字列と、第1文字列の翻字と考えられる当該候補文字列との対(以下、候補対という)を生成する(ステップS74)。その後、生成部105は、候補対を翻字対とみなして訓練集合へ追加し、訓練集合に含まれる翻字対の数Nの値を、追加した候補対の数だけ増加させる。次に、生成部105は、当該候補対を表す情報を、当該候補対を識別する番号nを表す情報とを対応付けて、図6(a)の基礎翻字テーブルに追加保存する(ステップS75)。
【0109】
その後、図7のステップS34からステップS41の処理と同様の処理である、図14のステップS76からステップS83の処理が実行される。
【0110】
上記処理の実行中に、ステップS81において、判定部107bが、前回算出された尤度関数Lの期待値Qから、今回算出された尤度関数Lの期待値Qへの変化量の絶対値が所定値Z未満であると判別した場合に(ステップS81;No)、図15の候補出力部109は、それぞれの候補対を識別する番号nを表す情報に対応付けられた翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)を表す情報を、図6(b)の第1翻字テーブルないし図6(d)の第3翻字テーブルから参照する。その後、候補出力部109は、それぞれの候補対を表す情報と、参照された翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)の内で最大の翻字確率を表す情報を対応付けた候補リスト情報を生成する。その後、候補出力部109は、生成された候補リスト情報で表される候補文字列のリスト(以下、候補リストという)を、上記最大の翻字確率に基づいて昇順又は降順にソートする。その後、候補出力部109は、ソートされたリストをリストの先頭から順に端末装置200へ出力(つまり、送信)した後に(ステップS84)、翻字処理の実行を終了する。
【0111】
これらの構成によれば、第1文字列を受け付けると、第1文字列の翻字と考えられる複数の候補文字列を、当該候補文字列が第1文字列の翻字である翻字確率に基づいて出力するため、第1文字列が何語を起源とするか不明な場合でも、第1文字列を受け付ければ、複数の候補文字列を翻字確率の高い又は低い順に出力できる。このため、翻字処理装置100を使用するユーザは、第1文字列の起源言語を知らない場合であっても、第1文字列を翻字処理装置100へ入力しさえすれば、第1文字列の翻字と考えられる複数の候補文字列を取得できる。
またこれらの構成によれば、訓練集合に含まれていない第1文字列を受け付け、受け付けられた第1文字列の候補文字列を生成し、生成された候補文字列との翻字確率を算出する。このため、予め訓練集合に含まれていない第1文字列であっても、第1文字列を受け付ければ、複数の候補文字列を翻字確率の高い又は低い順に出力できる。
【0112】
<変形例3>
次に、本実施例の変形例3について説明を行う。
変形例3の翻字処理システム1は、図1の外国語DBサーバ302を有さず、図16に示すように検索エンジン400を有する。
検索エンジン400は、検索キーワードを表す情報と、当該検索キーワードを含む内容が記載されたWeb(World Wide Web)頁のURLを表す情報と、当該Web頁に記載された内容の内で、当該キーワードを含む部分であるスニペットを表す情報とを対応付けて記憶している。検索エンジン400は、翻字処理装置100から検索キーワードを表す情報と、検索を求めるリクエストとを受信すると、受信した検索キーワードを表す情報に対応付けて記憶するスニペットを表す情報を複数検索する。その後、検索エンジン400は、図17に示すようなスニペットSP1及びSP2を含む検索結果画面FSを表す情報を翻字処理装置100へ返信する。
【0113】
変形例3の翻字処理装置100は、図4の訓練集合生成処理の実行において、日本語のオンライン百科事典の解説項目から取得した文字列が、固有名詞であると判別すると(ステップS05;Yes)、ステップS06を実行せず、図18の検索エンジン400に対して、当該日本語の文字列を検索キーワードとして、当該キーワードと検索リクエストとを出力する(ステップS91)。次に、図5に示した翻字処理装置100の情報取得部102は、検索エンジン400から、検索キーワードに基づいて検索されたスニペットを表す情報を複数取得する(ステップS92)。
【0114】
その後、図5に示した翻字処理装置100の訓練集合生成部101は、スニペットに記載された検索キーワード(つまり、日本語の解説項目に記載された文字列)よりも所定数だけ前又は後の単語を取得する(ステップS93)。その後、訓練集合生成部101は、取得された単語がアルファベットで構成された文字列で表記されているか否かに基づいて、当該単語が外国語における綴りからなる文字列で表記されているか否かを判別する(ステップS94)。このとき、取得された単語が外国語における綴りからなる文字列で表記されてないと判別されると(ステップS94;No)、図4のステップS02から処理が繰り返される。
【0115】
これに対して、取得された単語が外国語における綴りからなる文字列で表記されていると判別されると(ステップS94;Yes)、訓練集合生成部101は、当該取得された外国語の文字列を検索キーワードとして、上記ステップS91及びステップS92と同様の処理を実行する(ステップS95及びステップS96)。
【0116】
その後、訓練集合生成部101は、取得された単語が日本語における綴りからなる文字列で表記されているか否かを判別する(ステップS98)。具体的には、訓練集合生成部101は、取得された単語が漢字、ひらがな、及びカタカナのいずれか1つ以上で構成された文字列で表記されていると判別すると、当該単語が日本語における綴りからなる文字列で表記されていると判別する。これに対して、訓練集合生成部101は、取得された単語が漢字、ひらがな、及びカタカナのいずれによっても構成されていない文字列で表記されていると判別すると、当該単語が日本語における綴りからなる文字列で表記されていないと判別する。
【0117】
ステップS98において、取得された単語が日本語における綴りからなる文字列で表記されてないと判別されると(ステップS98;No)、図4のステップS02から処理が繰り返される。これに対して、取得された単語が日本語における綴りからなる文字列で表記されていると判別されると(ステップS98;Yes)、訓練集合生成部101は、図4のステップS03で日本語の解説項目から取得された文字列と、図18のステップ97でスニペットから取得された日本語の文字列とが、一致しているか否かを判別する(ステップS99)。このとき、2つの文字列が一致していないと判別されると(ステップS99;No)、図4のステップS02から処理が繰り返される。
【0118】
ステップS99において、2つの文字列が一致していると判別されると(ステップS99;Yes)、日本語の解説項目から取得された日本語の文字列と、当該日本語の文字列に基づいて検索されたスニペットから取得された外国語の文字列とを、翻字対とし(ステップS100)、当該外国語の文字列を原綴り文字列snとし、当該日本語の文字列を目的綴り文字列tn(つまり、原綴り文字列snの翻字)とする。その後、当該翻字対を訓練集合へ追加する、図4のステップS09の処理から、図4の訓練集合生成処理の実行が継続される。
【0119】
尚、本変形例4において、翻字処理装置100は、日本語のオンライン百科事典の解説項目から取得した日本語の文字列に基づいて検索されたスニペットから外国語の文字列を取得し、取得された外国語の文字列に基づいて検索されたスニペットから日本語の文字列を取得し、これら2つの日本語の文字列が一致する場合に、外国語の文字列を原綴り文字列snとし、日本語の文字列を目的綴り文字列tnとするとして説明した。しかし、これに限定される訳ではなく、翻字処理装置100は、外国語のオンライン百科事典の解説項目から取得した外国語の文字列に基づいて検索されたスニペットから日本語の文字列を取得し、取得された日本語の文字列に基づいて検索されたスニペットから外国語の文字列を取得し、これら2つの外国語の文字列が一致する場合に、外国語の文字列を原綴り文字列snとし、日本語の文字列を目的綴り文字列tnとしても良い。
【0120】
通常、互いに翻字関係にある原綴り文字列snと目的綴り文字列tnとは、Web頁において、互いに前後に位置するように記載されることが多い。このため、これらの構成によれば、原綴り文字列snの起源言語が不明な場合であっても、従来よりも精度良くかつ簡単に原綴り文字列snと目的綴り文字列tnとの翻字対を取得できる。また、原綴り文字列snの起源言語が明確だが、当該起源言語における原綴り文字列snの音韻が不明な場合であっても、原綴り文字列snと目的綴り文字列tnとの翻字対を、従来よりも精度良くかつ簡単に取得できる。
【0121】
本実施例において、図6(a)から図6(d)及び図9に示すように、目的綴り文字列tnは、カタカナで表されるとして図示及び説明したが、これ限定される訳ではなく、例えば、ローマ字や他の文字で表されてもよい。同様に、図8(a)から図8(d)及び図9に示すように、翻字断片βは、カタカナで表されるとして図示及び説明したが、これ限定される訳ではなく、例えば、ローマ字で表されてもよい。
【0122】
本実施例と、変形例1から3とは、互いに組み合わせることができる。本実施例に係る機能を実現するための構成を備えた翻字処理装置100として提供できることはもとより、複数の装置で構成される翻字処理システムであって、本実子例に係る機能を実現するための構成をシステム全体として備えた翻字処理システムとして提供することもできる。
【0123】
なお、本実施例に係る機能を実現するための構成を予め備えた翻字処理装置100として提供できることはもとより、プログラムの適用により、既存の翻字処理装置100を本実施例に係る翻字処理装置100として機能させることもできる。すなわち、上記実施例で例示した翻字処理装置100による各機能構成を実現させるための翻字処理プログラムを、既存の翻字処理装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、本実施例に係る翻字処理装置100として機能させることができる。
【0124】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る翻字処理方法は、本発明に係る翻字処理装置100を用いて実施できる。
【0125】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0126】
10:通信網
100:翻字処理装置
100a:CPU
100b:ROM
100c:RAM
100d:ハードディスク
100e:メディアコントローラ
100f:LANカード
100g:ビデオカード
100h:LCD
100i:キーボード
100j:スピーカ
100k:マウス
101:訓練集合生成部
102:情報取得部
103:情報記憶部
104:受信部
105:生成部
105a:第1生成部
105b:第2生成部
106:初期化部
107:更新部
107a:期待値算出部
107b:判定部
107c:最大化部
108:確率出力部
109:候補出力部
200:端末装置
301:日本語DBサーバ
302:外国語DBサーバ
400:検索エンジン
【技術分野】
【0001】
本発明は、翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法に関する。
【背景技術】
【0002】
従来から、ある言語の文字列snを他の言語の文字列tnに翻字する翻字モデルを、当該ある言語の文字列snで表される人名が中国語、日本語、及び英語のいずれを起源とするかに応じて切り替え、切り替えられたモデルを用いて翻字を行う方法が知られている(例えば、非特許文献1)。
【0003】
また従来から、ある言語の文字列snを構成する文字列又は文字(以下、断片という)αが、他の言語の文字列tnを構成する断片βに書き換えられる書換確率に基づいて当該ある言語の文字列snが当該他の言語の文字列tnに翻字される翻字確率を算出するαβ法が知られている(例えば、非特許文献2)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】ハイゾー・リー(Haizhou Li)、他3名著、「セマンティク トランスリタレーション オブ パーソナル ネームズ(Semantic Transliteration of Personal Names)」、2007年6月、p.120−127
【非特許文献2】エリック・ビル(Eric Brill)、他1名著、「アン アンプルーブドブド エラー モデル フォー ノイジー チャネル スペリング コレクション(An improved error model for noisy channel spelling Correction)」、2000年、p.286−293
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、非特許文献1の方法では、ある言語の文字列snで表される人名が何語を起源とするかが不明な場合には、翻字モデルを切り替えることができない。また非特許文献2の方法では、ある文字列snが言語の起源とするかが不明な場合には、翻字確率を算出できない。このため、これらの方法では、ある言語の文字列snが他の言語の文字列tnの翻字であるかを精度良く特定できないという問題があった。
【0006】
本発明は、このような点に鑑みてなされたものであり、その目的とするところは、翻字の対象とされる文字列が何語を起源とするか不明な場合でも、翻字された文字列が当該対象を翻字したものであるかを従来よりも精度良く特定できる翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の第1の観点に係る翻字処理装置は、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
を備えることを特徴とする。
【0008】
また、第1の観点に係る翻字処理装置において、
前記K個の翻字表それぞれに対応した起源言語を起源とする原綴り文字列が、前記訓練集合に含まれる複数の原綴り文字列に占める割合をそれぞれ示す、前記K個の翻字表の重みパラメタを初期化する初期化部、を更に備え、
前記更新部は、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の翻字表に含まれる当該翻字確率の前記重みパラメタによる重み付き平均に基づいて、前記原綴り文字列の起源言語が当該翻字表に対応した起源言語である起源確率をそれぞれ算出した後に、当該起源確率をさらに用いて算出される前記尤度関数の期待値を最大化するように、前記K個の重みパラメタを更新した後に、前記起源確率の算出と前記重みパラメタの更新とを繰り返す、としても良い。
【0009】
また、第1の観点に係る翻字処理装置において、
前記生成部は、1個の前記書換表を生成した後に、前記生成された1個の書換表に含まれる書換確率を、前記K個の言語毎に変化させることにより、前記K個の言語に対応したK個の書換表を生成する、としても良い。
【0010】
また、第1の観点に係る翻字処理装置において、
前記生成部は、1個の前記書換表を用いたαβ法により1個の前記翻字表を生成した後に、前記生成された1個の翻字表に含まれる翻字確率を変化させることにより、前記K個の言語に対応したK個の翻字表を生成し、
前記更新部は、前記K個の翻字表のそれぞれに含まれる翻字確率をEMアルゴリズムにより更新する、としても良い。
【0011】
また、第1の観点に係る翻字処理装置において、
前記更新部は、前記更新による前記尤度関数の期待値の変化量が、所定の大きさ未満となるまで前記更新を繰り返す、としても良い。
【0012】
また、第1の観点に係る翻字処理装置において、
前記任意の起源言語における綴りからなる第1文字列と、前記所定の目的言語における綴りからなる第2文字列と、を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が前記受け付けられた第2文字列に翻字される翻字確率を求め、当該求められた翻字確率を出力する確率出力部、
をさらに備える、としても良い。
【0013】
また、第1の観点に係る翻字処理装置において、
前記任意の起源言語における綴りからなる第1文字列を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が翻字されうる前記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される翻字確率を求め、当該求められた翻字確率が高い順に当該求められた候補文字列を出力する候補出力部、
をさらに備える、としても良い。
【0014】
また、第1の観点に係る翻字処理装置において、
前記受付部は、前記訓練集合に含まれていない第1文字列を受け付ける、としても良い。
【0015】
上記目的を達成するため、本発明の第2の観点に係る翻字処理プログラムは、
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする。
【0016】
上記目的を達成するため、本発明の第3の観点に係るコンピュータ読み取り可能な記録媒体は、
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラムを記録している。
【0017】
上記目的を達成するため、本発明の第4の観点に係る翻字処理方法は、
生成部及び更新部とを備える翻字処理装置が実行する方法であって、
前記生成部が、任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成ステップ、
前記更新部が、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新ステップ、
を有することを特徴とする。
【発明の効果】
【0018】
本発明に係る翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法によれば、翻字の対象とされる文字列が何語を起源とするか不明な場合でも、翻字された文字列が当該対象を翻字したものであるかを従来よりも精度良く特定できる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施例に係る翻字処理システムの一構成例を表すシステム構成図である。
【図2】(a)は、端末装置が表示する入力画面の一例を表す図である。(b)は、端末装置が表示する結果表示画面の一例を表す図である。
【図3】本発明の実施例に係る翻字処理装置の一構成例を表すハードウェア構成図である。
【図4】本発明の実施例に係る翻字処理装置が実行する訓練集合生成処理の一例を表すフローチャートである。
【図5】本発明の実施例に係る翻字処理装置が発揮する機能の一例を表す機能ブロック図である。
【図6】(a)は、基礎翻字テーブルの一例を表す図である。(b)は、第1翻字テーブルの一例を表す図である。(c)は、第2翻字テーブルの一例を表す図である。(d)は、第3翻字テーブルの一例を表す図である。
【図7】翻字処理装置が実行する翻字処理の一例を表すフローチャートである。
【図8】(a)は、基礎書換テーブルの一例を表す図である。(b)は、第1書換テーブルの一例を表す図である。(c)は、第2書換テーブルの一例を表す図である。(d)は、第3書換テーブルの一例を表す図である。
【図9】書換回数テーブルの一例を表す図である。
【図10】翻字処理装置が実行する第1生成処理の一例を表すフローチャートである。
【図11】翻字処理装置が実行する第2生成処理の一例を表すフローチャートである。
【図12】(a)は、EMアルゴリズムに従った処理の実行により生じる翻字確率の変化を説明するための図である。(b)は、重付翻字確率の変化を説明するための図である。(c)は、書換確率の変化を説明するための図である。
【図13】(a)は、本発明の実施例の変形例2に係る端末装置が表示する入力画面の一例を表す図である。(b)は、変形例2に係る端末装置が表示する結果表示画面の一例を表す図である。
【図14】本発明の実施例の変形例2に係る翻字処理装置が実行する翻字処理の他例を表すフローチャートである。
【図15】本発明の実施例の変形例2に係る翻字処理装置が発揮する機能の一例を表す機能ブロック図である。
【図16】本発明の実施例の変形例3に係る翻字処理システムの一構成例を表すシステム構成図である。
【図17】検索エンジンが返信する検索結果画面の一例を表すシステム構成図である。
【図18】本発明の実施例の変形例3に係る翻字処理装置が実行する翻字処理の他例を表すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施例について添付図面を参照しつつ説明する。
【0021】
図1の翻字処理システム1は、コンピュータ通信網10(以下単に、通信網10という)と、本発明の翻字処理装置100と、端末装置200と、日本語データベースサーバ(以下、日本語DBサーバという)301及び外国語データベースサーバ(以下、外国語DBサーバという)302とで構成される。
【0022】
通信網10は、例えば、インターネットで構成される。通信網10は、LAN(Local Area Network)又は公衆回線網であっても良い。
【0023】
翻字処理装置100について説明する前に、端末装置200と日本語DBサーバ301及び外国語DBサーバ302について説明する。
端末装置200は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボードなどの入力部とを備えたパーソナル・コンピュータで構成される。端末装置200は、図2(a)に示すような入力画面FI1を表示することで、任意の起源言語における綴りからなる第1文字列と、当該第1文字列を所定の目的言語の文字列に翻字した文字列であるとユーザが考える文字列であって、所定の目的言語における綴りからなる第2文字列との対(以下、入力対という)を入力するように促す表示を行う。
【0024】
尚、翻字とは、例えば、「Barak Obama」を「バラクオバマ」と翻訳するように、表記体系の異なる言語間における音韻的な翻訳をいう。本実施例において、所定の目的言語は日本語であり、任意の起源言語は、例えば、英語、フランス語、スペイン語、ドイツ語、ポーランド語、及びロシア語などの表記にアルファベットを用いる言語であれば何語であっても構わないとして説明を行うが、これに限定される訳ではない。例えば、所定の目的言語は英語であり、任意の起源言語は、例えば、日本語及び中国語などの表記に漢字を用いる言語であっても良い。
【0025】
また、第1文字列の起源言語とは、当該第1文字列の読み方を定める言語をいう。例えば、第1文字列が「monget」であり、当該文字列が文字商標を構成する場合であって、当該商標の使用者が当該文字商標をフランス語読みで「モンジェ」と称呼するように、当該商標が付された商品の販売者や広告会社等に依頼する場合には、当該第1文字列の起源言語はフランス語である。また、例えば、第1文字列が「Monet」であり、当該文字列がフランス人の名前を表す場合には、第1文字列「Monet」はフランス語読みで「モネ」と読まれるので、当該第1文字列の起源言語はフランス語である。つまり、第1文字列の起源言語は、第1文字列を使用する者が定める言語であってもよいし、第1文字列で表される内容によって必然的に定まるものであっても良い。しかし、起源言語は、例えば、英語「etc」がラテン語「et cetera」を起源とするというような、ある文字列の語源となった言語をいうのではない。
【0026】
図2(a)の入力画面FI1を表示した後に、端末装置200は、ユーザの操作に応じた各種の信号を翻字処理システム1に入力し、入力された信号に基づいて入力対を生成し、生成した入力対を表す情報を翻字処理装置100へ送信する。その後、端末装置200は、翻字処理装置100から返信された情報を受信し、受信された情報に基づいて、図2(b)に示すような結果表示画面FO2に、当該入力対を構成する第1文字列及び第2文字列と、当該第2文字列が当該第1文字列の翻字である確率とを表示する。
【0027】
日本語DBサーバ301及び外国語DBサーバ302は、例えば、Wikipedia(登録商標)及びDBpediaなどの不特定のユーザが編集を許可されたオンライン百科事典の解説頁を表す情報を管理するデータベースを有し、当該データベースで管理される情報をインターネット上に公開する。尚、日本語DBサーバ301は、日本語の解説頁を表す情報を管理及び公開し、外国語DBサーバ302は、外国語の解説頁を表す情報を管理及び公開する。日本語DBサーバ301が公開する日本語の解説頁には、当該日本語の解説頁と同じ物又は人を解説する外国語の解説頁(以下、対応頁という)のURL(Uniform Resource Locator)が記載されている。
【0028】
翻字処理装置100は、ウェブサーバソフトウェアをインストールされたサーバ機である。翻字処理装置100は、端末装置200から、入力対を表す情報を受信し、受信された情報で表される入力対が互いに翻字関係にある確率を算出し、算出された確率を表す情報を端末装置200へ返信する。
【0029】
翻字処理装置100は、図3に示すように、CPU(Central Processing Unit)100a、ROM(Read Only Memory)100b、RAM(Random Access Memory)100c、ハードディスク100d、メディアコントローラ100e、LANカード(Local Area Network)100f、ビデオカード100g、LCD(Liquid Crystal Display)100h、キーボード100i、スピーカ100j、及びマウス100kで構成される。
【0030】
CPU100aは、ROM100b又はハードディスク100dに保存されたプログラムに従ってソフトウェア処理を実行することで、翻字処理装置100の全体制御を行う。RAM100cは、CPU100aによるプログラムの実行時において、処理対象とする情報(つまり、データ)を一時的に記憶する。
【0031】
ハードディスク100dは、各種の情報(つまり、データ)を保存した表(つまり、テーブル)を記憶する情報記憶部である。尚、翻字処理装置100は、ハードディスク100dの代わりに、フラッシュメモリを備えても良い。
【0032】
メディアコントローラ100eは、フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、及びブルーレイディスク(Blu-ray Disc)(登録商標)を含む記録媒体から各種のデータ及びプログラムを読み出す。
【0033】
LANカード100fは、通信網10を介して接続する端末装置200、日本語DBサーバ301、及び外国語DBサーバ302との間でデータを送受信する。キーボード100i及びマウス100kは、ユーザの操作に応じた信号又は情報を入力する。LANカード100fは、情報取得部、受付部、及び確率出力部を構成する。
【0034】
ビデオカード100gは、CPU100aから出力されたデジタル信号に基づいて画像を描画(つまり、レンダリング)すると共に、描画された画像を表す画像信号を出力する。LCD100hは、ビデオカード100gから出力された画像信号に従って画像を表示する。なお、翻字処理装置100は、LCD100hの代わりに、PDP(Plasma Display Panel)又はEL(Electroluminescence)ディスプレイを備えても良い。スピーカ100jは、CPU100aから出力された信号に基づいて音声を出力する。
【0035】
翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図4の訓練集合生成処理を実行することで、図5に示すような訓練集合生成部101として機能する。また、CPU100aは、LANカード100fと協働して情報取得部102として機能する。さらに、CPU100aは、ハードディスク100dと協働して情報記憶部103として機能する。
【0036】
図4の訓練集合生成処理について説明する前に、情報記憶部103が記憶するテーブルであって、訓練集合生成処理の実行に用いられるデータが保存されたテーブルについて説明する。
情報記憶部103は、図6(a)に示すような基礎翻字テーブルを記憶している。図6(a)の基礎翻字テーブルは、図6(b)から図6(d)に示す第1翻字テーブルから第3翻字テーブルを生成するために用いられるテーブルである。尚、第1翻字テーブルから第3翻字テーブルについては後述する。
【0037】
図6(a)の基礎翻字テーブルには、任意の起源言語における綴りからなる原綴り文字列snを表す情報と、当該綴り文字列snを所定の目的言語に翻字した綴りからなる目的綴り文字列tnを表す情報と、当該原綴り文字列snと当該目的綴り文字列tnとの対(以下、翻字対という)を識別する番号(以下、翻字対番号という)nを表す情報と、当該原綴り文字列snが当該目的綴り文字列tnに翻字される翻字確率Pαβ(sn|tn)を表す情報とが対応付けられて保存されている。
【0038】
具体例としては、翻字対番号「1」で識別される翻字対は、「flextime」という原綴り文字列と、「フレックスタイム」という目的綴り文字列とで構成される。尚、図6(a)の基礎翻字テーブルに保存された複数の情報で表される翻字対を要素とする集合を訓練集合という。
【0039】
図4の訓練集合生成処理を開始すると、訓練集合生成部101は、訓練集合を空集合とし、訓練集合に追加された翻字対の数(これは、翻字対番号に一致する)を表す変数nに値「1」を代入することで当該変数nを初期化する(ステップS01)。次に、図5の情報取得部102は、日本語DBサーバ301から、日本語のオンライン百科辞典を構成する任意の解説頁を表す情報であって、未だ取得されていない情報を取得する(ステップS02)。次に、訓練集合生成部101は、取得された情報で表される解説頁から、当該解説頁の解説項目に記載された日本語の文字列を取得する(ステップS03)。
【0040】
その後、訓練集合生成部101は、取得された日本語の文字列が他の言語(つまり、外国語)の文字列を翻字したものであるか否かを、当該日本語の文字列がカタカナのみで構成されるか否かに基づいて判別する(ステップS04)。日本語では、外来語をカタカナのみで表記するためである。
【0041】
ステップS04において、取得された日本語の文字列が翻字されたものではないと判別された場合には(ステップS04;No)、訓練集合生成部101は、ステップS02に戻り上記処理を繰り返す。これに対して、取得された日本語の文字列が翻字されたものであると判別された場合には(ステップS04;Yes)、訓練集合生成部101は、取得された日本語の文字列が固有名詞であるか否かを判別する(ステップS05)。尚、ステップS05の判別方法は、例えば、取得された日本語の文字列が、情報記憶部103に予め記憶された情報で表される固有名詞と一致するか否かを判別する方法であっても良いし、他の公知の方法であっても良い。
【0042】
ステップS05において、取得された日本語の文字列が固有名詞でないと判別されると(ステップS05;No)、訓練集合生成部101は、ステップS02から上記処理を繰り返す。通常、解説頁の解説項目には、当該解説頁で解説される物の名称又は人の名前などの固有名詞を表す文字列が記載されるため、解説項目から取得された文字列が固有名詞でない場合には、正しく文字列が取得されなかったと考えられるためである。
【0043】
ステップS05において、取得された日本語の文字列が固有名詞であると判別されると(ステップS05;Yes)、訓練集合生成部101は、ステップS02で取得された日本語の解説頁から、当該日本語の解説頁に対応する対応頁(つまり、外国語のオンライン百科辞典の対応頁)のURLを抽出し、抽出されたURLに基づいて当該頁を表す情報を外国語DBサーバ302から取得する(ステップS06)。
【0044】
尚、日本語の解説頁には、当該日本語の解説頁と同じ物又は人を解説する外国語の対応頁のURLが記載されており、訓練集合生成部101は、日本語の解説頁に予め記載された対応頁のURLを抽出するとして説明したが、これに限定される訳ではない。例えば、訓練集合生成部101は、日本語の解説頁のURLに含まれるサブドメインであって、日本語DBサーバ301の設置された国を識別するサブドメインを「jp」から「en」、「de」、及び「fr」などに変更することで、外国語の対応頁のURLを取得してもよい。次に、訓練集合生成部101は、取得された情報で表される解説頁から、当該解説頁の解説項目に記載された外国語の文字列を取得する(ステップS07)。次に、訓練集合生成部101は、例えば、山田 ××(お笑い芸人)のように、同じ名前の有名人が複数存在する場合などにおいて、当該名前の後に括弧書きで付される説明書きなどのノイズを除去するために、取得された日本語の文字列及び外国語の文字列から、括弧及び当該括弧で括られた文字列を除去する。
【0045】
その後、訓練集合生成部101は、ステップS03で取得された日本語の文字列を原綴り文字列snとし、ステップS07で取得された外国語の文字列を目的綴り文字列tnとし、当該原綴り文字列snと当該目的綴り文字列tnとの対を翻字対とした後に(ステップS08)、当該翻字対を訓練集合に追加する(ステップS09)。次に、訓練集合生成部101は、図6(a)の基礎翻字テーブルへ、当該翻字対の翻字番号nを表す情報と、当該翻字対を構成する原綴り文字列snを表す情報と、目的綴り文字列tnを表す情報とを対応付けて保存する(ステップS10)。
【0046】
その後、訓練集合生成部101は、翻字番号を表す変数nの値を値「1」だけインクリメントした後に(ステップS11)、変数nの値が所定値m以上であるか否かを判別する(ステップS12)。尚、所定値mを表す情報は、図5の情報記憶部103に記憶されている。本実施例において、所定値mは「11,000」であるとして説明を行うが、これに限定される訳ではなく、当業者は好適な値を実験により定めることができる。
【0047】
ステップS12において、変数nの値が所定値m未満であると判別されると(ステップS12;No)、訓練集合生成部101は、ステップS02から上記処理を繰り返す。これに対して、変数nの値が所定値m以上であると判別されると(ステップS12;Yes)、訓練集合生成部101は、訓練集合生成処理の実行を終了する。
【0048】
翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図7の翻字処理を実行することで、図5に示すような第1生成部105a及び第2生成部105bを有する生成部105、初期化部106、並びに期待値算出部107a、判定部107b、及び最大化部107cを有する更新部107としてさらに機能する。また、CPU100aは、LANカード100fと協働して確率出力部108としてさらに機能する。
【0049】
図7の翻字処理について説明する前に、情報記憶部103が記憶するテーブルであって、翻字処理の実行に用いられる情報が保存されたテーブルについて説明を行う。
【0050】
情報記憶部103は、図8(a)に示すような基礎書換テーブルを記憶している。図8(a)基礎書換テーブルは、図8(b)から図8(d)の第1書換テーブルから第3書換テーブルの作成のために用いられるテーブルである。尚、第1書換テーブルから第3書換テーブルについては後述する。
【0051】
図8(a)の基礎書換テーブルには、図6(a)の基礎翻字テーブルに保存された情報で表される原綴り文字列snの断片(以下、原断片という)αを表す情報と、当該原綴り文字列を翻字した目的綴り文字列tnの断片であって、当該原断片αに対応する断片(以下、翻字断片という)βを表す情報と、当該原断片αと当該翻字断片βとの対(以下、断片対という)を識別する断片対番号jを表す情報と、翻字のために当該原断片αが当該翻字断片βに書き換えられる確率(以下、書換確率という)を表す情報と、が対応付けられて保存されている。尚、原断片及び翻字断片は、ともに1文字であっても良いし、2文字以上からなる文字列であっても良い。
【0052】
具体例としては、断片対番号「1」で識別される断片対は、「^f」という原断片αと、「^フ」という翻字断片βとで構成される。また、断片対番号「5」で識別される断片対は、「get$」という原断片αと、「ジェ$」という翻字断片βとで構成され、断片対番号「6」で識別される断片対は、「get$」という原断片αと、「ゲット$」という翻字断片βとで構成される。このように、同じ原断片「get$」に対して異なる翻字断片「ジェ$」と「ゲット$」とが対応付けられているのは、訓練集合に、末尾が「get$」である原綴り文字列snと、当該原綴り文字列snをフランス語読みした音韻に基づいて翻字された目的綴り文字列tnとの翻字対と、末尾が「get$」である原綴り文字列snと、当該原綴り文字列snを英語読みした音韻に基づいて翻字された目的綴り文字列tnとの翻字対とが含まれていたからである。尚、「^」は、直後に続く文字が文字列の先頭であることを表す記号であり、「$」は、直前の文字が文字列の末尾であることを表す記号である。
【0053】
さらに、情報記憶部103は、図9に示すような書換回数テーブルを記憶している。図9の書換回数テーブルには、翻字対番号nを表す情報と、断片対番号jを表す情報と、当該番号nで識別される翻字対を構成する原綴り文字列snを、当該翻字対を構成する目的綴り文字列tnに翻字するために、断片対番号jで識別される断片対の原断片αを翻字断片βに書き換えた書換回数fn(α→β)を表す情報とが対応付けられて保存されている。
【0054】
具体例としては、翻字対番号「1」で識別される翻字対を構成する原綴り文字列「flextime」を目的綴り文字列「フレックスタイム」に翻字するために、断片対番号「2」で識別される断片対を構成する原断片「le」を翻字断片「レ」に書き換えた書換回数は1回である。これに対して、原綴り文字列「flextime」を目的綴り文字列「フレックスタイム」に翻字するために、断片対番号「3」で識別される断片対の原断片「le」を翻字断片「ル」に書き換えた書換回数は0回である。また、翻字対番号「9」で識別される翻字対の原綴り文字列「mama」を目的綴り文字列「ママ」に翻字するために、断片対番号「100」で識別される断片対の原断片「ma」を翻字断片「マ」に書き換えた書換回数は2回である。
【0055】
図7の翻字処理が開始されると、図5の受付部104は、端末装置200から送信された情報で表される入力対を受け付ける(ステップS31)。次に、生成部105は、受け付けた入力対を翻字対とみなす。その後、生成部105は、当該翻字対を訓練集合に追加し、当該翻字対の翻字対番号をm+1とし、訓練集合に属する翻字対の数を表す変数Nをm+1とする。次に、生成部105は、図6(a)の基礎翻字テーブルへ、翻字対番号Nを表す情報と、当該翻字対を表す情報とを対応付けて追加保存する(ステップS32)。
【0056】
その後、生成部105が有する第1生成部105aは、図10に示すような第1生成処理を実行する(ステップS33)。
図10の第1生成処理を開始すると、第1生成部105aは、図6(a)の基礎翻字テーブルを参照することで訓練集合に含まれる翻字対を取得した後に、取得した翻字対を用いて、図9の書換回数テーブルを生成する(ステップS51)。具体的には、第1生成部105aは、訓練集合から全ての翻字対を取り出す。次に、第1生成部105aは、取り出した全ての翻字対に対して、当該翻字対を構成する原綴り文字列snの先頭に特殊文字「^」を追加し、末尾に特殊文字「$」を追加する。その後、第1生成部105aは、特殊文字が追加された文字列snを分割することで原断片αを生成する。
【0057】
ここで、原綴り文字列snの長さがAである場合(つまり、原綴り文字列snがA文字の文字列である場合)には、原綴り文字列snの分割方法Sは、2(A−1)−1通り存在する。第1生成部105aは、全通りの分割方法Sで原綴り文字列snを分割することで、全通りの原断片αを生成する。また、第1生成部105aは、上記原綴り文字列snの全通りの分割方法Sを要素とする集合をPart(sn)とする。同様に、第1生成部105aは、目的綴り文字列tnの全通りの分割方法Tを特定した後に、特定された全通りの分割方法Tを要素とする集合Part(tn)を生成する。その後、第1生成部105aは、全通りの分割方法Tで目的綴り文字列tnを分割することで全通りの翻字断片βを取得する。
【0058】
その後、第1生成部105aは、原断片αと翻字断片βとの全通りの組合せを生成し、生成された組合せ毎に上記の書換回数fn(α→β)を算出する。次に、第1生成部105aは、図9の書換回数テーブルへ、算出された書換回数fn(α→β)を表す情報を、翻字対番号nを表す情報と、原断片αと翻字断片βとで構成される断片対の断片対番号jを表す情報とに対応付けて保存する。
【0059】
図10のステップS51の後に、第1生成部105aは、図9の書換回数テーブルに基づいて、図8(a)の基礎書換テーブルを生成する(ステップS52)。具体的には、第1生成部105aは、算出された書換回数fn(α→β)を、以下の式(1)に用いることで、原断片αが翻字断片βに書き換えられる書換確率P(α→β)を算出する。
【0060】
【数1】
【0061】
その後、第1生成部105aは、算出された書換確率P(α→β)を表す情報を、原断片αと翻字断片βとで構成される断片対の断片対番号jを表す情報に対応付けて、図8(a)の基礎書換テーブルに保存する。
【0062】
図10のステップS52の後に、第1生成部105aは、図8(a)の基礎書換テーブルに基づいて図6(a)の基礎翻字テーブルを再生成した後に(ステップS53)、第1生成処理の実行を終了する。具体的には、先ず、第1生成部105aは、訓練集合に属する翻字対の内で、未処理の翻字対に注目する。次に、第1生成部105aは、注目した翻字対(以下、注目翻字対という)を構成する原綴り文字列sn及び目的綴り文字列tnと、算出された書換確率P(α→β)とを以下の式(2)に用いることで、注目翻字対についてαβ法を実行する。尚、αβ法の実行方法の詳細ついては、非特許文献2に記載されているため説明を省略する。また、本明細書は、非特許文献2の内容を参照により取り込む。
【0063】
【数2】
【0064】
但し、Tは、目的綴り文字列tnの分割方法を表し、Part(tn)は、全分割方法Tを要素とする集合である。同様に、Sは、原綴り文字列snの分割方法を表し、Part(sn)は、全分割方法Sを要素とする集合である。さらに、|S|は、原綴り文字列snを分割方法Sで分割した場合に生成される原断片αの数を表す。またさらに、αiは、原綴り文字列snを分割方法Sで分割した場合に生成される先頭からi番目の原断片を表し、βiは、目的綴り文字列tnを分割方法Tで分割した場合に生成される先頭からi番目の翻字断片を表す。
【0065】
このαβ法の実行により、第1生成部105aは、注目翻字対を構成する原綴り文字列snが当該目的綴り文字列tnに翻字される翻字確率Pαβ(sn|tn)を算出する。次に、第1生成部105aは、図6(a)の基礎翻字テーブルへ、算出された翻字確率Pαβ(sn|tn)を表す情報を、注目翻字対の翻字対番号nを表す情報に対応付けて保存する。その後、第1生成部105aは、未処理の翻字対が無くなるまで上記処理を繰り返す。
【0066】
図7のステップS33の後に、図5の受付部104は、端末装置200から送信された情報で表される言語数Kを受け付ける(ステップS34)。この言語数Kは、訓練集合に属する複数の翻字対をそれぞれ構成する原綴り文字列snを、起源言語に応じて幾つのクラスに潜在的に(つまり、明示的ではなく)分類するかを表す値である。具体的には、訓練集合に含まれる複数の原綴り文字列snが、英語、フランス語、スペイン語、ドイツ語、ポーランド語、及びロシア語のいずれかを起源言語とする場合に、受け付けた言語数Kが値「7」であれば、当該複数の原綴り文字列snは、それぞれ起源言語に応じて、英語のクラス、フランス語のクラス、ドイツ語のクラス、ポーランド語のクラス、及びロシア語のクラスという7つのクラスに潜在的に分類されることが多い。
【0067】
これに対して、受け付けた言語数Kが値「3」であれば、例えば、英語及びドイツ語のクラス、フランス語及びスペイン語のクラス、並びにポーランド語及びロシア語のクラスといった言語学上の語派に潜在的に分類されることが多い。同じ語派に属する起源言語を有する原綴り文字列snは、他の起源言語を有する文字列snよりも互いに類似した表記及び表記に対する音韻を用いることが多いためである。
【0068】
尚、フランス語及びスペイン語のように、同じクラスに潜在的に分類される原綴り文字列snの起源言語を総称して潜在言語という。本実施例では、潜在言語の数Kは「3」個であるとして説明を行うがこれに限定される訳ではない。「3」個の潜在言語は、言語番号「1」、「2」、及び「3」でそれぞれ識別される。この言語番号「1」、「2」、及び「3」でそれぞれ識別される潜在言語を第1言語、第2言語、及び第3言語と称する。本実施例において、言語番号zは潜在変数であり、言語番号zで識別される潜在言語は、具体的に何語であるかが特定されることはない。
【0069】
図7のステップS34の後に、図5の第2生成部105bは、図11に示すような第2生成処理を実行する。
図11の第2生成処理を開始すると、第2生成部105bは、図8(a)の基礎書換テーブルを読み込む(ステップS61)。その後、第2生成部105bは、読み込んだ基礎書換テーブルをK個コピーすることで、第1書換テーブルから第K書換テーブルまでのK個の書換テーブルを生成する(ステップS62)。具体的には、第2生成部105bは、図8(a)の基礎書換テーブルに保存された断片対を識別する番号jを表す情報と、当該断片対を構成する原断片αを表す情報と、当該断片対を構成する翻字断片βを表す情報と、当該原断片αを含む原綴り文字列snの起源言語が第1言語である条件の下で当該原断片αが翻字断片βに書き換えられる書換確率P(α→β|z=1)を表す情報とを対応付けて保存された第1書換テーブルを生成する。同様に、第2生成部105bは、書換確率P(α→β|z=2)を表す情報を保存された第2書換テーブルと、書換確率P(α→β|z=3)を表す情報を保存された第3書換テーブルとを生成する。
【0070】
ステップS62の後に、第2生成部105bは、図6(a)の基礎翻字テーブルを読み込む(ステップS63)。その後、第2生成部105bは、読み込んだ基礎翻字テーブルをK個コピーすることで、第1翻字テーブルから第K翻字テーブルまでのK個の翻字テーブルを生成した後に(ステップS64)、第2生成処理の実行を終了する。具体的には、第2生成部105bは、基礎翻字テーブルに保存された翻字対を識別する番号nを表す情報と、当該翻字対を構成する原綴り文字列snを表す情報と、当該翻字対を構成する目的綴り文字列tnを表す情報と、当該原綴り文字列snの起源言語が第1言語である条件の下で当該原綴り文字列snの翻字が目的綴り文字列tnである翻字確率P(tn|sn,z=1)を表す情報とを対応付けて保存された、図6(b)に示すような第1翻字テーブルを生成する。同様に、第2生成部105bは、図6(c)に示すような翻字確率P(tn|sn,z=2)を表す情報を保存された第2翻字テーブルと、図6(d)に示すような翻字確率P(tn|sn,z=3)を表す情報を保存された第3翻字テーブルとを生成する。
【0071】
尚、第2生成部105bは、翻字確率P(tn|sn,z=1)、翻字確率P(tn|sn,z=2)、及び翻字確率P(tn|sn,z=3)をそれぞれ所定量以上互いに異なる値に変更する。これらの翻字確率がそれぞれ所定量以上互いに異ならない場合には、後述するEM(Expectation Maximization)アルゴリズムのEステップ及びMステップが繰り返し実行されないためである。本実施例では、第2生成部105bは、同じ翻字対番号nを表す情報に対応付ける翻字確率P(tn|sn,z=1)、翻字確率P(tn|sn,z=2)、及び翻字確率P(tn|sn,z=3)を、当該翻字対番号nを表す情報に対応付けられた翻字確率Pαβ(tn|sn)に対して、それぞれランダムな値を加算、減算、乗算、及び除算などした値に設定するとして説明する。しかし、これに限定される訳ではなく、上記の翻字確率P(tn|sn,z=1)から翻字確率P(tn|sn,z=3)が、K個の言語毎にそれぞれ翻字確率Pαβ(tn|sn)と所定量ずつ異なる値に設定されても良い。
【0072】
図7のステップS35の後に、図5の初期化部106は、後述するEMアルゴリズムの実行に用いられるパラメタを初期化する初期化処理を実行する(ステップS36)。具体的には、初期化部106は、訓練集合に属する翻字対を構成するN個の原綴り文字列snの内で、言語番号kで識別される潜在言語を起源言語とする原綴り文字列snの割合を表す重みパラメタπkを所定の値「1/K」にそれぞれ初期化する。
【0073】
尚、所定の値を表す情報は、情報記憶部103に記憶されており、当該情報で表される重みパラメタπkの初期値は「1/K」に限定される訳ではなく、当業者は、実験により好適な値を定めることができる。また、重みパラメタπ1を、図6(a)に示す第1翻字テーブルの重みパラメタといい、同様に、重みパラメタπ2を、図6(b)に示す第2翻字テーブルの重みパラメタといい、重みパラメタπ3を、図6(c)に示す第3翻字テーブルの重みパラメタという。
【0074】
ステップS36の後に、図5の期待値算出部107aは、EMアルゴリズムのEステップを実行する(ステップS37)。具体的には、Eステップは、第1Eステップから第3Eステップで構成される。期待値算出部107aは、Eステップを初回に実行する場合には、Eステップを構成する第1Eステップから第3Eステップとの内で、第2Eステップ及び第3Eステップのみを実行し、そうでない場合には第1Eステップから順に第3Eステップまでを実行する。何故ならば、第1Eステップは、書換確率P(α→β|z=1)からP(α→β|z=3)を用いてαβ法を実行することで、翻字確率P(tn|sn,z=1)からP(tn|sn,z=3)を算出する処理であるため、初回の第1Eステップに相当する処理は、図10のステップS53及び図11のステップS64の処理であり、既に実行されているためである。
【0075】
期待値算出部107aは、第1Eステップを開始すると、言語番号「1」の第1言語に注目し、当該第1言語を注目言語とする。次に、期待値算出部107aは、注目言語に対応した図8(b)の第1書換テーブルから書換確率P(α→β|z=1)を参照する。その後、期待値算出部107aは、図6(b)の第1翻字テーブルに保存された情報で表される未処理の翻字対の1つに注目する。その後、期待値算出部107aは、注目した翻字対(以下、注目翻字対という)を構成する原綴り文字列snと目的綴り文字列tnと、参照した書換確率P(α→β|z=1)とを以下の式(3)に用いることでαβ法を実行する。
【0076】
【数3】
【0077】
但し、S及びT、Part(sn)及びPart(tn)、|S|、αi、並びにβiは、それぞれ上記式(2)で使用したものと同様であるので説明を省略する。
【0078】
上記式(3)を用いてαβ法を実行することにより、注目翻字対の翻字確率P(tn|sn,z=1)を算出し、図6(a)の第1翻字テーブルを算出された値を表す情報で更新する。その後、期待値算出部107aは、未処理の翻字対が無くなるまで上記処理を繰り返した後に、言語番号「2」で識別される第2言語を注目言語として上記処理を繰り返す。その後、期待値算出部107aは、言語番号「3」で識別される第3言語を注目言語として上記処理を繰り返した後に、第1Eステップを終了する。
【0079】
第2Eステップでは、期待値算出部107aは、翻字対番号nで識別される翻字対の原綴り文字列snが言語番号kで識別される潜在言語を起源としている場合に値「1」となり、そうでない場合に値「0」となる確率変数znkの期待値γnk(つまり、E[znk])を、全ての翻字対番号n及び全ての言語番号kについて以下の式(4)を用いて算出する。尚、期待値γnkは、翻字確率P(tn|sn,z=1)を、重みパラメタπkで重み付けした重付翻字確率であり、原綴り文字列snの起源言語が言語番号kで識別される潜在言語である確率(以下、起源確率という)でもある。
【0080】
【数4】
【0081】
第3Eステップでは、期待値算出部107aは、尤度関数Lの期待値Qを期待値γnkを用いて算出する。尚、尤度関数Lは、訓練集合が得られた(つまり、観測された)場合に、当該訓練集合の要素である複数の翻字対を言語番号「1」から「3」の3個の潜在言語に基づいて潜在的にクラス分けした翻字モデルにおける、図6(b)から図6(d)にそれぞれ示された第1翻字テーブルから第3翻字テーブルの尤もらしさを表す尤度を算出する関数であり、以下の式(5)で表される。
【0082】
【数5】
【0083】
図7のステップS37の後に、図5の判定部107bは、今回初めて尤度関数Lの期待値Qが算出されたか(つまり、Eステップが初めて実行されたか)否かを判別する(ステップS38)。このとき、更新部107は、今回初めて尤度関数Lの期待値Qが算出されたのではないと判別すると(ステップS38;No)、ステップS37で前回に算出された尤度関数Lの期待値Qから、今回に算出された尤度関数Lの期待値Qへの変化量の絶対値を算出する。次に、更新部107は、算出された変化量の絶対値が所定値Z以上であるか否かを判別する(ステップS39)。尚、所定値Zを表す情報は、図5の情報記憶部103に記憶されており、所定値Zの好適な値は、当業者が実験により定めることができる。なお、ここでは変化量の絶対値で判別を行っているが、絶対値でなく割合によって判別を行ってもよい。例えば、前回に算出された尤度関数Lの期待値Qに対する今回に算出された尤度関数Lの期待値Qの割合が所定値Z以上であるか否かを判別したり、前回に算出された期待値γnkに対する今回に算出された期待値γnkの割合が所定値Z以上であるか否かを判別したりすることもできる。
【0084】
ステップS38において、更新部107が、今回初めて尤度関数Lの期待値Qが算出されたと判別した場合(ステップS38;Yes)、又は期待値Qの変化量の絶対値が所定値Z以上であると判別した場合に(ステップS39;Yes)、図5の最大化部107cは、尤度関数Lの期待値Qを最大化するMステップを実行する(ステップS40)。
【0085】
具体的には、最大化部107cは、図9の書換回数テーブルに保存された情報で表される書換回数fn(α→β)と、図7のステップS37(つまり、Eステップ)で算出された期待値γnkを以下の式(6)及び(7)に用いることで、尤度関数Lの期待値Qを最大化する重みパラメタπk*と、翻字確率P(tn|sn,z=k)*とを、全ての翻字対番号n及び言語番号kについてそれぞれ算出する。
【0086】
【数6】
【0087】
図7のステップS40の後に、更新部107は、ステップS37で尤度関数Lの期待値Qを算出するために用いられる重みパラメタπkを、ステップS40で算出された最適な重みパラメタπk*(つまり、尤度関数Lの期待値Qを最大にする最適解)に更新し、図6(b)から図6(d)の第1翻字テーブルから第3翻字テーブルにそれぞれ保存された翻字確率P(tn|sn,z=1)から翻字確率P(tn|sn,z=3)を表す情報を、それぞれ最適な翻字確率P(tn|sn,z=1)*からP(tn|sn,z=3)*を表す情報に更新するパラメタ更新処理を実行する(ステップS41)。その後、ステップS37から上記処理が繰り返される。
【0088】
判定部107bが、前回算出された尤度関数Lの期待値Qから、今回算出された尤度関数Lの期待値Qへの変化量の絶対値が所定値Z未満であると判別した場合に(ステップS39;No)、図5の確率出力部108は、入力対を識別する番号Nを表す情報に対応付けられた翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)を表す情報を、図6(b)の第1翻字テーブルないし図6(d)の第3翻字テーブルから参照する。その後、確率出力部108は、参照した翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)の内で最大の翻字確率を表す情報を端末装置200へ出力(つまり、送信)した後に(ステップS42)、翻字処理の実行を終了する。
【0089】
次に、EMアルゴリズムの実行に伴う書換確率P(α→β|z=1)、翻字確率P(tn|sn,z=1)、及び重付翻字確率(つまり、確率変数znkの期待値であり、起源確率である)γnkの変化について説明する。
図11のステップS62において、図8(b)の第1書換テーブルに保存された断片対番号「5」で識別される断片対を構成する原断片「get$」が翻字断片「ジェ$」に書き換えられる書換確率P(α→β|z=1)が、他の書換確率P(α→β|z=2)及びP(α→β|z=3)よりも高い値に設定されると、原断片「get$」を含む原綴り文字列s2「xxaget」が翻字断片「ジェ」を含む目的綴り文字列t2「△アジェ」に翻字される翻字確率P(tn|sn,z=1)は、上記の式(3)を用いて算出されるため、図12(a)に示すように、他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりも高くなる。
【0090】
翻字確率P(tn|sn,z=1)が他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりも高くなると、上記の式(4)で算出される重付翻字確率γ21が、図12(b)に示すように、他の重付翻字確率γ22及びγ23よりも高くなる。
【0091】
重付翻字確率γ21が高くなると、上記の式(6)で算出される最適な重みパラメタπ1*が、他の重みパラメタπ2*及びπ3*よりも大きくなる。このため、上記の式(4)で算出される重付翻字確率γ21がさらに高くなる。
【0092】
重付翻字確率γ21がさらに高くなると、図12(c)に示すように、上記の式(7)で算出される書換確率P(α→β|z=1)が、他の書換確率P(α→β|z=2)及びP(α→β|z=3)よりも高い値に更新される。このため、翻字確率P(t2|s2,z=1)が他の翻字確率P(t2|s2,z=2)及びP(t2|s2,z=3)よりもさらに高くなる。
【0093】
このようにして、潜在言語が何語であるか特定されないにも関わらず、原綴り文字列s2の末尾を構成する原断片「get$」を翻字断片「ジェ」に書き換える書換確率P(α→β|z=1)が高い、例えば、フランス語のような潜在言語に対応した第1翻字テーブルでは、当該潜在言語を起源言語とする原綴り文字列s2「xxaget」を当該起源言語の音韻に従って目的綴り文字列t2「△アジェ」に翻字される翻字確率P(t2|s2,z=1)が高い値となる。
【0094】
これらの構成によれば、書換確率P(α→β,z=k)を用いて翻字確率P(tn|sn,z=k)を算出してから、当該翻字確率P(tn|sn,z=k)を用いて算出される尤度関数Lの期待値Qを最大化するように書換確率P(α→β,z=k)を更新した後に、翻字確率P(tn|sn,z=k)の算出と書換確率P(α→β,z=k)の更新とを繰り返す。このため、書換確率P(α→β,z=k)を表す情報が保存された書換テーブルに対応した潜在言語及び翻字確率P(tn|sn,z=k)を表す情報が保存された翻字テーブルに対応した潜在言語のいずれもが不明であっても(つまり、翻字の対象とされる原綴り文字列snが何語を起源とするか不明な場合でも)、翻字された目的綴り文字列tnが当該対象を翻字したものであるかを翻字確率P(tn|sn,z=k)に基づいて従来よりも正確に特定できる。
【0095】
またこれらの構成によれば、翻字確率P(tn|sn,z=k)と、重みパラメタπkとを用いて起源確率(つまり、確率変数znkの期待値であり、起源確率である)γnkを求めた後に、翻字確率P(tn|sn,z=k)だけでなく起源確率γnkをさらに用いて算出される尤度関数Lの期待値を最大化するように、翻字確率P(tn|sn,z=k)だけでなく重みパラメタπkをも更新するため、尤度関数Lの期待値が従来よりさらに最大化する。このため、翻字の対象とされる原綴り文字列snが何語を起源とするか不明な場合でも、翻字された目的綴り文字列tnが当該対象を翻字したものであるかを精度良く特定できる。
【0096】
これらの構成によれば、1個の基礎書換テーブルからαβ法を実行することで生成された1個の基礎翻字テーブルに含まれる翻字確率Pαβ(sn|tn)を、K個の言語毎に変化させることによりK個の言語に対応したK個の翻字表を生成し、生成されたK個の翻字テーブルのそれぞれに含まれる翻字確率P(tn|sn,z=k)をEMアルゴリズムにより更新する。このため、K個の翻字テーブルの生成に要する計算量を削減しつつ、尤度関数Lの期待値を従来より確実に最大化できる。
【0097】
またこれらの構成によれば、尤度関数Lの期待値Qの変化量が所定の大きさ未満となるまで翻字確率P(tn|sn,z=k)及び重みパラメタπkの更新を繰り返すので、尤度関数Lの期待値Qを従来より確実に最大化できる。
【0098】
さらにこれらの構成によれば、第1文字列と第2文字列とを受け付けると、受け付けられた第2文字列が、第1文字列を翻字したものである確率を出力するため、第1文字列が何語を起源とするか不明な場合でも、第1文字列と第2文字列とを受け付ければ、第2文字列が第1文字列を翻字したものである確率を従来よりも正確に算出して出力できる。このため、翻字処理装置100を使用するユーザは、第1文字列の起源言語を知らない場合であっても、第1文字列と、第1文字列の翻字と考えられる第2文字列とを翻字処理装置100へ入力しさえすれば、第1文字列と第2文字列との翻字確率を知ることができる。このため、ユーザは、翻字確率に基づいて、第2文字列が第1文字列の正しい翻字であるか否かを容易かつ正確に判断できる。
【0099】
またこれらの構成によれば、訓練集合に含まれていない第1文字列を受け付け、受け付けられた第1文字列と、第2文字列との翻字確率を算出する。このため、予め訓練集合に含まれていない第1文字列と第2文字列との対(つまり、入力対)であっても、第2文字列が第1文字列を翻字したものである確率を従来よりも正確に算出して出力できる。
【0100】
なお、本実施例において、ステップS34で端末装置200から送信された情報で表される言語数Kを受け付ける、としたが、翻字処理装置100に予めKの値が設定されていてもよい。また、設定する言語数Kの値は1つではなく、複数であってもよい。例えば、値「3」、「4」、「5」の3つがKとして設定されていれば、それぞれで求められた翻字確率のうち、最も高い翻字確率に基づいて第2文字列が第1文字列の正しい翻字であるか否かをユーザは判断できる。
【0101】
<変形例1>
次に、本実施例の変形例1について説明を行う。
本実施例では、図5の生成部105が、図10のステップS53において、翻字確率Pαβ(sn|tn)を表す情報が保存された図6(a)の基礎翻字テーブルを生成してから、図11のステップS64において、当該基礎翻字テーブルに基づいて第1翻字テーブルから第3翻字テーブルを生成するとして説明した。また、本実施例では、図5の更新部107が、図7のステップS37(つまり、Eステップ)の初回の実行時において、第1Eステップ(つまり、第1書換テーブルから第3書換テーブルを用いたαβ法を実行することで、翻字確率P(tn|sn,z=k)を算出するステップ)を実行しないとして説明した。
【0102】
じかし、これに限定される訳ではなく、変形例1では、図5の生成部105が、図10のステップS53において、翻字確率Pαβ(sn|tn)を表す情報が保存されていない基礎翻字テーブルを生成してから、図11のステップS62において、基礎書換テーブルに基づいて第1基礎書換テーブルから第3基礎翻字テーブルを生成した後に、図5の更新部107が、図7のステップS37の初回の実行時において、第1Eステップから順に第3Eステップまでを実行する。この変形例1において、生成部105は、同じ断片対番号jを表す情報に対応付ける書換確率P(α→β,z=1)からP(α→β,z=3)を、当該断片対番号jを表す情報に対応付けられた書換確率P(α→β)に対して、それぞれランダムな値を加算、減算、乗算、及び除算などした値に設定しても良いし、K個の言語毎にそれぞれ所定量ずつ異なる値に設定しても良い。
【0103】
これらの構成によれば、1個の基礎書換テーブルに含まれる書換確率P(α→β)を変化させることにより、K個の言語に対応したK個の書換テーブルを生成しても、翻字確率P(tn|sn,z=k)の算出と、書換確率P(α→β,z=k)の更新とを繰り返すので、K個の書換テーブルの生成に要する計算量を削減しながら、尤度関数Lの期待値Qを従来より確実に最大化できる。
【0104】
<変形例2>
次に、本実施例の変形例2について説明を行う。
変形例2において、図1の端末装置200は、図2(a)の入力画面FI2ではなく、図13(a)に示すような入力画面FI2を表示することで、任意の起源言語における綴りからなる第1文字列を入力するように促す表示を行う。次に、端末装置200は、ユーザの操作に応じた各種の信号を翻字処理システム1に入力し、入力された信号に基づいて第1文字列を生成し、生成した第1文字列を表す情報を翻字処理装置100へ送信する。その後、端末装置200は、翻字処理装置100から返信された情報を受信し、受信された情報に基づいて、図2(b)の結果表示画面FO1ではなく、図13(b)に示すような結果表示画面FO2に、第1文字列と、当該第1文字列が翻字されうる上記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される確率とを、当該確率が高い順に一覧表示する。尚、端末装置200は、候補文字列を当該確率が低い順に一覧表示しても良い。また、端末装置200は、当該確率が最も高い第1文字列と候補文字列と当該確率とを1つだけ表示しても良い。さらに、端末装置200は、最も高い確率が所定の閾値を超えている場合に限り、当該最高の確率と1文字列と候補文字列と当該確率とを1つだけ表示しても良い。
【0105】
変形例2の翻字処理装置100のCPU100aは、図3のハードウェアを用いて、図7ではなく図14の翻字処理を実行することで、図5ではなく図15に示すような各機能部101から107と、候補出力部109として機能する。
【0106】
図14の翻字処理を開始すると、図15の受付部104は、端末装置200から送信された情報で表される第1文字列を受け付ける(ステップS71)。次に、生成部105は、図10の第1生成処理を実行する(ステップS72)。その後、生成部105は、受け付けた第1文字列の候補文字列を複数生成する(ステップS73)。
【0107】
具体的には、生成部105は、第1文字列に対して任意の分割方法Sで分割を行い、全通りの断片文字列又は断片文字(以下、断片という)を取得する。次に、生成部105は、図8(a)の基礎書換テーブルに保存された情報で表される断片対を構成する原断片αの内で、取得された断片と同じものの全組み合わせ(つまり、全並び)を生成し、生成した全組み合わせの内で、第1文字列となるものを特定する。その後、生成部105は、図8(a)の基礎書換テーブルから、特定された組み合わせを構成する原断片αで構成される断片対を表す情報を全て取得し、取得した情報で表される断片対を構成する翻字断片βを、当該翻字断片βの対となる原断片αの組み合わせ順(つまり、並び順)に従って組み合わせる。このようにして、生成部105は、第1文字列の翻字として考えられる全ての候補文字列を生成する。
【0108】
図14のステップS73の後に、生成部105は、生成された複数の候補文字列毎に、ステップS71で受け付けられた第1文字列と、第1文字列の翻字と考えられる当該候補文字列との対(以下、候補対という)を生成する(ステップS74)。その後、生成部105は、候補対を翻字対とみなして訓練集合へ追加し、訓練集合に含まれる翻字対の数Nの値を、追加した候補対の数だけ増加させる。次に、生成部105は、当該候補対を表す情報を、当該候補対を識別する番号nを表す情報とを対応付けて、図6(a)の基礎翻字テーブルに追加保存する(ステップS75)。
【0109】
その後、図7のステップS34からステップS41の処理と同様の処理である、図14のステップS76からステップS83の処理が実行される。
【0110】
上記処理の実行中に、ステップS81において、判定部107bが、前回算出された尤度関数Lの期待値Qから、今回算出された尤度関数Lの期待値Qへの変化量の絶対値が所定値Z未満であると判別した場合に(ステップS81;No)、図15の候補出力部109は、それぞれの候補対を識別する番号nを表す情報に対応付けられた翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)を表す情報を、図6(b)の第1翻字テーブルないし図6(d)の第3翻字テーブルから参照する。その後、候補出力部109は、それぞれの候補対を表す情報と、参照された翻字確率P(tN|sN,z=1)からP(tN|sN,z=3)の内で最大の翻字確率を表す情報を対応付けた候補リスト情報を生成する。その後、候補出力部109は、生成された候補リスト情報で表される候補文字列のリスト(以下、候補リストという)を、上記最大の翻字確率に基づいて昇順又は降順にソートする。その後、候補出力部109は、ソートされたリストをリストの先頭から順に端末装置200へ出力(つまり、送信)した後に(ステップS84)、翻字処理の実行を終了する。
【0111】
これらの構成によれば、第1文字列を受け付けると、第1文字列の翻字と考えられる複数の候補文字列を、当該候補文字列が第1文字列の翻字である翻字確率に基づいて出力するため、第1文字列が何語を起源とするか不明な場合でも、第1文字列を受け付ければ、複数の候補文字列を翻字確率の高い又は低い順に出力できる。このため、翻字処理装置100を使用するユーザは、第1文字列の起源言語を知らない場合であっても、第1文字列を翻字処理装置100へ入力しさえすれば、第1文字列の翻字と考えられる複数の候補文字列を取得できる。
またこれらの構成によれば、訓練集合に含まれていない第1文字列を受け付け、受け付けられた第1文字列の候補文字列を生成し、生成された候補文字列との翻字確率を算出する。このため、予め訓練集合に含まれていない第1文字列であっても、第1文字列を受け付ければ、複数の候補文字列を翻字確率の高い又は低い順に出力できる。
【0112】
<変形例3>
次に、本実施例の変形例3について説明を行う。
変形例3の翻字処理システム1は、図1の外国語DBサーバ302を有さず、図16に示すように検索エンジン400を有する。
検索エンジン400は、検索キーワードを表す情報と、当該検索キーワードを含む内容が記載されたWeb(World Wide Web)頁のURLを表す情報と、当該Web頁に記載された内容の内で、当該キーワードを含む部分であるスニペットを表す情報とを対応付けて記憶している。検索エンジン400は、翻字処理装置100から検索キーワードを表す情報と、検索を求めるリクエストとを受信すると、受信した検索キーワードを表す情報に対応付けて記憶するスニペットを表す情報を複数検索する。その後、検索エンジン400は、図17に示すようなスニペットSP1及びSP2を含む検索結果画面FSを表す情報を翻字処理装置100へ返信する。
【0113】
変形例3の翻字処理装置100は、図4の訓練集合生成処理の実行において、日本語のオンライン百科事典の解説項目から取得した文字列が、固有名詞であると判別すると(ステップS05;Yes)、ステップS06を実行せず、図18の検索エンジン400に対して、当該日本語の文字列を検索キーワードとして、当該キーワードと検索リクエストとを出力する(ステップS91)。次に、図5に示した翻字処理装置100の情報取得部102は、検索エンジン400から、検索キーワードに基づいて検索されたスニペットを表す情報を複数取得する(ステップS92)。
【0114】
その後、図5に示した翻字処理装置100の訓練集合生成部101は、スニペットに記載された検索キーワード(つまり、日本語の解説項目に記載された文字列)よりも所定数だけ前又は後の単語を取得する(ステップS93)。その後、訓練集合生成部101は、取得された単語がアルファベットで構成された文字列で表記されているか否かに基づいて、当該単語が外国語における綴りからなる文字列で表記されているか否かを判別する(ステップS94)。このとき、取得された単語が外国語における綴りからなる文字列で表記されてないと判別されると(ステップS94;No)、図4のステップS02から処理が繰り返される。
【0115】
これに対して、取得された単語が外国語における綴りからなる文字列で表記されていると判別されると(ステップS94;Yes)、訓練集合生成部101は、当該取得された外国語の文字列を検索キーワードとして、上記ステップS91及びステップS92と同様の処理を実行する(ステップS95及びステップS96)。
【0116】
その後、訓練集合生成部101は、取得された単語が日本語における綴りからなる文字列で表記されているか否かを判別する(ステップS98)。具体的には、訓練集合生成部101は、取得された単語が漢字、ひらがな、及びカタカナのいずれか1つ以上で構成された文字列で表記されていると判別すると、当該単語が日本語における綴りからなる文字列で表記されていると判別する。これに対して、訓練集合生成部101は、取得された単語が漢字、ひらがな、及びカタカナのいずれによっても構成されていない文字列で表記されていると判別すると、当該単語が日本語における綴りからなる文字列で表記されていないと判別する。
【0117】
ステップS98において、取得された単語が日本語における綴りからなる文字列で表記されてないと判別されると(ステップS98;No)、図4のステップS02から処理が繰り返される。これに対して、取得された単語が日本語における綴りからなる文字列で表記されていると判別されると(ステップS98;Yes)、訓練集合生成部101は、図4のステップS03で日本語の解説項目から取得された文字列と、図18のステップ97でスニペットから取得された日本語の文字列とが、一致しているか否かを判別する(ステップS99)。このとき、2つの文字列が一致していないと判別されると(ステップS99;No)、図4のステップS02から処理が繰り返される。
【0118】
ステップS99において、2つの文字列が一致していると判別されると(ステップS99;Yes)、日本語の解説項目から取得された日本語の文字列と、当該日本語の文字列に基づいて検索されたスニペットから取得された外国語の文字列とを、翻字対とし(ステップS100)、当該外国語の文字列を原綴り文字列snとし、当該日本語の文字列を目的綴り文字列tn(つまり、原綴り文字列snの翻字)とする。その後、当該翻字対を訓練集合へ追加する、図4のステップS09の処理から、図4の訓練集合生成処理の実行が継続される。
【0119】
尚、本変形例4において、翻字処理装置100は、日本語のオンライン百科事典の解説項目から取得した日本語の文字列に基づいて検索されたスニペットから外国語の文字列を取得し、取得された外国語の文字列に基づいて検索されたスニペットから日本語の文字列を取得し、これら2つの日本語の文字列が一致する場合に、外国語の文字列を原綴り文字列snとし、日本語の文字列を目的綴り文字列tnとするとして説明した。しかし、これに限定される訳ではなく、翻字処理装置100は、外国語のオンライン百科事典の解説項目から取得した外国語の文字列に基づいて検索されたスニペットから日本語の文字列を取得し、取得された日本語の文字列に基づいて検索されたスニペットから外国語の文字列を取得し、これら2つの外国語の文字列が一致する場合に、外国語の文字列を原綴り文字列snとし、日本語の文字列を目的綴り文字列tnとしても良い。
【0120】
通常、互いに翻字関係にある原綴り文字列snと目的綴り文字列tnとは、Web頁において、互いに前後に位置するように記載されることが多い。このため、これらの構成によれば、原綴り文字列snの起源言語が不明な場合であっても、従来よりも精度良くかつ簡単に原綴り文字列snと目的綴り文字列tnとの翻字対を取得できる。また、原綴り文字列snの起源言語が明確だが、当該起源言語における原綴り文字列snの音韻が不明な場合であっても、原綴り文字列snと目的綴り文字列tnとの翻字対を、従来よりも精度良くかつ簡単に取得できる。
【0121】
本実施例において、図6(a)から図6(d)及び図9に示すように、目的綴り文字列tnは、カタカナで表されるとして図示及び説明したが、これ限定される訳ではなく、例えば、ローマ字や他の文字で表されてもよい。同様に、図8(a)から図8(d)及び図9に示すように、翻字断片βは、カタカナで表されるとして図示及び説明したが、これ限定される訳ではなく、例えば、ローマ字で表されてもよい。
【0122】
本実施例と、変形例1から3とは、互いに組み合わせることができる。本実施例に係る機能を実現するための構成を備えた翻字処理装置100として提供できることはもとより、複数の装置で構成される翻字処理システムであって、本実子例に係る機能を実現するための構成をシステム全体として備えた翻字処理システムとして提供することもできる。
【0123】
なお、本実施例に係る機能を実現するための構成を予め備えた翻字処理装置100として提供できることはもとより、プログラムの適用により、既存の翻字処理装置100を本実施例に係る翻字処理装置100として機能させることもできる。すなわち、上記実施例で例示した翻字処理装置100による各機能構成を実現させるための翻字処理プログラムを、既存の翻字処理装置を制御するコンピュータ(CPUなど)が実行できるように適用することで、本実施例に係る翻字処理装置100として機能させることができる。
【0124】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、本発明に係る翻字処理方法は、本発明に係る翻字処理装置100を用いて実施できる。
【0125】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0126】
10:通信網
100:翻字処理装置
100a:CPU
100b:ROM
100c:RAM
100d:ハードディスク
100e:メディアコントローラ
100f:LANカード
100g:ビデオカード
100h:LCD
100i:キーボード
100j:スピーカ
100k:マウス
101:訓練集合生成部
102:情報取得部
103:情報記憶部
104:受信部
105:生成部
105a:第1生成部
105b:第2生成部
106:初期化部
107:更新部
107a:期待値算出部
107b:判定部
107c:最大化部
108:確率出力部
109:候補出力部
200:端末装置
301:日本語DBサーバ
302:外国語DBサーバ
400:検索エンジン
【特許請求の範囲】
【請求項1】
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
を備えることを特徴とする翻字処理装置。
【請求項2】
請求項1に記載の翻字処理装置であって、
前記K個の翻字表それぞれに対応した起源言語を起源とする原綴り文字列が、前記訓練集合に含まれる複数の原綴り文字列に占める割合をそれぞれ示す、前記K個の翻字表の重みパラメタを初期化する初期化部、を更に備え、
前記更新部は、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の翻字表に含まれる当該翻字確率の前記重みパラメタによる重み付き平均に基づいて、前記原綴り文字列の起源言語が当該翻字表に対応した起源言語である起源確率をそれぞれ算出した後に、当該起源確率をさらに用いて算出される前記尤度関数の期待値を最大化するように、前記K個の重みパラメタを更新した後に、前記起源確率の算出と前記重みパラメタの更新とを繰り返す、
ことを特徴とする翻字処理装置。
【請求項3】
請求項1又は2に記載の翻字処理装置であって、
前記生成部は、1個の前記書換表を生成した後に、前記生成された1個の書換表に含まれる書換確率を、前記K個の言語毎に変化させることにより、前記K個の言語に対応したK個の書換表を生成する、
ことを特徴とする翻字処理装置。
【請求項4】
請求項1又は2に記載の翻字処理装置であって、
前記生成部は、1個の前記書換表を用いたαβ法により1個の前記翻字表を生成した後に、前記生成された1個の翻字表に含まれる翻字確率を変化させることにより、前記K個の言語に対応したK個の翻字表を生成し、
前記更新部は、前記K個の翻字表のそれぞれに含まれる翻字確率をEMアルゴリズムにより更新する、
ことを特徴とする翻字処理装置。
【請求項5】
請求項1から4のいずれか一項に記載の翻字処理装置であって、
前記更新部は、前記更新による前記尤度関数の期待値の変化量が、所定の大きさ未満となるまで前記更新を繰り返す、
ことを特徴とする翻字処理装置。
【請求項6】
請求項1から5のいずれか一項に記載の翻字処理装置であって、
前記任意の起源言語における綴りからなる第1文字列と、前記所定の目的言語における綴りからなる第2文字列と、を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が前記受け付けられた第2文字列に翻字される翻字確率を求め、当該求められた翻字確率を出力する確率出力部、
をさらに備えることを特徴とする翻字処理装置。
【請求項7】
請求項1から5のいずれか一項に記載の翻字処理装置であって、
前記任意の起源言語における綴りからなる第1文字列を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が翻字されうる前記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される翻字確率を求め、当該求められた翻字確率が高い順に当該求められた候補文字列を出力する候補出力部、
をさらに備えることを特徴とする翻字処理装置。
【請求項8】
請求項6又は7に記載の翻字処理装置であって、
前記受付部は、前記訓練集合に含まれていない第1文字列を受け付ける、
ことを特徴とする翻字処理装置。
【請求項9】
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラム。
【請求項10】
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】
生成部及び更新部とを備える翻字処理装置が実行する方法であって、
前記生成部が、任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成ステップ、
前記更新部が、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新ステップ、
を有することを特徴とする翻字処理方法。
【請求項1】
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
を備えることを特徴とする翻字処理装置。
【請求項2】
請求項1に記載の翻字処理装置であって、
前記K個の翻字表それぞれに対応した起源言語を起源とする原綴り文字列が、前記訓練集合に含まれる複数の原綴り文字列に占める割合をそれぞれ示す、前記K個の翻字表の重みパラメタを初期化する初期化部、を更に備え、
前記更新部は、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の翻字表に含まれる当該翻字確率の前記重みパラメタによる重み付き平均に基づいて、前記原綴り文字列の起源言語が当該翻字表に対応した起源言語である起源確率をそれぞれ算出した後に、当該起源確率をさらに用いて算出される前記尤度関数の期待値を最大化するように、前記K個の重みパラメタを更新した後に、前記起源確率の算出と前記重みパラメタの更新とを繰り返す、
ことを特徴とする翻字処理装置。
【請求項3】
請求項1又は2に記載の翻字処理装置であって、
前記生成部は、1個の前記書換表を生成した後に、前記生成された1個の書換表に含まれる書換確率を、前記K個の言語毎に変化させることにより、前記K個の言語に対応したK個の書換表を生成する、
ことを特徴とする翻字処理装置。
【請求項4】
請求項1又は2に記載の翻字処理装置であって、
前記生成部は、1個の前記書換表を用いたαβ法により1個の前記翻字表を生成した後に、前記生成された1個の翻字表に含まれる翻字確率を変化させることにより、前記K個の言語に対応したK個の翻字表を生成し、
前記更新部は、前記K個の翻字表のそれぞれに含まれる翻字確率をEMアルゴリズムにより更新する、
ことを特徴とする翻字処理装置。
【請求項5】
請求項1から4のいずれか一項に記載の翻字処理装置であって、
前記更新部は、前記更新による前記尤度関数の期待値の変化量が、所定の大きさ未満となるまで前記更新を繰り返す、
ことを特徴とする翻字処理装置。
【請求項6】
請求項1から5のいずれか一項に記載の翻字処理装置であって、
前記任意の起源言語における綴りからなる第1文字列と、前記所定の目的言語における綴りからなる第2文字列と、を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が前記受け付けられた第2文字列に翻字される翻字確率を求め、当該求められた翻字確率を出力する確率出力部、
をさらに備えることを特徴とする翻字処理装置。
【請求項7】
請求項1から5のいずれか一項に記載の翻字処理装置であって、
前記任意の起源言語における綴りからなる第1文字列を受け付ける受付部、
前記K個の翻字表のそれぞれを用いることにより前記受け付けられた第1文字列が翻字されうる前記所定の目的言語における候補文字列と、当該第1文字列が当該候補文字列に翻字される翻字確率を求め、当該求められた翻字確率が高い順に当該求められた候補文字列を出力する候補出力部、
をさらに備えることを特徴とする翻字処理装置。
【請求項8】
請求項6又は7に記載の翻字処理装置であって、
前記受付部は、前記訓練集合に含まれていない第1文字列を受け付ける、
ことを特徴とする翻字処理装置。
【請求項9】
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラム。
【請求項10】
コンピュータを、
任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成部、
前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新部、
として機能させることを特徴とする翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】
生成部及び更新部とを備える翻字処理装置が実行する方法であって、
前記生成部が、任意の起源言語における綴りからなる原綴り文字列と、当該原綴り文字列を所定の目的言語に翻字した綴りからなる目的綴り文字列と、の翻字対を複数含む訓練集合から、前記原綴り文字列を構成する原断片と、前記目的綴り文字列を構成する翻字断片と、翻字のために当該原断片が当該翻字断片に書き換えられる書換確率との組を複数含む、互いに異なるK個の起源言語に対応したK個の書換表と、前記訓練集合に含まれる翻字対を複数含む、前記K個の起源言語に対応したK個の翻字表とを生成する生成ステップ、
前記更新部が、前記訓練集合に複数含まれる翻字対のそれぞれに対して、前記K個の書換表に含まれる書換確率のそれぞれを用いることにより、当該翻字対の原綴り文字列が当該書換表に対応した起源言語を起源とする場合に当該翻字対の目的綴り文字列に翻字される翻字確率を算出してから、当該翻字確率を当該翻字対と対応付けて当該起源言語に対応した翻字表に保存した後に、前記訓練集合が得られた場合における前記K個の翻字表の尤もらしさを表す尤度を算出する尤度関数の期待値であって、当該翻字確率を用いて算出される値を最大化するように、前記K個の書換表のそれぞれに含まれる書換確率を更新した後に、前記翻字確率の算出と前記書換確率の更新とを繰り返す更新ステップ、
を有することを特徴とする翻字処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−185679(P2012−185679A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−48384(P2011−48384)
【出願日】平成23年3月4日(2011.3.4)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願日】平成23年3月4日(2011.3.4)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
[ Back to top ]