(57)【要約】【課題】  自然語処理方法を提供する。【解決手段】  一実施形態は音声認識により認識された文章データのワードをワードベクトルに変換し、前記文章データのキャラクターをキャラクターベクトルに変換し、前記ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成し、前記文章ベクトルに基づいて前記文章データの意図情報を決定する。【選択図】      図１
2018081298.tif 000002
【特許請求の範囲】
【請求項１】
音声認識により認識された文章データのワードをワードベクトルに変換するステップと、
前記文章データのキャラクターをキャラクターベクトルに変換するステップと、
前記ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成するステップと、
前記文章ベクトルに基づいて前記文章データの意図情報を決定するステップと、
を含む自然語処理方法。
【請求項２】
前記文章ベクトルを生成するステップは、
前記ワードそれぞれに対するワードベクトルと前記ワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記ワードそれぞれに対する結合ベクトルを生成するステップと、
前記ワードそれぞれに対する結合ベクトルを連結して前記文章ベクトルを生成するステップと、
を含む、請求項１に記載の自然語処理方法。
【請求項３】
前記ワードをワードベクトルに変換するステップは、前記ワードに標識されていない（ｕｎｌａｂｅｌｅｄ）ワードがある場合、前記標識されていないワードに該当するワードを未知（ｕｎｋｎｏｗｎ）に対応するベクトルに変換するステップを含む、請求項１に記載の自然語処理方法。
【請求項４】
前記意図情報を決定するステップは、
前記文章ベクトルから決定された複数の候補意図情報それぞれに対する確率を算出するステップと、
前記複数の候補意図情報それぞれの確率に基づいて前記複数の候補意図情報のうち前記意図情報を決定するステップと、
を含む、請求項１に記載の自然語処理方法。
【請求項５】
前記意図情報を決定するステップは、
前記文章データ内のエラーワードに対する結合ベクトルに基づいて、前記エラーワードに対応する対象ワードを決定するステップと、
前記エラーワードを前記対象ワードとして認識するステップと、
を含み、
前記エラーワードに対する結合ベクトルは、前記エラーワードに対するワードベクトルと前記エラーワードのキャラクターそれぞれに対するキャラクターベクトルが連結して生成される、請求項１に記載の自然語処理方法。
【請求項６】
前記エラーワードに対するワードベクトルは、前記エラーワードが標識されていないワードである場合、未知に対応するベクトルである、請求項５に記載の自然語処理方法。
【請求項７】
前記意図情報は、前記文章ベクトルが入力された自然語処理モデルによって生成される、請求項１に記載の自然語処理方法。
【請求項８】
前記自然語処理モデルは、第１ワードにノイズが適用されて生成された第２ワードを含む学習データが入力された場合、前記第２ワードを前記第１ワードとして認識するように学習される、請求項７に記載の自然語処理方法。
【請求項９】
前記第２ワードは、前記第１ワードのキャラクターのうち一部が他のキャラクターに変更されたり、前記第１ワードに前記他のキャラクターが追加されて生成される、請求項８に記載の自然語処理方法。
【請求項１０】
音声信号を受信するステップと、
前記音声信号から特徴を抽出するステップと、
音響モデルによって前記特徴から音素シーケンスを認識するステップと、
言語モデルによって前記音素シーケンスからワードを認識して前記文章データを生成するステップと、
をさらに含む、請求項１に記載の自然語処理方法。
【請求項１１】
コントローラと、
前記コントローラによって実行可能な少なくとも１つの命令語を含むメモリと、
を含み、
前記少なくとも１つの命令語が前記コントローラで実行されれば、前記コントローラは、文章データのワードにノイズを適用して変更ワードを生成し、前記変更ワード及び前記ノイズが適用されていない他のワードをワードベクトルに変換し、前記変更ワードのキャラクター及び前記他のワードのキャラクターをキャラクターベクトルに変換し、前記ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成する学習装置。
【請求項１２】
前記コントローラは、
前記変更ワードに対するワードベクトルと前記変更ワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記変更ワードに対する結合ベクトルを生成し、
前記他のワードに対するワードベクトルと前記他のワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記他のワードに対する結合ベクトルを生成し、
前記変更ワードに対する結合ベクトルと前記他のワードに対する結合ベクトルを連結して前記文章ベクトルを生成する、請求項１１に記載の学習装置。
【請求項１３】
前記コントローラは、予め決定した基準に応じて、前記ワードのキャラクターのうち変更するキャラクターを決定し、予め決定された辞典から他のキャラクターを選択し、前記決定されたキャラクターを前記他のキャラクターに代替し、
前記予め決定した基準は、前記ワードの長さ、キャラクター変更個数、及び変更位置に基づいて決定された基準である、請求項１１に記載の学習装置。
【請求項１４】
前記変更ワードは、前記ワードのキャラクターを他のキャラクターに変更したり、前記キャラクターに前記他のキャラクターを追加して生成され、
前記変更ワードに対するワードベクトルは、前記変更ワードが標識されていないワードである場合、未知に対応するベクトルである、請求項１１に記載の学習装置。
【請求項１５】
前記コントローラは、前記文章データ内のワードのうち前記ワードを任意に選択する、請求項１１に記載の学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は、自然語処理方法及び装置に関する。
【背景技術】
【０００２】
音声認識は、ユーザの音声を認識する技術である。音声認識において人音声はテキストに変換される。このような音声認識で音声認識エラーが発生したり、音声認識により初めて接する単語が登場する場合、入力された音声を正確なテキストに変換して当該音声認識を適切に処理することが容易ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、自然語処理方法及び装置を提供することにある。
【課題を解決するための手段】
【０００４】
一側面に係る自然語処理方法は、音声認識により認識された文章データのワードをワードベクトルに変換するステップと、前記文章データのキャラクターをキャラクターベクトルに変換するステップと、前記ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成するステップと、前記文章ベクトルに基づいて前記文章データの意図情報を決定するステップとを含む。
【０００５】
前記文章ベクトルを生成するステップは、前記ワードそれぞれに対するワードベクトルと前記ワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記ワードそれぞれに対する結合ベクトルを生成するステップと、前記ワードそれぞれに対する結合ベクトルを連結して前記文章ベクトルを生成するステップとを含み得る。
【０００６】
前記ワードをワードベクトルに変換するステップは、前記ワードに標識されていない（ｕｎｌａｂｅｌｅｄ）ワードがある場合、前記標識されていないワードに該当するワードを未知（ｕｎｋｎｏｗｎ）に対応するベクトルに変換するステップを含み得る。
【０００７】
前記意図情報を決定するステップは、前記文章ベクトルから決定された複数の候補意図情報それぞれに対する確率を算出するステップと、前記複数の候補意図情報それぞれの確率に基づいて前記複数の候補意図情報のうち前記意図情報を決定するステップとを含み得る。
【０００８】
前記意図情報を決定するステップは、前記文章データ内のエラーワードに対する結合ベクトルに基づいて、前記エラーワードに対応する対象ワードを決定するステップと、前記エラーワードを前記対象ワードとして認識するステップとを含み、前記エラーワードに対する結合ベクトルは、前記エラーワードに対するワードベクトルと前記エラーワードのキャラクターそれぞれに対するキャラクターベクトルが連結して生成され得る。
【０００９】
前記エラーワードに対するワードベクトルは、前記エラーワードが標識されていないワードである場合、未知に対応するベクトルであり得る。
【００１０】
前記意図情報は、前記文章ベクトルが入力された自然語処理モデルによって生成されてもよい。
【００１１】
前記自然語処理モデルは、第１ワードにノイズが適用されて生成された第２ワードを含む学習データが入力された場合、前記第２ワードを前記第１ワードとして認識するように学習され得る。
【００１２】
前記第２ワードは、前記第１ワードのキャラクターのうち一部が他のキャラクターに変更されたり、前記第１ワードに前記他のキャラクターが追加されて生成され得る。
【００１３】
前記自然語処理方法は、音声信号を受信するステップと、前記音声信号から特徴を抽出するステップと、音響モデルによって前記特徴から音素シーケンスを認識するステップと、言語モデルによって前記音素シーケンスからワードを認識して前記文章データを生成するステップとをさらに含み得る。
【００１４】
一実施形態に係る学習装置は、コントローラと、前記コントローラによって実行可能な少なくとも１つの命令語を含むメモリとを含み、前記少なくとも１つの命令語が前記コントローラで実行されれば、前記コントローラは、文章データのワードにノイズを適用して変更ワードを生成し、前記変更ワード及び前記ノイズが適用されていない他のワードをワードベクトルに変換し、前記変更ワードのキャラクター及び前記他のワードのキャラクターをキャラクターベクトルに変換し、前記ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成し得る。
【００１５】
前記コントローラは、前記変更ワードに対するワードベクトルと前記変更ワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記変更ワードに対する結合ベクトルを生成し、前記他のワードに対するワードベクトルと前記他のワードのキャラクターそれぞれに対するキャラクターベクトルを連結して前記他のワードに対する結合ベクトルを生成し、前記変更ワードに対する結合ベクトルと前記他のワードに対する結合ベクトルを連結して前記文章ベクトルを生成し得る。
【００１６】
前記コントローラは、予め決定した基準に応じて、前記ワードのキャラクターのうち変更するキャラクターを決定し、予め決定された辞典から他のキャラクターを選択し、前記決定されたキャラクターを前記他のキャラクターに代替し、前記予め決定した基準は、前記ワードの長さ、キャラクター変更個数、及び変更位置に基づいて決定された基準であり得る。
【００１７】
前記変更ワードは、前記ワードのキャラクターを他のキャラクターに変更したり、前記キャラクターに前記他のキャラクターを追加して生成され、前記変更ワードに対するワードベクトルは、前記変更ワードが標識されていないワードである場合、未知に対応するベクトルであり得る。
【００１８】
前記コントローラは、前記文章データ内のワードのうち前記ワードを任意に選択してもよい。
【発明の効果】
【００１９】
本発明によると、自然語処理方法及び装置を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】一実施形態に係る自然語処理装置の一例を説明するための図である。
【図２】一実施形態に係る音声認識器を説明するための図である。
【図３】一実施形態に係る自然語分析器を説明するための図である。
【図４】一実施形態に係る文章ベクトルの生成を説明するための図である。
【図５】一実施形態に係る学習装置を説明するための図である。
【図６】一実施形態に係るノイズ適用を説明するための図である。
【図７】一実施形態に係る自然語処理モデルを説明するための図である。
【図８】一実施形態に係る自然語処理モデルを説明するための図である。
【図９】一実施形態に係る自然語処理モデルを説明するための図である。
【図１０】一実施形態に係る自然語処理方法の一例を説明するためのフローチャートである。
【図１１】一実施形態に係る自然語処理方法の他の一例を説明するためのフローチャートである。
【図１２】一実施形態に係る自然語処理装置の他の一例を説明するための図である。
【図１３】一実施形態に係る学習装置を説明するための図である。
【発明を実施するための形態】
【００２１】
以下、実施形態を添付する図面を参照しながら詳細に説明する。
【００２２】
本明細書で開示されている本発明の概念による実施形態に対して特定の構造的又は機能的な説明は、単に本発明の概念による実施形態を説明するための目的として例示したものであり、本発明の概念による実施形態は様々な形態で実施され、本明細書に説明された実施形態に限定されることはない。
【００２３】
第１又は第２などの用語を複数の構成要素を説明するために用いることができるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００２４】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００２５】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００２６】
図１は、一実施形態に係る自然語処理装置の一例を説明するための図である。図１を参照すると、一実施形態に係る自然語処理装置１００は、音声認識器１１０及び自然語分析器１２０を含む。
【００２７】
自然語処理装置１００は音声信号を受信する。自然語処理装置１００はサーバ形態に実現され、ユーザ端末からネットワークを介してユーザの音声信号を受信する。例えば、自然語処理装置１００は、ユーザ端末から「父親に写真を送って」の音声信号を受信する。
【００２８】
音声認識器１１０は、音声信号を音声認識して文章データを生成する。例えば、音声認識器１１０は、「父親に写真を送って」の音声信号を音声認識して「父親に写真を送って」の文章データを生成する。音声認識器１１０については図２を参照して後述する。
【００２９】
自然語分析器１２０は、音声認識器１１０から文章データを受信する。自然語分析器１２０は、文章データに形態素（ｍｏｒｐｈｅｍｅ）分析、構文（ｓｙｎｔａｘ）分析、意味（ｓｅｍａｎｔｉｃ）分析、及び談話（ｄｉｓｃｏｕｒｓｅ）分析のうち１つ以上を行う。このような分析によって、自然語分析器１２０は文章データの意図情報を決定する。例えば、自然語分析器１２０は、「父親に写真を送って」の文章データを分析して文章データの意図情報を「父親の端末に写真を送信しろ」のよう決定できる。ここで、「送って」とは、父親の写真を「取り戻して（ｒｅｔｒｉｅｖｅ）送信しろ」という意味として分析される。
【００３０】
一実施形態において、音声認識器１１０が周辺の騒音、低い音声信号、又は他の問題によって音声信号を正確に認識することはできない例として、自然語分析器１２０は、音声認識器１１０によって生成された文章データの意図情報を予測する。例えば、自然語分析器１２０は、エラーワードを含む文章データの意図情報を予測する。ここで、エラーワードは、音声認識器１１０の不正確な音声認識によって生成されたワードであり得る。自然語分析器１２０については図３を参照して後述する。
【００３１】
自然語分析器１２０は、意図情報に基づいて結果情報を生成する。例えば、自然語分析器１２０は、「父親に写真を送って」の文章データを分析して文章データの意図情報を「父親の端末に写真を送信しろ」のように決定した場合、自然語分析器１２０は「父親の端末に写真を送信しろ」に対応する制御信号を生成する。
【００３２】
自然語処理装置１００は、生成された結果情報を送信する。例えば、自然語処理装置１００は、「父親の端末に写真を送信しろ」に対応する制御信号をユーザ端末に送信する。ユーザ端末は、制御信号に応じて動作して音声信号を発話したユーザの父親の端末に写真を送信することができる。
【００３３】
図２は、一実施形態に係る音声認識器を説明するための図である。図２を参照すると、一実施形態に係る音声認識器２００は、特徴抽出部２１０、音響モデル２２０、デコーダ２３０、及び言語モデル２４０を含む。
【００３４】
音声認識器２００は、音声信号が入力される。音声認識器２００が「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の音声信号が入力されると仮定する。
【００３５】
特徴抽出部２１０は、音声信号から特徴又は特徴ベクトルを抽出する。特徴抽出部２１０は、ＬＰＣ（Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｄｉｎｇ）方式又はＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒａｌ  Ｃｏｅｆｆｉｃｉｅｎｔｓ）方式などを用いて音声信号から特徴又は特徴ベクトルを抽出する。
【００３６】
音響モデル２２０は、特徴から音素を認識する。音響モデル２２０は、例えば、ＤＴＷ（Ｄｙｎａｍｉｃ  Ｔｉｍｅ  Ｗａｒｐｉｎｇ）基盤音響モデル又はＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｉｎｇ）基盤音響モデルなどである。音響モデル２２０は前述した事項に制限されない。
【００３７】
デコーダ２３０は、言語モデル２４０によって音素からワードを認識して文章データを生成する。言語モデル２４０は、例えば、Ｎ−グラム言語モデル又はニューラルネットワーク基盤モデルであり得る。言語モデル２４０は前述した事項に制限されない。
【００３８】
音声認識器２００は、ノイズ又は他の周辺因子の影響で音声信号を正確に認識できないこともある。相違に表現すれば、音声認識エラーが発生することがある。例えば、音声認識器２００は「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の音声信号を正確に認識できず、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の文章データを生成する。「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の文章データは、エラーワード又はエラーのあるワード「Ｆｒａｎｃｈ」を含む。この場合、文章データの意図情報が正確に決定されない。一実施形態に係る自然語分析器（図示せず）は、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の文章データの意図情報を「Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔに対する検索」として予測する。以下、図３を参照しながら自然語分析器について説明する。
【００３９】
図３は、一実施形態に係る自然語分析器を説明するための図である。図３を参照すると、自然語分析器３００は、ベクトル変換部３１０及び自然語処理モデル３２０を含む。
【００４０】
自然語分析器３００は、音声認識器（図示せず）から文章データを受信する。自然語分析器３００は、音声認識器から「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の文章データを受信すると仮定する。
【００４１】
ベクトル変換部３１０は、文章データのワードをワードベクトルに変換する。例えば、ベクトル変換部３１０は、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の「Ｗｈｅｒｅ」、「ｉｓ」、「ａ」、「Ｆｒａｎｃｈ」、及び「ｒｅｓｔａｕｒａｎｔ」のそれぞれをワード埋込（ｗｏｒｄ  ｅｍｂｅｄｄｉｎｇ）によってワードベクトルに変換する。ワードベクトルは、実数ベクトルであってもよい。ワードベクトルは、例えば、ワン・ホットベクトル（ｏｎｅ−ｈｏｔ  ｖｅｃｔｏｒ）又は分布型ベクトル（ｄｉｓｔｒｉｂｕｔｉｏｎａｌ  ｖｅｃｔｏｒ）である。
【００４２】
文章データは、標識されていない（ｕｎｌａｂｅｌｅｄ）ワードを含み得る。標識されていないワードは、ベクトルが定義されていないワードを意味する。文章データが標識されていないワードを含む場合、ベクトル変換部３１０は標識されていないワードを未知（ｕｎｋｎｏｗｎ）として処理する。例えば、「Ｆｒａｎｃｈ」が標識されていないワードである場合、ベクトル変換部３１０は「Ｆｒａｎｃｈ」をｕｎｋｎｏｗｎとして処理し、ｕｎｋｎｏｗｎに対応するベクトルに変換する。ｕｎｋｎｏｗｎに対応するベクトルは、例えば、「０、０、０、０、０、０、０、１」のような定数ベクトル又は予め定義されたベクトルである。ｕｎｋｎｏｗｎに対応するベクトルは前述した例に制限されることはない。
【００４３】
以下、ワードベクトルを「ワード」に表現する。下記の表１は「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」のワードそれぞれに対するワードベクトルを示す。
【００４４】
【表１】
2018081298.tif 000003
ベクトル変換部３１０は文章データのキャラクターをキャラクターベクトルに変換する。例えば、ベクトル変換部３１０は「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」のキャラクター「Ｗ」、「ｈ」、「ｅ」、「ｒ」、「ｅ」、…、「ｒ」、「ｅ」、「ｓ」、「ｔ」、「ａ」、「ｕ」、「ｒ」、「ａ」、「ｎ」、及び「ｔ」それぞれをキャラクター埋込によってキャラクターベクトルに変換する。キャラクターベクトルは、実数ベクトル又はａｌｐｈａ−ｎｕｍｅｒｉｃベクトルであってもよい。また、キャラクターベクトルは、例えば、ワン・ホットベクトル又は分布型ベクトルであってもよい。
【００４５】
以下、キャラクターベクトルを「キャラクター」のように表現する。下記の表２は「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」のキャラクターそれぞれに対するキャラクターベクトルを示す。
【００４６】
【表２】
2018081298.tif 000004
ベクトル変換部３１０は、ワードベクトルとキャラクターベクトルに基づいて文章データに対する文章ベクトルを生成する。一実施形態において、ベクトル変換部３１０は、文章データのワードそれぞれに対するワードベクトルと文章データのワードに含まれたキャラクターそれぞれに対するキャラクターベクトルを連結して文章データのワードそれぞれに対する結合ベクトルを生成する。ベクトル変換部３１０は、文章データのワードそれぞれに対する結合ベクトルを連結して文章ベクトルを生成する。文章ベクトルの生成に対しては図４を参照して後述する。
【００４７】
ベクトル変換部３１０は、文章ベクトルを自然語処理モデル３２０に入力し得る。自然語処理モデル３２０は、ニューラルネットワーク基盤モデルである。自然語処理モデル３２０には、学習によって最適化された連結加重値が適用される。自然語処理モデル３２０は、文章ベクトルが入力されれば、文章ベクトルを前方演算して文章データの意図情報を決定する。前方演算は、自然語処理モデル３２０の入力レイヤ→中間レイヤ→出力レイヤ方向に実行される演算を示す。前方演算によって出力レイヤで文章データの意図情報が生成される。
【００４８】
一実施形態において、文章データはエラーワードを含んでもよい。自然語処理モデル３２０は、エラーワードを含む文章データに対する文章ベクトルを前方演算してエラーワードを含む文章データの意図情報を決定する。より具体的に、自然語処理モデル３２０は、エラーワードに対する結合ベクトル又はエラーワードのキャラクターそれぞれに対するキャラクターベクトルに基づいて前方演算を行ってもよい。自然語処理モデル３２０は、前方演算によってエラーワードをエラーワードに対応する対象ワードとして認識する。また、自然語処理モデル３２０は、エラーワードを対象ワードとして認識して文章データの意図情報を決定する。
【００４９】
一例として、自然語処理モデル３２０は、エラーワード「Ｆｒａｎｃｈ」を含む文章データ「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」に対する文章ベクトルが入力されてもよい。自然語処理モデル３２０は、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」に対する文章ベクトルに実行される前方演算に基づいて、「Ｆｒａｎｃｈ」に対する結合ベクトル「Ｆｒａｎｃｈ」「Ｆ」「ｒ」「ａ」「ｎ」「ｃ」「ｈ」から「Ｆｒｅｎｃｈ」に対する結合ベクトル「Ｆｒｅｎｃｈ」「Ｆ」「ｒ」「ｅ」「ｎ」「ｃ」「ｈ」を予測する。ここで、「Ｆｒａｎｃｈ」がｕｎｋｎｏｗｎに対応するベクトルであれば、自然語処理モデル３２０は、「Ｆｒａｎｃｈ」のキャラクターベクトルが連結された「Ｆ」「ｒ」「ａ」「ｎ」「ｃ」「ｈ」から「Ｆｒｅｎｃｈ」に対する結合ベクトル「Ｆｒｅｎｃｈ」「Ｆ」「ｒ」「ｅ」「ｎ」「ｃ」「ｈ」を予測する。後述するが、自然語処理モデル３２０は、ノイズが適用されたワードを含む学習データとして予め学習されたモデルである。そのため、自然語処理モデル３２０は、「Ｆｒａｎｃｈ」「Ｆ」「ｒ」「ａ」「ｎ」「ｃ」「ｈ」又は「Ｆ」「ｒ」「ａ」「ｎ」「ｃ」「ｈ」から「Ｆｒｅｎｃｈ」「Ｆ」「ｒ」「ｅ」「ｎ」「ｃ」「ｈ」を予測する。自然語処理モデル３２０は、このような予測によって「Ｆｒａｎｃｈ」に対応する対象ワードを「Ｆｒｅｎｃｈ」に決定できる。自然語処理モデル３２０は「Ｆｒａｎｃｈ」を「Ｆｒｅｎｃｈ」に認識する。自然語処理モデル３２０は、「Ｆｒａｎｃｈ」を「Ｆｒｅｎｃｈ」に認識して「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の意図情報を「Ｆｒｅｎｃｈに対する検索」として決定する。自然語処理モデル３２０の学習については図７を参照して説明する。
【００５０】
実現によって、自然語処理モデル３２０は、文章ベクトルから決定された複数の候補意図情報それぞれに対する確率を算出する。自然語処理モデル３２０は、複数の候補意図情報それぞれの確率に基づいて、複数の候補意図情報のうち文章データの意図情報を決定する。一例として、自然語処理モデル３２０は、確率が最大である候補意図情報を文章データの意図情報として決定する。文章データにエラーワードが含まれている場合、エラーワードが対象ワードと認識されて決定された候補意図情報の確率が最大であり得る。自然語処理モデル３２０は、当該の候補意図情報を文章データの意図情報として決定する。
【００５１】
自然語分析器３００は、意図情報に基づいて結果情報を生成する。例えば、自然語分析器３００は、「Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔに対する検索」のための制御信号を生成する。また、自然語分析器３００は、エラーワードを対象ワードに変更する。自然語分析器３００は、意図情報に対応する文章データを生成する。例えば、自然語分析器３００は、「Ｆｒａｎｃｈ」を「Ｆｒｅｎｃｈ」に変更して意図情報に対応する文章データ「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」を生成する。相違に表現すれば、自然語分析器３００は、入力された文章データ内のエラーワードを対象ワードとして修正する。
【００５２】
自然で分析器３００は、音声信号を送信したユーザ端末などに結果情報を送信する。
【００５３】
一実施形態に係る自然語分析器３００は、ノイズ又は音声認識エラーに剛健（ｒｏｂｕｓｔ）であり、音声信号をテキストデータに変換するとき発生するエラーの処理正確度を高めることができる。
【００５４】
図４は、一実施形態に係る文章ベクトルの生成を説明するための図である。
【００５５】
図３を参照して説明したベクトル変換部は、文章データ４１０のワードそれぞれに対する結合ベクトル４２０〜４２４を生成する。例えば、ベクトル変換部は、「Ｗｈｅｒｅ」、「Ｗ」、「ｈ」、「ｅ」、「ｒ」、及び「ｅ」を連結して「Ｗｈｅｒｅ」に対する結合ベクトル４２０を生成する。一例として、図４に示した例のように、「Ｗｈｅｒｅ」に対する結合ベクトル４２０は「Ｗｈｅｒｅ」「Ｗ」「ｈ」「ｅ」「ｒ」「ｅ」である。実現によって、「Ｗｈｅｒｅ」に対する結合ベクトル４２０は「Ｗ」「ｈ」「ｅ」「ｒ」「ｅ」「Ｗｈｅｒｅ」又は「Ｗ」「Ｗｈｅｒｅ」「ｈ」「ｅ」「ｒ」「ｅ」であってもよい。「Ｗｈｅｒｅ」に対する結合ベクトル４２０は前述した事項に制限されない。同様に、ベクトル変換部は、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の残りのワードに対する結合ベクトル４２１〜４２４を生成する。ここで、「Ｆｒａｎｃｈ」が標識されていないワード又は識別されないワードと仮定する。上記で説明したように、ベクトル変換部は、「Ｆｒａｎｃｈ」をｕｎｋｎｏｗｎに対応するベクトルに変換する。ベクトル変換部は、ｕｎｋｎｏｗｎに対応するベクトルと「Ｆｒａｎｃｈ」のキャラクターそれぞれのキャラクターベクトルを連結して「Ｆｒａｎｃｈ」に対する結合ベクトル４２３を生成する。
【００５６】
図４に「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」のワードそれぞれに対する結合ベクトル４２０〜４２４が示されている。
【００５７】
ベクトル変換部は、文章データ４１０のワードそれぞれに対する結合ベクトル４２０〜４２４を連結して文章ベクトル４３０を生成する。図４に示した例のように、ベクトル変換部は、「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」に対する文章ベクトル４３０「Ｗｈｅｒｅ」「Ｗ」「ｈ」「ｅ」「ｒ」「ｅ」…「Ｆｒａｎｃｈ」「Ｆ」...「ｒｅｓｔａｕｒａｎｔ」...「ａ」「ｎ」「ｔ」を生成する。「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」に対する文章ベクトルは前述した事項に制限されない。また、文章データ４１０は、複数の標識されていないワード又は識別されないワードを含み得る。
【００５８】
図４には実数ベクトル４４０が示されている。実数ベクトル４４０は、文章ベクトル４３０を相違に表現したのである。
【００５９】
図５は、一実施形態に係る学習装置を説明するための図である。図５を参照すると、一実施形態に係る学習装置５００は、ノイズ適用部５１０、ワード埋込部５２０、キャラクター埋込部５３０、結合部５４０、及び自然語処理モデル５５０を含む。
【００６０】
「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒｅｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｅ」の文章データが学習装置５００に入力されると仮定する。文章データは、学習データとして学習装置５００に入力される。
【００６１】
ノイズ適用部５１０は、文章データ内のワードにノイズを適用して変更ワードを生成する。ノイズ適用部５１０は、文章データ内のワードのうち１つ以上のワードを任意に選択し、選択されたワードにノイズを適用する。相違に表現すれば、ノイズ適用部５１０は、文章データにノイズを注入する。例えば、ノイズ適用部５１０は、「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒｅｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｅ」から「Ｆｒｅｎｃｈ」と「ｒｅｃｉｐｅ」を選択し、「Ｆｒｅｎｃｈ」と「ｒｅｃｉｐｅ」にノイズを適用する。ノイズ適用結果、「Ｆｒｅｎｃｈ」の３番目の位置に該当するキャラクター「ｅ」が「ａ」に変更され、変更ワード「Ｆｒａｎｃｈ」が生成される。また、ノイズ適用結果、「ｒｅｃｉｐｅ」の６番目の位置に該当するキャラクター「ｅ」が「ｉ」に変更され、変更ワード「ｒｅｃｉｐｉ」が生成される。ノイズ適用については図６を参照して後述する。
【００６２】
ワード埋込部５２０は、ワード埋込によって変更ワードをワードベクトルに変換する。一実施形態において、ワード埋込部５２０は、変更ワードが標識されていないワードであれば、変更ワードをｕｎｋｎｏｗｎとして処理して変更ワードをｕｎｋｎｏｗｎに対応するベクトルに変換する。
【００６３】
ワード埋込部５２０は、ノイズが適用されていない他のワードをワードベクトルに変換する。例えば、ワード埋込部５２０は、「Ｓｅａｒｃｈｉｎｇ」、「ｆｏｒ」、「ａ」、及び「ｆｏｏｄ」それぞれを「Ｓｅａｒｃｈｉｎｇ」、「ｆｏｒ」、「ａ」、及び「ｆｏｏｄ」に変換する。文章データで１つ又はそれ以上の他のワードが標識されていないワード又は識別されていないワードであれば、ワード埋込部５２０は、文章データの１つ又はそれ以上の他のワードをｕｎｋｎｏｗｎに対応するベクトルに変換する。
【００６４】
キャラクター埋込部５３０は、変更ワードのキャラクター及びノイズが適用されていない１つ又はそれ以上の他のワードのキャラクターをキャラクターベクトルに変換する。例えば、キャラクター埋込部５３０は、「Ｆｒａｎｃｈ」のキャラクター「Ｆ」、「ｒ」、「ａ」、「ｎ」、「ｃ」、及び「ｈ」それぞれをキャラクターベクトル「Ｆ」、「ｒ」、「ａ」、「ｎ」、「ｃ」、及び「ｈ」に変換する。また、キャラクター埋込部５３０は「ｒｅｃｉｐｉ」のキャラクター「ｒ」、「ｅ」、「ｃ」、「ｉ」、「ｐ」、及び「ｉ」それぞれをキャラクターベクトル「ｒ」、「ｅ」、「ｃ」、「ｉ」、「ｐ」、及び「ｉ」に変換する。同様に、キャラクター埋込部５３０は、「Ｓｅａｒｃｈｉｎｇ」、「ｆｏｒ」、及び「ｆｏｏｄ」のキャラクターそれぞれをキャラクターベクトルに変換する。
【００６５】
結合部５４０は、変更ワード及びノイズが適用されていない他のワード（又は他のワード）のワードベクトルとキャラクター特徴ベクトルに基づいて文章ベクトルを生成する。一実施形態において、結合部５４０は、変更ワードに対するワードベクトルと変更ワードのキャラクターそれぞれに対するキャラクターベクトルを連結して変更ワードに対する結合ベクトルを生成する。また、結合部５４０は、他のワードに対するワードベクトルと他のワードのキャラクターそれぞれに対するキャラクターベクトルを連結して他のワードに対する結合ベクトルを生成する。結合部５４０は、変更ワードに対する結合ベクトルと他のワードに対する結合ベクトルを連結して文章ベクトルを生成する。
【００６６】
例えば、結合部５４０は、変更ワード「Ｆｒａｎｃｈ」に対する結合ベクトルと他のワードに対する結合ベクトルを連結して文章ベクトル「Ｓｅａｒｃｈｉｎｇ」「Ｓ」...「Ｆｒａｎｃｈ」「Ｆ」「ｒ」「ａ」...「ｒｅｃｉｐｅ」...「ｉ」「ｐ」「ｅ」を生成する。また、結合部５４０は、変更ワード「ｒｅｃｉｐｉ」に対する結合ベクトルと他のワードに対する結合ベクトルを連結して文章ベクトル「Ｓｅａｒｃｈｉｎｇ」「Ｓ」...「Ｆｒｅｎｃｈ」「Ｆ」「ｒ」「ｅ」...「ｒｅｃｉｐｉ」...「ｉ」「ｐ」「ｉ」を生成する。
【００６７】
文章ベクトルの生成については図４を参照して説明したため、詳しい説明を省略する。
【００６８】
結合部５４０が生成した文章ベクトルは、ノイズを含む文章データ（又は、ノイズが適用されたワードを含む文章データ）に対応する。例えば、「Ｓｅａｒｃｈｉｎｇ」「Ｓ」...「Ｆｒａｎｃｈ」「Ｆ」「ｒ」「ａ」...「ｒｅｃｉｐｅ」...「ｉ」「ｐ」「ｅ」は「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒａｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｅ」に対応する。また、「Ｓｅａｒｃｈｉｎｇ」「Ｓ」...「Ｆｒｅｎｃｈ」「Ｆ」「ｒ」「ｅ」...「ｒｅｃｉｐｉ」...「ｉ」「ｐ」「ｉ」は「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒｅｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｉ」に対応する。相違に表現すれば、学習装置５００に入力された文章データと異なる文章データ「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒａｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｅ」と「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒｅｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｉ」が生成される。
【００６９】
学習装置５００は、文章ベクトルを用いて自然語処理モデル５５０を学習させ得る。相違に表現すれば、学習装置５００は、ノイズを含む文章データによって自然語処理モデル５５０を学習させ得る。学習によって自然語処理モデル５５０は、ノイズに剛健になり、文章データにエラーワードが含まれている場合、エラーワードに対する処理正確度は増加する。
【００７０】
自然語処理モデル５５０の学習については図７を参照して後述する。
【００７１】
図６は、一実施形態に係るノイズ適用を説明するための図である。
【００７２】
図５を参照して説明したように、ノイズ適用部は、文章データで１つ以上のワードを選択する。例えば、ノイズ適用部は１つ以上のワードを任意に選択する。また、ノイズ適用部は、選択されたワードにノイズを適用する。一実施形態において、ノイズ適用部は、選択されたワードのキャラクターのうち変更するキャラクターを予め決定した基準に応じて決定する。予め決定した基準は、英語のような特定言語で特定ワードの誤った発音又は典型的なエラーに対する統計的分析に基づく。また、予め決定した基準は、子供、大人又は英語が母国語ではない人の誤った発音を考慮したものである。また、予め決定した基準は、風、周辺騒音などの周辺ファクターを考慮したものである。ノイズ適用部は、予め決定された辞典からキャラクターを選択し、決定されたキャラクターを選択されたキャラクターに代替できる。下記の表3は予め決定した基準を示す。予め決定した基準は以下の表3に制限されない。
【００７３】
【表３】
2018081298.tif 000005
図６に示す例のように、ノイズ適用部は「Ｓｅａｒｃｈｉｎｇ  ｆｏｒ  ａ  Ｆｒｅｎｃｈ  ｆｏｏｄ  ｒｅｃｉｐｅ」から「Ｆｒｅｎｃｈ」と「ｒｅｃｉｐｅ」を選択する。「Ｆｒｅｎｃｈ」の長さは６であるため、ノイズ適用部は上記の表３を参照して「Ｆｒｅｎｃｈ」の３番目の位置を任意に選択し、変更するキャラクターを３番目の位置に該当する「ｅ」として決定する。また、「ｒｅｃｉｐｅ」の長さは６であるため、ノイズ適用部は上記の表３を参照して「ｒｅｃｉｐｅ」の６番目の位置を任意に選択し、変更するキャラクターを６番目の位置に該当する「ｅ」として決定する。
【００７４】
ノイズ適用部は、予め決定された辞典からキャラクター「ａ」を選択し、「Ｆｒｅｎｃｈ」で決定されたキャラクター「ｅ」を選択されたキャラクター「ａ」に代替して変更ワード「Ｆｒａｎｃｈ」を生成する。また、ノイズ適用部は、予め決定された辞典からキャラクターｉを選択し、「ｒｅｃｉｐｅ」で決定されたキャラクター「ｅ」を選択されたキャラクター「ｉ」に代替して変更ワード「ｒｅｃｉｐｉ」を生成する。
【００７５】
実現によって、ノイズ適用部は、予め決定された辞典から選択したキャラクターを文章データで選択されたワードに追加する。例えば、ノイズ適用部は、「Ｆｒｅｎｃｈ」の最後の位置に該当するキャラクター「ｈ」の次の位置に予め決定された辞典で選択したキャラクター「ａ」を追加して変更ワード「Ｆｒｅｎｃｈａ」を生成する。また、ノイズ適用部は、「ｒｅｃｉｐｅ」の５番目の位置に該当するキャラクター「ｐ」の次の位置に予め決定された辞典から選択したキャラクター「ｉ」を追加して変更ワード「ｒｅｃｉｐｉｅ」を生成する。
【００７６】
図６を参照して説明したノイズ適用は、一実施形態に係る例示的な事項に過ぎず、ノイズ適用は前述した事項に制限されることはない。
【００７７】
図７〜図９は、一実施形態に係る自然語処理モデルを説明するための図である。
【００７８】
図７を参照すると、自然語処理モデルは、ニューラルネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＮＮ）７００基盤モデルであり得る。
【００７９】
ニューラルネットワーク７００は、複数のレイヤ７１０〜７３０を含む。例えば、ニューラルネットワーク７００は、入力レイヤ７１０、隠れレイヤ７２０、及び出力レイヤ７３０を含む。実現によって、ニューラルネットワーク７００は複数の隠れレイヤを含んでもよい。
【００８０】
複数のレイヤ７１０〜７３０のそれぞれは、１つ以上の人工ニューロンを含んでもよい。複数のレイヤ７１０〜７３０それぞれの１つ以上の人工ニューロンは、隣接するレイヤの１つ以上の人工ニューロンと連結線によって連結される。ここで、連結線は連結加重値を有する。
【００８１】
自然語処理モデルに入力データが入力されれば、前方演算が実行されて出力レイヤ７３０で出力値が生成される。より具体的に、入力データは、入力レイヤ７１０→隠れレイヤ７２０→出力レイヤ７３０の方向に伝えられながら、連結加重値と乗算されたり、足し算される。そのため、出力レイヤ７３０で出力値が生成され得る。
【００８２】
学習装置は、エラー逆伝播学習（ｂａｃｋｐｒｏｐａｇａｔｉｏｎ  ｌｅａｒｎｉｎｇ）によって自然語処理モデルを学習させ得る。エラー逆伝播学習は、基準値と出力値との間のエラーを算出し、エラーをニューラルネットワーク７００の出力レイヤ７３０→隠れレイヤ７２０→入力レイヤ７１０の方向に伝播して、エラーを減らす方向に連結加重値をアップデートする方法である。
【００８３】
一例として、文章ベクトル「Ｓｅａｒｃｈｉｎｇ」「Ｓ」...「Ｆｒａｎｃｈ」「Ｆ」「ｒ」「ａ」「ｎ」「ｃ」「ｈ」...「ｒｅｃｉｐｅ」...「ｉ」「ｐ」「ｅ」が自然語処理モデルに入力されると仮定する。また、基準確率が基準値として自然語処理モデルに入力されると仮定する。ここで、基準確率は、予め知っている値である。自然語処理モデルは、入力された文章ベクトルを前方演算して出力値を生成する。学習装置は、出力値と基準確率の間の差を示すエラーを算出する。学習装置は、エラーを出力レイヤ７３０→隠れレイヤ７２０→入力レイヤ７１０の方向に伝播し、エラーを減らす方向に連結加重値をアップデートする。学習装置は、前方演算及びエラー逆伝播学習を繰り返し行って自然語処理モデルを学習させることができる。
【００８４】
また、学習装置は、学習過程で「Ｆｒａｎｃｈ」と「Ｆｒｅｎｃｈ」が同一のドキュメント（例えば、オンラインニュースの記事）にあるか否か及び／又は「Ｆｒａｎｃｈ」が「Ｆｒｅｎｃｈ」に表現された場合があるか否かなどを決定する。「Ｆｒａｎｃｈ」と「Ｆｒｅｎｃｈ」が同一のドキュメントにあったり、「Ｆｒａｎｃｈ」が「Ｆｒｅｎｃｈ」に表現されたりもする場合、学習装置は、自然語処理モデルが「Ｆｒａｎｃｈ」に対する結合ベクトルから「Ｆｒｅｎｃｈ」に対する結合ベクトルが予測されるよう、自然語処理モデルを学習させることができる。相違に表現すれば、学習装置は、自然語処理モデルが「Ｆｒａｎｃｈ」を「Ｆｒｅｎｃｈ」に認識するように自然語処理モデルを学習させ得る。
【００８５】
自然語処理モデルは、再帰的ニューラルネットワーク（Ｒｅｃｕｒｒｅｎｔ  ＮＮ、ＲＮＮ）基盤モデルであってもよい。以下、図８及び図９を参照しながら、ＲＮＮについて説明する。
【００８６】
図８を参照すると、再帰的ニューラルネットワーク（ＲＮＮ）８００は、互いに異なる時間区間で隠れノードの間に再帰的連結があるニューラルネットワークである。一般的なニューラルネットワークとは異なって、ＲＮＮ８００は、任意の入力シーケンスを処理する内部メモリを用いてもよい。以前の時間区間８１０における隠れノードの出力は現在の時間区間８２０における隠れノードに連結される。現在の時間区間８２０における隠れノードの出力は次の時間区間８３０における隠れノードに連結される。
【００８７】
一例として、以前の時間区間８１０における第１隠れノード８１１、現在の時間区間８２０における第２隠れノード８２１、及び次の時間区間８３０における第３隠れノード８３１は互いに図９に示すように連結されている。図９を参照すると、第１隠れノード８１１の出力は第２隠れノード８２１に入力され、第２隠れノード８２１の出力は第３隠れノード８３１に入力される。
【００８８】
学習装置は、ＲＮＮ８００の出力値と基準確率との間の差を示すエラーを算出して、ＢＰＴＴ（Ｂａｃｋ−Ｐｒｏｐａｇａｔｉｏｎ  Ｔｈｒｏｕｇｈ  Ｔｉｍｅ）によってエラーを逆伝播して自然語処理モデルを学習させることができる。
【００８９】
実現によって、自然語処理モデルは、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）基盤モデルであってもよい。
【００９０】
図７〜図９を参照して説明した学習過程において、学習された自然語処理モデルは「Ｆｒａｎｃｈ」を「Ｆｒｅｎｃｈ」に認識する。そのため、学習された自然語処理モデルは、正確に音声認識されていない「Ｗｈｅｒｅ  ｉｓ  ａ  Ｆｒａｎｃｈ  ｒｅｓｔａｕｒａｎｔ？」の意図情報を「Ｆｒｅｎｃｈ  ｒｅｓｔａｕｒａｎｔに対する検索」として決定する。
【００９１】
図１０は、一実施形態に係る自然語処理方法を説明するためのフローチャートである。
【００９２】
一実施形態に係る自然語処理方法は、自然語処理装置によって実行される。
【００９３】
図１０を参照すると、自然語処理装置は、音声認識された文章データのワードをワードベクトルに変換する（Ｓ１０１０）。
【００９４】
自然語処理装置は、文章データのキャラクターをキャラクターベクトルに変換する（Ｓ１０２０）。
【００９５】
自然語処理装置は、ワードベクトルとキャラクターベクトルに基づいて文章データに対する文章ベクトルを生成する（Ｓ１０３０）。
【００９６】
自然語処理装置は、文章ベクトルに基づいて文章データの意図情報を決定する（Ｓ１０４０）。
【００９７】
図１〜図９を参照して記述された事項は、図１０に基づいて記述された事項に適用され得るため、詳細な説明は省略する。
【００９８】
図１１は、一実施形態に係る学習方法を説明するためのフローチャートである。一実施形態に係る学習方法は、学習装置によって実行される。図１１を参照すると、学習装置は、文章データのワードにノイズを適用して変更ワードを生成する（Ｓ１１１０）。ここで、文章データは、学習データとして学習装置に入力される。
【００９９】
学習装置は、変更ワード及びノイズが適用されていない他のワードをワードベクトルに変換する（Ｓ１１２０）。
【０１００】
学習装置は、変更ワードのキャラクター及びノイズが適用されていない他のワードのキャラクターをキャラクターベクトルに変換する（Ｓ１１３０）。
【０１０１】
学習装置は、ワードベクトルとキャラクターベクトルに基づいて文章ベクトルを生成する（Ｓ１１４０）。
【０１０２】
図１〜図１０を参照して記述された事項は、図１１に基づいて記述された事項に適用され得るため、詳細な説明は省略する。
【０１０３】
図１２は、一実施形態に係る自然語処理装置の他の一例を説明するための図である。図１２を参照すると、一実施形態に係る自然語処理装置１２００は、コントローラ１２１０及びメモリ１２２０を含む。
【０１０４】
上記で説明した音声認識器及び／又は自然語分析器はコントローラ１２１０によって実現される。
【０１０５】
例えば、コントローラ１２１０は、音声認識された文章データのワードをワードベクトルに変換する。コントローラ１２１０は、文章データのキャラクターをキャラクターベクトルに変換する。コントローラ１２１０は、ワードベクトルとキャラクターベクトルに基づいて文章データに対する文章ベクトルを生成する。コントローラ１２１０は、文章ベクトルに基づいて文章データの意図情報を決定する。
【０１０６】
メモリ１２２０は、コントローラ１２１０の動作に関する少なくとも１つの命令語及び／又は自然語処理モデルを格納する。
【０１０７】
図１〜図１１を参照して記述された事項は、図１２に基づいて記述された事項に適用され得るため、詳細な説明は省略する。
【０１０８】
図１３は、一実施形態に係る学習装置を説明するための図である。図１３を参照すると、一実施形態に係る学習装置１３００は、コントローラ１３１０及びメモリ１３２０を含む。
【０１０９】
図５及び図６を参照して説明した、ノイズ適用部、ワード埋込部、キャラクター埋込部、及び／又は結合部はコントローラ１３１０によって実現される。
【０１１０】
例えば、コントローラ１３１０は、文章データ内のワードにノイズを適用して変更ワードを生成する。コントローラ１３１０は、変更ワード及びノイズが適用されていない他のワードをワードベクトルに変換する。コントローラ１３１０は、変更ワードのキャラクター及びノイズが適用されていない他のワードのキャラクターをキャラクターベクトルに変換する。コントローラ１３１０は、ワードベクトルと前記キャラクターベクトルに基づいて文章ベクトルを生成する。
【０１１１】
メモリ１３２０は、コントローラ１３１０の動作に関する少なくとも１つの命令語を格納する。
【０１１２】
図１〜図１２を参照して記述された事項は、図１３に基づいて記述された事項に適用され得るため、詳細な説明は省略する。
【０１１３】
実施形態に係る方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１１４】
上述したように実施形態をたとえ限定された図面によって説明したが、当技の術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。
【０１１５】
したがって、他の具現、他の実施形態及び請求範囲と均等なものも後述する請求範囲に属する。
【図１】
2018081298.tif 000006
【図２】
2018081298.tif 000007
【図３】
2018081298.tif 000008
【図４】
2018081298.tif 000009
【図５】
2018081298.tif 000010
【図６】
2018081298.tif 000011
【図７】
2018081298.tif 000012
【図８】
2018081298.tif 000013
【図９】
2018081298.tif 000014
【図１０】
2018081298.tif 000015
【図１１】
2018081298.tif 000016
【図１２】
2018081298.tif 000017
【図１３】
2018081298.tif 000018