(57)【要約】【課題】誤りが生じた際に効率的な修正を実現する。【解決手段】本願に係る修正装置は、利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定部と、前記特定部により特定された処理の内容を修正する修正部とを有することを特徴とする。【選択図】図１
2018156418.tif 000002
【特許請求の範囲】
【請求項１】
利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定部と、
前記特定部により特定された処理の内容を修正する修正部と
を有することを特徴とする修正装置。
【請求項２】
前記特定部は、前記利用者の発話から複数の処理を段階的に実行することで生成された応答に対する利用者の新たな発話に基づいて、複数の前記処理のうち修正対象となる処理を特定する
ことを特徴とする請求項１に記載の修正装置。
【請求項３】
前記特定部は、前記入力情報に基づいて、前記出力情報に含まれる誤りの種別を推定し、複数の前記処理のうち、推定した種別と対応する１つまたは複数の処理を前記修正対象として特定する
ことを特徴とする請求項１または２に記載の修正装置。
【請求項４】
前記修正部は、前記出力情報に対する前記利用者の新たな入力情報に基づいて、前記特定部により特定された処理の内容を修正する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の修正装置。
【請求項５】
前記特定部は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された前記出力情報に対する前記利用者の新たな入力情報に基づいて、複数の前記処理のうち修正対象となる処理を特定し、
前記修正部は、前記特定部により特定された処理に用いるモデルを再学習する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の修正装置。
【請求項６】
前記特定部は、前記利用者の入力情報と、当該利用者の属性とに基づいて、前記修正対象となる処理を特定する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の修正装置。
【請求項７】
前記特定部は、前記利用者の入力情報と当該入力情報に対する出力情報と当該出力情報に対する前記利用者の新たな入力情報とを用いて当該出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、複数の前記処理のうち修正対象となる処理を特定する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の修正装置。
【請求項８】
前記特定部は、前記利用者の発話の音声認識を行う処理と、当該音声認識の結果から当該発話の意図を解析する処理と、当該意図の解析結果から前記発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の修正装置。
【請求項９】
修正装置が実行する修正方法であって、
利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定工程と、
前記特定工程により特定された処理の内容を修正する修正工程と
を含むことを特徴とする修正方法。
【請求項１０】
利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定手順と、
前記特定手順により特定された処理の内容を修正する修正手順と
を実行するための修正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、修正装置、修正方法および修正プログラムに関する。
【背景技術】
【０００２】
従来、利用者の発話に対して応答を出力する技術が知られている。このような技術の一例として、対話データを学習することにより、対話モデルを生成し、生成した対話モデルを用いて、利用者の発話に対する応答を生成する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０５４３６号公報
【非特許文献】
【０００４】
【非特許文献１】“Characterizing  and  Predicting  Voice  Query  Reformulation”,Ahmed  Hassan  Awadallah,  Ranjitha  Gurunath  Kulkarni,  Umut  Ozertem  and  Rosie  Jones,  Microsoft  Redmond,  WA  USA
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、誤りが生じた際に効率的な修正を実現できるとは言えない場合がある。
【０００６】
例えば、従来技術においては、対話モデルとして、利用者の発話をテキストに変換する音声認識モデルと、テキストから発話の意図を解析する意図解析モデルと、解析した意図から応答を生成する応答生成モデルとを段階的に用いて応答が生成される。このような従来技術では、応答を生成する際に一部のモデルにおいて誤りが生じた場合にも、誤った応答が生成される。このため、誤った応答を用いて、対話モデル全体を修正した場合には、正しい処理を実行したモデルも修正が行われてしまい、適切な修正を実現できない恐れがある。
【０００７】
本願は、上記に鑑みてなされたものであって、誤りが生じた際に効率的な修正を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る修正装置は、利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定部と、前記特定部により特定された処理の内容を修正する修正部とを有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、誤りが生じた際に効率的な修正を実現できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置の構成例を示す図である。
【図３】図３は、実施形態に係る対話モデルデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る情報提供装置が誤りを分類する処理の一例を示す図である。
【図６】図６は、実施形態に係る情報提供装置が実行する修正処理の流れの一例を示すフローチャートである。
【図７】図７は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る修正装置、修正方法および修正プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る修正装置、修正方法および修正プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１２】
〔１−１．情報提供装置の概要〕
まず、図１を用いて、修正処理を実行する修正装置の一例である情報提供装置が実行する決定処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置１０が実行する処理として、利用者Ｕの発話に対する応答を生成する応答生成処理と、応答に対する利用者Ｕの発話に基づいて、応答生成処理を修正する修正処理との一例について説明する。すなわち、情報提供装置１０は、利用者Ｕとの対話を実現する対話システムである。
【００１３】
情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図２を参照。）を介して、利用者端末１００と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置１０は、ネットワークＮを介して、任意の数の利用者端末１００と通信可能であってよい。
【００１４】
利用者端末１００は、対話システムで対話を行う利用者Ｕが使用する情報処理装置であり、ＰＣ（Personal  Computer）、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末１００は、利用者Ｕが発話した音声を取得すると、音声データを発話として情報提供装置１０へと送信する。なお、利用者端末１００は、利用者Ｕが入力した文字列を発話として情報提供装置１０へと送信してもよい。
【００１５】
このような場合、情報提供装置１０は、音声データを解析してテキスト化する音声認識処理、音声認識処理の結果であるテキストを用いて、利用者Ｕの発話の意図の解析等といった各種の意図解析を行う意図解析処理、および意図解析処理の結果を用いて応答を生成する応答生成処理を実行し、発話に対する応答を生成する。すなわち、情報提供装置１０は、音声認識処理、意図解析処理、および応答生成処理といった段階的に実行させる複数の処理を含む応答処理を実行することで、利用者Ｕの発話から応答を生成する。なお、情報提供装置１０は、テキスト形式の応答を生成してもよく、テキストの読み上げを行った音声データを応答として生成してもよい。そして、情報提供装置１０は、応答を利用者端末１００へと送信する。この結果、利用者端末１００は、応答として生成された各種テキストの読み上げ技術や、音声データの再生を行うことで、利用者Ｕとの対話を実現する。
【００１６】
〔１−２．決定処理について〕
ここで、対話処理においては、利用者Ｕの発話に対して適切な応答を出力することができない場合、すなわち、誤りとなる応答を出力する場合がある。このような誤りは、応答処理全体として発生するよりも、応答処理に含まれる各処理のいずれかにおいて生じる可能性が高い。
【００１７】
例えば、音声認識処理では、音声からテキストを生成する音声認識モデルをもちいて、音声からテキストが生成される。しかしながら、このような音声認識処理では、「一番高い（ｉｃｈｉｂａｎｔａｋａｉ）」といった発話の音声のうち、最後の「い（ｉ）」の音声を適切に認識できず、「一番鷹（ｉｔｉｂａｎｔａｋａ）」といった認識を行ってしまう場合がある。このように、音声認識処理で誤りが生じた場合、続く意図解析処理および応答生成処理が、誤った音声認識に基づいて実行されるため、誤りが蓄積し、適切ではない応答を出力する恐れがある。
【００１８】
また、音声認識処理が適切に行われたとしても、意図解析処理で誤った意図解析が行われる場合がある。例えば、意図解析処理においては、テキストから発話の意図を解析する意図解析モデルを用いて、利用者Ｕの発話の意図を解析する場合が多い。しかしながら、このような意図解析においては、学習が不十分である場合等に、誤った意図が解析される恐れがある。例えば、「一番高い山は？」といったテキストには、「一番高い」といった形容詞と「山」といった名詞が含まれるが、意図解析モデルの精度が十分ではない場合、「山」といった名詞の意図が曖昧に解析され、例えば、「一番高い」、「建造物」を聞いていると解析される場合がある。より具体的な例では、意図解析モデルの学習が不十分な結果、「山」の概念と「建造物」の概念とが類似もしくは共通する概念として学習（分類）されていた場合、このような誤りが生じる恐れがある。このような意図解析処理が行われた場合、後述する応答生成処理では、誤った意図解析の結果に基づいて、応答が生成されるので、例えば、「スカイツリー」等といった応答を生成してしまう恐れがある。
【００１９】
また、応答生成処理においては、意図解析処理の結果から対応する応答を生成する応答生成モデルを用いて、応答となるテキストが生成される場合がある。例えば、意図解析処理においては、所謂スロットフィリングと呼ばれる技術を用いて、発話の意図が解析される場合がある。このようなスロットフィリングの技術では、応答を生成するための処理ごとに、その処理を実行するために必要な項目が予め対応付けられており、各項目ごとに意図の解析を行う。そして、スロットフィリングの技術では、処理を実行するために必要な全ての項目について、意図の解析が行われた場合は、その処理内容と、解析した全項目の意図を意図解析結果として出力する。
【００２０】
例えば、意図解析モデルは、「一番高い山は？」といった音声認識結果を受付けた場合、処理内容「検索」について、形容詞「一番高い」、および名詞「山」を意図解析結果として出力する。この結果、応答生成モデルは、一番高い山の検索を行い、検索結果「エベレスト」を出力する。しかしながら、このような応答は、利用者Ｕが「日本で一番高い山」の検索を所望していた場合には、誤りとなる。すなわち、意図解析モデルや応答生成モデルの学習が不十分である場合には、利用者Ｕが表明していない意図を応答に反映させることができず、誤った結果を出力してしまう恐れがある。
【００２１】
ここで、応答を出力した際に、利用者Ｕから受付けた発話の内容に基づいて、応答が正しい応答であったか否かを推定し、正しい応答であったと推定した場合は、応答を正解データとし、誤った応答であったと推定した場合は、応答を不正解データとして各モデルの再学習を行うといった手法が考えられる。しかしながら、このような技術では、実際に誤りが生じた処理のみならず、正しい処理についても、不正解データを用いた学習が行われてしまい、全体としての対話精度が低下してしまう恐れがある。
【００２２】
そこで、情報提供装置１０は、以下の修正処理を実行する。まず、情報提供装置１０は、利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の処理のうち修正対象となる処理を特定する。。そして、情報提供装置１０は、特定された処理の内容を修正する。
【００２３】
例えば、情報提供装置１０は、応答に対する利用者Ｕの反応から、応答が正解であった否かを判定するとともに、誤りであったと判定した場合は、利用者Ｕの反応から、応答処理として段階的に実行される各処理のうち、どの処理で誤りが生じたかを特定する。そして、情報提供装置１０は、特定した処理の修正を行う。例えば、情報提供装置１０は、誤りであると判定した応答と、その応答の前に受け付けた利用者Ｕの発話とを不正解ペアとして、特定した処理において使用されるモデルの再学習を行う。
【００２４】
このように、情報提供装置１０は、生成処理全体ではなく、生成処理として段階的に実行される処理のうち、誤りが生じた処理のみについて、修正を行うので、生成処理全体としての処理精度を低下させることなく、誤りの修正を行うことができるので、効率的な修正を行うことができる。
【００２５】
〔１−３．決定処理の一例について〕
次に、図１を用いて、情報提供装置１０が実行する決定処理の一例について説明する。まず、情報提供装置１０は、利用者端末１００から発話＃１を受付ける（ステップＳ１）。このような場合、情報提供装置１０は、発話から応答を生成する応答処理を実行する（ステップＳ２）。
【００２６】
例えば、情報提供装置１０は、発話の音声データを受付けると、発話のテキストを生成する音声認識モデルを用いて、音声データからテキストを生成する音声認識処理を実行する。また、情報提供装置１０は、音声認識処理の結果であるテキストの入力を受付けると、テキストから利用者Ｕの発話の意図を解析し、解析結果となるパラメータを出力する意図解析モデルを用いて、発話＃１の意図を解析する意図解析処理を実行する。また、情報提供装置１０は意図解析処理の結果となるパラメータから応答内容を生成する応答生成モデルを用いて、発話＃１に対する応答＃１を生成する応答生成処理を実行する。なお、このような音声認識モデル、意図解析モデルおよび応答生成モデルは、例えば、ＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）等、任意の学習器又は分類器等のモデルにより実現される。そして、情報提供装置１０は、生成した応答＃１を利用者端末１００に出力する（ステップＳ３）。
【００２７】
ここで、情報提供装置１０は、利用者端末１００から、応答＃１に続く発話＃２を受付ける（ステップＳ４）。このような発話＃２の内容は、利用者Ｕが応答＃１の内容に満足しているか否か、発話＃１の内容を誤って解析していたか否か等、応答＃１に誤りがあったか、どのような誤りがあったかを判断するための指標となりうる。そこで、情報提供装置１０は、発話＃２の内容から、応答＃１に誤りが含まれるか否かを判定し、誤りが含まれると推定される場合は、誤りの内容を分類し、分類結果に応じた処理におけるモデルの修正を行う（ステップＳ５）。
【００２８】
例えば、情報提供装置１０は、発話＃２から、音声認識処理、意図解析処理、および応答生成処理を段階的に実行することで、発話＃２に対する応答＃２を生成する。このような応答処理とともに、情報提供装置１０は、発話＃２の音声認識処理の結果となるテキストを取得し、取得したテキストから誤りの種別を分類する分類処理を実行する。より具体的には、情報提供装置１０は、発話の音声認識を行う音声認識処理と、音声認識の結果から発話の意図を解析する意図解析処理と、意図解析処理の結果から発話に対する応答を生成する応答生成処理とのうち、修正対象となる処理を特定する。
【００２９】
例えば、情報提供装置１０は、応答に含まれる誤りの種別を学習した誤り分類モデルを用いて、発話＃２のテキストから応答＃１に含まれる誤りの分類を行う。このような誤り分類モデルは、例えば、ある発話の特徴と、その発話に対する応答の特徴と、その応答に含まれる誤りの種別の特徴との間の共起性を学習したＤＮＮ等により実現される。なお、誤り分類モデルは、ある発話の特徴と、その発話に対する応答の特徴とから、その応答に含まれる誤りの種別を分類するように学習が行われた分類器であってもよい。すなわち、情報提供装置１０は、ある発話と、その発話に対する応答とから、その応答に含まれる誤りの種別を推定することができるモデルを誤り分類モデルとして用いるのであれば、任意の学習が行われたモデルを採用してよい。
【００３０】
また、情報提供装置１０は、音声認識処理の結果ではなく、発話＃２の音声データと、応答＃１とから直接誤りの分類を行ってもよい。例えば、情報提供装置１０は、音声データと、その音声データに含まれる発話の内容や音声特有の各種情報に基づいて付与されたラベルであって、どのような誤りを示すかを示すラベルとの間の関係を学習した誤り分類モデルを用いて、発話＃２の音声データから、応答＃１に含まれる誤りの種別の分類を行ってもよい（例えば、非特許文献１を参照。）。
【００３１】
ここで、情報提供装置１０は、誤りの具体的な種別を特定する必要はない。例えば、情報提供装置１０は、誤りが、音声認識処理において生じたものであるか、意図解析処理において生じたものであるか、応答生成処理において生じたものであるかを分類できるのであれば、任意の分類を行ってよい。すなわち、情報提供装置１０は、段階的に実行させる複数の処理のうち、どの処理に起因する誤りであるかを分類することができるのであれば、任意の態様で、誤りの分類を行ってよい。
【００３２】
そして、情報提供装置１０は、誤りの分類結果に応じた処理の修正を行う。例えば、情報提供装置１０は、応答＃１に含まれる誤りの種別が、音声認識誤り等、音声認識処理に起因するものである場合は、音声認識処理の修正を行う。例えば、情報提供装置１０は、応答＃１を生成する際に音声認識モデルに入力した音声データ、すなわち、発話＃１の音声データと、応答＃１を生成する際に音声認識モデルが出力したテキストとを不正解ペアとして、音声認識モデルの再学習を行う。
【００３３】
また、例えば、情報提供装置１０は、応答＃１に含まれる誤りの種別が、意図解析の誤りである場合等、意図解析処理に起因するものである場合は、意図解析処理の修正を行う。例えば、情報提供装置１０は、応答＃１を生成する際に音声認識モデルが出力したテキスト、すなわち、発話＃１のテキストと、応答＃１を生成する際に意図解析モデルが出力したパラメータとを不正解ペアとして、音声認識モデルの再学習を行う。
【００３４】
また、例えば、情報提供装置１０は、応答＃１に含まれる誤りの種別が、発話意図の解析不足等、応答生成処理に起因するものである場合は、応答生成処理の修正を行う。例えば、情報提供装置１０は、応答＃１を生成する際に意図解析モデルが出力したパラメータ、すなわち、発話＃１の意図を示すパラメータと、応答生成モデルが出力した応答＃１とを不正解ペアとして、応答生成モデルの再学習を行う。
【００３５】
このように、情報提供装置１０は、利用者Ｕの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Ｕの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。例えば、情報提供装置１０は、利用者Ｕの発話に基づいて、応答に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する処理を修正対象として特定する。
【００３６】
そして、情報提供装置１０は、特定した処理の内容を修正する。例えば、情報提供装置１０は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された応答に対する利用者Ｕの発話に基づいて、複数の処理のうち修正対象となる処理を特定し、特定された処理に用いるモデルを再学習する。
【００３７】
この結果、情報提供装置１０は、段階的に実行される複数の処理のうち、実際に誤りが生じたと推定される処理のモデルのみを再学習することとなる。この結果、情報提供装置１０は、正しい処理を行ったモデルをそのままに、誤りが生じたモデルのみの修正を実現することができるので、複数の処理全体の精度を悪化させずに、処理の効率的な修正を実現できる。また、情報提供装置１０は、誤りが生じたモデルのみを修正することとなるので、再学習等といった修正に伴う処理コストや時間を削減することができる。
【００３８】
〔１−４．修正のバリエーションについて〕
上述した例では、情報提供装置１０は、誤りの種別に対応する処理のモデルを修正した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、誤りの種別に対応する複数の処理を特定し、特定した処理の修正を行ってもよい。
【００３９】
例えば、情報提供装置１０は、音声認識処理、意図解析処理、および応答生成処理において誤りが生じた確度をそれぞれ算出する誤り分類モデルを用いて、利用者Ｕの発話＃２から、応答＃１の生成において音声認識処理、意図解析処理、および応答生成処理において誤りが生じた確度をそれぞれ算出する。そして、情報提供装置１０は、各処理のうち、誤り分類モデルが算出した確度が所定の閾値を超える処理を特定する。例えば、情報提供装置１０は、意図解析処理と応答生成処理とに誤りが生じた確度が所定の閾値を超える場合は、意図解析処理と応答生成処理とを修正対象とする。
【００４０】
そして、情報提供装置１０は、意図解析処理と応答生成処理との修正を行う。例えば、情報提供装置１０は、応答＃１を生成した際に意図解析モデルが出力したパラメータを不正解データとして意図解析モデルの再学習を行い、応答＃１を不正解データとして応答生成モデルの再学習を行ってもよい。また、例えば、情報提供装置１０は、応答＃１を生成した際に音声認識処理が出力したテキストと応答＃１とを不正解ペアとして、意図解析モデルおよび応答生成モデルを合わせて再学習してもよい。
【００４１】
ここで、情報提供装置１０は、任意の手法により、所定の修正を行ってよい。例えば、情報提供装置１０は、誤りが生じたと分類された処理において用いるモデルが前回出力したデータを不正解データとする教師あり学習を実行してもよい。また、情報提供装置１０は、利用者Ｕとの対話を通じてモデルの再学習を行ってもよい。すなわち、情報提供装置１０は、強化学習によるモデルの再学習を行ってもよい。
【００４２】
例えば、情報提供装置１０は、ある処理について誤りが生じた確度が所定の閾値よりも高い場合は、負の報酬を設定し、確度が所定の閾値よりも低い場合は、正の報酬を設定する。そして、情報提供装置１０は、モデルに前回入力したデータを強化学習におけるコントローラの状態観測の結果とし、モデルが前回出力したデータを強化学習におけるコントローラの行動とし、利用者Ｕが前回出力した応答に満足しているか否かに基づく報酬をコントローラに対して設定することで、各モデルの強化学習を個別に進めてもよい。すなわち、情報提供装置１０は、誤りの分類結果から、学習対象となる処理を特定し、特定した処理において用いられるモデルの強化学習を実行してもよい。
【００４３】
また、情報提供装置１０は、誤りが生じた確度に基づいて、学習手法を変更してもよい。例えば、情報提供装置１０は、ある処理について誤りが生じた確度が第１の閾値以上、第２の閾値未満となる場合は、その処理において用いるモデルが前回出力したデータを不正解データとする教師あり学習を実行し、第２の閾値以上となる場合は、利用者Ｕとの対話を通じて学習を行う、所謂強化学習を実行してもよい。
【００４４】
また、情報提供装置１０は、正解データを用いたモデルの再学習を行ってもよい。例えば、情報提供装置１０は、誤りが含まれないと判定した場合や、誤り分類モデルによって、全ての処理において誤りが生じた確度が所定の閾値よりも低い場合は、前回各モデルが出力したデータを正解データとして、各モデルの教師あり学習や強化学習を実行してもよい。
【００４５】
〔１−５．分類のバリエーションについて〕
ここで、情報提供装置１０は、応答に含まれる誤りの種別を分類することができるのであれば、応答や発話のみならず、他の情報に基づいて、誤りの種別を分類してもよい。例えば、利用者によっては、音声認識がし辛い、発話が不十分になりやすいといった対話態様が考えられる。そこで、情報提供装置１０は、利用者Ｕの発話と、利用者Ｕの属性とに基づいて、誤りの分類を行い、分類結果に対応する処理を修正対象として特定してもよい。
【００４６】
例えば、情報提供装置１０は、利用者Ｕのデモグラフィック属性やサイコグラフィック属性の特徴と、誤りが含まれる応答に対する利用者Ｕの発話の特徴と、誤りが生じた処理とを関係性や共起性を学習した誤り分類モデルを学習する。そして、情報提供装置１０は、利用者Ｕのデモグラフィック属性やサイコグラフィック属性の特徴と、利用者Ｕの発話とに基づいて、誤りが生じた処理の推定を行ってもよい。
【００４７】
〔１−６．ドメインの考慮について〕
ここで、情報提供装置１０は、意図解析処理として、発話が属する分野（すなわち、ドメイン）を推定し、推定したドメインごとに異なる意図解析モデルを用いて、発話の意図を解析する場合がある。例えば、情報提供装置１０は、発話がドメイン「雑談」に属するか、ドメイン「天気予報」に属するか、ドメイン「経路案内」に属するか等、発話が属するドメインを推定し、推定したドメインの意図解析モデルを用いて、発話の意図を解析する場合がある。
【００４８】
このような場合、情報提供装置１０は、意図解析モデルのうち、応答の生成に用いたモデルの修正を行えばよい。例えば、情報提供装置１０は、意図解析処理において、発話＃１が属するドメインを、ドメイン分類モデルを用いて分類し、分類結果と対応する意図解析モデル（例えば、意図解析モデル＃１）を用いて、発話＃１の意図を解析する。このような場合において、情報提供装置１０は、応答＃１に意図の解析誤りに起因する誤りが含まれると推定した場合は、意図解析モデル＃１の再学習を行えばよい。また、情報提供装置１０は、ドメイン分類モデルと意図解析モデル＃１との両方を、それぞれ個別に再学習してもよい。また、情報提供装置１０は、ドメインの分類に誤りが生じたと推定可能な場合は、ドメイン分類モデルのみの再学習を行ってもよい。
【００４９】
また、情報提供装置１０は、応答生成モデルをドメインごとに準備し、発話が属するドメインと対応する応答生成モデルを用いて、応答を生成する場合がある。このような場合にも、情報提供装置１０は、応答を生成した際に用いた応答生成モデルの再学習を行えばよい。また、情報提供装置１０は、例えば、発話＃１を分類したドメインに対応する意図解析モデルおよび応答生成モデルを、同時に再学習してもよい。
【００５０】
〔１−７．誤り分類モデルについて〕
ここで、情報提供装置１０は、利用者Ｕの発話から前回の応答に含まれる誤りの種別や、誤りが生じた処理を推定することができるのであれば、任意の学習手法により学習が行われた誤り分類モデルを用いてもよい。例えば、情報提供装置１０は、利用者Ｕの発話と、その発話に対する応答と、その応答に対する利用者Ｕの新たな発話とを含む三つ組みのデータ（すなわち、トリプル）と、その応答に含まれる誤りの種別との間の関係を学習した誤り分類モデルを用いて、修正対象となる処理の特定を行ってもよい。
【００５１】
例えば、情報提供装置１０は、利用者Ｕとの対話を通じて、上述したトリプルを取得し、取得したトリプルの応答に誤りが含まれるか否かを判定する。例えば、情報提供装置１０は、（発話＃１、応答＃１、発話＃２）といったトリプルを取得した場合、発話＃２の内容に基づいて、利用者Ｕが応答＃１に満足しているか否かを推定する。すなわち、情報提供装置１０は、利用者Ｕの発話＃１に対する応答＃１への利用者Ｕの反応から、利用者Ｕが応答＃１に満足しているか否かを推定する。
【００５２】
そして、情報提供装置１０は、利用者Ｕが応答＃１に満足していないと判定した場合は、トリプルを所定の管理者等に提供し、応答に含まれると推定される誤りの種別を示すラベルを取得する。なお、このようなラベルは、既に誤りの特徴を学習したモデルにより付与されてもよく、クラウドソーシング等により収集されてもよい。そして、情報提供装置１０は、トリプルと、ラベルが示す誤りの種別との間の関係性を誤り分類モデルに学習させる。そして、情報提供装置１０は、対話処理において取得される（発話＃１、応答＃１、発話＃２）といったトリプルを誤り分類モデルに入力することで、応答＃１に含まれる誤りの種別を推定してもよい。
【００５３】
なお、情報提供装置１０は、誤り分類モデルを任意の学習手法により学習させてよい。例えば、情報提供装置１０は、トリプルとラベルとの間の関係性を教師あり学習により学習させてもよく、利用者Ｕとの対話を通じた強化学習により学習させてもよい。例えば、情報提供装置１０は、利用者Ｕの発話内容の変遷に基づいて、利用者Ｕの満足度が低下したか否か、若しくは、応答の精度が低下したか否かを推定する。そして、情報提供装置１０は、利用者Ｕの満足度が低下した、若しくは、応答の精度が低下したと推定された場合は、誤り分類モデルの強化学習における報酬の値を負値とすることで、誤り分類モデルの強化学習を実現してもよい。
【００５４】
〔１−８．利用者への問合せ〕
また、情報提供装置１０は、誤りが生じた処理の推定結果を適時利用者Ｕに開示することで、推定結果が正しいか否かの確認を行うことで、誤り分類モデルの学習に必要なデータを対話的に取得してもよい。例えば、情報提供装置１０は、利用者Ｕの発話から、応答に誤りが含まれる確度、および、各処理において誤りが生じた確度を推定する。そして、情報提供装置１０は、応答に誤りが含まれる確度が所定の閾値よりも高いにも関わらず、各処理において誤りが生じた確度が所定の閾値よりも低い場合は、「どのような誤りがありましたか？」等といった誤りの種別を問い合わせる応答を出力する。
【００５５】
また、情報提供装置１０は、問合せに対する利用者Ｕの応答を解析することで、どの処理に誤りが生じたかを推定し、推定結果に基づいて、処理の修正を行う。なお、情報提供装置１０は、問合せの結果を用いて、誤り分類モデルの再学習を行ってもよい。例えば、情報提供装置１０は、問合せの結果から推定した誤りの種別を正解データとして、誤り分類モデルの再学習を行ってもよい。
【００５６】
〔１−９．処理の内容について〕
ここで、上述した例では、情報提供装置１０は、音声認識処理、意図解析処理、および応答生成処理が段階的に行われる応答処理において、誤りが生じた処理を特定し、特定した処理の修正を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、このような３段階の処理が行われる応答処理以外にも、任意の数の複数の処理が段階的に行われる応答処理において、誤りが生じた処理を特定し、特定した処理の修正を行ってよい。
【００５７】
〔２．情報提供装置の構成〕
以下、上記した情報提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る情報提供装置の構成例を示す図である。図２に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５８】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、利用者端末１００や外部サーバ２００との間で情報の送受信を行う。
【００５９】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、対話モデルデータベース３１、誤り分類モデル３２、および学習データデータベース３３を記憶する。
【００６０】
対話モデルデータベース３１には、応答処理に用いられる各種のモデル、すなわち、段階的に使用される複数のモデルが対話モデルとして登録される。例えば、図３は、実施形態に係る対話モデルデータベースに登録される情報の一例を示す図である。図３に示すように、対話モデルデータベース３１には、「モデル種別」、「モデルＩＤ（Identifier）」、「ドメイン」、および「モデルデータ」といった項目を有する情報が登録される。
【００６１】
ここで、「モデル種別」とは、モデルの種別を示す情報であり、どの処理に用いられるかを示す情報である。また、「モデルＩＤ」とは、モデルの識別子である。また、「ドメイン」とは、対応付けられた「モデルＩＤ」が示すモデルと対応するドメインを示す情報である。また、「モデルデータ」とは、対応付けられた「モデルＩＤ」が示すモデルを構成する各種パラメータ等のデータである。
【００６２】
例えば、図３に示す例では、モデル種別「音声認識モデル」、モデルＩＤ「ＳＩＭ＃１」、ドメイン「ＡＬＬ」、およびモデルデータ「データ＃１」が対応付けて登録される。このような情報は、モデルＩＤ「ＳＩＭ＃１」が示すモデルのモデル種別が「音声認識モデル」であり、対応するドメインが「ＡＬＬ」（すなわち、全てのドメイン）であり、モデルデータが「データ＃１」である旨を示す。なお、図３に示す例では、「ドメイン＃１」、「データ＃１」といった概念的な値について記載したが、実際には、対話モデルデータベース３１には、各モデルと対応するドメインの識別子、およびパラメータ等のデータが登録されることとなる。
【００６３】
図２に戻り、説明を続ける。誤り分類モデル３２は、応答に含まれる誤りの分類を行うモデル、すなわち、誤り分類モデル３２のデータである。例えば、記憶部３０は、誤り分類モデル３２の各種パラメータ等を記憶する。
【００６４】
学習データデータベース３３には、各対話モデルの再学習に用いられるデータが登録される。例えば、図４は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図４に示す例では、学習データデータベース３３には、「学習データＩＤ」、「分類種別」、および「学習データ」が対応付けて登録される。
【００６５】
ここで、「学習データＩＤ」とは、学習データを識別する情報である。また、「分類種別」は、対応付けられた「学習データＩＤ」が示す学習データが、どのような種別の学習データであるかを示す情報である。また、「学習データ」とは、対応付けられた「学習データＩＤ」が示す学習データであり、例えば、上述したトリプルである。
【００６６】
例えば、学習データデータベース３３には、「分類種別」として、学習データが正解データである旨を示す「正解」、学習データが意図解析に誤りがあったと推定されたトリプルである旨を示す「意図解析」、学習データが音声認識に誤りがあったと推定されたトリプルである旨を示す「音声認識」、学習データが発話不十分であったと推定されたトリプルである旨を示す「発話不十分」等といった情報が登録される。
【００６７】
また、学習データデータベース３３には、学習データＩＤ「ＩＤ＃１」、分類種別「正解」、および学習データ「学習データ＃１」といった情報が対応付けて登録される。このような情報は、学習データＩＤ「ＩＤ＃１」が示す学習データが「学習データ＃１」であり、分類種別が「正解」である旨を示す。なお、図４に示す例では、「学習データ＃１」などといった概念的な値を記載したが、実際には、利用者Ｕの発話と、発話に対して生成した応答と、その応答に対する利用者Ｕの新たな発話とがトリプルとして登録される。
【００６８】
図２に戻り、説明を続ける。制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、情報提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。図２に示すように、制御部４０は、受付部４１、音声認識部４２、意図解析部４３、応答生成部４４、特定部４５、および修正部４６を有する。
【００６９】
受付部４１は、発話を受付ける。例えば、受付部４１は、利用者端末１００から利用者Ｕの発話の音声データを受付ける。
【００７０】
音声認識部４２は、利用者Ｕの発話から発話のテキストデータを生成する音声認識処理を実行する。例えば、音声認識部４２は、発話の音声データが受け付けられた場合は、対話モデルデータベース３１から音声認識モデルを読出し、読み出した音声認識モデルを用いて、発話の音声データから発話のテキストデータを生成する。
【００７１】
意図解析部４３は、音声認識モデルの処理結果を用いて、発話の意図を解析する意図解析処理を実行する。例えば、意図解析部４３は、発話のテキストデータが生成された場合は、対話モデルデータベース３１からドメイン分類モデルを読出し、読み出したドメイン分類モデルを用いて、発話のテキストデータから発話が属するドメインを推定する。続いて、意図解析部４３は、推定したドメインと対応する意図解析モデルを、対話モデルデータベース３１から読み出す。そして、意図解析部４３は、読み出した意図解析モデルを用いて、発話のテキストデータから発話の意図を解析する。より具体的には、意図解析部４３は、発話のテキストデータから利用者Ｕの発話の意図を示すパラメータを生成する。
【００７２】
応答生成部４４は、意図解析モデルの処理結果を用いて、発話に対する応答を生成する。例えば、応答生成部４４は、発話の意図を示すパラメータが生成された場合は、対話モデルデータベース３１から応答生成モデルを読み出す。そして、応答生成部４４は、意図解析部４３によって生成されたパラメータから、応答生成モデルを用いて、応答を生成する。例えば、応答生成部４４は、パラメータから利用者Ｕが所望する情報の種別や、その情報を取得するための情報等を特定し、外部サーバ２００等から対応する情報を取得する。そして、応答生成部４４は、取得した情報を用いて、応答となる音声データを生成し、生成した音声データを利用者端末１００へと送信する。
【００７３】
特定部４５は、利用者Ｕの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Ｕの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。より具体的には、特定部４５は、利用者Ｕの発話＃１に対する応答＃１が出力された後で、利用者Ｕから受けつけた発話＃２に基づいて、応答＃１に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する１つまたは複数の処理を修正対象として特定する。
【００７４】
すなわち、特定部４５は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された応答に対する利用者Ｕの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。例えば、特定部４５は、発話の音声認識を行う処理と、音声認識の結果から発話の意図を解析する処理と、意図の解析結果から発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する。
【００７５】
例えば、特定部４５は、発話＃２を受付けた場合は、誤り分類モデル３２を用いて、発話＃２の前に出力した応答＃１に誤りが含まれるか否かや誤りの種別を推定する。より具体的には、特定部４５は、誤り分類モデル３２を用いて、各種別の誤りが含まれる確度をそれぞれ算出する。そして、特定部４５は、ある種別の誤りが含まれる確度の値が所定の閾値を超えた場合は、その種別と対応する処理を修正対象とする。例えば、特定部４５は、誤りが含まれると推定される応答と、その応答に前後して利用者Ｕから受付けた発話とを学習データとし、学習データと、確度の値が所定の閾値を超えた誤りの種別（すなわち、「分類種別」）と、を対応付けて学習データデータベース３３に登録する。
【００７６】
なお、特定部４５は、利用者Ｕの発話と発話に対する応答とその応答に対する利用者Ｕの新たな発話とを用いて応答に含まれる誤りの種別を学習した誤り分類モデル３２を用いて、複数の処理のうち修正対象となる処理を特定してもよい。このような誤り分類モデル３２を用いる場合、特定部４５は、例えば、利用者Ｕの発話と、発話に対する応答と、その応答に対する利用者Ｕの新たな発話とを誤り分類モデル３２に入力することで、応答に含まれる誤りの種別を推定することとなる。
【００７７】
例えば、図５は、実施形態に係る情報提供装置が誤りを分類する処理の一例を示す図である。例えば、特定部４５は、（発話＃１、応答＃１、発話＃２）等といったトリプルと、トリプルの応答＃１に含まれる誤りの種別とを学習した誤り分類モデル３２を用いる場合、トリプルを誤り分類モデル３２に入力することで、応答に含まれる誤りの種別を推定する。
【００７８】
例えば、特定部４５は、（１番高い山は？、エベレスト、１番低い山は？）といったトリプル＃１を誤り分類モデル３２に入力する。このようなトリプル＃１では、利用者Ｕとの対話が円滑に進んでおり、「エベレスト」といった応答に誤りが含まれていないと考えられる。このような場合、誤り分類モデル３２は、各種別の誤りが含まれる確度として、所定の閾値よりも低い値を算出する。この結果、特定部４５は、トリプル＃１を正解データに分類する。
【００７９】
また、特定部４５は、（１番高い山は？、エベレスト、ありがとう）といったトリプル＃２を誤り分類モデル３２に入力する。このようなトリプル＃２でも、利用者Ｕとの対話が円滑に進んでおり、「エベレスト」といった応答に誤りが含まれていないと考えられるため、誤り分類モデル３２は、各種別の誤りが含まれる確度として、所定の閾値よりも低い値を算出する。この結果、特定部４５は、トリプル＃２を正解データに分類する。
【００８０】
また、特定部４５は、（１番鷹、はい。、１番高い山は？）といったトリプル＃３や、（１番鷹、はい。、ちゃんと認識して）といったトリプル＃４を誤り分類モデル３２に入力する。このようなトリプル＃３では、「一番高い山は？」という発話が「一番鷹」と認識してしまう音声認識誤りが生じており、発話＃２において利用者Ｕが本来の発話＃１を言い直したものと推定される。また、トリプル＃４には、利用者Ｕが「ちゃんと認識して」等といった音声認識誤りを示唆する発言が含まれる。このような場合、誤り分類モデル３２は、音声認識誤りが含まれる確度として、所定の閾値よりも高い値を算出する。この結果、特定部４５は、トリプル＃３やトリプル＃４を音声認識誤りの学習データ（すなわち、不正解データ）に分類する。
【００８１】
また、特定部４５は、（１番高い山は？、スカイツリー、違うでしょ）といったトリプル＃５を誤り分類モデル３２に入力する。このようなトリプル＃５では、「山」を「建造物」と混同してしまうといった意図解析誤りが生じており、「違うでしょ」等といった意図解析誤りを示唆する発言が含まれる。このような場合、誤り分類モデル３２は、意図解析誤りが含まれる確度として、所定の閾値よりも高い値を算出する。この結果、特定部４５は、トリプル＃５を意図解析誤りの学習データに分類する。
【００８２】
また、特定部４５は、（１番高い山は？、エベレスト、日本で１番高い山）といったトリプル＃６を誤り分類モデル３２に入力する。このようなトリプル＃６では、目立った誤りが存在しないものの、利用者Ｕが発話＃２において、発話＃１よりも詳細な情報を入力しており、発話が不十分であったことが示唆される。このような場合、誤り分類モデル３２は、発話が不十分であった旨の確度として、所定の閾値よりも高い値を算出する。この結果、特定部４５は、トリプル＃６を発話不十分の学習データに分類する。
【００８３】
なお、特定部４５は、利用者Ｕの発話と、利用者Ｕの属性とに基づいて、修正対象となる処理を特定してもよい。例えば、特定部４５は、利用者Ｕの発話と、利用者Ｕの属性と、誤りの種別との間の関係性を学習した誤り分類モデル３２を用いて、応答に含まれる誤りの種別を推定してもよい。
【００８４】
図２に戻り、説明を続ける。修正部４６は、特定部４５により特定された処理の内容を修正する。より具体的には、修正部４６は、応答に対する利用者の発話に基づいて特定された処理の内容を修正する。例えば、修正部４６は、特定された処理に用いるモデルを再学習する。
【００８５】
例えば、修正部４６は、所定のタイミングで、学習データデータベース３３を参照し、学習データと、学習データと対応付けられた分類種別との組を読み出す。続いて、修正部４６は、読み出した分類種別と対応する処理に用いられるモデルを対話モデルデータベース３１から読み出す。そして、修正部４６は、読み出した学習データを用いて、読み出したモデルの再学習を実行する。
【００８６】
例えば、修正部４６は、学習データと対応付けられた分類種別が「音声認識」であった場合は、音声認識モデルを読出し、学習データと対応付けられた分類種別が「意図解析」であった場合は、意図解析モデルを読出し、学習データと対応付けられた分類種別が「発話不十分」であった場合は、応答生成モデルを読出す。そして、修正部４６は、学習データを不正解データとして、読み出したモデルの再学習を行う。
【００８７】
なお、修正部４６は、学習データと対応付けられた分類種別が「意図解析」であった場合は、各ドメインに対応する意図解析モデルのうち、学習データに含まれる発話＃１を分類したドメインと対応する意図解析モデルを再学習の対象としてもよい。また、修正部４６は、学習データと対応付けられた分類種別が「意図解析」であった場合は、ドメイン分類モデルと、意図解析モデルとを同時に再学習してもよい。
【００８８】
〔３．情報提供装置が実行する処理の流れの一例〕
続いて、図６を用いて、情報提供装置１０が実行する処理の流れの一例を説明する。図６は、実施形態に係る情報提供装置が実行する修正処理の流れの一例を示すフローチャートである。例えば、情報提供装置１０は、第１発話と、第１発話に対する第１応答と、第１応答に対する第２発話のトリプルを取得する（ステップＳ１０１）。続いて、情報提供装置１０は、トリプルの第１応答に誤りが含まれるか否かを判定する（ステップＳ１０２）。
【００８９】
そして、情報提供装置１０は、第１応答に誤りが含まれると判定した場合は（ステップＳ１０２：Ｙｅｓ）、誤りの内容に応じて誤りを分類する（ステップＳ１０３）。例えば、情報提供装置１０は、第２発話の内容に基づいて、誤りの分類を行う。そして、情報提供装置１０は、トリプルを分類結果に対応する処理を修正するための不正解データとする（ステップＳ１０４）。一方、情報提供装置１０は、応答に誤りが含まれないと判定した場合は（ステップＳ１０２：Ｎｏ）、トリプルを正解データとする（ステップＳ１０５）。そして、情報提供装置１０は、正解データおよび不正解データを用いて、各種処理に用いるモデルを修正し（ステップＳ１０６）、処理を終了する。
【００９０】
〔４．変形例〕
上記では、情報提供装置１０による修正処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０が実行する修正処理のバリエーションについて説明する。
【００９１】
〔４−１．誤り種別の推定について〕
情報提供装置１０は、応答に対する利用者Ｕの発話の内容から、応答に含まれる誤りの種別を推定した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、応答を出力した際の利用者Ｕの表情や、応答に対する利用者Ｕの発話の周波数等に基づいて、応答に誤りが含まれるか否か、応答に含まれる誤りの種別等を推定してもよい。
【００９２】
〔４−２．装置構成〕
記憶部３０に登録された各データベース３１、３３は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０は、利用者Ｕとの対話を行う対話サーバおよび対話サーバが用いるモデルの修正を行う修正サーバとが連携して動作することにより、実現されてもよい。このような場合、対話サーバには、図２に示す受付部４１、音声認識部４２、意図解析部４３、および応答生成部４４が配置され、修正サーバには、特定部４５および修正部４６が配置されていてもよい。
【００９３】
また、情報提供装置１０は、受付部４１が配置されたフロントエンドサーバ、音声認識部４２が配置された音声認識サーバ、意図解析部４３が配置された意図解析サーバ、応答生成部４４が配置された応答生成サーバ、特定部４５が配置された特定サーバ、および修正部４６が配置された修正サーバが連携して動作することにより、実現されてもよい。
【００９４】
〔４−３．適用対象について〕
上述した例では、情報提供装置１０は、利用者の発話に対する応答を生成するための複数の処理を段階的に実行する対話システムにおいて、利用者の応答からどのような種別の誤りが生じたかを特定し、特定した誤りの種別に応じた処理の修正を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、利用者の入力に対する出力を生成する処理であって、入力から段階的に複数の処理が実行させることにより出力を生成する処理であれば、任意の処理について、上述した修正処理を実行してもよい。
【００９５】
例えば、ウェブ検索においては、利用者Ｕが入力した検索クエリから、形態素解析やトークンの特定を行う第１処理、第１処理の結果を用いてウェブ検索を行う第２処理、第２処理の結果得られたウェブコンテンツを利用者Ｕの属性情報等に基づいて並び替える第３処理を実行することで、検索クエリに対応する検索結果を生成する。このような場合に、検索結果を出力した後で利用者Ｕが新たに入力する検索クエリは、前回の検索結果が正しいかったか否か、誤りであった場合には、どのような誤りが生じたかの指標となりえる。例えば、利用者Ｕが新たに入力した検索クエリと、前回入力した検索クエリとの類似性や差異等は、どのような誤りが生じたかの指標となりえる。
【００９６】
そこで、情報提供装置１０は、利用者Ｕが新たに入力した検索クエリから、段階的に実行させる複数の処理のうち誤りが生じた処理、すなわち、処理対象となる処理を特定し、特定した処理の修正を行ってもよい。また、情報提供装置１０は、利用者Ｕが新たに入力した検索クエリと、前回入力した検索クエリとから、処理の修正を行ってもよい。
【００９７】
すなわち、情報提供装置１０は、利用者Ｕが入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者Ｕの反応（例えば、新たな入力情報から推定される利用者Ｕの反応）基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置１０は、特定された処理の内容を修正すればよい。
【００９８】
〔４−４．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００９９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１００】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１０１】
〔４−５．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図７に示すような構成のコンピュータ１０００によって実現される。図７は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０１０２】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【０１０３】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０１０４】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０１０５】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０１０６】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０１０７】
例えば、コンピュータ１０００が情報提供装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【０１０８】
〔５．効果〕
上述したように、情報提供装置１０は、利用者Ｕが入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置１０は、特定された処理の内容を修正する。このため、情報提供装置１０は、複数の処理が段階的に実行されるような処理において、誤りが生じた場合に、効率的な修正を実現できる。
【０１０９】
また、情報提供装置１０は、利用者Ｕの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Ｕの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置１０は、処理の内容を修正する。このため、情報提供装置１０は、複数の処理が段階的に実行されるような処理において、誤りが生じた場合に、効率的な修正を実現できる。
【０１１０】
また、情報提供装置１０は、利用者Ｕの入力情報に基づいて、出力情報に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する１つまたは複数の処理を修正対象として特定する。そして、情報提供装置１０は、出力情報に対する利用者Ｕの入力情報に基づいて、特定された処理の内容を修正する。このため、情報提供装置１０は、誤りが生じたと推定される処理を効率的に修正することができる。
【０１１１】
また、情報提供装置１０は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された出力情報に対する利用者Ｕの入力情報に基づいて、複数の処理のうち修正対象となる処理を特定し、特定された処理に用いるモデルを再学習する。このため、情報提供装置１０は、各処理に用いられるモデルを効率的に修正することができる。
【０１１２】
また、情報提供装置１０は、利用者Ｕの入力情報と、利用者Ｕの属性とに基づいて、修正対象となる処理を特定する。このため、情報提供装置１０は、誤りが生じた処理の推定精度を向上させることができる。
【０１１３】
また、情報提供装置１０は、利用者Ｕの入力情報と、その入力情報に対する出力情報と、その出力情報に対する利用者Ｕの新たな入力情報とを用いて、出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、複数の処理のうち修正対象となる処理を特定する。このため、情報提供装置１０は、誤りが生じた処理を適切に推定することができる。
【０１１４】
また、情報提供装置１０は、利用者Ｕの発話の音声認識を行う処理と、音声認識の結果から発話の意図を解析する処理と、意図の解析結果から発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する。このため、情報提供装置１０は、音声認識処理、意図解析処理、および応答生成処理が段階的に実行されるような応答処理において、効率的な処理の修正を実現できる。
【０１１５】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１１６】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、特定部は、特定手段や特定回路に読み替えることができる。
【符号の説明】
【０１１７】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  対話モデルデータベース
３２  誤り分類モデル
３３  学習データデータベース
４０  制御部
４１  受付部
４２  音声認識部
４３  意図解析部
４４  応答生成部
４５  特定部
４６  修正部
１００  利用者端末
２００  外部サーバ
【図１】
2018156418.tif 000003
【図２】
2018156418.tif 000004
【図３】
2018156418.tif 000005
【図４】
2018156418.tif 000006
【図５】
2018156418.tif 000007
【図６】
2018156418.tif 000008
【図７】
2018156418.tif 000009