(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-01
(45)【発行日】2022-07-11
(54)【発明の名称】単語列修正装置、単語列修正方法及びプログラム
(51)【国際特許分類】
G06F 40/232 20200101AFI20220704BHJP
G06F 40/166 20200101ALI20220704BHJP
【FI】
G06F40/232
G06F40/166
(21)【出願番号】P 2018137761
(22)【出願日】2018-07-23
【審査請求日】2020-10-19
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】230121430
【氏名又は名称】安井 友章
(74)【代理人】
【識別番号】100211775
【氏名又は名称】村田 敦俊
(72)【発明者】
【氏名】太刀岡 勇気
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2011-023007(JP,A)
【文献】特開2011-065384(JP,A)
【文献】特開平05-067073(JP,A)
【文献】特開2017-167247(JP,A)
【文献】特開2013-134753(JP,A)
【文献】特開平01-281561(JP,A)
【文献】特開平04-098453(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
(57)【特許請求の範囲】
【請求項1】
複数の単語からなる単語列を入力する入力部と、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求める代替候補算出部と、
言語モデルに基づいて
、前記元の単語列および前記代替候補の言語尤度を求める言語尤度算出部と、
前記言語尤度に基づいて、
前記元の単語列および代替候補の中から
単語列を選択する選択部と、
選択された単語列を出力する出力部と、
を備える単語列修正装置。
【請求項2】
前記代替候補算出部は、前記言語尤度算出部にて求めた言語尤度に基づいて選択し
た単語列に対して、さらに、当該単語列の一部の単語を削除、連結または分離して生成した複数の単語列について、それぞれの代替候補を求める請求項1に記載の単語列修正装置。
【請求項3】
入力された単語列から、一部の単語を削除して複数の単語列を生成する単語削除部を備える請求項1または2に記載の単語列修正装置。
【請求項4】
入力された単語列の一部の単語を連結して複数の単語列を生成する単語連結部を備える請求項1乃至3のいずれかに記載の単語列修正装置。
【請求項5】
入力された単語列の一部の単語を分離し、分離して生成された単語を含む複数の単語列を生成する単語
分離部を備える請求項1乃至4のいずれかに記載の単語列修正装置。
【請求項6】
正しい単語列と、当該正しい単語列が誤って入力される誤り例とを関連付けて記憶した誤り例記憶部を備え、
前記代替候補算出部は、前記誤り例記憶部に記憶された誤り例に該当する単語列については、対応する正しい単語列を代替候補として求める請求項1乃至5のいずれかに記載の単語列修正装置。
【請求項7】
前記代替候補算出部にて代替候補を求める際に、前記単語列の一部の単語を削除、連結または分離することに対する損失を計算する挿入・削除損失算出部を備え、
前記選択部は、前記挿入・削除損失算出部にて求めた損失と、前記言語尤度とに基づいて、前記代替候補の中から単語列を選択する請求項1乃至6のいずれかに記載の単語列修正装置。
【請求項8】
前記選択部は、正解の単語列が既知の入力単語列を教師データとして用い、入力単語列に起こりやすい誤りを学習する請求項1乃至7のいずれかに記載の単語列修正装置。
【請求項9】
複数の単語からなる単語列を入力するステップと、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、
言語モデルに基づいて
、前記元の単語列および前記代替候補の言語尤度を求めるステップと、
前記言語尤度に基づいて、
前記元の単語列および代替候補の中から
単語列を選択するステップと、
選択された単語列を出力するステップと、
を備える単語列修正方法。
【請求項10】
入力された単語列を修正するためのプログラムであって、コンピュータに、
複数の単語からなる単語列を入力するステップと、
前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、
言語モデルに基づいて
、前記元の単語列および前記代替候補の言語尤度を求めるステップと、
前記言語尤度に基づいて、
前記元の単語列および代替候補の中から
単語列を選択するステップと、
選択された単語列を出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非文法的な誤りを修正する単語列修正技術に関する。
【背景技術】
【0002】
従来から、情報処理を行うシステムにおいて、入力文字列に含まれる誤りを修正する技術が提案されている。特許文献1は、知識ベースの古典的な手法として、エラーパターンと照合することで、入力文字列に含まれる誤りを修正する方法を開示している。
【0003】
特許文献2は、言語表記を発音の表記(中間言語表現)に変換し、その中で代替候補を検索することで疑わしいエントリーを発見し、疑わしいエントリーに対して、前後の固定長の文字列から代替候補と比較することで修正するかどうかを決定する方法を開示している。
【0004】
特許文献3では、インターネットコーパスでの出現頻度をもとに、スペル修正、誤用されている単語の修正、文法修正を行う方法が開示されている。
【0005】
非特許文献1では、文字の頻度を入力として単語を出力する部分文字ニューラルネットワークが提案されている。単語内の最初と最後の文字と中間の頻度を入力特徴量として用いる方法を開示している。
【0006】
図9は、上記した従来技術にかかる単語列修正装置100の構成を示す図である。入力部101より単語列が入力され、入力された単語列に対して形態素解析が必要な言語であれば形態素解析部102にて形態素解析を行い、単語分割する。また、読みと表記が著しく異なる言語であれば、中間言語変換部103にて中間言語変換を行う。次に、代替候補算出部104は、入力された単語列と辞書107を比較して、入力された単語列に誤りがある場合には、代替候補を算出する。
【0007】
代替候補の算出は、特許文献1では、ルールベースの辞書により行い、特許文献2では辞書内の単語との類似度により行う。特許文献3ではインターネットコーパスとの比較により行う。非特許文献1では、入力単語に含まれる文字の頻度をもとに、部分文字ニューラルネットワークにより行う。このようにして得られた代替候補を必要があれば、言語変換部105にて元言語に変換して修正単語列を得て、これを出力部106より出力する。
【先行技術文献】
【特許文献】
【0008】
【文献】特開平9-16598号公報
【文献】特開2012-69142号公報
【文献】特表2010-535377号公報
【非特許文献】
【0009】
【文献】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).
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記した従来の単語列修正装置は、いずれもスペルミス・タイプミスのような置換誤りを対象としていた。このため、入力文字列に挿入誤り(挿入すべきでない文字が挿入された誤り)や脱落誤り(複数の文字が合体して単語数が減少する誤り)が起きて、代替候補と1対1対応が取れない場合に適用できなかった。
【0011】
本発明は、上記背景に鑑み、挿入誤りや脱落誤りにも対応できる単語列修正装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の単語列修正装置は、複数の単語からなる単語列を入力する入力部と、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求める代替候補算出部と、言語モデルに基づいて前記代替候補の言語尤度を求める言語尤度算出部と、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択する選択部と、選択された単語列を出力する出力部とを備える。本発明の単語列修正装置は、入力された単語列から、一部の単語を削除して複数の単語列を生成する単語削除部や、入力された単語列の一部の単語を連結して複数の単語列を生成する単語連結部や、入力された単語列の一部の単語を分離し、分離して生成された単語を含む複数の単語列を生成する単語連結部を備えてもよい。
【0013】
このように単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めることにより、挿入誤り、または脱落誤りに対しても、代替候補を適切に求めることができる。その上で、言語尤度を用いて単語列を選択するので、挿入誤り、脱落誤りに対応した単語列修正を行える。
【0014】
本発明の単語列修正装置において、前記代替候補算出部は、前記言語尤度算出部にて求めた言語尤度に基づいて選択した一の代替候補の単語列に対して、さらに、当該単語列の一部の単語を削除、連結または分離して生成した複数の単語列について、それぞれの代替候補を求めてもよい。このように言語尤度に基づいて求められた一の代替候補に対して、一部の単語が削除・連結された単語列を想定してさらなる代替候補を探すことにより、挿入誤りや脱落誤りが大きい場合にも対応できる可能性がある。
【0015】
本発明の単語列修正装置は、正しい単語列と、当該正しい単語列が誤って入力される誤り例とを関連付けて記憶した誤り例記憶部を備え、前記代替候補算出部は、前記誤り例記憶部に記憶された誤り例に該当する単語列については、対応する正しい単語列を代替候補として求めてもよい。この構成により、誤り例記憶部に記憶された単語列の場合には、精度良く代替候補を求めることができる。
【0016】
本発明の単語列修正装置は、前記代替候補算出部にて代替候補を求める際に、前記単語列の一部の単語を削除、連結または分離することに対する損失を計算する挿入・削除損失算出部を備え、前記選択部は、前記挿入・削除損失算出部にて求めた損失と、前記言語尤度とに基づいて、前記代替候補の中から単語列を選択してもよい。この構成により、元の単語列が必要以上に細かく分割されたり、大まかに統合されたりしないようにできる。
【0017】
本発明の単語列修正装置において、前記選択部は、正解の単語列が既知の入力単語列を教師データとして用い、入力単語列に起こりやすい誤りを学習してもよい。これにより、単語列修正装置が用いられる環境等にあった単語列修正を行える。
【0018】
本発明の単語列修正方法は、複数の単語からなる単語列を入力するステップと、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、選択された単語列を出力するステップとを備える。
【0019】
本発明のプログラムは、入力された単語列を修正するためのプログラムであって、コンピュータに、複数の単語からなる単語列を入力するステップと、前記単語列の一部の単語を削除、連結または分離して生成した複数の単語列、及び元の単語列について、それぞれの代替候補を求めるステップと、言語モデルに基づいて前記代替候補の言語尤度を求めるステップと、前記言語尤度に基づいて、代替候補の中から一の代替候補の単語列を選択するステップと、選択された単語列を出力するステップとを実行させる。
【発明の効果】
【0020】
本発明によれば、従来法で修正可能な置換誤りだけでなく、挿入・脱落誤りの修正にも統合的に対応できる。
【図面の簡単な説明】
【0021】
【
図1】第1の実施の形態の単語列修正装置の構成を示す図である。
【
図2】第1の実施の形態の変形例に係る単語列修正装置の構成を示す図である。
【
図3】第2の実施の形態の単語列修正装置の構成を示す図である。
【
図4】第3の実施の形態の単語列修正装置の構成を示す図である。
【
図5】第4の実施の形態の単語列修正装置の構成を示す図である。
【
図6】第4の実施の形態の単語列修正装置と等価な構成を示す図である。
【
図7】第5の実施の形態の単語列修正装置の構成を示す図である。
【
図8】第5の実施の形態の変型例に係る単語列修正装置の構成を示す図である。
【
図9】従来の単語列修正装置の構成を示す図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態の単語列修正装置について、図面を参照して説明する。以下に説明する例では、1単語ずつ調べて修正する例を記載しているが、組み合わせ数が増えることを許容できるならば、複数単語を同時に修正することもでき、その際にも同様の方法が使える。
【0023】
(第1の実施の形態)
図1は、第1の実施の形態の単語列修正装置1の構成を示す図である。単語列修正装置1は、入力部10と、単語削除部11と、代替候補算出部12と、言語尤度算出部13と、出力部15とを有している。
図1では、
図9で説明した、形態素解析部102、中間言語変換部103、言語変換部105を記載していないが、必要に応じてこれらの構成を設けてもよい。
【0024】
入力部10は、誤りのチェックの対象となる単語列の入力を受け付ける。入力部10は、音声入力、テキスト入力のいずれによって単語列の入力を受け付けてもよい。ここで、「単語列」とは、文字の集合であり、どの単位を「単語」とするかは、本装置の設計者が適宜設定することができる。形態素を「単語」としてもよいし、複数の形態素からなる派生語(語幹+接頭辞/接尾辞:例えば「お箸」)、複合語(複数の語幹からなるもの:例えば、「参考文献」)、文法的複合(活用形の変化により複数の形態素が組み合わさったもの:例えば、「投げ方」)を、「単語」としてもよい。
【0025】
単語削除部11は、入力単語列から1単語ずつ削除していく。入力単語列がN単語からなっていたら、N通りの単語列が出力されることになる。
【0026】
代替候補算出部12は、入力された単語列(以下、「元の単語列」という)および元の単語列から1単語削除して生成された複数の単語と、辞書データベース(以下、「辞書DB」という)20に記憶された単語とを比較して、元の単語列および元の単語列から1単語削除して生成された複数の単語列のそれぞれについて、代替候補を求める。
【0027】
なお、本実施の形態では、代替候補算出部12が辞書DB20を用いる例を挙げているが、特許文献2のように前後に拡張した文字列や非特許文献1のようにLSTM(long-short term memory)ニューラルネットワークを用いることで、コンテキストを考慮した代替候補を検索してもよい。また、特許文献2のように順序を持った文字列として検索することもできるし、非特許文献1のように、順序を持たない文字の集合として、検索することもできる。さらには、単語の分散表現と呼ばれるリカレントニューラルネットワーク言語モデルの中間層の出力を利用することもできる。
【0028】
言語尤度算出部13は、言語モデルを参照して、元の単語列、単語削除部11にて1単語が削除された単語列(例えば、N単語からなる単語列なら、1単語を削除した単語列はN個ある)、及び、代替候補算出部12にて求めた代替候補(例えば、M個)のそれぞれについて、尤度を求める。ここで、言語尤度の算出に用いる言語モデルは、単語列に対する確率分布である。なお、元の単語列を信頼するならば、元の単語列の尤度をかさ上げしておいてもよい。
【0029】
例えば、入力単語が「A D B」で、正しい単語列が「A B」の場合、単語削除部11により「D B」「A B」「A D」の3単語列を出力し、これに加えて「A D B」の言語尤度を計算し、比較する。言語尤度の算出にはn-gram言語モデルを用いてもよいし、リカレントニューラルネットワークによる言語モデルを用いてもよい。またそれらを併用することもできる。
【0030】
最大尤度選択部14は、言語尤度算出部13にて求めた言語尤度が最大の単語列を選択する。出力部15は、選択された単語列を修正された単語列として出力する。なお、
図1に点線で示すように、修正された単語列を再度入力単語列として用いて修正を行い、修正がなくなるまで、もしくは所定の回数経過するまで、もしくは言語尤度の向上が閾値以下になるまでなどの条件で繰り返すことで複数個所の修正が行える。もちろん前述のとおり、複数単語を同時に修正することもできる。
【0031】
本実施の形態の単語列修正装置1の動作は、
図1に示す構成図において、矢印に従って、各構成要素が機能することにより実現される。すなわち、入力部10にて入力された単語列に対し、単語削除部11にて一部の単語を削除した単語列を生成し、代替候補算出部12にて、元の単語列と単語を削除して生成された単語列に対する代替候補を求める。続いて、言語尤度算出部13にて、元の単語列、一部の単語を削除した単語列および代替候補のそれぞれについて言語尤度を求め、最大尤度の単語列または代替候補を求める。
【0032】
以上、本実施の形態の単語列修正装置1の構成について説明したが、上記した単語列修正装置1のハードウェアの例は、CPU、RAM、ROM、ハードディスク、ディスプレイ、キーボード、マウス、通信インターフェース等を備えるコンピュータである。上記した各機能を実現するモジュールを有するプログラムをRAMまたはROMに格納しておき、CPUによって当該プログラムを実行することによって、上記した単語列修正装置1が実現される。このようなプログラムも本発明の範囲に含まれる。なお、以下に説明する実施の形態についても、同様に、単語列修正装置1を構成するハードウェアはコンピュータであり、その機能を実現するプログラムも本発明の範囲に含まれる。
【0033】
第1の実施の形態の単語列修正装置1は、元の単語列のみならず、元の単語列の一部の単語を削除して生成した単語列に対する代替候補を求め、その言語尤度を求めるので、入力された単語列に挿入誤りがある場合にも、単語列の入力誤りの修正を行うことができる。
【0034】
(第1の実施の形態の変形例)
図2は、第1の実施の形態の変形例に係る単語列修正装置1の構成を示す図である。変形例に係る単語列修正装置1は、誤り例を記憶した誤り例データベース(以下、「誤り例DB」という)22を有し、誤り例が入力単語列に見られる場合にはこれに対応する正解単語列に優先的に修正する。誤り例DBには、正解単語列とそれに対応する誤り例が対応付けて記憶されている。
【0035】
誤り例DB22への単語の登録の仕方はいくつか考えられる。例えば、入力単語列と正解単語列を、動的計画法などを利用して整列させ、誤りが起こった箇所の対応を取っておき、誤り例として保存しておくことができる。入力単語列が「A」、正解単語列が「B」の場合には、「A」に対する代替候補として「B」を登録する。これは単語単位で登録することもできるし、コンテキスト付きのn-gramとして登録することもできる。また、入力単語を入力、正解単語を出力とするニューラルネットワークを利用した言語モデルにより登録してもよい。入力単語列が「A B」、正解単語列が「A」の場合には、削除する例として「B」もしくは「A B」などのn-gramを登録する。入力単語列が「B」、正解単語列が「A B」の場合には、「B」に対する代替候補として「A B」を登録しておく。
【0036】
単語削除部11および代替候補算出部12は、入力単語列に対して誤り例を参照し、誤りが起こったことのある入力単語(つまり、誤り例DB22に登録されている単語列)から優先的に修正する。その後、言語尤度算出部13にて、第1の実施の形態と同様の処理を行う。誤り例DB22に基づく修正だけを行って修正を完了としてもよい。
【0037】
以上、第1の実施の形態に対する変形例について説明したが、以下に説明する実施の形態においても、ここで説明した変形例と同様に、誤り例DB22を備えることができる。
【0038】
(第2の実施の形態)
図3は、第2の実施の形態の単語列修正装置2の構成を示す図である。第2の実施の形態の単語列修正装置2は、挿入誤りを修正するために、第1の実施の形態の単語列修正装置1の構成に加え、単語連結部16とそれに続く代替候補算出部12をさらに備えている。
【0039】
単語連結部16では、入力単語列から1単語ずつずらして2単語を連結していく。入力単語列がN単語からなっている場合、(N-1)通りの(N-1)単語列を出力する。代替候補算出部12は、元の単語列の一部を連結して生成された単語列に対する代替候補を求める。言語尤度算出部13は、これらの単語列に対しても言語尤度を計算する。言語尤度が最大の代替候補を選択し、出力するのは第1の実施の形態の単語列修正装置1と同じである。
【0040】
第2の実施の形態の単語列修正装置1は、入力単語列が「A B」と2単語なのに対して、正解が「C」の1単語であるような場合に対応できる。例えば「今日 行く」と「教育」に対して、「今日」という単語だけからは代替候補として「教育」は出てこないが、2単語連結することで、代替候補として「教育」が検索できる。
【0041】
(第3の実施の形態)
図4は、第3の実施の形態の単語列修正装置3の構成を示す図である。第3の実施の形態の単語列修正装置3は、脱落誤りを修正するため、一単語として入力された単語が複数の単語からなる単語列である可能性を考慮した代替候補の検索を行う。
【0042】
単語列修正装置3は、第2の実施の形態の単語列修正装置2の構成に加えて、単語分離部17を備えている。単語分離部17は、入力単語列が「A」という一単語なのに対して、正解が「B C」の二単語であるような場合に使える。辞書20に対して、Aと発音や文字列と前方一致するBをMB個検索する。例えば、Aが「c1c2c3c4」という文字列・発音列から構成され、辞書20に「c1c2」が登録されていたとすると、前方一致の検索により「c1c2」がヒットする。Aの文字列・発音列には誤りがないとすると、残った「c3c4」が辞書20にあれば「c1c2 c3c4」という組み合わせを組合せ単語列として、組合せ単語列記憶部23に記憶する。もしくは一つまでの誤りを許すとすると「c1c2 c5c4」「c1c2 c3c5」も組合せ単語列として、組合せ単語列記憶部23に記憶する。もし、全部誤っていることを許せば、辞書20に登録されている単語数分の代替候補ができる。後方一致に関しても、上記と同様に処理を行う。Aに後方一致するCを辞書20からMC個検索し、後方一致部分を除く部分については、辞書20を参照して組合せ単語列を生成し、組合せ単語列記憶部23に記憶する。
【0043】
上記のようにして単語分離部17が生成した組合せ単語列に対して、代替候補算出部12が代替候補を求め、その代替候補について言語尤度を計算する。言語尤度が最大の代替候補を選択し、選択された代替候補を修正単語列として出力するのは上記した実施の形態の単語列修正装置1,2と同じである。このとき、誤りの種類に応じて尤度にペナルティを与えたり、かさまししたりすることも考えられる。例えば、脱落の起きやすいシステムでは、置換・挿入誤りの修正に対してペナルティをかけ、それらの尤度を下げておくことができる。また、前述のように入力単語列を信頼するならば、修正された候補列に対しては尤度を下げておくことができる。
【0044】
(第4の実施の形態)
図5は、第4の実施の形態の単語列修正装置4の構成を示す図である。第4の実施の形態の単語列修正装置4は、第3の実施の形態の単語列修正装置3の構成に加えて、挿入・削除損失算出部18を備えている。挿入・削除損失算出部18は、単語の挿入や削除に対してペナルティを課す機能を有する。挿入・削除損失算出部18は、挿入・削除損失算出モデル記憶部24に接続されており、挿入・削除損失算出モデルに基づいて、単語の挿入・削除に対する損失を算出する。最も単純には、挿入・削除損失算出部18は、挿入・削除損失モデルに基づいて、変化した単語数や文字数に応じた固定の損失を算出する。あるいは、挿入・削除損失算出部18は、挿入された単語の出現頻度や挿入部分の前後のn-gram確率をもとにして損失を算出してもよい。n-gram確率を用いる場合には、挿入・削除損失算出部18は、言語モデル21の情報を利用する。また、挿入されやすいフィラーなどは挿入・削除損失を小さくし、名詞・動詞などの簡単には挿入・削除されない品詞に関しては挿入・削除損失を大きくするなど、品詞別に損失を変化させることも考えられる。
【0045】
言語尤度算出部13は、代替候補の言語尤度を言語モデルに基づいて求めるが、この際に、挿入・削除損失算出部18にて求めた損失も含めて言語尤度を求める。言語尤度が最大の代替候補を選択し、選択された代替候補を修正単語列として出力するのは上記した実施の形態の単語列修正装置1~3と同じである。
【0046】
第4の実施の形態の単語列修正装置4は、単語の挿入・削除に対するペナルティを課すことにより、元の単語列が必要以上に細かく分割されたり、まとめられすぎたりすることで、修正前後で単語数が大きく変化することを防ぐことができる。
【0047】
(第5の実施の形態)
次に、第5の実施の形態の単語列修正装置5について説明する。第5の実施の形態の単語列修正装置5は、これまでに説明した単語列修正装置1~4の一般的な構成を有する。第5の実施の形態の詳しい説明に先立って、第4の実施の形態の単語列修正装置4と等価な構成について説明する。
【0048】
図6は、第4の実施の形態の単語列修正装置4と等価な単語列修正装置4の構成を示す図である。一部の単語の削除、挿入等といった異なる処理を行った単語列に対する代替候補に対して個別に、挿入・削除損失算出部18、言語尤度算出部13を有している。最大尤度選択部14は、代替候補のうち最大の言語尤度を有する代替候補を選択するので、
図5に示すように、挿入・削除損失算出部18及び言語尤度算出部13が全体で一つの場合でも、
図6に示すように、複数の代替候補算出部12のそれぞれに対して挿入・削除損失算出部18及び言語尤度算出部13を有している場合も等価である。
【0049】
図7は、第5の実施の形態の単語列修正装置5の構成を示す図である。第5の実施の形態の単語列修正装置5は、
図6に示す第4の実施の形態の単語列修正装置4と等価な構成において、最大尤度選択部14に代えて、候補選択部19を備えている。候補選択部19は、複数の言語尤度算出部13で求められた代替候補の言語尤度に基づいて、代替候補を選択する機能を有する。
【0050】
候補選択部19は、入力された単語列およびその代替候補の言語尤度、一部の単語を削除した単語列の代替候補の言語尤度、一部の単語を連結した単語列の代替候補の言語尤度、一部の単語を分離して生成された単語列の代替候補の言語尤度のデータを入力し、どの候補単語列が最も良いかを選択する機能を有する。候補選択部19は、例えば、単語列修正装置1が用いられる環境で起こりやすい入力誤りが挿入誤りなのか脱落誤りなのかということに基づいて、それぞれの言語尤度算出部13にて算出される言語尤度に対して重み付けをして、候補単語列を選択する。
【0051】
なお、候補選択部19は、必ずしも、言語尤度が最大の候補を選択するのではない点に注意を要する(結果として、言語尤度が最大の候補が選択されることはあるかもしれない)。第4の実施の形態は、候補選択部19にて、言語尤度が最大の候補を選択する構成である。
【0052】
候補選択部19の構成は上記した構成に限られず、様々な構成が考えられる。
図8は、第5の実施の形態の変型例に係る単語列修正装置5の構成を示す図である。変形例に係る単語列修正装置5は、候補選択モデルを記憶した候補選択モデル記憶部25を有している。正解単語列が既知の入力単語列を教師データとして、候補選択モデルを学習しておく。候補選択部19は、それぞれの言語尤度算出部13にて求めた言語尤度を候補選択モデルに適用することにより、代替候補を選択する。
【0053】
また、その他の方法として、例えば、言語尤度13を候補選択モデル25(例えばガウス混合モデルやニューラルネットワーク)に入力して、予め誤りと正解が分かっている文に対してそのパラメータを学習することで、候補を出力してもよい。その際に、言語尤度の算出の元となる代替候補の個数が異なってしまうと、入力特徴量の次元が一定にならないという問題がある。これに対しては、上位P個のみを使うというように予め言語尤度で足切りをしておくことが考えられる。脱落か挿入かを決定するだけであれば、上位1個の代替候補で十分である。
【産業上の利用可能性】
【0054】
本発明は、単語列入力の誤り修正等に利用することができる。
【符号の説明】
【0055】
1~5 単語列修正装置
10 入力部
11 単語削除部
12 代替候補算出部
13 言語尤度算出部
14 最大尤度選択部
15 出力部
16 単語連結部
17 単語分離部
18 挿入・削除損失算出部
19 候補選択部
20 辞書データベース
21 言語モデル記憶部
22 誤り例記憶部
23 組合せ単語列記憶部
24 挿入・削除損失モデル記憶部
25 候補選択モデル記憶部