(57)【特許請求の範囲】
【請求項１】
文を構成する要素を識別する要素識別子である状態シンボルを有する２以上のノードと、１つの要素識別子である入力シンボルおよび入力シンボルの出現確率を示す情報である遷移重みを有し、ノード間の遷移を示す情報である１以上のアークと、を有する１以上の第一言語モデルを格納し得る言語モデル格納部と、
前記１以上の第一言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する統合状態判定部と、
前記統合状態判定部が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する状態統合部と、
前記第三言語モデルを出力する出力部とを具備する言語モデル結合装置。
【請求項２】
前記言語モデル格納部は、２以上の第一言語モデルを格納しており、
前記２以上の第一言語モデルを結合し、一の第二言語モデルを構成するモデル結合部をさらに具備し、
前記統合状態判定部は、
前記第二言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する請求項１記載の言語モデル結合装置。
【請求項３】
前記統合条件は、
２以上の各ノードが有する２以上の状態シンボルが予め決められた条件を満たすことである請求項１または請求項２記載の言語モデル結合装置。
【請求項４】
前記アークは、
確率情報を含む１以上の属性値を有し、
前記統合条件は、
２以上の各ノードに接続されている１以上のアークが有する１以上の属性値から算出したノード間の類似度が予め決められた条件を満たすことである請求項１から請求項３いずれか記載の言語モデル結合装置。
【請求項５】
前記アークは、
確率情報を含む１以上の属性値を有し、
前記統合条件は、
２以上のノードを結合する前の第一の確率情報と２以上のノードを結合する場合の第二の確率情報とから算出した言語モデルの評価値が予め決められた条件を満たすことである請求項１から請求項３いずれか記載の言語モデル結合装置。
【請求項６】
前記状態統合部が行う前記２以上のノードの結合の処理の終了条件を格納しており、当該終了条件に合致するか否かを判定する統合終了判定部をさらに具備し、
前記状態統合部は、
前記統合終了判定部が前記終了条件に合致すると判定した場合に、前記２以上のノードの結合の処理を終了する請求項１から請求項５いずれか記載の言語モデル結合装置。
【請求項７】
記録媒体に、
文を構成する要素を識別する要素識別子である状態シンボルを有する２以上のノードと、１つの要素識別子である入力シンボルおよび入力シンボルの出現確率を示す情報である遷移重みを有し、ノード間の遷移を示す情報である１以上のアークと、を有する１以上の第一言語モデルを格納しており、
コンピュータを、
前記１以上の第一言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する統合状態判定部と、
前記統合状態判定部が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する状態統合部と、
前記第三言語モデルを出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の言語モデルを結合する言語モデル結合装置等に関するものである。
【背景技術】
【０００２】
従来の第一の技術として、線形結合方式があった。かかる線形結合方式は、複数の言語モデルが出力する確率値の加重和をとることにより、複数の言語モデルを組み合わせ、言語モデルの精密化を図る技術である（例えば、非特許文献１参照）。
【０００３】
また、従来の第二の技術として、重みつき有限状態トランスデューサ（ＷＦＳＴ）を結合するＷＦＳＴ結合方式があった。かかるＷＦＳＴ結合方式は、ＷＦＳＴのＵｎｉｏｎ演算により複数の言語モデルを並列化し、組み合わせモデルがカバーする領域を広げようとするものである（例えば、非特許文献２参照）。なお、ＷＦＳＴは有限状態マシンの一種である。ＷＦＳＴは、状態（ノード）と状態間の遷移（アーク）により構成される。ノードは状態シンボルを有する。また、アークは入力シンボル、出力シンボルおよび遷移重みを有するという特徴がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】北研二，辻井潤一著  「確率的言語モデル」東京大学出版会  １９９９年
【非特許文献２】X. Liu他. "Language model combination and adaptation using weighted finite state transducers" (ICASSP2010)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術においては、精度の高い言語処理が可能となる言語モデルを構成できなかった。
【０００６】
さらに具体的には、従来の第一の技術において、各言語モデルにはそれぞれ精度の悪い部分があるにも関わらず、常に全言語モデルの和をとる。そのため、従来の第一の技術では、一部の単語列では、結合により精度が劣化する場合があった。
【０００７】
また、従来の第二の技術において、各言語モデルに共通する部分に対しても、各言語モデルを独立に使用する。そのため、従来の第二の技術は、一部の単語列で、言語処理の精度が向上しなかった。
【課題を解決するための手段】
【０００８】
本第一の発明の言語モデル結合装置は、文を構成する要素を識別する要素識別子である状態シンボルを有する２以上のノードと、１つの要素識別子である入力シンボルおよび入力シンボルの出現確率を示す情報である遷移重みとを有し、ノード間の遷移を示す情報である１以上のアークと、を有する１以上の第一言語モデルを格納し得る言語モデル格納部と、１以上の第一言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する統合状態判定部と、統合状態判定部が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する状態統合部と、第三言語モデルを出力する出力部とを具備する言語モデル結合装置である。
【０００９】
かかる構成により、精度の高い言語処理が可能となる言語モデルを構成できる。
【００１０】
また、本第二の発明の言語モデル結合装置は、第一の発明に対して、言語モデル格納部は、２以上の第一言語モデルを格納しており、２以上の第一言語モデルを結合し、一の第二言語モデルを構成するモデル結合部をさらに具備し、統合状態判定部は、第二言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する言語モデル結合装置である。
【００１１】
かかる構成により、さらに精度の高い言語処理が可能となる言語モデルを構成できる。
【００１２】
また、本第三の発明の言語モデル結合装置は、第一または第二の発明に対して、統合条件は、２以上の各ノードが有する２以上の状態シンボルが予め決められた条件を満たすという言語モデル結合装置である。
【００１３】
かかる構成により、さらに精度の高い言語処理が可能となる言語モデルを構成できる。
【００１４】
また、本第四の発明の言語モデル結合装置は、第一から第三の発明に対して、アークは、確率情報を含む１以上の属性値を有し、統合条件は、２以上の各ノードに接続されている１以上のアークが有する１以上の属性値から算出したノード間の類似度が予め決められた条件を満たすことである言語モデル結合装置である。
【００１５】
かかる構成により、さらに精度の高い言語処理が可能となる言語モデルを構成できる。
【００１６】
また、本第五の発明の言語モデル結合装置は、第一から第三いずれかの発明に対して、アークは、確率情報を含む１以上の属性値を有し、統合条件は、２以上のノードを結合する前の第一の確率情報と２以上のノードを結合する場合の第二の確率情報とから算出した言語モデルの評価値が予め決められた条件を満たすことである言語モデル結合装置である。
【００１７】
かかる構成により、言語モデルを構成する場合の処理時間を低減できる。
【００１８】
また、本第六の発明の言語モデル結合装置は、第一から第五の発明に対して、終了条件は、状態統合部が行う統合処理の回数、状態統合部が行う統合処理の後のノードの数、または状態統合部が行う統合処理の前後の確率情報により算出される確率情報の向上の度合いのうちのいずれかの条件である言語モデル結合装置である。
【００１９】
かかる構成により、言語モデルを構成する場合の処理時間を低減できる。
【００２０】
また、本第七の発明の言語処理装置は、第一から第六いずれかの発明に対して、言語モデル結合装置により構成された第三言語モデルを格納し得る言語モデル格納部と、文を受け付ける受付部と、文を、第三言語モデルを用いて処理する処理部と処理部の処理結果を出力する出力部とを具備する言語処理装置である。
【００２１】
かかる構成により、精度の高い言語処理が可能である言語モデルを用いて、精度の高い言語処理が可能となる。
【００２２】
また、本第八の発明の言語処理装置は、第七の発明に対して、受付部は、文の音声情報を受け付け、処理部は、文の音声情報を、第三言語モデルを用いて音声認識処理を行う言語処理装置である。
【００２３】
かかる構成により、精度の高い言語処理が可能である言語モデルを用いて、精度の高い音声認識が可能となる。
【００２４】
また、本第九の発明の言語処理装置は、第七の発明に対して、処理部は、文を、第三言語モデルを用いて機械翻訳処理を行う言語処理装置である。
【００２５】
かかる構成により、精度の高い言語処理が可能である言語モデルを用いて、精度の高い機械翻訳が可能となる。
【発明の効果】
【００２６】
本発明による言語モデル結合装置によれば、精度の高い言語処理が可能となる言語モデルを構成できる。
【図面の簡単な説明】
【００２７】
【図１】実施の形態１における言語モデル結合装置１のブロック図
【図２】同言語モデル結合装置１の動作について説明するフローチャート
【図３】同状態統合処理について説明するフローチャート
【図４】同統合状態判定処理について説明するフローチャート
【図５】同ノード統合処理について説明するフローチャート
【図６】同確率情報算出処理について説明するフローチャート
【図７】同統合終了判定処理について説明するフローチャート
【図８】同ＷＦＳＴを用いた言語モデルの例を示す図
【図９】同言語モデル格納部１１に格納されている言語モデルの例を示す図
【図１０】同第二言語モデルの例を示す図
【図１１】同ノードの統合処理を説明するための図
【図１２】同第三言語モデルの例を示す図
【図１３】同言語モデル結合装置２のブロック図
【図１４】実施の形態２における言語処理装置３のブロック図
【図１５】同コンピュータシステムの概観図
【図１６】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２８】
以下、言語モデル結合装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２９】
（実施の形態１）
本実施の形態において、モデル結合を行った後に、状態統合を行う言語モデル結合装置について説明する。ここで、モデル結合とは、複数のＷＦＳＴ形式の言語モデルをＵｎｉｏｎ演算で結合し、新しい一のＷＦＳＴ形式の言語モデルを生成する処理である。また、状態統合とは、モデル結合されたＷＦＳＴ形式の言語モデルに状態統合処理を適用し、新しい一のＷＦＳＴ形式の言語モデルを出力する処理である。なお、状態統合処理とは、言語モデルの複数の状態であり、同一の識別子が付された状態を統合する処理である。なお、ここで言う状態は、ノードと同意義である。
【００３０】
また、本実施の形態において、所定の条件を満たす場合のみ、上記の状態統合処理を行う言語モデル結合装置について説明する。
【００３１】
さらに、本実施の形態において、所定の条件を満たす場合に、上記の状態統合処理を終了する言語モデル結合装置についても説明する。
【００３２】
図１は、本実施の形態における言語モデル結合装置１のブロック図である。言語モデル結合装置１は、言語モデル格納部１１、新言語モデル格納部１２、モデル結合部１３、統合状態判定部１４、状態統合部１５、統合終了判定部１６、および出力部１７を備える。
【００３３】
言語モデル格納部１１は、１以上の言語モデルを格納し得る。言語モデル格納部１１が格納している言語モデルを第一言語モデルという。第一言語モデルのデータ構造は、通常、ＷＦＳＴ形式である。なお、言語モデル格納部１１は、２以上の第一言語モデルを格納していることは好適である。
【００３４】
言語モデル格納部１１が格納する第一言語モデルは、２以上のノード（状態）と、２ノード間の遷移を示すアーク（状態遷移）とを有する。ノードは、１以上の要素識別子からなる状態シンボルを、属性として有する。また、アークは、１の要素識別子からなる入力シンボルと、その要素識別子の出現確率を示す情報である遷移重みとを、属性として有する。
【００３５】
ここで、要素識別子とは、通常、単語である。要素識別子は、あるいは、２以上の単語、句等でも良い。つまり、要素識別子は、文を構成する要素を識別する情報であれば良い。
【００３６】
また、要素識別子の出現確率とは、言語モデルが出力する確率情報である。例えば、言語モデルが単語３−ｇｒａｍのとき、２つの単語「天気」「は」の次に単語「雨」が出現する確率値「Ｐ（雨｜天気、は）」がこれに相当する。
【００３７】
なお、ノードは、属性として重みを有してもよい。なお、アークは、通常、有向線である。また、アークは、属性として出力シンボルを有してもよい。
【００３８】
また、第一言語モデルは、例えば、オフィス会話の文の集合から構成した言語モデル、旅行会話の文の集合から構成した言語モデル等である。
【００３９】
言語モデル格納部１１に言語モデルが記憶される過程は問わない。例えば、記録媒体を介して言語モデルが言語モデル格納部１１で記憶されるようになってもよく、通信回線等を介して送信された言語モデルが言語モデル格納部１１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された言語モデルが言語モデル格納部１１で記憶されるようになってもよい。
【００４０】
新言語モデル格納部１２は、第三言語モデルを格納し得る。第三言語モデルは、後述する出力部１７が出力する言語モデルである。また、第三言語モデルのデータ構造は、通常、ＷＦＳＴ形式である。
【００４１】
モデル結合部１３は、２以上の第一言語モデルを結合し、一の第二言語モデルを構成する。第二言語モデルのデータ構造は、通常、ＷＦＳＴ形式である。
【００４２】
モデル結合部１３が構成する第二言語モデルは、始端を示すノード（始端ノード「Ｓ」という）と、始端ノード「Ｓ」から結合する２以上の第一言語モデルの各始端ノードへのアークとを有する。このような第二言語モデルは、例えば、始端ノード「Ｓ」を生成し、結合する２以上の第一言語モデルの各始端ノードを連結して構成できる。また、例えば、複数の言語モデルが有する最初のノードを結合して第二言語モデルを生成してもよい。また、ＷＦＳＴのＵＮＩＯＮ演算を用いて第二言語モデルを生成してもよい。なお、ＵＮＩＯＮ演算の詳細については非特許文献２を参照のこと。
【００４３】
また、第二言語モデルは終端を示すノード（終端ノード「Ｅ」という）を有してもよい。このとき、第二言語モデルは、結合する２以上の第一言語モデルの各終端ノードから終端ノード「Ｅ」に連結されたアークを有する。
【００４４】
統合状態判定部１４は、１以上の第一言語モデルが有する２以上のノードが、統合条件を満たすか否かを判定する。統合条件とは、予め決められた統合するための条件であり、通常、統合状態判定部１４が保持している。
【００４５】
統合条件の例は、以下の（１）から（５）である。
（１）統合条件は、例えば、２以上の各ノードが有する２以上の状態シンボルが、予め決められた条件を満たすことである。かかる統合条件は、例えば、２以上の各ノードが有する２以上の状態シンボルに含まれる要素識別子が同一であることである。かかる場合、同一の状態シンボルを有する２以上の各ノードが属した第一言語モデルは、異なる言語モデルであることが好適である。
（２）統合条件は、例えば、２以上の各ノードが有する２以上の状態シンボルが、予め管理されている２以上の状態シンボルに含まれることである。例えば、統合状態判定部１４は、統合条件［「が」「は」］や［「天気」「天候」］等を管理している。統合条件［「が」「は」］は、要素識別子「が」からなる状態シンボルを有するノードと、要素識別子「は」からなる状態シンボルを有するノードとを統合することを意味する。統合条件［「天気、が」「天気、は」］のように、状態シンボルが２以上の要素識別子からなる場合も同様である。
（３）統合条件は、例えば、２以上の各ノードに接続されている１以上のアークが有する１以上の属性値が予め決められた条件を満たすことである。
【００４６】
なお、予め決められた条件を満たすとは、入力シンボルの重複度合いが閾値以上である、確率情報（遷移重み）のベクトルの距離が閾値以内である等である。つまり、統合状態判定部１４は、統合対象の２つの各ノードから出る全アークの入力シンボルを取得し、２つのノードに対応するシンボルの重複度が閾値以上であるか否かを判断する。また、統合状態判定部１４は、統合対象の２つの各ノードから出る全アークの確率情報を取得し、各ノードに対応する１以上の確率情報をベクトル化し、ベクトルの距離を算出し、当該距離が閾値以内であるか否かを判断しても良い。
（４）統合条件は、例えば、２以上のノードを結合する前の第一の確率情報と２以上のノードを結合する場合の第二の確率情報とが予め決められた条件を満たすほど、２以上のノードを結合する場合の確率情報が向上することである。
【００４７】
さらに具体的には、言語モデル１の第一の確率情報がｐ１、言語モデル２の第一の確率情報がｐ２、言語モデル１の混合重みがｗ１、言語モデル２の混合重みｗ２である場合、統合状態判定部１４は、「第二の確率情報＝ｗ１×ｐ１＋ｗ２×ｐ２」により、第二の確率情報を取得する。そして、言語モデルの数がＭ個の場合、統合状態判定部１４は、「第二の確率情報＝Σｗi×ｐi」により、第二の確率情報を取得する。そして、統合状態判定部１４は、例えば、評価値として１以上の文からなる統合状態判定評価データに対するテストセットパープレキシティを計算し、統合後に第二の確率情報を用いて計算した評価値と、統合前に第一の確率情報を用いて計算した評価値の差分が閾値を超える場合に条件を満たすと判断する。そして、条件を満たす場合に、状態統合部１５は、２以上のノードを結合する。なお、混合重みｗ１、ｗ２は、重視するモデルを決定するための指標であり、ＷＦＳＴ形式の言語モデルのアークの重みとは無関係に定められるパラメタである。なお、条件を満たすか否かの判断方法、第二の確率情報の算出方法は問わない。
（５）統合条件は、上記の統合条件の２以上のＡＮＤによる組み合わせでも良い。例えば、統合条件は、（１）２以上の各ノードが有する２以上の状態シンボルが予め決められた条件を満たすこと、および（４）２以上のノードを結合する前の第一の確率情報と２以上のノードを結合する場合の第二の確率情報とが予め決められた条件を満たすほど、２以上のノードを結合する場合の確率情報が向上すること、でも良い。
【００４８】
さらに、統合状態判定部１４は、統合終了判定部１６が終了条件に合致すると判定した場合に、上記の判定の処理を終了することは好適である。なお、統合終了判定部１６が終了条件に合致すると判定した場合に、後述する状態統合部１５が２以上のノードの結合の処理を終了しても良い。また、統合状態判定部１４が判定の処理を終了することは、状態統合部１５が２以上のノードの結合の処理を終了することと同じである。
【００４９】
ここで、終了条件とは、例えば、状態統合部１５が行う統合処理の回数、状態統合部１５が行う統合処理の後のノードの数、または状態統合部１５が行う統合処理の前後の確率情報により算出される確率情報の向上の度合いのうちのいずれかの条件である。
【００５０】
状態統合部１５は、統合状態判定部１４が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する。
【００５１】
さらに、状態統合部１５は、統合終了判定部１６が終了条件に合致すると判定した場合に、２以上のノードの結合の処理を終了することは好適である。
【００５２】
統合終了判定部１６は、状態統合部１５が行う２以上のノードの結合の処理の終了条件を格納しており、終了条件に合致するか否かを判定する。
【００５３】
終了条件とは、状態統合部１５が行う統合処理の回数、状態統合部１５が行う統合処理の後のノードの数、または状態統合部１５が行う統合処理の前後の確率情報により算出される評価値の向上の度合い等である。
【００５４】
つまり、例えば、統合終了判定部１６は、状態統合部１５が行う統合処理の回数をカウントし、当該回数が予め保持している回数になった場合に、終了条件に合致すると判断する。
【００５５】
また、例えば、統合終了判定部１６は、状態統合部１５が行う統合処理の後のノードの数をカウントし、当該ノードの数が予め保持している条件に合致する数になった場合に、終了条件に合致すると判断しても良い。
【００５６】
さらに、例えば、統合終了判定部１６は、状態統合部１５が行う統合処理の前後の確率情報により算出される評価値の向上の度合いを算出し、当該評価値の向上の度合いが予め保持している条件に合致するに至った場合に、終了条件に合致すると判断しても良い。
【００５７】
つまり、例えば、統合終了判定部１６は、状態統合部１５が行う統合処理の回数を図示しない記録媒体(例えば、統合終了判定部１６が有する記録手段)に記録し、統合処理の最大回数になったか否かを判断し、統合処理の回数が予め保持している統合処理の最大回数になった場合に、終了条件に合致すると判断する。そして、状態統合部１５は２以上のノードの結合の処理を終了する。なお、統合処理の最大回数は、例えば、統合終了判定部１６が予め保持している。
【００５８】
また、例えば、統合終了判定部１６は、統合処理後のノードの数をカウントし、当該ノードの数が予め保持しているノードの最小数になったか否かを判断し、ノードの数が予め保持しているノードの最小数になった場合に、終了条件に合致すると判断する。そして、状態統合部１５は２以上のノードの結合の処理を終了する。
【００５９】
また、例えば、統合終了判定部１６は、評価値として１以上の文からなる統合終了判定評価データに対するテストセットパープレキシティを計算し、状態統合部１５が行う統合処理の前の確率情報に基づく評価値と、統合処理の後の確率情報に基づく評価値とを算出する。次に、統合終了判定部１６は、統合処理の前後の確率情報により算出される評価値の向上の度合いを算出する。そして、評価値の向上の度合いが閾値以上になった場合に、終了条件に合致すると判断する。そして、状態統合部１５は２以上のノードの結合の処理を終了する。なお、評価値の向上の度合いとは、２つの評価値の差でも良いし、比等でも良い。
【００６０】
出力部１７は、状態統合部１５が取得した第三言語モデルを出力する。ここで、出力とは、通常、新言語モデル格納部１２への蓄積である。ただし、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００６１】
言語モデル格納部１１、および新言語モデル格納部１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００６２】
モデル結合部１３、統合状態判定部１４、状態統合部１５、および統合終了判定部１６は、通常、ＭＰＵやメモリ等から実現され得る。モデル結合部１３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００６３】
出力部１７は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１７は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００６４】
次に、言語モデル結合装置１の動作について、図２のフローチャートを用いて説明する。
【００６５】
（ステップＳ２０１）モデル結合部１３は、言語モデル格納部１１に格納されている２以上の言語モデルをＵｎｉｏｎ結合し、一の第二言語モデルを構成する。
【００６６】
（ステップＳ２０２）状態統合部１５等は、ステップＳ２０１で構成された一の第二言語モデルが有する２以上のノードであり、２以上のノードを一のノードに統合し、一の第三言語モデルを取得する。かかる処理は、状態統合処理である。状態統合処理について、図３のフローチャートを用いて説明する。
【００６７】
（ステップＳ２０３）出力部１７は、状態統合部１５が取得した第三言語モデルを出力し、処理を終了する。
【００６８】
次に、ステップＳ２０２の状態統合処理について、図３のフローチャートを用いて説明する。
【００６９】
（ステップＳ３０１）統合状態判定部１４は、カウンタｉに１を代入する。
【００７０】
（ステップＳ３０２）統合状態判定部１４は、第二言語モデルの中にｉ番目のノードが存在するか否かを判断する。ｉ番目のノードが存在すればステップＳ３０３に行き、ｉ番目のノードが存在しなければ上位処理にリターンする。
【００７１】
（ステップＳ３０３）統合状態判定部１４は、ｉ番目のノードの情報を取得する。なお、ｉ番目のノードの情報とは、ｉ番目のノードを識別する情報でも良いし、統合状態判定に用いる情報でも良い。統合状態判定に用いる情報とは、例えば、要素識別子、ノードに接続されている１以上のアークが有する１以上の属性値、ノードの属性値等である。
【００７２】
（ステップＳ３０４）統合状態判定部１４は、カウンタｊに１を代入する。
【００７３】
（ステップＳ３０５）統合状態判定部１４は、第二言語モデルの中にｊ番目のノードが存在するか否かを判断する。ｊ番目のノードが存在すればステップＳ３０６に行き、存在しなければステップＳ３１２に行く。なお、ｊ番目のノードは、ステップＳ３０２におけるｉ番目のノードとして採用されていない他のノードである。なお、通常、ｉ番目のノードとｊ番目のノードとは、Ｕｎｉｏｎ結合される前は、別の言語モデルに存在したノードである。
【００７４】
（ステップＳ３０６）統合状態判定部１４は、ｊ番目のノードの情報を取得する。
【００７５】
（ステップＳ３０７）統合状態判定部１４は、２つのノードを統合するか否かを判定する。判定の結果、２つのノードを統合する場合はステップＳ３０８に行き、統合しない場合はステップＳ３１１に行く。なお、かかる処理を統合状態判定処理という。統合状態判定処理について、図４のフローチャートを用いて説明する。
【００７６】
（ステップＳ３０８）状態統合部１５は、２つのノードを統合する。かかる処理をノード統合処理という。ノード統合処理について、図５のフローチャートを用いて説明する。
【００７７】
（ステップＳ３０９）統合終了判定部１６は、ノードの統合処理の終了条件に合致するか否かを判定する。かかる処理を統合終了判定処理という。統合終了判定処理について、図７のフローチャートを用いて説明する。
【００７８】
（ステップＳ３１０）統合状態判定部１４は、ステップＳ３１１における統合終了判定処理の結果が「終了する」との結果であるか否かを判断する。「終了する」との結果である場合は上位処理にリターンし、「終了しない」との結果である場合はステップＳ３１１に行く。
【００７９】
（ステップＳ３１１）統合状態判定部１４は、カウンタｊを１、インクリメントし、ステップＳ３０５に戻る。
【００８０】
（ステップＳ３１２）統合状態判定部１４は、カウンタｉを１、インクリメントし、ステップＳ３０２に戻る。
【００８１】
なお、図３のフローチャートにおいて、統合終了判定処理（ステップＳ３０９）は無くても良い。
【００８２】
次に、ステップＳ３０７の統合状態判定処理について、図４のフローチャートを用いて説明する。
【００８３】
（ステップＳ４０１）統合状態判定部１４は、統合状態判定部１４が予め格納している統合条件を読み出す。
【００８４】
（ステップＳ４０２）統合状態判定部１４は、統合を行う候補の２つのノードに対応する情報であり、ステップＳ４０１で読み出した統合条件に対応する１以上の情報を取得する。なお、統合を行う候補の２つのノードは、図３のフローチャートにおけるｉ番目のノードとｊ番目のノードである。また、ノードに対応する情報とは、要素識別子、ノードが有する属性値、ノードから出るアークが有する属性値、ノードに入るアークが有する属性値、ノードを結合する前の第一の確率情報、ノードを結合する場合の第二の確率情報等である。
【００８５】
（ステップＳ４０３）統合状態判定部１４は、ステップＳ４０２で取得した１以上の値を、ステップＳ４０１で読み出した統合条件に適用する。
【００８６】
（ステップＳ４０４）統合状態判定部１４は、ステップＳ４０２で取得した１以上の値が統合条件を満たすか否かを判断する。統合条件を満たす場合はステップＳ３０８に戻り、統合条件を満たさない場合はステップＳ３１１に戻る。
【００８７】
次に、ステップＳ３０８のノード統合処理について、図５のフローチャートを用いて説明する。
【００８８】
（ステップＳ５０１）状態統合部１５は、統合対象のいずれかのノードから出るアークの入力シンボルをシンボルリストとして保持する。
【００８９】
（ステップＳ５０２）状態統合部１５は、統合対象のいずれかのノードから出る１以上のアークを、入力シンボルをインデックスとして、アークリストとして保持する。同一の入力シンボルを有する２以上のアークが存在する場合は、それらはアークリストの同じ要素に保持される。
【００９０】
（ステップＳ５０３）状態統合部１５は、新しいノードＮを生成する。
【００９１】
（ステップＳ５０４）状態統合部１５は、カウンタｉに１を代入する。
【００９２】
（ステップＳ５０５）状態統合部１５は、シンボルリストを参照し、ｉ番目の要素が存在すればステップＳ５０６に行き、ｉ番目の要素が存在しなければＳ５０８に行く。
【００９３】
（ステップＳ５０６）状態統合部１５は、アークリストを参照し、ｉ番目のシンボルを入力シンボルとする１以上のアーク（古いアーク）を取得する。そして、ノードＮを遷移元とし、取得した各古いアークの遷移先ノードを遷移先とする新しいアークを生成する。また、ｉ番目のシンボルを新しいアークの入力シンボルとする。ここで、ｉ番目のシンボルに対して２以上の古いアークが保持されている場合は、２以上の新しいアークを生成する。
【００９４】
（ステップＳ５０７）状態統合部１５は、Ｓ５０６で取得した古いアークの確率情報（遷移重み）を用いて、新しいアークの確率情報を算出する。確率情報算出処理について、図６のフローチャートを用いて説明する。
【００９５】
（ステップＳ５０８）状態統合部１５は、カウンタｉを１、インクリメントし、ステップＳ５０４に戻る。
【００９６】
（ステップＳ５０９）状態統合部１５は、カウンタｉに１を代入する。
【００９７】
（ステップＳ５１０）状態統合部１５は、統合対象の２つのいずれかのノードに入るｉ番目のアークが存在するか否かを判断する。ｉ番目のアークが存在すればステップＳ５１１に行き、ｉ番目のアークが存在しなければステップＳ５１４に行く。
【００９８】
（ステップＳ５１１）状態統合部１５は、新しいアークを生成する。この新しいアークは、ｉ番目のアーク（ｉ番目の古いアーク）の遷移元のノードを遷移元とし、ノードＮを遷移先とするアークである。
【００９９】
（ステップＳ５１２）状態統合部１５は、ｉ番目のアーク（ｉ番目の古いアーク）の確率情報を取得し、ステップＳ５１１で生成した新しいアークの確率情報にセットする。
【０１００】
（ステップＳ５１３）状態統合部１５は、カウンタｉを１、インクリメントし、ステップＳ５１０に戻る。
【０１０１】
（ステップＳ５１４）状態統合部１５は、統合対象の２つのノードを削除する。
【０１０２】
（ステップＳ５１５）状態統合部１５は、統合対象の２つのノードから出るアーク、および統合対象の２つのノードに入るアークを削除する。そして、上位処理にリターンする。
【０１０３】
なお、図５のフローチャートにおいて、統合対象の２つのノードのうちの一のノードを更新して、上記の新しいノードを生成する処理と同等の結果を得ても良い。また、図５のフローチャートにおいて、古いアークを更新して、上記の新しいアークを生成する処理と同等の結果を得ても良い。
【０１０４】
次に、ステップＳ５０７の確率情報算出処理について、図６のフローチャートを用いて説明する。
【０１０５】
（ステップＳ６０１）状態統合部１５は、Ｓ５０７において保持している、ｉ番目のシンボルと、そのシンボルを入力シンボルとする１以上のアーク（古いアーク）を取得する。
【０１０６】
（ステップＳ６０２）状態統合部１５は、カウンタｊに１を代入する。
【０１０７】
（ステップＳ６０３）状態統合部１５は、ｊ番目の古いアークが存在するか否かを判断する。ｊ番目の古いアークが存在すればステップＳ６０４に行き、存在しなければステップＳ６０６に行く。
【０１０８】
（ステップＳ６０４）状態統合部１５は、ｊ番目の古いアークの確率情報（Ｐｊ）を取得し、さらに、その古いアークを含んでいた第一言語モデルに対応する混合重み（Ｗｊ）を取得する。なお、混合重みＷｊは、第一言語モデルに対応づけて、言語モデル格納部１１に格納されている、とする。
【０１０９】
（ステップＳ６０５）状態統合部１５は、カウンタｊを１、インクリメントし、ステップＳ６０３に戻る。
【０１１０】
（ステップＳ６０６）状態統合部１５は、Ｓ６０４で取得した一連の確率情報および混合重みを用いて、新しいアークの確率情報（第二の確率情報）を算出し、当該確率情報を少なくとも一時的に記録媒体に格納する。なお、状態統合部１５は、例えば、加重和により、確率情報を算出しても良い。つまり、状態統合部１５は、例えば、線形結合の演算式「確率情報＝ΣＰｊ×Ｗｊ」により、確率情報を算出しても良い。そして、上位処理にリターンする。
【０１１１】
次に、ステップＳ３０９の統合終了判定処理について、図７のフローチャートを用いて説明する。
【０１１２】
（ステップＳ７０１）統合終了判定部１６は、統合終了判定部１６が予め格納している終了条件を読み出す。
【０１１３】
（ステップＳ７０２）統合終了判定部１６は、ステップＳ７０１で読み出した終了条件に対応する値を取得する。終了条件に対応する値は、例えば、状態統合部１５が行う統合処理の回数、状態統合部１５が行う統合処理の後のノードの数、または状態統合部１５が行う統合処理の前後の確率情報により算出される確率情報の向上の度合い等である。
【０１１４】
（ステップＳ７０３）統合終了判定部１６は、ステップＳ７０２で取得した値を、ステップＳ７０１で読み出した終了条件に適用する。
【０１１５】
（ステップＳ７０４）統合終了判定部１６は、ステップＳ７０３における終了条件の適用結果が、終了条件を満たす、との結果であるか否かを判断する。終了条件を満たす場合はステップＳ７０５に行き、終了条件を満たさない場合はステップＳ７０６に行く。
【０１１６】
（ステップＳ７０５）統合終了判定部１６は、状態統合処理を終了すると決定し、上位処理にリターンする。なお、ここで、統合終了判定部１６は、例えば、予め決められた変数（例えば、「終了判断結果」）に、状態統合処理を終了する旨を示す情報（例えば「１」）を代入する。
【０１１７】
（ステップＳ７０６）統合終了判定部１６は、状態統合処理を終了しないと決定し、上位処理にリターンする。なお、ここで、統合終了判定部１６は、例えば、予め決められた変数（例えば、「終了判断結果」）に、状態統合処理を終了しない旨を示す情報（例えば「０」）を代入する。
【０１１８】
なお、図３から図７のフローチャートを用いて、２つのノードを統合する処理について説明した。しかし、統合条件に合致する３つ以上のノードを統合しても良い。かかる場合、図３から図７のフローチャートを用いて説明した状態統合処理を２度以上行えば良い。しかし、一度に３以上のノードを統合しても良い。
【０１１９】
以下、本実施の形態における言語モデル結合装置１の具体的な動作について説明する。ここでの言語モデルは、ＷＦＳＴの構造を有する、とする。ＷＦＳＴを用いた言語モデルの例を図８に示す。図８において、言語モデルは、単語Ｎ−ｇｒａｍである。また、単語列ｈの後に単語ｗが出現する確率を、Ｐ（ｗ｜ｈ）を表す、とする。さらに、「ΣＰ（＊｜ｈ）＝１」である。つまり、図８において、「ΣＰ（ｗ｜天気，は）＝１，（ｗ＝晴れ，曇り，雨）」である。また、図８において、状態シンボルは履歴単語に、入力シンボルは出力単語に、遷移重みは出力確率に相当する。
【０１２０】
また、今、言語モデル結合装置１の言語モデル格納部１１は、例えば、図９に示す言語モデル１、言語モデル２を格納している、とする。図９の言語モデルは単語２−ｇｒａｍであり、状態シンボルは１単語であらわされる。なお、図９においては、アークの入力シンボルと遷移重みは省略されている。言語モデル１は、オフィス会話の複数の文から構成した言語モデルをＷＦＳＴのデータ構造にしたモデルである。また、言語モデル２は、旅行会話の複数の文から構成した言語モデルをＷＦＳＴのデータ構造にしたモデルである。なお、複数の文からＷＦＳＴの形式の言語モデルを構成する技術は公知技術であるので説明を省略する。
【０１２１】
かかる状況において、言語モデル結合装置１は、以下のように動作する。つまり、モデル結合部１３は、言語モデル格納部１１に格納されている言語モデル１と言語モデル２とをＵｎｉｏｎ結合する。つまり、モデル結合部１３は、始端ノード「Ｓ」と終端ノード「Ｅ」とを生成する。次に、モデル結合部１３は、始端ノード「Ｓ」と言語モデル１の最初のノード「会議」とを連結する。つまり、始端ノード「Ｓ」と言語モデル１の最初のノード「会議」とを連結するアークを生成する。次に、モデル結合部１３は、始端ノード「Ｓ」と言語モデル２の最初のノード「バス」とを連結する。つまり、始端ノード「Ｓ」と言語モデル２の最初のノード「バス」とを連結するアークを生成する。
【０１２２】
次に、モデル結合部１３は、言語モデル１の最後のノード「て」と終端ノード「Ｅ」とを連結する。つまり、言語モデル１の最初のノード「て」と終端ノード「Ｅ」とを連結するアークを生成する。また、モデル結合部１３は、言語モデル２の最後のノード「た」と終端ノード「Ｅ」とを連結する。つまり、言語モデル２の最後のノード「た」と終端ノード「Ｅ」とを連結するアークを生成する。そして、モデル結合部１３は、第二言語モデルを得る。なお、図１０が図９の第一言語モデルを結合した第二言語モデルである。
【０１２３】
次に、統合状態判定部１４は、各ノードに対して、上述した統合判定処理を行う。なお、ここで、統合状態判定部１４は、統合条件「２以上の各ノードが有する２以上の状態シンボルを構成する要素識別子が同一であること」を保持している、とする。つまり、ここでの状態統合処理は、第二言語モデルが有する２以上のノードであり、同一の状態シンボルを有する２以上のノードを一のノードに統合し、一の第三言語モデルを取得する処理である。
【０１２４】
今、ノード「時間」に着目して、状態統合処理の具体例を説明する。なお、言語モデル３が有するノード「時間」に連結されているアークとノードを示した図が、図１１である、とする。図１１において、各アークは、入力シンボルと遷移重みである確率情報とを属性値として有する、とする。つまり、例えば、図１１のノード「時間」からノード「が」への遷移を示すアークは、入力シンボル「が」と、遷移重みである確率情報「０．６」とを、属性値として有する。
【０１２５】
統合状態判定部１４は、図１０の第二言語モデルの中に状態シンボル「時間」を有する２つのノードが存在することを検知する。そして、２つのノードは同一の状態シンボルを有するので、統合状態判定部１４は、保持している統合条件に合致すると判定する。
【０１２６】
次に、状態統合部１５は、状態シンボル「時間」を有する新しいノードを生成する。つまり、状態統合部１５は、例えば、新しいノードの記憶領域を確保し、ノードＩＤを生成し、生成したノードＩＤと、要素識別子「時間」とを当該記憶領域に書き込む。
【０１２７】
次に、状態統合部１５は、図１１のアーク１１１に対応するアークであり、新しいノードから出るアークを生成する。アークの生成とは、例えば、アークの情報を格納する記憶領域を確保し、アークＩＤを生成し、アークＩＤと、当該アークの始点となるノード（新しいノード）のノードＩＤと、当該アークの終点となるノード（アーク１１１の先のノード）のノードＩＤとを書き込む処理である。
【０１２８】
次に、状態統合部１５は、以下のように、生成したアークの確率情報を算出する。つまり、状態統合部１５は、統合対象の２つの「時間」ノードから出るアークの行先のノードの３つの要素識別子「を」「を」「が」を取得する。
【０１２９】
次に、状態統合部１５は、確率情報の算出の対象となるアークの先のノードの要素識別子「を」を取得する。次に、状態統合部１５は、確率情報の算出の対象となるアーク１１１の確率情報（ｐ１＝１．０）を取得する。次に、状態統合部１５は、要素識別子「を」を行先とする１番目の他のアーク１１２の確率情報（ｐ２＝０．４）を取得する。次に、状態統合部１５は、例えば、演算式「確率情報＝Ｗ１×ｐ１＋Ｗ２×ｐ２＝０．７」を算出する。そして、状態統合部１５は、新しいアークの確率情報「０．７」、および行先のノードの要素識別子「を」を、当該アークの属性値として書き込む。以上の処理により、一のアークの生成が完了する。なお、Ｗ１とＷ２とは、２つの第一言語モデルの混合重みであり、ここでは「Ｗ１＝Ｗ２＝０．５」である、とする。
【０１３０】
以上のアーク生成の処理を、状態統合部１５は、元のアークであるアーク１１３に対しても行う。そして、アーク１１３に対応する新しいアークが生成される。なお、アーク１１３に対応する新しいアークの確率情報は、「０．５×０．６＝０．３」となる。
【０１３１】
次に、状態統合部１５は、新しいノードに入るアークを以下のように生成する。まず、状態統合部１５は、古いアーク１１４に対応する新しいアークを生成する。つまり、状態統合部１５は、新しいアークを記録する記録領域を確保し、アークＩＤを生成する。そして、状態統合部１５は、当該記録領域にアークＩＤを書き込む。次に、状態統合部１５は、古いアーク１１４の確率情報「０．４」を取得し、生成した新しいアークの確率情報の領域に確率情報「０．４」を書き込む。また、生成した新しいアークの遷移先のノードの要素識別子の領域に、要素識別子「時間」を書き込む。
【０１３２】
状態統合部１５は、同様に、アーク１１５に対応する新しいアークを生成する。
【０１３３】
次に、状態統合部１５は、統合対象の２つのノード（図１１の「時間」ノード）を削除する。また、状態統合部１５は、統合対象の２つのノードから出るアーク（アーク１１１、１１２、１１３）および統合対象の２つのノードに入るアーク（アーク１１４、１１５）を削除する。
【０１３４】
以上の処理により、要素識別子「時間」を有する２つのノードが統合された。
【０１３５】
以上のノードの統合処理を、統合状態判定部１４および状態統合部１５は、図１０の他のノードに対しても行い、図１２の第三言語モデルを得る。なお、図１２の第三言語モデルは、第二言語モデルのノード「時間」「の」「を」「教え」を統合したものである。
【０１３６】
以上、本実施の形態によれば、精度の高い言語処理が可能となる言語モデルを構成できる。さらに具体的には、モデル結合部１３による言語モデルのＵｎｉｏｎ結合により、言語処理が可能な表現が増加する。また、状態統合処理により、各言語モデルに共通な表現の精度が向上する。また、状態統合処理により、受理可能な表現が増加する。さらに、状態統合処理により、各言語モデルに特有な表現の精度の低下が抑えられる。
【０１３７】
なお、本実施の形態において、言語モデル結合装置は、モデル結合部１３や統合終了判定部１６等を有さなくても良い。かかる場合の言語モデル結合装置２のブロック図を図１３に示す。言語モデル結合装置２は、言語モデル格納部１１、統合状態判定部１４、状態統合部１５、および出力部１７を備える。
【０１３８】
そして、言語モデル格納部１１は、１以上の第一言語モデルを格納し得る。また、出力部１７が第三言語モデルを出力する先は問わない。また、ここでの出力は、蓄積、送信、表示等である。
【０１３９】
かかる場合、言語モデル結合装置２は、文を構成する要素を識別する要素識別子である状態シンボルを有する２以上のノードと、１つの要素識別子である入力シンボルおよび入力シンボルの出現確率を示す情報である遷移重みとを有し、ノード間の遷移を示す情報である１以上のアークと、を有する１以上の第一言語モデルを格納し得る言語モデル格納部１１と、前記１以上の第一言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する統合状態判定部１４と、前記統合状態判定部が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する状態統合部１５と、前記第三言語モデルを出力する出力部１７とを具備する装置である。
【０１４０】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、文を構成する要素を識別する要素識別子である状態シンボルを有する２以上のノードと、１つの要素識別子である入力シンボルおよび入力シンボルの出現確率を示す情報である遷移重みとを有し、ノード間の遷移を示す情報である１以上のアークと、を有する１以上の第一言語モデルを格納しており、コンピュータを、前記１以上の第一言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定する統合状態判定部と、前記統合状態判定部が統合条件を満たすと判定した２以上のノードを一のノードに統合し、一の第三言語モデルを取得する状態統合部と、前記第三言語モデルを出力する出力部として機能させるためのプログラム、である。
【０１４１】
記憶媒体に、２以上の第一言語モデルを格納しており、上記プログラムにおいて、前記２以上の第一言語モデルを結合し、一の第二言語モデルを構成するモデル結合部をさらに具備し、前記統合状態判定部は、前記第二言語モデルが有する２以上のノードが、予め決められた統合するための条件である統合条件を満たすか否かを判定するものとして、コンピュータを動作させることは好適である。
【０１４２】
また、上記プログラムにおいて、前記統合条件は、２以上の各ノードが有する２以上の状態シンボルが予め決められた条件を満たすことであることは好適である。
【０１４３】
また、上記プログラムにおいて、前記アークは、確率情報を含む１以上の属性値を有し、前記統合条件は、２以上の各ノードに接続されている１以上のアークが有する１以上の属性値から算出したノード間の類似度が予め決められた条件を満たすことであることは好適である。
【０１４４】
また、上記プログラムにおいて、前記アークは、確率情報を含む１以上の属性値を有し、前記統合条件は、２以上のノードを結合する前の第一の確率情報と２以上のノードを結合する場合の第二の確率情報とから算出した言語モデルの評価値が予め決められた条件を満たすことであるであることは好適である。
【０１４５】
また、上記プログラムにおいて、コンピュータを、前記状態統合部が行う前記２以上のノードの結合の処理の終了条件を格納しており、当該終了条件に合致するか否かを判定する統合終了判定部としてさらに機能させ、前記状態統合部は、前記統合終了判定部が前記終了条件に合致すると判定した場合に、前記２以上のノードの結合の処理を終了することは好適である。
【０１４６】
また、上記プログラムにおいて、前記終了条件は、前記状態統合部が行う結合処理の回数、前記状態統合部が行う結合処理の後のノードの数、または前記状態統合部が行う結合処理の前後の確率情報により算出される確率情報の向上の度合いのうちのいずれかの条件であることは好適である。
【０１４７】
（実施の形態２）
本実施の形態において、実施の形態１で構築した言語モデル（第三言語モデル）を用いた言語処理装置２について説明する。
【０１４８】
図１４は、本実施の形態における言語処理装置３のブロック図である。言語処理装置３は、言語モデル格納部２１、受付部２２、処理部２３、および出力部２４を備える。
【０１４９】
言語モデル格納部２１は、言語モデル結合装置１または言語モデル結合装置２により構成された第三言語モデルを格納し得る。
【０１５０】
言語モデル格納部２１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。言語モデル格納部２１に第三言語モデルが記憶される過程は問わない。例えば、記録媒体を介して第三言語モデルが言語モデル格納部２１で記憶されるようになってもよく、通信回線等を介して送信された第三言語モデルが言語モデル格納部２１で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された第三言語モデルが言語モデル格納部２１で記憶されるようになってもよい。
【０１５１】
受付部２２は、文を受け付ける。また、受付部２２は、文の音声情報を受け付けても良い。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。なお、文とは、文の一部、複数の文でも良い趣旨である。
【０１５２】
文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部２２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【０１５３】
処理部２３は、受付部２２が受け付けた文に対して、第三言語モデルを用いて音声認識処理を行う。また、処理部２３は、受付部２２が受け付けた文に対して、第三言語モデルを用いて機械翻訳処理を行っても良い。処理部２３は、受付部２２が受け付けた文に対して、第三言語モデルを用いて何らかの言語処理を行えば良い。なお、処理部２３の音声認識等の処理は、公知の処理でも良い。
【０１５４】
処理部２３は、通常、ＭＰＵやメモリ等から実現され得る。処理部２３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１５５】
出力部２４は、処理部２３の処理結果を出力する。処理結果は、例えば、音声認識結果である文字列、機械翻訳結果である文字列等である。出力部２４は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部２４は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１５６】
次に、言語処理装置３の動作について説明する。言語処理装置３の受付部２２は文を受け付ける。次に、処理部２３は、言語モデル格納部２１に格納されている第三言語モデルを読み出す。次に、処理部２３は、第三言語モデルを用いて、受付部２２が受け付けた文を処理する。出力部２４は、処理部２３の処理結果を出力する。
【０１５７】
以上、本実施の形態によれば、精度の高い言語処理が可能である言語モデルを用いて、精度の高い言語処理（音声認識、機械翻訳など）が可能となる。
【０１５８】
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、言語モデル結合装置１により構成された第三言語モデルを格納しており、コンピュータを、文を受け付ける受付部と、前記文を、前記第三言語モデルを用いて処理する処理部と前記処理部の処理結果を出力する出力部として機能させるためのプログラムである。
【０１５９】
また、上記プログラムにおいて、前記受付部は、音声である文を受け付け、前記処理部は、前記文を、前記第三言語モデルを用いて音声認識処理を行うものとして、コンピュータを機能させることは好適である。
【０１６０】
また、上記プログラムにおいて、前記処理部は、前記文を、前記第三言語モデルを用いて機械翻訳処理を行うものとして、コンピュータを機能させることは好適である。
【０１６１】
また、図１５は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の言語モデル結合装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１５は、このコンピュータシステム３００の概観図であり、図１６は、システム３００のブロック図である。
【０１６２】
図１５において、コンピュータシステム３００は、ＦＤドライブ、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１６３】
図１６において、コンピュータ３０１は、ＦＤドライブ３０１１、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＭＰＵ３０１３、ＣＤ−ＲＯＭドライブ３０１２及びＦＤドライブ３０１１に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１６４】
コンピュータシステム３００に、上述した実施の形態の言語モデル結合装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１、またはＦＤ３１０２に記憶されて、ＣＤ−ＲＯＭドライブ３０１２またはＦＤドライブ３０１１に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１、ＦＤ３１０２またはネットワークから直接、ロードされても良い。
【０１６５】
プログラムは、コンピュータ３０１に、上述した実施の形態の言語モデル結合装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１６６】
なお、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６７】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１６８】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１６９】
以上のように、本発明にかかる言語モデル結合装置は、精度の高い言語処理が可能となる言語モデルを構成できる、という効果を有し、言語モデル結合装置等として有用である。
【符号の説明】
【０１７０】
１、２  言語モデル結合装置
３  言語処理装置
１１、２１  言語モデル格納部
１２  新言語モデル格納部
１３  モデル結合部
１４  統合状態判定部
１５  状態統合部
１６  統合終了判定部
１７、２４  出力部
２２  受付部
２３  処理部
【図１】
0005888729.tif 000002
【図２】
0005888729.tif 000003
【図３】
0005888729.tif 000004
【図４】
0005888729.tif 000005
【図５】
0005888729.tif 000006
【図６】
0005888729.tif 000007
【図７】
0005888729.tif 000008
【図８】
0005888729.tif 000009
【図９】
0005888729.tif 000010
【図１０】
0005888729.tif 000011
【図１１】
0005888729.tif 000012
【図１２】
0005888729.tif 000013
【図１３】
0005888729.tif 000014
【図１４】
0005888729.tif 000015
【図１５】
0005888729.tif 000016
【図１６】
0005888729.tif 000017