(57)【要約】      （修正有）【課題】挿入誤りや脱落誤りにも対応できる単語列修正装置を提供する。【解決手段】単語列修正装置１は、複数の単語からなる単語列を入力する入力部１０と、入力された単語列から、一部の単語を削除して複数の単語列を生成する単語削除部１１と、単語列の一部の単語を削除して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求める代替候補算出部１２と、言語モデルに基づいて代替候補の言語尤度を求める言語尤度算出部１３と、代替候補の中から言語尤度が最大の単語列を選択する最大尤度選択部１４と、選択された単語列を出力する出力部１５とを備える。【選択図】図１
2020016939.tif 000002
【特許請求の範囲】
【請求項１】
複数の単語からなる単語列を入力する入力部と、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求める代替候補算出部と、
言語モデルに基づいて前記代替候補の言語尤度を求める言語尤度算出部と、
前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択する選択部と、
選択された単語列を出力する出力部と、
を備える単語列修正装置。
【請求項２】
前記代替候補算出部は、前記言語尤度算出部にて求めた言語尤度に基づいて選択した一の代替候補の単語列に対して、さらに、当該単語列の一部の単語を削除、連結または分離して生成した複数の単語列について、それぞれの代替候補を求める請求項１に記載の単語列修正装置。
【請求項３】
入力された単語列から、一部の単語を削除して複数の単語列を生成する単語削除部を備える請求項１または２に記載の単語列修正装置。
【請求項４】
入力された単語列の一部の単語を連結して複数の単語列を生成する単語連結部を備える請求項１乃至３のいずれかに記載の単語列修正装置。
【請求項５】
入力された単語列の一部の単語を分離し、分離して生成された単語を含む複数の単語列を生成する単語連結部を備える請求項１乃至４のいずれかに記載の単語列修正装置。
【請求項６】
正しい単語列と、当該正しい単語列が誤って入力される誤り例とを関連付けて記憶した誤り例記憶部を備え、
前記代替候補算出部は、前記誤り例記憶部に記憶された誤り例に該当する単語列については、対応する正しい単語列を代替候補として求める請求項１乃至５のいずれかに記載の単語列修正装置。
【請求項７】
前記代替候補算出部にて代替候補を求める際に、前記単語列の一部の単語を削除、連結または分離することに対する損失を計算する挿入・削除損失算出部を備え、
前記選択部は、前記挿入・削除損失算出部にて求めた損失と、前記言語尤度とに基づいて、前記代替候補の中から単語列を選択する請求項１乃至６のいずれかに記載の単語列修正装置。
【請求項８】
前記選択部は、正解の単語列が既知の入力単語列を教師データとして用い、入力単語列に起こりやすい誤りを学習する請求項１乃至７のいずれかに記載の単語列修正装置。
【請求項９】
複数の単語からなる単語列を入力するステップと、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、
言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、
前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、
選択された単語列を出力するステップと、
を備える単語列修正方法。
【請求項１０】
入力された単語列を修正するためのプログラムであって、コンピュータに、
複数の単語からなる単語列を入力するステップと、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、
言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、
前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、
選択された単語列を出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非文法的な誤りを修正する単語列修正技術に関する。
【背景技術】
【０００２】
従来から、情報処理を行うシステムにおいて、入力文字列に含まれる誤りを修正する技術が提案されている。特許文献１は、知識ベースの古典的な手法として、エラーパターンと照合することで、入力文字列に含まれる誤りを修正する方法を開示している。
【０００３】
特許文献２は、言語表記を発音の表記（中間言語表現）に変換し、その中で代替候補を検索することで疑わしいエントリーを発見し、疑わしいエントリーに対して、前後の固定長の文字列から代替候補と比較することで修正するかどうかを決定する方法を開示している。
【０００４】
特許文献３では、インターネットコーパスでの出現頻度をもとに、スペル修正、誤用されている単語の修正、文法修正を行う方法が開示されている。
【０００５】
非特許文献１では、文字の頻度を入力として単語を出力する部分文字ニューラルネットワークが提案されている。単語内の最初と最後の文字と中間の頻度を入力特徴量として用いる方法を開示している。
【０００６】
図９は、上記した従来技術にかかる単語列修正装置１００の構成を示す図である。入力部１０１より単語列が入力され、入力された単語列に対して形態素解析が必要な言語であれば形態素解析部１０２にて形態素解析を行い、単語分割する。また、読みと表記が著しく異なる言語であれば、中間言語変換部１０３にて中間言語変換を行う。次に、代替候補算出部１０４は、入力された単語列と辞書１０７を比較して、入力された単語列に誤りがある場合には、代替候補を算出する。
【０００７】
代替候補の算出は、特許文献１では、ルールベースの辞書により行い、特許文献２では辞書内の単語との類似度により行う。特許文献３ではインターネットコーパスとの比較により行う。非特許文献１では、入力単語に含まれる文字の頻度をもとに、部分文字ニューラルネットワークにより行う。このようにして得られた代替候補を必要があれば、言語変換部１０５にて元言語に変換して修正単語列を得て、これを出力部１０６より出力する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平9-16598号公報
【特許文献２】特開2012-69142号公報
【特許文献３】特表2010-535377号公報
【非特許文献】
【０００９】
【非特許文献１】K. Sakaguchi, K. Duh, M. Post, and B. Van Durme, “Robsut wrod reocginiton via semi-character recurrent neural network”, Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, pp.3281-3287 (2017).
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記した従来の単語列修正装置は、いずれもスペルミス・タイプミスのような置換誤りを対象としていた。このため、入力文字列に挿入誤り（挿入すべきでない文字が挿入された誤り）や脱落誤り（複数の文字が合体して単語数が減少する誤り）が起きて、代替候補と１対１対応が取れない場合に適用できなかった。
【００１１】
本発明は、上記背景に鑑み、挿入誤りや脱落誤りにも対応できる単語列修正装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の単語列修正装置は、複数の単語からなる単語列を入力する入力部と、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求める代替候補算出部と、言語モデルに基づいて前記代替候補の言語尤度を求める言語尤度算出部と、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択する選択部と、選択された単語列を出力する出力部とを備える。本発明の単語列修正装置は、入力された単語列から、一部の単語を削除して複数の単語列を生成する単語削除部や、入力された単語列の一部の単語を連結して複数の単語列を生成する単語連結部や、入力された単語列の一部の単語を分離し、分離して生成された単語を含む複数の単語列を生成する単語連結部を備えてもよい。
【００１３】
このように単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めることにより、挿入誤り、または脱落誤りに対しても、代替候補を適切に求めることができる。その上で、言語尤度を用いて単語列を選択するので、挿入誤り、脱落誤りに対応した単語列修正を行える。
【００１４】
本発明の単語列修正装置において、前記代替候補算出部は、前記言語尤度算出部にて求めた言語尤度に基づいて選択した一の代替候補の単語列に対して、さらに、当該単語列の一部の単語を削除、連結または分離して生成した複数の単語列について、それぞれの代替候補を求めてもよい。このように言語尤度に基づいて求められた一の代替候補に対して、一部の単語が削除・連結された単語列を想定してさらなる代替候補を探すことにより、挿入誤りや脱落誤りが大きい場合にも対応できる可能性がある。
【００１５】
本発明の単語列修正装置は、正しい単語列と、当該正しい単語列が誤って入力される誤り例とを関連付けて記憶した誤り例記憶部を備え、前記代替候補算出部は、前記誤り例記憶部に記憶された誤り例に該当する単語列については、対応する正しい単語列を代替候補として求めてもよい。この構成により、誤り例記憶部に記憶された単語列の場合には、精度良く代替候補を求めることができる。
【００１６】
本発明の単語列修正装置は、前記代替候補算出部にて代替候補を求める際に、前記単語列の一部の単語を削除、連結または分離することに対する損失を計算する挿入・削除損失算出部を備え、前記選択部は、前記挿入・削除損失算出部にて求めた損失と、前記言語尤度とに基づいて、前記代替候補の中から単語列を選択してもよい。この構成により、元の単語列が必要以上に細かく分割されたり、大まかに統合されたりしないようにできる。
【００１７】
本発明の単語列修正装置において、前記選択部は、正解の単語列が既知の入力単語列を教師データとして用い、入力単語列に起こりやすい誤りを学習してもよい。これにより、単語列修正装置が用いられる環境等にあった単語列修正を行える。
【００１８】
本発明の単語列修正方法は、複数の単語からなる単語列を入力するステップと、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、選択された単語列を出力するステップとを備える。
【００１９】
本発明のプログラムは、入力された単語列を修正するためのプログラムであって、コンピュータに、複数の単語からなる単語列を入力するステップと、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、選択された単語列を出力するステップとを実行させる。
【発明の効果】
【００２０】
本発明によれば、従来法で修正可能な置換誤りだけでなく、挿入・脱落誤りの修正にも統合的に対応できる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態の単語列修正装置の構成を示す図である。
【図２】第１の実施の形態の変形例に係る単語列修正装置の構成を示す図である。
【図３】第２の実施の形態の単語列修正装置の構成を示す図である。
【図４】第３の実施の形態の単語列修正装置の構成を示す図である。
【図５】第４の実施の形態の単語列修正装置の構成を示す図である。
【図６】第４の実施の形態の単語列修正装置と等価な構成を示す図である。
【図７】第５の実施の形態の単語列修正装置の構成を示す図である。
【図８】第５の実施の形態の変型例に係る単語列修正装置の構成を示す図である。
【図９】従来の単語列修正装置の構成を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態の単語列修正装置について、図面を参照して説明する。以下に説明する例では、１単語ずつ調べて修正する例を記載しているが、組み合わせ数が増えることを許容できるならば、複数単語を同時に修正することもでき、その際にも同様の方法が使える。
【００２３】
（第１の実施の形態）
図１は、第１の実施の形態の単語列修正装置１の構成を示す図である。単語列修正装置１は、入力部１０と、単語削除部１１と、代替候補算出部１２と、言語尤度算出部１３と、出力部１５とを有している。図１では、図９で説明した、形態素解析部１０２、中間言語変換部１０３、言語変換部１０５を記載していないが、必要に応じてこれらの構成を設けてもよい。
【００２４】
入力部１０は、誤りのチェックの対象となる単語列の入力を受け付ける。入力部１０は、音声入力、テキスト入力のいずれによって単語列の入力を受け付けてもよい。ここで、「単語列」とは、文字の集合であり、どの単位を「単語」とするかは、本装置の設計者が適宜設定することができる。形態素を「単語」としてもよいし、複数の形態素からなる派生語（語幹＋接頭辞／接尾辞：例えば「お箸」）、複合語（複数の語幹からなるもの：例えば、「参考文献」）、文法的複合（活用形の変化により複数の形態素が組み合わさったもの：例えば、「投げ方」）を、「単語」としてもよい。
【００２５】
単語削除部１１は、入力単語列から１単語ずつ削除していく。入力単語列がＮ単語からなっていたら、Ｎ通りの単語列が出力されることになる。
【００２６】
代替候補算出部１２は、入力された単語列（以下、「元の単語列」という）および元の単語列から１単語削除して生成された複数の単語と、辞書データベース（以下、「辞書ＤＢ」という）２０に記憶された単語とを比較して、元の単語列および元の単語列から１単語削除して生成された複数の単語列のそれぞれについて、代替候補を求める。
【００２７】
なお、本実施の形態では、代替候補算出部１２が辞書ＤＢ２０を用いる例を挙げているが、特許文献２のように前後に拡張した文字列や非特許文献１のようにＬＳＴＭ（long-short term memory）ニューラルネットワークを用いることで、コンテキストを考慮した代替候補を検索してもよい。また、特許文献２のように順序を持った文字列として検索することもできるし、非特許文献１のように、順序を持たない文字の集合として、検索することもできる。さらには、単語の分散表現と呼ばれるリカレントニューラルネットワーク言語モデルの中間層の出力を利用することもできる。
【００２８】
言語尤度算出部１３は、言語モデルを参照して、元の単語列、単語削除部１１にて１単語が削除された単語列（例えば、Ｎ単語からなる単語列なら、１単語を削除した単語列はＮ個ある）、及び、代替候補算出部１２にて求めた代替候補（例えば、Ｍ個）のそれぞれについて、尤度を求める。ここで、言語尤度の算出に用いる言語モデルは、単語列に対する確率分布である。なお、元の単語列を信頼するならば、元の単語列の尤度をかさ上げしておいてもよい。
【００２９】
例えば、入力単語が「Ａ Ｄ Ｂ」で、正しい単語列が「Ａ Ｂ」の場合、単語削除部１１により「Ｄ Ｂ」「Ａ Ｂ」「Ａ Ｄ」の３単語列を出力し、これに加えて「Ａ Ｄ Ｂ」の言語尤度を計算し、比較する。言語尤度の算出にはｎ−ｇｒａｍ言語モデルを用いてもよいし、リカレントニューラルネットワークによる言語モデルを用いてもよい。またそれらを併用することもできる。
【００３０】
最大尤度選択部１４は、言語尤度算出部１３にて求めた言語尤度が最大の単語列を選択する。出力部１５は、選択された単語列を修正された単語列として出力する。なお、図１に点線で示すように、修正された単語列を再度入力単語列として用いて修正を行い、修正がなくなるまで、もしくは所定の回数経過するまで、もしくは言語尤度の向上が閾値以下になるまでなどの条件で繰り返すことで複数個所の修正が行える。もちろん前述のとおり、複数単語を同時に修正することもできる。
【００３１】
本実施の形態の単語列修正装置１の動作は、図１に示す構成図において、矢印に従って、各構成要素が機能することにより実現される。すなわち、入力部１０にて入力された単語列に対し、単語削除部１１にて一部の単語を削除した単語列を生成し、代替候補算出部１２にて、元の単語列と単語を削除して生成された単語列に対する代替候補を求める。続いて、言語尤度算出部１３にて、元の単語列、一部の単語を削除した単語列および代替候補のそれぞれについて言語尤度を求め、最大尤度の単語列または代替候補を求める。
【００３２】
以上、本実施の形態の単語列修正装置１の構成について説明したが、上記した単語列修正装置１のハードウェアの例は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えるコンピュータである。上記した各機能を実現するモジュールを有するプログラムをＲＡＭまたはＲＯＭに格納しておき、ＣＰＵによって当該プログラムを実行することによって、上記した単語列修正装置１が実現される。このようなプログラムも本発明の範囲に含まれる。なお、以下に説明する実施の形態についても、同様に、単語列修正装置１を構成するハードウェアはコンピュータであり、その機能を実現するプログラムも本発明の範囲に含まれる。
【００３３】
第１の実施の形態の単語列修正装置１は、元の単語列のみならず、元の単語列の一部の単語を削除して生成した単語列に対する代替候補を求め、その言語尤度を求めるので、入力された単語列に挿入誤りがある場合にも、単語列の入力誤りの修正を行うことができる。
【００３４】
（第１の実施の形態の変形例）
図２は、第１の実施の形態の変形例に係る単語列修正装置１の構成を示す図である。変形例に係る単語列修正装置１は、誤り例を記憶した誤り例データベース（以下、「誤り例ＤＢ」という）２２を有し、誤り例が入力単語列に見られる場合にはこれに対応する正解単語列に優先的に修正する。誤り例ＤＢには、正解単語列とそれに対応する誤り例が対応付けて記憶されている。
【００３５】
誤り例ＤＢ２２への単語の登録の仕方はいくつか考えられる。例えば、入力単語列と正解単語列を、動的計画法などを利用して整列させ、誤りが起こった箇所の対応を取っておき、誤り例として保存しておくことができる。入力単語列が「Ａ」、正解単語列が「Ｂ」の場合には、「Ａ」に対する代替候補として「Ｂ」を登録する。これは単語単位で登録することもできるし、コンテキスト付きのｎ−ｇｒａｍとして登録することもできる。また、入力単語を入力、正解単語を出力とするニューラルネットワークを利用した言語モデルにより登録してもよい。入力単語列が「Ａ Ｂ」、正解単語列が「Ａ」の場合には、削除する例として「Ｂ」もしくは「Ａ Ｂ」などのｎ−ｇｒａｍを登録する。入力単語列が「Ｂ」、正解単語列が「Ａ Ｂ」の場合には、「Ｂ」に対する代替候補として「Ａ Ｂ」を登録しておく。
【００３６】
単語削除部１１および代替候補算出部１２は、入力単語列に対して誤り例を参照し、誤りが起こったことのある入力単語（つまり、誤り例ＤＢ２２に登録されている単語列）から優先的に修正する。その後、言語尤度算出部１３にて、第１の実施の形態と同様の処理を行う。誤り例ＤＢ２２に基づく修正だけを行って修正を完了としてもよい。
【００３７】
以上、第１の実施の形態に対する変形例について説明したが、以下に説明する実施の形態においても、ここで説明した変形例と同様に、誤り例ＤＢ２２を備えることができる。
【００３８】
（第２の実施の形態）
図３は、第２の実施の形態の単語列修正装置２の構成を示す図である。第２の実施の形態の単語列修正装置２は、挿入誤りを修正するために、第１の実施の形態の単語列修正装置１の構成に加え、単語連結部１６とそれに続く代替候補算出部１２をさらに備えている。
【００３９】
単語連結部１６では、入力単語列から１単語ずつずらして２単語を連結していく。入力単語列がＮ単語からなっている場合、（Ｎ−１）通りの（Ｎ−１）単語列を出力する。代替候補算出部１２は、元の単語列の一部を連結して生成された単語列に対する代替候補を求める。言語尤度算出部１３は、これらの単語列に対しても言語尤度を計算する。言語尤度が最大の代替候補を選択し、出力するのは第１の実施の形態の単語列修正装置１と同じである。
【００４０】
第２の実施の形態の単語列修正装置１は、入力単語列が「Ａ Ｂ」と２単語なのに対して、正解が「Ｃ」の１単語であるような場合に対応できる。例えば「今日  行く」と「教育」に対して、「今日」という単語だけからは代替候補として「教育」は出てこないが、２単語連結することで、代替候補として「教育」が検索できる。
【００４１】
（第３の実施の形態）
図４は、第３の実施の形態の単語列修正装置３の構成を示す図である。第３の実施の形態の単語列修正装置３は、脱落誤りを修正するため、一単語として入力された単語が複数の単語からなる単語列である可能性を考慮した代替候補の検索を行う。
【００４２】
単語列修正装置３は、第２の実施の形態の単語列修正装置２の構成に加えて、単語分離部１７を備えている。単語分離部１７は、入力単語列が「Ａ」という一単語なのに対して、正解が「Ｂ Ｃ」の二単語であるような場合に使える。辞書２０に対して、Ａと発音や文字列と前方一致するＢをＭB個検索する。例えば、Ａが「ｃ1ｃ2ｃ3ｃ4」という文字列・発音列から構成され、辞書２０に「ｃ1ｃ2」が登録されていたとすると、前方一致の検索により「ｃ1ｃ2」がヒットする。Ａの文字列・発音列には誤りがないとすると、残った「ｃ3ｃ4」が辞書２０にあれば「ｃ1ｃ2  ｃ3ｃ4」という組み合わせを組合せ単語列として、組合せ単語列記憶部２３に記憶する。もしくは一つまでの誤りを許すとすると「ｃ1ｃ2  ｃ5ｃ4」「ｃ1ｃ2  ｃ3ｃ5」も組合せ単語列として、組合せ単語列記憶部２３に記憶する。もし、全部誤っていることを許せば、辞書２０に登録されている単語数分の代替候補ができる。後方一致に関しても、上記と同様に処理を行う。Ａに後方一致するＣを辞書２０からＭC個検索し、後方一致部分を除く部分については、辞書２０を参照して組合せ単語列を生成し、組合せ単語列記憶部２３に記憶する。
【００４３】
上記のようにして単語分離部１７が生成した組合せ単語列に対して、代替候補算出部１２が代替候補を求め、その代替候補について言語尤度を計算する。言語尤度が最大の代替候補を選択し、選択された代替候補を修正単語列として出力するのは上記した実施の形態の単語列修正装置１，２と同じである。このとき、誤りの種類に応じて尤度にペナルティを与えたり、かさまししたりすることも考えられる。例えば、脱落の起きやすいシステムでは、置換・挿入誤りの修正に対してペナルティをかけ、それらの尤度を下げておくことができる。また、前述のように入力単語列を信頼するならば、修正された候補列に対しては尤度を下げておくことができる。
【００４４】
（第４の実施の形態）
図５は、第４の実施の形態の単語列修正装置４の構成を示す図である。第４の実施の形態の単語列修正装置４は、第３の実施の形態の単語列修正装置３の構成に加えて、挿入・削除損失算出部１８を備えている。挿入・削除損失算出部１８は、単語の挿入や削除に対してペナルティを課す機能を有する。挿入・削除損失算出部１８は、挿入・削除損失算出モデル記憶部２４に接続されており、挿入・削除損失算出モデルに基づいて、単語の挿入・削除に対する損失を算出する。最も単純には、挿入・削除損失算出部１８は、挿入・削除損失モデルに基づいて、変化した単語数や文字数に応じた固定の損失を算出する。あるいは、挿入・削除損失算出部１８は、挿入された単語の出現頻度や挿入部分の前後のｎ−ｇｒａｍ確率をもとにして損失を算出してもよい。ｎ−ｇｒａｍ確率を用いる場合には、挿入・削除損失算出部１８は、言語モデル２１の情報を利用する。また、挿入されやすいフィラーなどは挿入・削除損失を小さくし、名詞・動詞などの簡単には挿入・削除されない品詞に関しては挿入・削除損失を大きくするなど、品詞別に損失を変化させることも考えられる。
【００４５】
言語尤度算出部１３は、代替候補の言語尤度を言語モデルに基づいて求めるが、この際に、挿入・削除損失算出部１８にて求めた損失も含めて言語尤度を求める。言語尤度が最大の代替候補を選択し、選択された代替候補を修正単語列として出力するのは上記した実施の形態の単語列修正装置１〜３と同じである。
【００４６】
第４の実施の形態の単語列修正装置４は、単語の挿入・削除に対するペナルティを課すことにより、元の単語列が必要以上に細かく分割されたり、まとめられすぎたりすることで、修正前後で単語数が大きく変化することを防ぐことができる。
【００４７】
（第５の実施の形態）
次に、第５の実施の形態の単語列修正装置５について説明する。第５の実施の形態の単語列修正装置５は、これまでに説明した単語列修正装置１〜４の一般的な構成を有する。第５の実施の形態の詳しい説明に先立って、第４の実施の形態の単語列修正装置４と等価な構成について説明する。
【００４８】
図６は、第４の実施の形態の単語列修正装置４と等価な単語列修正装置４の構成を示す図である。一部の単語の削除、挿入等といった異なる処理を行った単語列に対する代替候補に対して個別に、挿入・削除損失算出部１８、言語尤度算出部１３を有している。最大尤度選択部１４は、代替候補のうち最大の言語尤度を有する代替候補を選択するので、図５に示すように、挿入・削除損失算出部１８及び言語尤度算出部１３が全体で一つの場合でも、図６に示すように、複数の代替候補算出部１２のそれぞれに対して挿入・削除損失算出部１８及び言語尤度算出部１３を有している場合も等価である。
【００４９】
図７は、第５の実施の形態の単語列修正装置５の構成を示す図である。第５の実施の形態の単語列修正装置５は、図６に示す第４の実施の形態の単語列修正装置４と等価な構成において、最大尤度選択部１４に代えて、候補選択部１９を備えている。候補選択部１９は、複数の言語尤度算出部１３で求められた代替候補の言語尤度に基づいて、代替候補を選択する機能を有する。
【００５０】
候補選択部１９は、入力された単語列およびその代替候補の言語尤度、一部の単語を削除した単語列の代替候補の言語尤度、一部の単語を連結した単語列の代替候補の言語尤度、一部の単語を分離して生成された単語列の代替候補の言語尤度のデータを入力し、どの候補単語列が最も良いかを選択する機能を有する。候補選択部１９は、例えば、単語列修正装置１が用いられる環境で起こりやすい入力誤りが挿入誤りなのか脱落誤りなのかということに基づいて、それぞれの言語尤度算出部１３にて算出される言語尤度に対して重み付けをして、候補単語列を選択する。
【００５１】
なお、候補選択部１９は、必ずしも、言語尤度が最大の候補を選択するのではない点に注意を要する（結果として、言語尤度が最大の候補が選択されることはあるかもしれない）。第４の実施の形態は、候補選択部１９にて、言語尤度が最大の候補を選択する構成である。
【００５２】
候補選択部１９の構成は上記した構成に限られず、様々な構成が考えられる。
図８は、第５の実施の形態の変型例に係る単語列修正装置５の構成を示す図である。変形例に係る単語列修正装置５は、候補選択モデルを記憶した候補選択モデル記憶部２５を有している。正解単語列が既知の入力単語列を教師データとして、候補選択モデルを学習しておく。候補選択部１９は、それぞれの言語尤度算出部１３にて求めた言語尤度を候補選択モデルに適用することにより、代替候補を選択する。
【００５３】
また、その他の方法として、例えば、言語尤度１３を候補選択モデル２５（例えばガウス混合モデルやニューラルネットワーク）に入力して、予め誤りと正解が分かっている文に対してそのパラメータを学習することで、候補を出力してもよい。その際に、言語尤度の算出の元となる代替候補の個数が異なってしまうと、入力特徴量の次元が一定にならないという問題がある。これに対しては、上位Ｐ個のみを使うというように予め言語尤度で足切りをしておくことが考えられる。脱落か挿入かを決定するだけであれば、上位１個の代替候補で十分である。
【産業上の利用可能性】
【００５４】
本発明は、単語列入力の誤り修正等に利用することができる。
【符号の説明】
【００５５】
１〜５  単語列修正装置
１０  入力部
１１  単語削除部
１２  代替候補算出部
１３  言語尤度算出部
１４  最大尤度選択部
１５  出力部
１６  単語連結部
１７  単語分離部
１８  挿入・削除損失算出部
１９  候補選択部
２０  辞書データベース
２１  言語モデル記憶部
２２  誤り例記憶部
２３  組合せ単語列記憶部
２４  挿入・削除損失モデル記憶部
２５  候補選択モデル記憶部
【図１】
2020016939.tif 000003
【図２】
2020016939.tif 000004
【図３】
2020016939.tif 000005
【図４】
2020016939.tif 000006
【図５】
2020016939.tif 000007
【図６】
2020016939.tif 000008
【図７】
2020016939.tif 000009
【図８】
2020016939.tif 000010
【図９】
2020016939.tif 000011