(57)【要約】【課題】精度よく、崩れ語を含む文字列を変換することができる。【解決手段】部分文字列特定部２３０が、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定する。文字列変換部２３２が、特定された部分文字列に対して、崩れ語を正規語に変換するための変換モデルに基づいて、部分文字列を変換することにより、文字列に含まれる崩れ語を正規語に変換した文字列を生成する。【選択図】図８
2018077677.tif 000002
【特許請求の範囲】
【請求項１】
入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定する部分文字列特定部と、
前記部分文字列特定部によって特定された部分文字列に対して、前記崩れ語を前記正規語に変換するための変換モデルに基づいて、前記部分文字列を変換することにより、前記文字列に含まれる前記崩れ語を前記正規語に変換した文字列を生成する文字列変換部と、
を含む文字列変換装置。
【請求項２】
前記変換モデルは、前記崩れ語より前の文脈及び前記崩れ語より後の文脈を考慮して、前記崩れ語を前記正規語に変換するための変換モデルであり、
前記文字列変換部は、前記部分文字列特定部によって特定された部分文字列に対して、前記変換モデルと、前記文字列における前記部分文字列より前の文脈及び前記部分文字列より後の文脈とに基づいて、前記部分文字列を変換する請求項１記載の文字列変換装置。
【請求項３】
前記判定モデルは、判定対象の文字、前記判定対象の文字より前の文字列、及び前記判定対象の文字より後の文字列を入力とし、前記判定対象の文字が崩れ語の文字である確率を出力するニューラルネットワークであり、
前記変換モデルは、変換対象の部分文字列、前記変換対象の部分文字列より前の文字列、及び前記変換対象の部分文字列より後の文字列を入力とし、変換対象の部分文字列を変換した変換後の部分文字列の文字の各々について、各文字である確率を出力するニューラルネットワークである請求項１又は２記載の文字列変換装置。
【請求項４】
入力された、正規化された表現である正規語からなる正規化文と、前記正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、前記複数のペアの各々について、前記正規化文に含まれる各文字と、前記崩れ文に含まれる各文字との対応関係を求める文字列アライメント部と、
前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習する判定モデル学習部と、
前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語を前記正規語に変換するための変換モデルを学習する変換モデル学習部と、
を含むモデル学習装置。
【請求項５】
部分文字列特定部が、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定するステップと、
文字列変換部が、前記部分文字列特定部によって特定された部分文字列に対して、前記崩れ語を前記正規語に変換するための変換モデルに基づいて、前記部分文字列を変換することにより、前記文字列に含まれる前記崩れ語を前記正規語に変換した文字列を生成するステップと、
を含む文字列変換方法。
【請求項６】
文字列アライメント部が、入力された、正規化された表現である正規語からなる正規化文と、前記正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、前記複数のペアの各々について、前記正規化文に含まれる各文字と、前記崩れ文に含まれる各文字との対応関係を求めるステップと、
判定モデル学習部が、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習するステップと、
変換モデル学習部が、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語を前記正規語に変換するための変換モデルを学習するステップと、
を含むモデル学習方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項に記載の文字列変換装置の各部として機能させるためのプログラム。
【請求項８】
コンピュータを、請求項４に記載のモデル学習装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列変換装置、モデル学習装置、方法、及びプログラムに係り、特に、口語調などの正書法では現れない表記である崩れた表記を頑健に解析するための文字列変換装置、モデル学習装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、崩れた表記を正規化するための技術として、文字列正規化パタンに基づく正規化形態素解析を行う技術が知られている。例えば図１４に示すように、事前に正規化文字列を設定し、その文字列を用いて辞書や入力文を拡張しながら解析するものである（非特許文献１、非特許文献２参照）。崩れ文字列から正規文字列への変換例としては、例えば「ー」→「null」、「ー」→「う」、「っ」→「null」、「しー」→「しい」といったものである。
【０００３】
また、Encoder-decoder型ニューラルネットワークにより、入力系列ｘをベクトル空間に射影し、そのベクトル空間を参照しながら出力系列ｙを予測する技術が知られている（非特許文献３）。同技術では、図１５に示すようなEncoder-decoder型ニューラルネットワークモデルから、以下の式に従って位置ｔごとに出力される文字の各々の確率を計算し、最も確率の高い文字の系列を出力する。
【０００４】
【数１】
2018077677.tif 000003
【０００５】
ここで、ｃｔはａｔを重みとしたｈｔの加重平均であり、入力ソース側（ｘ）の位置ごとに次のように計算する。
【０００６】
【数２】
2018077677.tif 000004
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】勝木健太、笹野遼平、河原大輔、黒橋禎夫，「web上の多彩な言語バリエーションに対応した頑健な形態素解析」，（2011），言語処理学会，第17回年次大会発表論文集
【非特許文献２】斉藤，貞光，浅野，松尾，「正規-崩れ文字列アライメントと文字種変換を用いた崩れ表記正規化に基づく日本語形態素解析」 ，第20回言語処理学会全国大会，2014/3/10
【非特許文献３】Minh-Thang Luong, Hieu Pham, Christopher D. Manning,"Effective Approaches to Attention-based Neural Machine Translation" Computer Science Department, Stanford University, Stanford, CA 94305, 2015
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の非特許文献１、及び非特許文献２の技術では、文字列レベルのパタンを設定して正規化を行う場合、事前に設定した文字列しか正規化することができないという課題があった。また、設定した文字列の限られた範囲の文脈情報しか考慮することができないという課題があった。
【０００９】
非特許文献３の技術では、文字列全体を考慮して変換を行うため、学習時間が長いという課題があった。また、特に学習データが少ない場合や入力文字列が長い場合、変換しなくてもよい文字も変換してしまうなどのデグレードが大きくなるという課題があった。
【００１０】
本発明は、上記問題点を解決するために成されたものであり、精度よく、崩れ語を含む文字列を変換することができる文字列変換装置、方法、及びプログラムを提供することを目的とする。
【００１１】
また、本発明は、精度よく崩れ語を含む文字列を変換できるモデルを学習することができるモデル学習装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、第１の発明に係る文字列変換装置は、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定する部分文字列特定部と、前記部分文字列特定部によって特定された部分文字列に対して、前記崩れ語を前記正規語に変換するための変換モデルに基づいて、前記部分文字列を変換することにより、前記文字列に含まれる前記崩れ語を前記正規語に変換した文字列を生成する文字列変換部と、を含んで構成されている。
【００１３】
また、第１の発明に係る文字列変換装置において、前記変換モデルは、前記崩れ語より前の文脈及び前記崩れ語より後の文脈を考慮して、前記崩れ語を前記正規語に変換するための変換モデルであり、前記文字列変換部は、前記部分文字列特定部によって特定された部分文字列に対して、前記変換モデルと、前記文字列における前記部分文字列より前の文脈及び前記部分文字列より後の文脈とに基づいて、前記部分文字列を変換するようにしてもよい。
【００１４】
また、第１の発明に係る文字列変換装置において、前記判定モデルは、判定対象の文字、前記判定対象の文字より前の文字列、及び前記判定対象の文字より後の文字列を入力とし、前記判定対象の文字が崩れ語の文字である確率を出力するニューラルネットワークであり、前記変換モデルは、変換対象の部分文字列、前記変換対象の部分文字列より前の文字列、及び前記変換対象の部分文字列より後の文字列を入力とし、変換対象の部分文字列を変換した変換後の部分文字列の文字の各々について、各文字である確率を出力するニューラルネットワークであるようにしてもよい。
【００１５】
また、第２の発明に係るモデル学習装置において、入力された、正規化された表現である正規語からなる正規化文と、前記正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、前記複数のペアの各々について、前記正規化文に含まれる各文字と、前記崩れ文に含まれる各文字との対応関係を求める文字列アライメント部と、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習する判定モデル学習部と、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語を前記正規語に変換するための変換モデルを学習する変換モデル学習部と、を含んで構成されている。
【００１６】
第３の発明に係る文字列変換方法は、部分文字列特定部が、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定するステップと、文字列変換部が、前記部分文字列特定部によって特定された部分文字列に対して、前記崩れ語を前記正規語に変換するための変換モデルに基づいて、前記部分文字列を変換することにより、前記文字列に含まれる前記崩れ語を前記正規語に変換した文字列を生成するステップと、を含んで実行することを特徴とする。
【００１７】
第４の発明に係る文字列変換方法は、文字列アライメント部が、入力された、正規化された表現である正規語からなる正規化文と、前記正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、前記複数のペアの各々について、前記正規化文に含まれる各文字と、前記崩れ文に含まれる各文字との対応関係を求めるステップと、判定モデル学習部が、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習するステップと、変換モデル学習部が、前記文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語を前記正規語に変換するための変換モデルを学習するステップと、を含んで実行することを特徴とする。
【００１８】
第５の発明に係るプログラムは、コンピュータを、請求項１〜請求項３のいずれか１項に記載の文字列変換装置の各部として機能させるためのプログラムである。
【００１９】
第６の発明に係るプログラムは、コンピュータを、第２の発明に係るモデル学習装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２０】
本発明の文字列変換装置、方法、及びプログラムによれば、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定し、特定された部分文字列に対して、崩れ語を正規語に変換するための変換モデルに基づいて、部分文字列を変換することにより、文字列に含まれる崩れ語を正規語に変換した文字列を生成することにより、精度よく、崩れ語を含む文字列を変換することができる、という効果が得られる。
【００２１】
また、本発明のモデル学習装置、方法、及びプログラムによれば、入力された、正規化された表現である正規語からなる正規化文と、正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、複数のペアの各々について、正規化文に含まれる各文字と、崩れ文に含まれる各文字との対応関係を求め、文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習し、複数のペアの各々についての対応関係に基づいて、崩れ語を正規語に変換するための変換モデルを学習することにより、精度よく崩れ語を含む文字列を変換できるモデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係るモデル学習装置の構成を示すブロック図である。
【図２】崩れ文の文字の各々の変化ラベル（判定モデル学習用）と、部分変化文字列集合（変換モデル学習用）の対応関係の一例を示す図である。
【図３】正規化文と崩れ文とのペアから作成される正解データの一例を示す図である。
【図４】対応関係の変化ラベルによる判定モデルの学習の例を示す図である。
【図５】判定モデルにおいて用いるＬＳＴＭ型のニューラルネットワークの一例を示す図である。
【図６】対応関係の部分変化文字列集合に基づく変換モデルの学習の例を示す図である。
【図７】変換モデルにおいて用いるencoder-decoder型のニューラルネットワークの一例を示す図である。
【図８】本発明の実施の形態に係る文字列変換装置の構成を示すブロック図である。
【図９】判定モデルによる崩れ語の文字であるか否かの判定の一例を示す図である。
【図１０】変換モデルによる崩れ語の部分文字列の各々の正規語への変換の一例を示す図である。
【図１１】文字列変換装置２００の全体の処理の流れを表した概略図である。
【図１２】本発明の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンを示すフローチャートである。
【図１３】本発明の実施の形態に係る文字列変換装置における文字列変換処理ルーチンを示すフローチャートである。
【図１４】文字列正規化パタンに基づく正規化形態素解析の一例を示す図である。
【図１５】Encoder-decoder型ニューラルネットワークモデルの一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２４】
＜本発明の実施の形態に係る概要＞
【００２５】
まず、本発明の実施の形態における概要を説明する。
【００２６】
非特許文献１及び非特許文献２における課題に対しては、ニューラルネットワークをベースとした判定モデルを用いることで、文全体の情報を考慮しながら文字の変換候補を推定することで対応する。これにより、事前に考慮する文字列の長さを固定する必要がなくなり、より広い文脈を考慮することが可能となる。また、文字列そのものではなく抽象化された文脈を考慮するため、「表層が違うが意味的に類似している」などの類似性を考慮することが可能になる。
【００２７】
非特許文献３における課題に対しては、変換すべき部分文字列を特定し、特定された部分文字列のみを変換する仕組みを導入することで、変換箇所のみを効率よく、かつ精度よく正規化する。変換すべき部分文字列の特性と部分文字列の変換モデルを分けて学習することができ、モデル学習を効率的に行うことが可能となる。変換すべきと識別された文字のみを変換対象とするため、デグレードを抑えることができるとともに、入力文の文字長の影響をうけにくくなる。
【００２８】
＜本発明の実施の形態に係るモデル学習装置の構成＞
【００２９】
次に、本発明の実施の形態に係るモデル学習装置の構成について説明する。図１に示すように、本発明の実施の形態に係るモデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置１００は、機能的には図１に示すように入力部１０と、演算部２０とを備えている。
【００３０】
入力部１０は、正解データとして、正規化された表現である正規語からなる正規化文と、正規化された表現である正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアを受け付ける。
【００３１】
演算部２０は、文字列アライメント部３０と、判定モデル学習部３２と、変換モデル学習部３４と、判定モデル４０と、変換モデル４２とを含んで構成されている。
【００３２】
文字列アライメント部３０は、入力部１０で受け付けた、正規語からなる正規化文と、崩れ語を含む崩れ文との複数のペアに基づいて、複数のペアの各々について、正規化文に含まれる各文字と、崩れ文に含まれる各文字との対応関係を求める。対応関係として、図２に示すような、崩れ文の文字の各々の変化ラベル（判定モデル学習用）と、部分変化文字列集合（変換モデル学習用）を求める。
【００３３】
具体的には、正規化文と崩れ文とのペアについて、図３に示すように、点線で囲った部分を、変換すべき崩れ文字からなる崩れ文字列、それ以外を変換なしの文字列として正解データを作成する。判定モデル学習部３２のモデル学習時には、崩れ文に含まれる文字が崩れ語か否か（変換すべき文字か否か）を判別するため、正解データの文字レベルの対応づけが必要になる。そこで、変化した文字に「１」の変化ラベルを付与し、変化していない文字については、「０」の変化ラベルを付与する。
【００３４】
正規化文に含まれる各文字と、崩れ文に含まれる各文字との対応関係を求める際には、崩れ文の崩れ文字列と、対応する正規化文の正規化文字列で文字列レベルのＤＰアライメントを行う。また、アライメントの結果から、正規化文において最小変化の単位で区切られた部分文字列を、変換すべき部分変化文字列の正解データとして作成する。
【００３５】
判定モデル学習部３２は、文字列アライメント部３０により求められた複数のペアの各々についての対応関係に基づいて、崩れ語の文字であるか否かを判定するための判定モデルを学習し、判定モデル４０として保存する。
【００３６】
具体的には、図４に示すように、対応関係の変化ラベルに基づいて、崩れ文の文字毎の変化ラベルを推定する判定モデル４０の重みパラメタを学習する。図５に本実施の形態の判定モデル４０において用いるＬＳＴＭ型のニューラルネットワークを示す。このニューラルネットワークは、以下（１）式における、各文字位置ｊのラベル出力確率ｐ(ｊ)を出力するものである。ここで、変化ラベルはラベル出力確率ｐ(ｊ)に基づき１又は０の２値で出力される。
【００３７】
【数３】
2018077677.tif 000005
・・・（１）
【００３８】
ここで、順方向ＬＳＴＭの文字位置ｊでの隠れ層をｈｆｊ、逆方向ＬＳＴＭの文字位置ｊでの隠れ層をｈｂｊ、文字位置ｊの文字のembeddingをｅｊとする。Ｗｆｊ、Ｗｂｊ、Ｗｊはそれぞれの重みパラメタである。
【００３９】
変換モデル学習部３４は、文字列アライメント部３０により求められた複数のペアの各々についての対応関係に基づいて、崩れ語を正規語に変換するための変換モデルを学習し、変換モデル４２として保存する。
【００４０】
具体的には、図６に示すように、対応関係の部分変化文字列集合に基づいて、崩れ文の崩れ語に対応する正規語を推定する変換モデル４２の重みパラメタを学習する。図７に本実施の形態の変換モデル４２において用いるencoder-decoder型のニューラルネットワークを示す。変換対象の崩れ語である部分変化文字列に関しては、変換後の文字毎の出力を、下記のように定式化する。
【００４１】
【数４】
2018077677.tif 000006
・・・（２）
【００４２】
既存のattention based encoder-decoderモデルをベースとするが、入力された部分変化文字列の単位で変換を行うこと、左文脈（前の文脈）、及び右文脈（後の文脈）を考慮している点が異なっている。ここで、右文脈ＬＳＴＭの隠れ層をｈｃｒ、左文脈ＬＳＴＭの隠れ層をｈｃｌとする。ｈｃは両方向ＬＳＴＭの隠れ層を表しており、上記非特許文献３について説明したEncoder-decoder型ニューラルネットワークモデルにおけるｃｔに相当する。ｈｔは現在のdecoder位置ｔにおける隠れ層を表す。Ｗｈｔ、Ｗｃ、Ｗｃｌ、Ｗｃｒはそれぞれの重みパラメタである。
【００４３】
最終的に、以下（３）式でｔ番目の文字の確率ベクトルｐ（ｔ）を推定する。この確率ベクトルｐ（ｔ）により、変換後のｔ番目の文字が決定される。
【００４４】
【数５】
2018077677.tif 000007
・・・（３）
【００４５】
このように、変換モデル４２は、変換モデルは、崩れ語より前の文脈及び崩れ語より後の文脈を考慮して、崩れ語を正規語に変換するための変換モデルである。
【００４６】
＜本発明の実施の形態に係る文字列変換装置の構成＞
【００４７】
次に、本発明の実施の形態に係る文字列変換装置の構成について説明する。図８に示すように、本発明の実施の形態に係る文字列変換装置２００は、ＣＰＵと、ＲＡＭと、後述する文字列変換処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この文字列変換装置２００は、機能的には図８に示すように入力部２１０と、演算部２２０と、出力部２５０とを備えている。
【００４８】
入力部２１０は、変換対象となる崩れ語を含む文字列を受け付ける。
【００４９】
演算部２２０は、部分文字列特定部２３０と、文字列変換部２３２と、判定モデル２４０と、変換モデル２４２とを含んで構成されている。
【００５０】
判定モデル２４０は、モデル学習装置１００で学習された、崩れ語の文字であるか否かを判定するための判定モデル４０と同じモデルである。また、判定モデル２４０は、判定対象の文字、判定対象の文字より前の文字列、及び判定対象の文字より後の文字列を入力とし、判定対象の文字が崩れ語の文字である確率を出力するニューラルネットワークである。
【００５１】
変換モデル２４２、モデル学習装置１００で学習された、崩れ語を正規語に変換するための変換モデル４２と同じモデルであり、変換モデル２４２は、変換対象の部分文字列、変換対象の部分文字列より前の文字列、及び変換対象の部分文字列より後の文字列を入力とし、変換対象の部分文字列を変換した変換後の部分文字列の文字の各々について、各文字である確率を出力するニューラルネットワークである。
【００５２】
部分文字列特定部２３０は、入力部２１０で受け付けた文字列に対して、文字毎に、判定モデル２４０に基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定する。
【００５３】
例えば、図９に示すように、文字列の文字の各々について、判定モデル２４０を用いて崩れ語の文字であるか否かの判定を行う。文字を判定モデル２４０のＬＳＴＭ型のニューラルネットワークに入力し、上記（１）式に従って、文字位置ｊのラベル出力確率ｐ(ｊ)の出力を得て崩れ語の文字か否かを判定する。崩れ語の文字と判定された文字には変化ラベルの「１」を出力し、崩れ語の文字でないと判定された文字には変化ラベルの「０」を出力することで崩れ語の部分文字列を特定する。
【００５４】
文字列変換部２３２は、部分文字列特定部２３０によって特定された部分文字列の各々に対して、変換モデル２４２と、文字列における当該部分文字列より前の文脈及び当該部分文字列より後の文脈とに基づいて、当該部分文字列を変換することにより、文字列に含まれる崩れ語を正規語に変換した文字列を生成する。
【００５５】
例えば、図１０に示すように、崩れ語の部分文字列の各々について、変換モデル２４２を用いて正規語に変換を行う。部分文字列の各文字と、当該部分文字列より前の文脈の各文字と、当該部分文字列より後の文脈の各文字とをencoder-decoder型のニューラルネットワークに入力し、上記（２）式に従って、当該部分文字列に対する前の文脈及び後の文脈を考慮して、部分文字列のｔ番目の文字に対して、~ｈｔを計算してｏｔを計算する。そして上記（３）式に従って、文字ｔの確率ベクトルｐ（ｔ）を推定し、最も確率の高い文字に変換する。部分文字列「きょー」であれば「今日」、文字「ー」であれば「null」に変換する。そして、元の文字列に変換された部分文字列を統合し、正規化された文字列として出力部２５０に出力する。図１１に文字列変換装置２００の全体の処理の流れを表した概略図を示す。
【００５６】
＜本発明の実施の形態に係るモデル学習装置の作用＞
【００５７】
次に、本発明の実施の形態に係るモデル学習装置１００の作用について説明する。入力部１０において正規語からなる正規文と、崩れ語を含む崩れ文との複数のペアを受け付けると、モデル学習装置１００は、図１２に示すモデル学習処理ルーチンを実行する。
【００５８】
まず、ステップＳ１００では、入力部１０で受け付けた、正規語からなる正規化文と、崩れ語を含む崩れ文との複数のペアに基づいて、複数のペアの各々について、正規化文に含まれる各文字と、崩れ文に含まれる各文字との対応関係を求める。
【００５９】
次に、ステップＳ１０２では、ステップＳ１００で求められた複数のペアの各々についての対応関係に基づいて、ＬＳＴＭ型のニューラルネットワークを用いて、崩れ語の文字であるか否かを判定するための判定モデルを学習し、判定モデル４０として保存する。
【００６０】
ステップＳ１０４では、文字列アライメント部３０により求められた複数のペアの各々についての対応関係に基づいて、encoder-decoder型のニューラルネットワークを用いて、崩れ語を正規語に変換するための変換モデルを学習し、変換モデル４２として保存する。
【００６１】
以上説明したように、本実施の形態に係るモデル学習装置によれば、入力された、正規化された表現である正規語からなる正規化文と、正規語に対して揺らいだ表記である崩れ語を含む崩れ文との複数のペアに基づいて、複数のペアの各々について、正規化文に含まれる各文字と、崩れ文に含まれる各文字との対応関係を求め、文字列アライメント部により求められた前記複数のペアの各々についての前記対応関係に基づいて、前記崩れ語の文字であるか否かを判定するための判定モデルを学習し、複数のペアの各々についての対応関係に基づいて、崩れ語を正規語に変換するための変換モデルを学習することにより、精度よく崩れ語を含む文字列を変換できるモデルを学習することができる。
【００６２】
＜本発明の実施の形態に係る文字列変換装置の作用＞
【００６３】
次に、本発明の実施の形態に係る文字列変換装置２００の作用について説明する。入力部２１０において変換対象となる崩れ語を含む文字列を受け付けると、文字列変換装置２００は、図１３に示す文字列変換処理ルーチンを実行する。
【００６４】
まず、ステップＳ２００では、入力部２１０で受け付けた文字列に対して、文字毎に、判定モデル２４０に基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定する。
【００６５】
次に、ステップＳ２０２では、部分文字列特定部２３０によって特定された部分文字列の各々に対して、変換モデル２４２と、文字列における当該部分文字列より前の文脈及び当該部分文字列より後の文脈とに基づいて、当該部分文字列を変換することにより、文字列に含まれる崩れ語を正規語に変換した文字列を生成して、出力部２５０に出力する。
【００６６】
以上説明したように、本発明の実施の形態に係る文字列変換装置によれば、入力された文字列に対して、文字毎に、正規化された表現である正規語に対して揺らいだ表記である崩れ語の文字であるか否かを判定するための判定モデルに基づいて、崩れ語の文字であるか否かを判定し、崩れ語の文字であると判定された文字からなる部分文字列を特定し、特定された部分文字列に対して、崩れ語を正規語に変換するための変換モデルに基づいて、部分文字列を変換することにより、文字列に含まれる崩れ語を正規語に変換した文字列を生成することにより、精度よく、崩れ語を含む文字列を変換することができる。
【００６７】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６８】
例えば、上述した実施の形態では、判定モデル４０（２４０）、及び変換モデル４２（２４２）にニューラルネットワークを用いる場合を例に説明したが、これに限定されるものではなく、入力系列に対する確率を出力できる手法であれば他の手法を適用した判定モデル及び変換モデルを用いるようにしてもよい。
【符号の説明】
【００６９】
１０   入力部
２０   演算部
３０   文字列アライメント部
３２   判定モデル学習部
３４   変換モデル学習部
４０，２４０  判定モデル
４２，２４２  変換モデル
１００ モデル学習装置
２００ 文字列変換装置
２１０ 入力部
２２０ 演算部
２３０ 部分文字列特定部
２３２ 文字列変換部
２５０ 出力部
【図１】
2018077677.tif 000008
【図２】
2018077677.tif 000009
【図３】
2018077677.tif 000010
【図４】
2018077677.tif 000011
【図５】
2018077677.tif 000012
【図６】
2018077677.tif 000013
【図７】
2018077677.tif 000014
【図８】
2018077677.tif 000015
【図９】
2018077677.tif 000016
【図１０】
2018077677.tif 000017
【図１１】
2018077677.tif 000018
【図１２】
2018077677.tif 000019
【図１３】
2018077677.tif 000020
【図１４】
2018077677.tif 000021
【図１５】
2018077677.tif 000022