(57)【要約】【課題】少量のテキストコーパスから、従来技術と比べて、精度の高い言語モデルを生成する技術を提供する。【解決手段】言語モデル生成装置は、形態素単位に分かち書きされ、文節の係り受け関係が付加されたオリジナルテキストを用いて、係り受け先が同じである複数の文節を並び替えて、疑似テキストを生成する疑似テキスト生成部と、オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する言語モデル生成部とを含む。【選択図】図２
2014002257.tif 000002
【特許請求の範囲】
【請求項１】
形態素単位に分かち書きされ、文節の係り受け関係が付加されたオリジナルテキストを用いて、係り受け先が同じである複数の文節を並び替えて、疑似テキストを生成する疑似テキスト生成部と、
前記オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び前記疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する言語モデル生成部とを含む、
言語モデル生成装置。
【請求項２】
請求項１記載の言語モデル生成装置であって、
前記オリジナルテキストには、さらに各形態素に対して品詞情報が付加されているものとし、
前記オリジナルテキストの品詞の語順と前記疑似テキストの品詞の語順とを比較して、確からしい品詞の語順を持つ疑似テキストを選択する疑似テキストを選択する疑似テキスト選択部とをさらに含み、
前記言語モデル生成部は、前記オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び前記疑似テキスト選択部において選択された前記疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する、
言語モデル生成装置。
【請求項３】
請求項２記載の言語モデル生成装置であって、
前記疑似テキスト選択部は、
前記オリジナルテキストに付加されている品詞情報を取り出す第一品詞情報取得部と、
前記オリジナルテキストの品詞の語順の集合である出現品詞列集合を記憶する出現品詞列集合記憶部と、
前記疑似テキストに付加された品詞情報から、前記疑似テキストの品詞の語順を取り出す第二品詞情報取得部と、
前記疑似テキストの品詞の語順と前記出現品詞列集合に含まれる何れかの品詞の語順とが所定の割合以上一致する場合に、その疑似テキストを選択する判定部と、を含む、
言語モデル生成装置。
【請求項４】
請求項２記載の言語モデル生成装置であって、
前記疑似テキスト選択部は、
前記オリジナルテキストに付加されている品詞情報を取り出す第一品詞情報取得部と、
前記オリジナルテキストの品詞の語順の集合である出現品詞列集合を記憶する出現品詞列集合記憶部と、
前記疑似テキストに付加された品詞情報から、前記疑似テキストの品詞の語順を取り出す第二品詞情報取得部と、
前記出現品詞列集合に含まれる品詞ｎ−ｇｒａｍパタンについての品詞ｎ−ｇｒａｍ確率を計算する品詞ｎ−ｇｒａｍ確率計算部と、
前記品詞ｎ−ｇｒａｍ確率を記憶する品詞ｎ−ｇｒａｍ確率記憶部と、
前記疑似テキストの品詞の語順から得られる品詞ｎ−ｇｒａｍパタンに対応する品詞ｎ−ｇｒａｍ確率を前記品詞ｎ−ｇｒａｍ確率記憶部から取り出し、取り出した品詞ｎ−ｇｒａｍ確率と事前に定めた閾値とを比較し、閾値以上の場合、その品詞の語順に対応する疑似テキストを選択する判定部と、を含む、
言語モデル生成装置。
【請求項５】
請求項１から請求項４の何れかに記載の言語モデル生成装置であって、
前記オリジナルテキストには、さらに各形態素に対して品詞情報が付加されているものとし、
前記オリジナルテキストの品詞の語順と同じ品詞の語順を多く持つ疑似テキストほど、大きな重みを算出する言語モデル重み算出部をさらに含み、
前記言語モデル生成部は、前記オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び前記疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度に対して前記重みにより重み付けを行い、ｎ−ｇｒａｍ確率を求め、言語モデルを生成する、
言語モデル生成装置。
【請求項６】
形態素単位に分かち書きされ、文節の係り受け関係が付加されたオリジナルテキストを用いて、係り受け先が同じである複数の文節を並び替えて、疑似テキストを生成する疑似テキスト生成ステップと、
前記オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び前記疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する言語モデル生成ステップとを含む、
言語モデル生成方法。
【請求項７】
請求項１から請求項５の何れかに記載の言語モデル生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストコーパスから言語モデルを生成する技術に関する。
【背景技術】
【０００２】
現在、音声認識や自動翻訳など様々な分野で確率的言語モデル（以下、単に「言語モデル」ともいう）が使われている。言語モデルとは単語列、文字列に対して、それらが起こる確率を与えるモデルである。言語モデルとしてｎ−ｇｒａｍモデルが最も一般的である（非特許文献１参照）。ｎ−ｇｒａｍモデルは単語の生起確率が直近の（ｎ−１）単語にのみ依存するという仮定に基づいたモデルである。例えば、「私はりんごを＿＿＿＿」という文を考えると、下線部分に入る単語は「食べる」や「買う」「かじる」等であろうと推測される。これは下線部分の前に表れる「りんご」「を」という単語の並びから推測される。このように、ある時点での単語の生起確率を推定するには直前にある数個の単語の出現情報を用いることが有効である。
【０００３】
一般的に、直前の一単語の情報のみを用いる場合をｂｉｇｒａｍ、直前の二単語の情報を用いる場合をｔｒｉｇｒａｍと呼ぶ。例えば、上記の例において下線部分に入る単語を考える場合、ｂｉｇｒａｍでは「を」のみを考慮し、ｔｒｉｇｒａｍでは「りんご」「を」を考慮する。
【０００４】
例えば、上記の例で下線部分に「食べる」が入る条件付き確率Ｐは、単語列Ｗの出現頻度をＣ（Ｗ）と表すとすると、ｂｉｇｒａｍモデル、ｔｒｉｇｒａｍモデルではそれぞれ以下のように計算される。
bigram:P(食べる|を)=C(を-食べる)/C(を)
trigram:P(食べる|りんご-を)=C(りんご-を-食べる)/C(りんご-を)
通常、音声認識の分野ではｎ＝２（ｂｉｇｒａｍ）やｎ＝３（ｔｒｉｇｒａｍ）が用いられることが多い。
【０００５】
一般的に、ｂｉｇｒａｍよりｔｒｉｇｒａｍのほうが推定精度は高い。例えば、単語「を」の後に続く単語を推定する問題よりも、単語列「りんご」「を」の後に続く単語を推定する問題のほうが容易である。よって、理想の言語モデルとは、あらゆるｔｒｉｇｒａｍモデルで計算される条件付き確率（以下「ｔｒｉｇｒａｍ確率」ともいう）が実際の出現分布と等しい状態にある場合となる。
【０００６】
このようなｂｉｇｒａｍモデルで計算される条件付き確率（以下「ｂｉｇｒａｍ確率」ともいう）やｔｒｉｇｒａｍ確率は、通常、大量の学習コーパスから学習されることが望ましい。なお、コーパスとは、自然言語に基づき生成されたテキストデータからなるデータベースである。学習コーパスのサイズが大きければ大きいほど、多くのｎ−ｇｒａｍパタン（ｎ個の単語からなる単語列のパタン）を学習することが可能となり、さらにそのｎ−ｇｒａｍモデルで計算される条件付き確率（以下「ｎ−ｇｒａｍ確率」ともいう）は統計的に信頼度が高い値となる。つまり、言語モデルの精度が高くなる。逆に学習コーパスサイズが小さい場合には、十分なｎ−ｇｒａｍパタンを網羅することができず、またそのｎ−ｇｒａｍ確率は統計的に信頼度が低い。つまり、言語モデルの精度が低い。このように言語モデルの精度を向上させるためには、大量の学習コーパスが必要となる。
【０００７】
また学習コーパスは実際のタスクと同じものが望ましい。例えば、音声認識に言語モデルを用いる場合では、音声認識対象となるタスクと同等な単語の出現頻度分布を持つ学習コーパスであることが望ましい。例えば、野球中継で用いられる単語の出現傾向とコールセンタ等の電話応対で用いられる単語の出現傾向とは異なる。そのため、音声認識を用いて野球中継の字幕作成を行おうとした場合、野球中継内容を書き起こしたテキストデータを学習コーパスとして生成された言語モデルを用いたほうが、電話応対内容を書き起こしたテキストを学習コーパスとして生成された言語モデルを用いた場合に比べ、その認識精度は高くなる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】北研二、「言語と計算  ４  確率的言語モデル」、1999年、東京大学出版会、ｐ５７−６２
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前述の通り、精度の高い言語モデルを生成するためには、大量の学習コーパスを必要とし、少量の学習コーパスしか用意できない場合には精度の高い言語モデルを生成することができない。特に、特定のタスク用の学習コーパスを用意しようとすると、大量の学習コーパスを用意することができない場合が多い。
【００１０】
また、音声認識において利用される言語モデルを生成する場合、音声から書き起こしたテキストデータを学習コーパスとしたほうが、認識精度が高くなる。このとき、音声を書き起こして大量の学習コーパスを作成するためには、大量の音声を人手により書き起こす作業が必要となり、その作業には大きなコスト（時間及び人件費等）がかかる。さらに、タスク毎に大量の学習コーパスを用意しようとすると、そのコストはさらに大きなものとなる。このコストを削減するために、少量の学習コーパスから言語モデルを生成すると、その精度は低くなる。
【００１１】
本発明は、少量のテキストコーパスから、従来技術と比べて、精度の高い言語モデルを生成する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明の第一の態様によれば、言語モデル生成装置は、形態素単位に分かち書きされ、文節の係り受け関係が付加されたオリジナルテキストを用いて、係り受け先が同じである複数の文節を並び替えて、疑似テキストを生成する疑似テキスト生成部と、オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する言語モデル生成部とを含む。
【００１３】
上記の課題を解決するために、本発明の第二の態様によれば、言語モデル生成方法は、形態素単位に分かち書きされ、文節の係り受け関係が付加されたオリジナルテキストを用いて、係り受け先が同じである複数の文節を並び替えて、疑似テキストを生成する疑似テキスト生成ステップと、オリジナルテキストにおけるｎ−ｇｒａｍパタンの出現頻度及び疑似テキストにおけるｎ−ｇｒａｍパタンの出現頻度を用いてｎ−ｇｒａｍ確率を求め、言語モデルを生成する言語モデル生成ステップとを含む。
【発明の効果】
【００１４】
本発明によれば、一文から獲得されるｎ−ｇｒａｍパタンを増加させることで、少量のテキストコーパスから、従来技術と比べて、精度の高い言語モデルを生成できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１Ａは文節の係り受け関係を説明するための図、図１Ｂは構文解析結果を説明するための図。
【図２】第一実施形態に係る言語モデル生成装置の機能ブロック図。
【図３】第一実施形態に係る言語モデル生成装置の処理フローを示す図。
【図４】係り受け先が同じ文節である複数の文節を並び替える方法を説明するための図。
【図５】第二実施形態に係る言語モデル生成装置の機能ブロック図。
【図６】第二実施形態に係る言語モデル生成装置の処理フローを示す図。
【図７】第二実施形態の第一判定方法に係る疑似テキスト選択部の機能ブロック図。
【図８】第二実施形態の第一判定方法に係る疑似テキスト選択部の処理フローを示す図。
【図９】第二実施形態の第二判定方法に係る疑似テキスト選択部の機能ブロック図。
【図１０】第二実施形態の第二判定方法に係る疑似テキスト選択部の処理フローを示す図。
【図１１】第三実施形態に係る言語モデル生成装置の機能ブロック図。
【図１２】第三実施形態に係る言語モデル生成装置の処理フローを示す図。
【発明を実施するための形態】
【００１６】
＜第一実施形態のポイント＞
「私はあのりんごを今日友達と食べる（私／は／あの／りんご／を／今日／友達／と／食べる）」という一文からは以下の七つのｔｒｉｇｒａｍパタンが学習される。ただし、括弧内は形態素単位に分割した結果である。
１．私−は−あの
２．は−あの−りんご
３．あの−りんご−を
４．りんご−を−今日
５．を−今日−友達
６．今日−友達−と
７．友達−と−食べる
本実施形態では、ある一文から得られるｎ−ｇｒａｍパタン（例えばｔｒｉｇｒａｍパタン）を増やしたい。
【００１７】
そこで、本実施形態は日本語の「語順変動」特性に着目する。日本語は、特に口語では、語順変動が生じやすい言語である。例えば、「私はあのりんごを今日友達と食べる」という文は「今日あのりんごを友達と私は食べる」や「私は今日あのりんごを友達と食べる」と話されても日本語の並びとして間違いでない。このように、日本語は語順を一意に決定することは難しい。そして様々な語順変化を少量の学習コーパスによって網羅することは難しい。そこで、ある学習コーパス中の各テキストに対し、語順を変動させたテキストを作成し、それらも学習コーパスとして用いることで、学習するｎ−ｇｒａｍパタン数を増やす。なお、元々ある学習コーパスをオリジナルテキストコーパスと呼び、オリジナルテキストコーパス中のテキストデータをオリジナルテキストと呼ぶ。オリジナルテキストの語順を変動させたテキストを疑似テキストと呼び、疑似テキストからなるコーパスを疑似コーパスと呼ぶ。オリジナルテキストコーパスと疑似コーパスとを併せて学習コーパスとして利用する。
【００１８】
例えば「私はあのりんごを今日友達と食べる」は以下のような語順で表現されても日本語の並びとして不自然でない。
オリジナルテキスト：私はあのりんごを今日友達と食べる
疑似テキスト（１）：今日私は友達とあのりんごを食べる
疑似テキスト（２）：私は今日あのりんごを友達と食べる
疑似テキスト（３）：私は今日友達とあのりんごを食べる
疑似テキスト（４）：私は友達と今日あのりんごを食べる
疑似テキスト（５）：私は友達とあのりんごを今日食べる
疑似テキスト（６）：今日あのりんごを私は友達と食べる
…
上記のような並び替えにより、元々の文には含まれなかった「今日−あの−りんご」「友達−と−今日」「今日−私−は」等のｔｒｉｇｒａｍパタンも学習することが可能になる。例えば、疑似テキスト（１）「今日私は友達とあのりんごを食べる」からは以下の７つのｔｒｉｇｒａｍパタン（１）１〜（１）７が学習される。（１）１〜（１）５及び（１）７が疑似テキスト（１）により新しく獲得されたｔｒｉｇｒａｍパタンである。
（１）１．今日−私−は
（１）２．私−は−友達
（１）３．は−友達−と
（１）４．友達−と−あの
（１）５．と−あの−りんご
（１）６．あの−りんご−を
（１）７．りんご−を−食べる
このように並び替えによりオリジナルテキストから疑似テキストを生成することで、オリジナルテキストからは得られなかった新たなｎ−ｇｒａｍパタンを抽出することが可能となる。
【００１９】
本実施形態では語順変動を実現するために、「係り受け関係」を用いる。日本語における「係り受け関係」とは、文節と文節がある意味的なつながり（修飾するものと修飾されるもの）を持って関係していることを指す。「文節」とは、文を細かく分割していった際に、最も小さい意味のまとまりのことである。一般的に、文節は名詞や動詞などの「自立語」と「接語」から構成される。「接語」は無い場合や省略される場合がある。例えば、「私はあのりんごを今日友達と食べる」は以下のような文節に区切ることができる。
オリジナルテキスト：私はあのりんごを今日友達と食べる
文節：私は／あの／りんごを／今日／友達と／食べる
このような区切られた文節において、それぞれの文節は、図１Ａのような係り受け関係を抽出できる。図１Ａの例の場合、「私は→食べる」「あの→りんごを」「りんごを→食べる」「今日→食べる」「友達と→食べる」の計５個の係り受け関係が抽出される。係り受け関係にある文節間は、修飾するものから修飾されるものに対して直接の接続関係が成り立つ。また、係り受け関係が同じ深さにある各文節は互いに独立の関係にある。
【００２０】
「私は」「（あの）りんごを」「今日」「友達と」は「食べる」に係っている。「食べる」に係る４つの文節を並び替えても日本語の語順として誤りではない。上記のような並び替えにより、オリジナルテキストには含まれなかった「今日−あの−りんご」「友達−と−今日」「今日−わたし−は」等のようなｔｒｉｇｒａｍパタンも学習することが可能になる。このように係り受け関係を用いることで一文からより多くの自然なｎ−ｇｒａｍパタンが抽出可能となる。
【００２１】
以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００２２】
＜第一実施形態＞
図２は言語モデル生成装置１００の機能ブロック図を、図３はその処理フローを示す。
【００２３】
言語モデル生成装置１００は、形態素解析部１１０、構文解析部１２０、疑似テキスト生成部１３０及び言語モデル生成部１４０を含む。
【００２４】
言語モデル生成装置１００は、オリジナルテキストコーパス中のＴ個のオリジナルテキストｔｅｘｔを受け取り、このオリジナルテキストｔｅｘｔを用いて言語モデルを生成し、出力する。ただし、ｔ＝１，２，…，Ｔである。以下、各部の詳細を説明する。なお、本実施形態では、オリジナルテキストコーパスには、オリジナルテキストからなるテキストデータのみが含まれていればよく、品詞情報等は必ずしも必要ではない。
【００２５】
＜形態素解析部１１０＞
・入力：オリジナルテキストｔｅｘｔ
・出力：形態素解析結果（形態素単位に分かち書きされたオリジナルテキスト）ｍｏｒｔ
・処理内容：オリジナルテキストｔｅｘｔを形態素解析して（ｓ１１０）、オリジナルテキストを形態素単位に分割し、形態素解析結果（形態素単位に分かち書きされたオリジナルテキスト）ｍｏｒｔを出力する。なお、形態素とは、言語的に意味を持つ最小単位のことである。形態素解析技術としては、従来技術を用いる。例えば「私はあのりんごを今日友達と食べる」というリジナルテキストを形態素解析すると、以下のように、単語が「／」で区切られた形式の形態素解析結果ｍｏｒｔが得られる。
⇒私／は／あの／りんご／を／今日／友達／と／食べる
【００２６】
＜構文解析部１２０＞
・入力：形態素解析結果（形態素単位に分かち書きされたオリジナルテキスト）ｍｏｒｔ
・出力：構文解析結果（形態素解析結果と文節の係り受け関係を示す情報）ｓｙｎｔ
・処理内容：形態素解析結果ｍｏｒｔを構文解析して（ｓ１２０）、形態素解析結果ｍｏｒｔを文節に分割し、分割された複数の文節間の係り受け関係を解析し、構文解析結果（形態素解析結果と文節の係り受け関係を示す情報）ｓｙｎｔを出力する。なお、本実施形態において構文解析とは、文節の係り受け関係を解析することを意味する。構文解析技術としては、従来技術を用いる。例えば「私／は／あの／りんご／を／今日／友達／と／食べる」という形態素解析結果に対して構文解析を行うと図１Ｂのような構文解析結果ｓｙｎｔが得られる。なお、図１Ｂのような係り受け関係を本明細書では便宜上「私／は（６）あの（３）りんご／を（６）今日（６）友達／と（６）食べる」と記す。括弧中の数字は、直前の文節が、係っている文節の番号を意味する。例えば第一文節「私／は」は第六文節「食べる」に係っている。
【００２７】
＜疑似テキスト生成部１３０＞
・入力：構文解析結果（形態素解析結果と文節の係り受け関係を示す情報）ｓｙｎｔ
・出力：疑似テキストｔｅｘｔ，ｕ
・処理内容：構文解析結果ｓｙｎｔを用いて、各文節を並び替えてＵｔ個の疑似テキストｔｅｘｔ，ｕを生成する（ｓ１３０）。ただし、ｕ＝１，２，…，Ｕｔである。並び替えは、係り受け先が同じ文節である複数の文節を並び替えることによって行う。例えば、「私／は（６）あの（３）りんご／を（６）今日（６）友達／と（６）食べる」を受け取った場合、第六文節「食べる」を係り受け先とする第一文節「私／は」、第三文節「（あの）／りんごを」、第四文節「今日」及び第五文節「友達／と」の四つの文節を並び替える。この四つの文節を順列組合せに従って並び替えることで疑似テキストｔｅｘｔ，ｕを生成する。よって、（４！−１＝４×３×２×１−１＝２３通り）の疑似テキストｔｅｘｔ，ｕが生成される（図４参照）。なお、「−１」はオリジナルテキストｔｅｘｔに相当する。なお、ある構文解析結果ｓｙｎｔに対して、係り受け先が同じとなる文節が存在しない場合、Ｕｔ＝０であり、疑似テキストｔｅｘｔ，ｕを生成しない。
【００２８】
＜言語モデル生成部１４０＞
・入力：オリジナルテキストｔｅｘｔ、疑似テキストｔｅｘｔ，ｕ
・出力：言語モデル（ｎ−ｇｒａｍモデル）
・処理内容：Ｔ個のオリジナルテキストｔｅｘｔにおけるｎ−ｇｒａｍパタンの出現頻度ＣｏｕｎｔＧと（Ｕ１＋Ｕ２＋…＋ＵＴ）個の疑似テキストｔｅｘｔ，ｕにおけるｎ−ｇｒａｍパタンの出現頻度ＣｏｕｎｔＳとからｎ−ｇｒａｍ確率を求め、言語モデルを生成する（ｓ１４０）。なお、ｎ−ｇｒａｍ確率を求める際に、Ｔ個のオリジナルテキストｔｅｘｔから得られるｎ−ｇｒａｍパタンの出現頻度ＣｏｕｎｔＧ及び（Ｕ１＋Ｕ２＋…＋ＵＴ）個の疑似テキストｔｅｘｔ，ｕから得られるｎ−ｇｒａｍパタンの出現頻度ＣｏｕｎｔＳに対して重み付けに行ってもよい。例えば、重みＷで重み付け混合をしたｂｉｇｒａｍ確率は次式によって計算される。
【００２９】
【数１】
2014002257.tif 000003
【００３０】
なお、重みＷで重み付け混合をしたｔｒｉｇｒａｍ確率は次式によって計算される。
【００３１】
【数２】
2014002257.tif 000004
【００３２】
ただし、重みＷは、０より大きい値とし、重みＷが１であればオリジナルテキストｔｅｘｔと疑似テキストｔｅｘｔ，ｕとを同等の重み付けで集計することを意味する。通常、オリジナルテキストｔｅｘｔのほうが疑似テキストｔｅｘｔ，ｕよりも、語順的に確からしいと考えられるため、Ｗを１以下に設定することが望ましい。例えば、重みＷは、開発セットの認識精度が最大になるような言語モデルを生成する値で決定する。
【００３３】
＜効果＞
このような構成により、一文（オリジナルテキストｔｅｘｔ）から獲得されるｎ−ｇｒａｍパタンを増加させることができ、従来技術と比べて、少量のテキストコーパスから、精度の高い言語モデルを生成できる。
【００３４】
＜変形例＞
言語モデル生成装置１００は、形態素解析部１１０や構文解析部１２０を備えずに、例えば他の装置により予め求められた形態素解析結果ｍｏｒｔや構文解析結果ｓｙｎｔを入力としてもよい。
【００３５】
また、ｎ−ｇｒａｍモデルを生成する際に周知のスムージングまたは平滑化と呼ばれる方法を用いてもよい（非特許文献１参照）。
【００３６】
＜第二実施形態＞
第一実施形態と異なる部分についてのみ説明する。
【００３７】
構文解析部１２０における構文解析に誤りがある場合、その誤りにより本来正しくない文型の疑似テキストが生成されてしまう可能性がある。それにより後段で生成される言語モデルの性能が劣化する可能性がある。そこで、第二実施形態では、疑似テキストが語順として確からしいか否かを判定する処理部を追加する。
【００３８】
図５は言語モデル生成装置２００の機能ブロック図を、図６はその処理フローを示す。
【００３９】
言語モデル生成装置２００は、形態素解析部２１０、構文解析部１２０、疑似テキスト生成部１３０、言語モデル生成部１４０を含み、さらに、疑似テキスト選択部２５０を含む。
【００４０】
＜形態素解析部２１０＞
・入力：オリジナルテキストｔｅｘｔ
・出力：形態素解析結果（形態素単位に分かち書きされ、品詞情報が付加されたオリジナルテキスト）ｍｏｒ’ｔ
・処理内容：オリジナルテキストｔｅｘｔを形態素解析して（ｓ２１０）、オリジナルテキストを形態素単位に分割し、分割した各形態素に品詞を付与して、形態素解析結果（形態素単位に分かち書きされ、品詞情報が付加されたたオリジナルテキスト）ｍｏｒ’ｔを出力する。形態素解析技術としては、従来技術を用いる。例えば「私はあのりんごを今日友達と食べる」というリジナルテキストを形態素解析すると、以下のように、単語が「／」で区切られ、品詞を付加された形式の形態素解析結果ｍｏｒ’ｔが得られる。
⇒私（名詞：代名詞）／は（連用助詞）／あの（連体詞）／りんご（名詞）／を（格助詞：連用）／今日（名詞：日時：連用）／友達（名詞）／と（格助詞：連用）／食べる（動詞）
【００４１】
＜疑似テキスト選択部２５０＞
・入力：（品詞情報が付加された形態素解析結果ｍｏｒ’ｔと文節の係り受け関係を示す情報とからなる構文解析結果ｓｙｎ’ｔを用いて生成されるため、品詞情報が付加されている）疑似テキストｔｅｘ’ｔ，ｕ、形態素解析結果（形態素単位に分かち書きされ、品詞情報が付加されたオリジナルテキスト）ｍｏｒ’ｔ
・出力：選択疑似テキストｔｅｘ’ｔ，ｙ
・処理内容：オリジナルテキストｔｅｘｔの言葉の並びを用いて、疑似テキストｔｅｘ’ｔ，ｕの言葉の並びが正しいか否かを判定し、正しいと判定された疑似テキストｔｅｘ’ｔ，ｕを選択し（ｓ２５０）、言語モデル生成部１４０に出力し、言語モデルの学習に用いる。正しくないと判定された場合にはその疑似テキストｔｅｘ’ｔ，ｕを選択せず言語モデル学習に用いない。本実施形態では、言葉の並びが正しいか否かを判定する際に品詞の語順を利用し、オリジナルテキストｔｅｘｔの品詞の語順と疑似テキストｔｅｘ’ｔ，ｕの品詞の語順とを比較して、確からしい品詞の語順を持つ疑似テキストｔｅｘ’ｔ，ｕを選択する。疑似テキストｔｅｘ’ｔ，ｕの品詞の語順が正しいか否かを判定する方法を以下に二つ説明する。
【００４２】
（１）第一判定方法
図７及び図８を用いて、第一判定方法について説明する。疑似テキスト選択部２５０は、第一品詞情報取得部２５１、出現品詞列集合記憶部２５３、第二品詞情報取得部２５５及び判定部２５７を含む。まず、第一品詞情報取得部２５１は、形態素解析結果ｍｏｒ’ｔからオリジナルテキストｔｅｘｔに付加された品詞情報を取り出し（ｓ２５１）、Ｔ個のオリジナルテキストｔｅｘｔの品詞の語順の集合を、出現品詞列集合として、出現品詞列集合記憶部２５３に格納する（ｓ２５３）。次に、第二品詞情報取得部２５５は、疑似テキストｔｅｘ’ｔ，ｕに付加された品詞情報から、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順を取り出し（ｓ２５５）、判定部２５７に出力する。判定部２５７は、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順を受け取り、出現品詞列集合記憶部２５３内の出現品詞列集合に同様の品詞の語順が存在するか否かを判定し（ｓ２５７）、存在する場合には、その品詞の語順は確からしいと判断し、その品詞の語順に対応する疑似テキストｔｅｘ’ｔ，ｕを選択し（ｓ２５８）、選択疑似テキストｔｅｘ’ｔ，ｙとして言語モデル生成部１４０に出力する。ただし、ｙ＝１，２，…，Ｙｔであり、Ｙｔはあるオリジナルテキストｔｅｘｔから得られるＵｔ個の疑似テキストｔｅｘ’ｔ，ｕから選択される選択疑似テキストｔｅｘ’ｔ，ｙの個数である。存在しない場合には、その疑似テキストｔｅｘ’ｔ，ｕは本来正しくない文型であると判断し、選択しない。
【００４３】
なお、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順と、出現品詞列集合記憶部２５３内の出現品詞列集合に含まれる品詞の語順とは、必ずしも全て同じである必要はなく、所定の割合（例えば、９０％）以上、同じである場合に、疑似テキストｔｅｘ’ｔ，ｕを選択してもよい。言い換えると、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順と出現品詞列集合に含まれる何れかの品詞の語順とが所定の割合以上一致する場合に、その疑似テキストｔｅｘ’ｔ，ｕを選択してもよい。どの程度の語順が同じである場合に、疑似テキストｔｅｘ’ｔ，ｕを選択するかは、認識精度がよくなるように実験的に定める。例えば、疑似テキストの品詞の語順が、１０個の品詞の語順からなるとき、出現品詞列集合から１０個の品詞の語順からなるものを取り出し、比較し、９個または１０個の品詞の語順を一致する場合に、その疑似テキストを選択する。なお、他の方法により一致の割合を求めてもよい。
【００４４】
オリジナルテキストコーパスのコーパスサイズが十分に大きくない場合に、疑似テキストの品詞の語順が出現品詞列集合に同様の品詞の語順が存在する（言い換えると、所定の割合が１００％である）ことを選択の条件にすると、出現品詞列集合に含まれる品詞の語順の種類が少ないため、多くの疑似テキストは選択されない。そうすると、疑似コーパス及び学習コーパスのコーパスサイズが小さくなるため、結果として言語モデルの精度が低くなる可能性がある。そのような場合に、一致の割合を低くすることで、疑似コーパス及び学習コーパスのコーパスサイズを大きくし、結果として言語モデルの精度を向上させることができる。
【００４５】
（２）第二判定方法
図９及び図１０を用いて、第二判定方法について説明する。疑似テキスト選択部２５０は、第一品詞情報取得部２５１、出現品詞列集合記憶部２５３、第二品詞情報取得部２５５及び判定部２５７に加えて、品詞ｎ−ｇｒａｍ確率計算部２５８及び品詞ｎ−ｇｒａｍ確率記憶部２５９をさらに含む。第一品詞情報取得部２５１、出現品詞列集合記憶部２５３、第二品詞情報取得部２５５における処理は第一判定方法と同様である。
【００４６】
品詞ｎ−ｇｒａｍ確率計算部２５８は、出現品詞列集合記憶部２５３内の出現品詞列集合を取り出し、出現品詞列集合内に含まれる品詞ｎ−ｇｒａｍパタンについての品詞ｎ−ｇｒａｍ確率を計算し（ｓ２５８）、品詞ｎ−ｇｒａｍ確率記憶部２５９に格納する（ｓ２５９、ただし図１０では品詞ｎ−ｇｒａｍ確率として品詞ｔｒｉｇｒａｍ確率を用いた場合を例示している）。例えば、出現品詞列集合内における品詞列Ｗの出現頻度をＣ（Ｗ）と表すとすると、品詞ｂｉｇｒａｍ確率、品詞ｔｒｉｇｒａｍ確率はそれぞれ以下のように計算される。ただし、次式において、Ａ，Ｂ，Ｃはそれぞれ品詞を表し、「−」は品詞の繋がりを表し、例えば、Ｂ−Ａは品詞Ｂの後に品詞Ａが出現することを表す。
品詞bigram確率:P(A|B)=C(B-A)/C(B)
品詞trigram確率:P(A|B-C)=C(B-C-A)/C(B-C)
【００４７】
判定部２５７は、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順を受け取り、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順から得られる品詞ｎ−ｇｒａｍパタンに対応する品詞ｎ−ｇｒａｍ確率を品詞ｎ−ｇｒａｍ確率記憶部２５９から取り出す（ｓ２５７ａ）。例えば、疑似テキストｔｅｘ’ｔ，ｕの品詞の語順として、（連体詞）（名詞：代名詞）（連用助詞）（名詞）（格助詞：連用）（名詞）（格助詞：連用）（名詞：日時：連用）（動詞）を受け取った場合、以下の七つの品詞ｔｒｉｇｒａｍパタンに対応する品詞ｔｒｉｇｒａｍ確率を品詞ｎ−ｇｒａｍ確率記憶部２５９から取り出す。
１．（連体詞）−（名詞：代名詞）−（連用助詞）
２．（名詞：代名詞）−（連用助詞）−（名詞）
３．（連用助詞）−（名詞）−（格助詞：連用）
４．（名詞）−（格助詞：連用）−（名詞）
５．（格助詞：連用）−（名詞）−（格助詞：連用）
６．（名詞）−（格助詞：連用）−（名詞：日時：連用）
７．（格助詞：連用）−（名詞：日時：連用）−（動詞）
取り出した品詞ｎ−ｇｒａｍ確率と事前に定めた閾値と比較し（ｓ２５７ｂ）、閾値以上の場合、その品詞の語順は確からしいと判断し、その品詞の語順に対応する疑似テキストｔｅｘ’ｔ，ｕを選択し（ｓ２５８）、選択疑似テキストｔｅｘ’ｔ，ｙとして言語モデル生成部１４０に出力する。閾値未満の場合には、その疑似テキストｔｅｘ’ｔ，ｕは本来正しくない文型であると判断し、選択しない。
【００４８】
閾値と比較する方法としては以下のような方法が考えられる。
【００４９】
（ｉ）取り出した品詞ｎ−ｇｒａｍ確率の平均値を求め、平均値と閾値とを比較する。平均値が閾値以上の場合、その品詞の語順は確からしいと判断する。
【００５０】
（ｉｉ）取り出した品詞ｎ−ｇｒａｍ確率のそれぞれと閾値とを比較し、Ｍｔ，ｕ個の品詞ｎ−ｇｒａｍ確率が閾値以上の場合、その品詞の語順は確からしいと判断する。ただし、疑似テキストｔｅｘ’ｔ，ｕに含まれる品詞ｎ−ｇｒａｍパタンの個数をＮｔ，ｕ個とすると、Ｍｔ，ｕ≦［ＶＮｔ，ｕ］であり、０＜Ｖ≦１とし、［・］は・以下の最大の整数を表す。なお、Ｖは認識精度がよくなるように実験的に定める。
【００５１】
＜言語モデル生成部１４０＞
言語モデル生成部１４０は、入力として、疑似テキスト生成部１３０で生成された（Ｕ１＋Ｕ２＋…＋ＵＴ）個の疑似テキストｔｅｘ’ｔ，ｕ全てではなく、その中から疑似テキスト選択部２５０で選択された（Ｙ１＋Ｙ２＋…＋ＹＴ）個の選択疑似テキストｔｅｘ’ｔ，ｙのみを用いて、言語モデルを生成する（ｓ１４０）。言語モデルを生成方法は第一実施形態と同様である。
【００５２】
＜効果＞
このような構成により、第一実施形態と同様の効果を得ることができる。さらに、本来正しくない文型の疑似テキストｔｅｘ’ｔ，ｕを用いて言語モデルを生成することを防ぎ、言語モデルの性能劣化を防止することができる。
【００５３】
＜第三実施形態＞
第二実施形態と異なる部分についてのみ説明する。
【００５４】
第三実施形態では、言語モデル生成部１４０において、オリジナルテキストｔｅｘｔと疑似テキストｔｅｘｔ，ｕの重みＷ（式（１）や式（２）参照）を疑似テキストｔｅｘｔ，ｕ毎に変える。生成される疑似テキストｔｅｘｔ，ｕにおいて、「確からしさ」の観点から、Ｔ個のオリジナルテキストｔｅｘｔと同等の頻度を与えてよさそうな語順や、間違いではないがあまり使われない語順であるといったことも考えられる。そこで第三実施形態では、重みＷを疑似テキストｔｅｘｔ，ｕ毎に算出する処理を加える。
【００５５】
図１１は言語モデル生成装置３００の機能ブロック図を、図１２はその処理フローを示す。
【００５６】
言語モデル生成装置３００は、形態素解析部２１０、構文解析部１２０、疑似テキスト生成部１３０、言語モデル生成部１４０、疑似テキスト選択部２５０を含み、さらに疑似テキスト重み算出部３７０を含む。
【００５７】
＜疑似テキスト重み算出部３７０＞
・入力：（品詞情報が付加されている）選択疑似テキストｔｅｘ’ｔ，ｙ、形態素解析結果（形態素単位に分かち書きされ、品詞情報が付加されたオリジナルテキスト）ｍｏｒ’ｔ
・出力：選択疑似テキストｔｅｘ’ｔ，ｙ毎の重みＷｔ，ｙ
・処理内容：Ｔ個のオリジナルテキストｔｅｘｔの品詞の語順と同じ品詞の語順を多く持つ選択疑似テキストｔｅｘ’ｔ，ｙほど、大きな重みＷｔ，ｙを算出し（ｓ３７０）、選択疑似テキストｔｅｘ’ｔ，ｙとともに言語モデル生成部１４０に出力する。重みＷｔ，ｙの算出方法としては、例えば以下の方法がある。
【００５８】
第二実施形態で用いた出現品詞列集合及び品詞ｎ−ｇｒａｍ確率を用いて、重みＷｔ，ｙを算出する。ただし、品詞ｎ−ｇｒａｍ確率は、０から１の値をとる。なお、品詞ｎ−ｇｒａｍ確率が大きければ「語順的に確からしい」ことを意味し、品詞ｎ−ｇｒａｍ確率が小さければ「語順的に誤りらしい」ことを意味する。
【００５９】
疑似テキスト重み算出部３７０は、品詞情報が付加されている選択疑似テキストｔｅｘ’ｔ，ｙから、品詞の語順を取り出す。以下に、重みＷｔ，ｙを決定する方法を三つ説明する。
【００６０】
（１）第一決定方法
疑似テキスト重み算出部３７０は、出現品詞列集合記憶部２５３内の出現品詞列集合に含まれる何れかの品詞の語順と疑似テキストｔｅｘ’ｔ，ｕの品詞の語順とが所定の割合（例えば、９５％）以上一致するか否かを判定し、一致する場合には、その疑似テキストｔｅｘ’ｔ，ｕの品詞の語順は確からしいと判断し、重みＷｔ，ｙの値を大きな値Ａ１とする。一致しない場合には、その疑似テキストｔｅｘ’ｔ，ｙは本来正しくない文型であると判断し、重みＷｔ，ｙの値を小さな値Ａ２とする。
【００６１】
以下の第二決定方法及び第三決定方法の場合、疑似テキスト重み算出部３７０は、さらに、疑似テキストｔｅｘ’ｔ，ｙの品詞の語順から得られる品詞ｎ−ｇｒａｍパタンに対応する品詞ｎ−ｇｒａｍ確率を疑似テキスト選択部２５０内の品詞ｎ−ｇｒａｍ確率記憶部２５９から取り出す。
【００６２】
（２）第二決定方法
取り出した品詞ｎ−ｇｒａｍ確率と事前に定めた閾値Ｘとを比較し、閾値Ｘ以上の場合、その品詞の語順は確からしいと判断し、重みＷｔ，ｙの値を大きな値Ａ１とする。閾値Ｘ未満の場合には、その疑似テキストｔｅｘ’ｔ，ｙは本来正しくない文型であると判断し、重みＷｔ，ｙの値を小さな値Ａ２とする。ただし、Ａ１＞Ａ２である。Ｘ、Ａ１、Ａ２は事前に開発セットの認識精度が最大になるように定めておく。例えば、Ｘ、Ａ１、Ａ２は、様々な値の組合せを用意して、言語モデルとしての認識精度がよくなるように実験的に定める。なお、Ｘは、０に近づけると全ての品詞の語順が許容されることになるため、品詞の語順による重み付けの意味がなくなる。また、この例では、閾値Ｘ以上、または、閾値Ｘ未満の二つのパタンに分類したが、Ｎ個の閾値Ｘｎを設け（ただし、Ｎは２以上の整数であり、ｎ＝１，２，…，Ｎであり、Ｘ１＜Ｘ２＜…＜ＸＮ）、（Ｎ＋１）個のパタンに分類しても問題ない。閾値の個数が増えることで、重みＷｔ，ｙの表現能力が向上し、言語モデルの性能が向上すると考えられる。一方で事前に決めるパラメータ数（閾値Ｘ１，Ｘ２，…，ＸＮや、（Ｎ＋１）個のパタンに対応する（Ｎ＋１）個の値Ａ１、Ａ２，…，ＡＮ＋１）が増えるため計算コストが増大する。
【００６３】
なお、閾値と比較する方法としては、疑似テキスト選択部２５０と同様の方法を用いることができる。つまり、以下のように比較する。
【００６４】
（ｉ）取り出した品詞ｎ−ｇｒａｍ確率の平均値を求め、平均値と閾値Ｘとを比較する。平均値が閾値Ｘ以上の場合、その品詞の語順は確からしいと判断する。
【００６５】
（ｉｉ）取り出した品詞ｎ−ｇｒａｍ確率のそれぞれと閾値Ｘとを比較し、Ｍ個の品詞ｎ−ｇｒａｍ確率が閾値Ｘ以上の場合、その品詞の語順は確からしいと判断する。
【００６６】
（３）第三決定方法
そもそも品詞ｎ−ｇｒａｍ確率が大きければ、「語順的に確からしい」ことを意味し、品詞ｎ−ｇｒａｍ確率が小さければ「語順的に誤りらしい」ことを意味するので、取り出した品詞ｎ−ｇｒａｍ確率の平均値を求め、その平均値（または平均値に所定の値を乗じた値）を重みとして利用する。
【００６７】
＜言語モデル生成部１４０＞
言語モデル生成部１４０は、オリジナルテキストｔｅｘｔ、選択疑似テキストｔｅｘ’ｔ，ｙ及び重みＷｔ，ｙを受け取り、式（１）または（２）等により、ｎ−ｇｒａｍ確率を計算し、言語モデルを生成する（ｓ１４０）。言語モデルを生成方法は第二実施形態と同様である。ただし、式（１）または（２）等において、選択疑似テキストｔｅｘ’ｔ，ｙ毎に、重みＷに代えて、重みＷｔ，ｙを用いて計算する。
【００６８】
＜効果＞
このような構成により、第二実施形態と同様の効果を得ることができる。さらに、より確からしい語順を持つ選択疑似テキストｔｅｘ’ｔ，ｙに対して、大きな重みＷｔ，ｙを与え、言語モデルの精度を向上させることができる。
【００６９】
＜変形例＞
第二実施形態の言語モデル生成装置２００に疑似テキスト重み算出部３７０を加えた構成となっているが、第一実施形態の言語モデル生成装置１００に加えてもよい。この場合、疑似テキスト重み算出部３７０や言語モデル生成部１４０では、選択疑似テキストｔｅｘ’ｔ，ｙに代えて、品詞情報が付加されている疑似テキストｔｅｘ’ｔ，ｕを用いる。よって、第一実施形態の形態素解析部１１０に代えて、第二実施形態の形態素解析部２１０を用い、オリジナルテキストｔｅｘｔを形態素単位に分割し、分割した各形態素に品詞を付与して、形態素解析結果ｍｏｒ’ｔを出力する。また、この場合、疑似テキスト重み算出部３７０において、品詞ｎ−ｇｒａｍ確率を求め、図示しない記憶部に格納する。
【００７０】
＜その他の変形例＞
また、本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００７１】
＜プログラム及び記録媒体＞
上述した言語モデル生成装置は、コンピュータにより機能させることもできる。この場合はコンピュータに、目的とする装置（各種実施形態で図に示した機能構成をもつ装置）として機能させるためのプログラム、またはその処理手順（各実施形態で示したもの）の各過程をコンピュータに実行させるためのプログラムを、ＣＤ−ＲＯＭ、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。
【符号の説明】
【００７２】
１００，２００，３００      言語モデル生成装置
１１０，２１０       形態素解析部
１２０ 構文解析部
１３０ 疑似テキスト生成部
１４０ 言語モデル生成部
２５０ 疑似テキスト選択部
２５１ 第一品詞情報取得部
２５３ 出現品詞列集合記憶部
２５５ 第二品詞情報取得部
２５７ 判定部
２５８ 確率計算部
２５９ 確率記憶部
３７０ 疑似テキスト重み算出部
【図１】
2014002257.tif 000005
【図２】
2014002257.tif 000006
【図３】
2014002257.tif 000007
【図４】
2014002257.tif 000008
【図５】
2014002257.tif 000009
【図６】
2014002257.tif 000010
【図７】
2014002257.tif 000011
【図８】
2014002257.tif 000012
【図９】
2014002257.tif 000013
【図１０】
2014002257.tif 000014
【図１１】
2014002257.tif 000015
【図１２】
2014002257.tif 000016