特許第6824795号(P6824795)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許6824795修正装置、修正方法および修正プログラム
<>
  • 特許6824795-修正装置、修正方法および修正プログラム 図000002
  • 特許6824795-修正装置、修正方法および修正プログラム 図000003
  • 特許6824795-修正装置、修正方法および修正プログラム 図000004
  • 特許6824795-修正装置、修正方法および修正プログラム 図000005
  • 特許6824795-修正装置、修正方法および修正プログラム 図000006
  • 特許6824795-修正装置、修正方法および修正プログラム 図000007
  • 特許6824795-修正装置、修正方法および修正プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6824795
(24)【登録日】2021年1月15日
(45)【発行日】2021年2月3日
(54)【発明の名称】修正装置、修正方法および修正プログラム
(51)【国際特許分類】
   G06F 40/56 20200101AFI20210121BHJP
   G06F 40/44 20200101ALI20210121BHJP
   G10L 15/10 20060101ALI20210121BHJP
   G10L 15/22 20060101ALI20210121BHJP
【FI】
   G06F40/56
   G06F40/44
   G10L15/10 500T
   G10L15/22 300U
【請求項の数】9
【全頁数】21
(21)【出願番号】特願2017-52980(P2017-52980)
(22)【出願日】2017年3月17日
(65)【公開番号】特開2018-156418(P2018-156418A)
(43)【公開日】2018年10月4日
【審査請求日】2019年3月25日
【前置審査】
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】佐野 峻平
(72)【発明者】
【氏名】鍜治 伸裕
(72)【発明者】
【氏名】颯々野 学
【審査官】 成瀬 博之
(56)【参考文献】
【文献】 特開2000−181482(JP,A)
【文献】 特開2007−264229(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20−40/5856
G10L 15/00−17/26
(57)【特許請求の範囲】
【請求項1】
利用者が入力した入力情報と当該入力情報から複数の処理を段階的に実行することで生成された出力情報と当該出力情報に対する新たな入力情報とを用いて前記出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、利用者が入力した入力情報から生成された出力情報に含まれる誤りの種別を特定し、前記処理のうち特定された種別と対応する処理を修正対象となる処理として特定する特定部と、
前記誤りが含まれる出力情報が出力された際における前記特定部により特定された処理の処理結果を不正解データとして当該処理に用いたモデルを再学習することにより、前記特定部により特定された処理の内容を修正する修正部と
を有することを特徴とする修正装置。
【請求項2】
前記特定部は、前記利用者の発話から複数の処理を段階的に実行することで生成された応答に対する利用者の新たな発話に基づいて、複数の前記処理のうち修正対象となる処理を特定する
ことを特徴とする請求項1に記載の修正装置。
【請求項3】
前記特定部は、前記入力情報に基づいて、前記出力情報に含まれる誤りの種別を推定し、複数の前記処理のうち、推定した種別と対応する1つまたは複数の処理を前記修正対象として特定する
ことを特徴とする請求項1または2に記載の修正装置。
【請求項4】
前記修正部は、前記出力情報に対する前記利用者の新たな入力情報に基づく情報を正解データとして、前記特定部により特定された処理の内容を修正する
ことを特徴とする請求項1〜3のうちいずれか1つに記載の修正装置。
【請求項5】
前記特定部は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された前記出力情報に対する前記利用者の新たな入力情報に基づいて、複数の前記処理のうち修正対象となる処理を特定し、
前記修正部は、前記特定部により特定された処理に用いるモデルを再学習する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の修正装置。
【請求項6】
前記特定部は、前記利用者の入力情報と、当該利用者の属性とに基づいて、前記修正対象となる処理を特定する
ことを特徴とする請求項1〜5のうちいずれか1つに記載の修正装置。
【請求項7】
前記特定部は、前記利用者の発話の音声認識を行う処理と、当該音声認識の結果から当該発話の意図を解析する処理と、当該意図の解析結果から前記発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する
ことを特徴とする請求項1〜6のうちいずれか1つに記載の修正装置。
【請求項8】
修正装置が実行する修正方法であって、
利用者が入力した入力情報と当該入力情報から複数の処理を段階的に実行することで生成された出力情報と当該出力情報に対する新たな入力情報とを用いて前記出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、利用者が入力した入力情報から生成された出力情報に含まれる誤りの種別を特定し、前記処理のうち特定された種別と対応する処理を修正対象となる処理として特定する特定工程と、
前記誤りが含まれる出力情報が出力された際における前記特定工程により特定された処理の処理結果を不正解データとして当該処理に用いたモデルを再学習することにより、前記特定工程により特定された処理の内容を修正する修正工程と
を含むことを特徴とする修正方法。
【請求項9】
利用者が入力した入力情報と当該入力情報から複数の処理を段階的に実行することで生成された出力情報と当該出力情報に対する新たな入力情報とを用いて前記出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、利用者が入力した入力情報から生成された出力情報に含まれる誤りの種別を特定し、前記処理のうち特定された種別と対応する処理を修正対象となる処理として特定する特定手順と、
前記誤りが含まれる出力情報が出力された際における前記特定手順により特定された処理の処理結果を不正解データとして当該処理に用いたモデルを再学習することにより、前記特定手順により特定された処理の内容を修正する修正手順と
を実行するための修正プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、修正装置、修正方法および修正プログラムに関する。
【背景技術】
【0002】
従来、利用者の発話に対して応答を出力する技術が知られている。このような技術の一例として、対話データを学習することにより、対話モデルを生成し、生成した対話モデルを用いて、利用者の発話に対する応答を生成する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−105436号公報
【非特許文献】
【0004】
【非特許文献1】“Characterizing and Predicting Voice Query Reformulation”,Ahmed Hassan Awadallah, Ranjitha Gurunath Kulkarni, Umut Ozertem and Rosie Jones, Microsoft Redmond, WA USA
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、誤りが生じた際に効率的な修正を実現できるとは言えない場合がある。
【0006】
例えば、従来技術においては、対話モデルとして、利用者の発話をテキストに変換する音声認識モデルと、テキストから発話の意図を解析する意図解析モデルと、解析した意図から応答を生成する応答生成モデルとを段階的に用いて応答が生成される。このような従来技術では、応答を生成する際に一部のモデルにおいて誤りが生じた場合にも、誤った応答が生成される。このため、誤った応答を用いて、対話モデル全体を修正した場合には、正しい処理を実行したモデルも修正が行われてしまい、適切な修正を実現できない恐れがある。
【0007】
本願は、上記に鑑みてなされたものであって、誤りが生じた際に効率的な修正を実現することを目的とする。
【課題を解決するための手段】
【0008】
本願に係る修正装置は、利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の前記処理のうち修正対象となる処理を特定する特定部と、前記特定部により特定された処理の内容を修正する修正部とを有することを特徴とする。
【発明の効果】
【0009】
実施形態の一態様によれば、誤りが生じた際に効率的な修正を実現できる。
【図面の簡単な説明】
【0010】
図1図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
図2図2は、実施形態に係る情報提供装置の構成例を示す図である。
図3図3は、実施形態に係る対話モデルデータベースに登録される情報の一例を示す図である。
図4図4は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図5図5は、実施形態に係る情報提供装置が誤りを分類する処理の一例を示す図である。
図6図6は、実施形態に係る情報提供装置が実行する修正処理の流れの一例を示すフローチャートである。
図7図7は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る修正装置、修正方法および修正プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る修正装置、修正方法および修正プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0012】
〔1−1.情報提供装置の概要〕
まず、図1を用いて、修正処理を実行する修正装置の一例である情報提供装置が実行する決定処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。なお、以下の説明では、情報提供装置10が実行する処理として、利用者Uの発話に対する応答を生成する応答生成処理と、応答に対する利用者Uの発話に基づいて、応答生成処理を修正する修正処理との一例について説明する。すなわち、情報提供装置10は、利用者Uとの対話を実現する対話システムである。
【0013】
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図2を参照。)を介して、利用者端末100と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の利用者端末100と通信可能であってよい。
【0014】
利用者端末100は、対話システムで対話を行う利用者Uが使用する情報処理装置であり、PC(Personal Computer)、サーバ装置、スマートデバイスといった情報処理装置により実現される。例えば、利用者端末100は、利用者Uが発話した音声を取得すると、音声データを発話として情報提供装置10へと送信する。なお、利用者端末100は、利用者Uが入力した文字列を発話として情報提供装置10へと送信してもよい。
【0015】
このような場合、情報提供装置10は、音声データを解析してテキスト化する音声認識処理、音声認識処理の結果であるテキストを用いて、利用者Uの発話の意図の解析等といった各種の意図解析を行う意図解析処理、および意図解析処理の結果を用いて応答を生成する応答生成処理を実行し、発話に対する応答を生成する。すなわち、情報提供装置10は、音声認識処理、意図解析処理、および応答生成処理といった段階的に実行させる複数の処理を含む応答処理を実行することで、利用者Uの発話から応答を生成する。なお、情報提供装置10は、テキスト形式の応答を生成してもよく、テキストの読み上げを行った音声データを応答として生成してもよい。そして、情報提供装置10は、応答を利用者端末100へと送信する。この結果、利用者端末100は、応答として生成された各種テキストの読み上げ技術や、音声データの再生を行うことで、利用者Uとの対話を実現する。
【0016】
〔1−2.決定処理について〕
ここで、対話処理においては、利用者Uの発話に対して適切な応答を出力することができない場合、すなわち、誤りとなる応答を出力する場合がある。このような誤りは、応答処理全体として発生するよりも、応答処理に含まれる各処理のいずれかにおいて生じる可能性が高い。
【0017】
例えば、音声認識処理では、音声からテキストを生成する音声認識モデルをもちいて、音声からテキストが生成される。しかしながら、このような音声認識処理では、「一番高い(ichibantakai)」といった発話の音声のうち、最後の「い(i)」の音声を適切に認識できず、「一番鷹(itibantaka)」といった認識を行ってしまう場合がある。このように、音声認識処理で誤りが生じた場合、続く意図解析処理および応答生成処理が、誤った音声認識に基づいて実行されるため、誤りが蓄積し、適切ではない応答を出力する恐れがある。
【0018】
また、音声認識処理が適切に行われたとしても、意図解析処理で誤った意図解析が行われる場合がある。例えば、意図解析処理においては、テキストから発話の意図を解析する意図解析モデルを用いて、利用者Uの発話の意図を解析する場合が多い。しかしながら、このような意図解析においては、学習が不十分である場合等に、誤った意図が解析される恐れがある。例えば、「一番高い山は?」といったテキストには、「一番高い」といった形容詞と「山」といった名詞が含まれるが、意図解析モデルの精度が十分ではない場合、「山」といった名詞の意図が曖昧に解析され、例えば、「一番高い」、「建造物」を聞いていると解析される場合がある。より具体的な例では、意図解析モデルの学習が不十分な結果、「山」の概念と「建造物」の概念とが類似もしくは共通する概念として学習(分類)されていた場合、このような誤りが生じる恐れがある。このような意図解析処理が行われた場合、後述する応答生成処理では、誤った意図解析の結果に基づいて、応答が生成されるので、例えば、「スカイツリー」等といった応答を生成してしまう恐れがある。
【0019】
また、応答生成処理においては、意図解析処理の結果から対応する応答を生成する応答生成モデルを用いて、応答となるテキストが生成される場合がある。例えば、意図解析処理においては、所謂スロットフィリングと呼ばれる技術を用いて、発話の意図が解析される場合がある。このようなスロットフィリングの技術では、応答を生成するための処理ごとに、その処理を実行するために必要な項目が予め対応付けられており、各項目ごとに意図の解析を行う。そして、スロットフィリングの技術では、処理を実行するために必要な全ての項目について、意図の解析が行われた場合は、その処理内容と、解析した全項目の意図を意図解析結果として出力する。
【0020】
例えば、意図解析モデルは、「一番高い山は?」といった音声認識結果を受付けた場合、処理内容「検索」について、形容詞「一番高い」、および名詞「山」を意図解析結果として出力する。この結果、応答生成モデルは、一番高い山の検索を行い、検索結果「エベレスト」を出力する。しかしながら、このような応答は、利用者Uが「日本で一番高い山」の検索を所望していた場合には、誤りとなる。すなわち、意図解析モデルや応答生成モデルの学習が不十分である場合には、利用者Uが表明していない意図を応答に反映させることができず、誤った結果を出力してしまう恐れがある。
【0021】
ここで、応答を出力した際に、利用者Uから受付けた発話の内容に基づいて、応答が正しい応答であったか否かを推定し、正しい応答であったと推定した場合は、応答を正解データとし、誤った応答であったと推定した場合は、応答を不正解データとして各モデルの再学習を行うといった手法が考えられる。しかしながら、このような技術では、実際に誤りが生じた処理のみならず、正しい処理についても、不正解データを用いた学習が行われてしまい、全体としての対話精度が低下してしまう恐れがある。
【0022】
そこで、情報提供装置10は、以下の修正処理を実行する。まず、情報提供装置10は、利用者が入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の処理のうち修正対象となる処理を特定する。。そして、情報提供装置10は、特定された処理の内容を修正する。
【0023】
例えば、情報提供装置10は、応答に対する利用者Uの反応から、応答が正解であった否かを判定するとともに、誤りであったと判定した場合は、利用者Uの反応から、応答処理として段階的に実行される各処理のうち、どの処理で誤りが生じたかを特定する。そして、情報提供装置10は、特定した処理の修正を行う。例えば、情報提供装置10は、誤りであると判定した応答と、その応答の前に受け付けた利用者Uの発話とを不正解ペアとして、特定した処理において使用されるモデルの再学習を行う。
【0024】
このように、情報提供装置10は、生成処理全体ではなく、生成処理として段階的に実行される処理のうち、誤りが生じた処理のみについて、修正を行うので、生成処理全体としての処理精度を低下させることなく、誤りの修正を行うことができるので、効率的な修正を行うことができる。
【0025】
〔1−3.決定処理の一例について〕
次に、図1を用いて、情報提供装置10が実行する決定処理の一例について説明する。まず、情報提供装置10は、利用者端末100から発話#1を受付ける(ステップS1)。このような場合、情報提供装置10は、発話から応答を生成する応答処理を実行する(ステップS2)。
【0026】
例えば、情報提供装置10は、発話の音声データを受付けると、発話のテキストを生成する音声認識モデルを用いて、音声データからテキストを生成する音声認識処理を実行する。また、情報提供装置10は、音声認識処理の結果であるテキストの入力を受付けると、テキストから利用者Uの発話の意図を解析し、解析結果となるパラメータを出力する意図解析モデルを用いて、発話#1の意図を解析する意図解析処理を実行する。また、情報提供装置10は意図解析処理の結果となるパラメータから応答内容を生成する応答生成モデルを用いて、発話#1に対する応答#1を生成する応答生成処理を実行する。なお、このような音声認識モデル、意図解析モデルおよび応答生成モデルは、例えば、SVM(Support Vector Machine)やDNN(Deep Neural Network)等、任意の学習器又は分類器等のモデルにより実現される。そして、情報提供装置10は、生成した応答#1を利用者端末100に出力する(ステップS3)。
【0027】
ここで、情報提供装置10は、利用者端末100から、応答#1に続く発話#2を受付ける(ステップS4)。このような発話#2の内容は、利用者Uが応答#1の内容に満足しているか否か、発話#1の内容を誤って解析していたか否か等、応答#1に誤りがあったか、どのような誤りがあったかを判断するための指標となりうる。そこで、情報提供装置10は、発話#2の内容から、応答#1に誤りが含まれるか否かを判定し、誤りが含まれると推定される場合は、誤りの内容を分類し、分類結果に応じた処理におけるモデルの修正を行う(ステップS5)。
【0028】
例えば、情報提供装置10は、発話#2から、音声認識処理、意図解析処理、および応答生成処理を段階的に実行することで、発話#2に対する応答#2を生成する。このような応答処理とともに、情報提供装置10は、発話#2の音声認識処理の結果となるテキストを取得し、取得したテキストから誤りの種別を分類する分類処理を実行する。より具体的には、情報提供装置10は、発話の音声認識を行う音声認識処理と、音声認識の結果から発話の意図を解析する意図解析処理と、意図解析処理の結果から発話に対する応答を生成する応答生成処理とのうち、修正対象となる処理を特定する。
【0029】
例えば、情報提供装置10は、応答に含まれる誤りの種別を学習した誤り分類モデルを用いて、発話#2のテキストから応答#1に含まれる誤りの分類を行う。このような誤り分類モデルは、例えば、ある発話の特徴と、その発話に対する応答の特徴と、その応答に含まれる誤りの種別の特徴との間の共起性を学習したDNN等により実現される。なお、誤り分類モデルは、ある発話の特徴と、その発話に対する応答の特徴とから、その応答に含まれる誤りの種別を分類するように学習が行われた分類器であってもよい。すなわち、情報提供装置10は、ある発話と、その発話に対する応答とから、その応答に含まれる誤りの種別を推定することができるモデルを誤り分類モデルとして用いるのであれば、任意の学習が行われたモデルを採用してよい。
【0030】
また、情報提供装置10は、音声認識処理の結果ではなく、発話#2の音声データと、応答#1とから直接誤りの分類を行ってもよい。例えば、情報提供装置10は、音声データと、その音声データに含まれる発話の内容や音声特有の各種情報に基づいて付与されたラベルであって、どのような誤りを示すかを示すラベルとの間の関係を学習した誤り分類モデルを用いて、発話#2の音声データから、応答#1に含まれる誤りの種別の分類を行ってもよい(例えば、非特許文献1を参照。)。
【0031】
ここで、情報提供装置10は、誤りの具体的な種別を特定する必要はない。例えば、情報提供装置10は、誤りが、音声認識処理において生じたものであるか、意図解析処理において生じたものであるか、応答生成処理において生じたものであるかを分類できるのであれば、任意の分類を行ってよい。すなわち、情報提供装置10は、段階的に実行させる複数の処理のうち、どの処理に起因する誤りであるかを分類することができるのであれば、任意の態様で、誤りの分類を行ってよい。
【0032】
そして、情報提供装置10は、誤りの分類結果に応じた処理の修正を行う。例えば、情報提供装置10は、応答#1に含まれる誤りの種別が、音声認識誤り等、音声認識処理に起因するものである場合は、音声認識処理の修正を行う。例えば、情報提供装置10は、応答#1を生成する際に音声認識モデルに入力した音声データ、すなわち、発話#1の音声データと、応答#1を生成する際に音声認識モデルが出力したテキストとを不正解ペアとして、音声認識モデルの再学習を行う。
【0033】
また、例えば、情報提供装置10は、応答#1に含まれる誤りの種別が、意図解析の誤りである場合等、意図解析処理に起因するものである場合は、意図解析処理の修正を行う。例えば、情報提供装置10は、応答#1を生成する際に音声認識モデルが出力したテキスト、すなわち、発話#1のテキストと、応答#1を生成する際に意図解析モデルが出力したパラメータとを不正解ペアとして、音声認識モデルの再学習を行う。
【0034】
また、例えば、情報提供装置10は、応答#1に含まれる誤りの種別が、発話意図の解析不足等、応答生成処理に起因するものである場合は、応答生成処理の修正を行う。例えば、情報提供装置10は、応答#1を生成する際に意図解析モデルが出力したパラメータ、すなわち、発話#1の意図を示すパラメータと、応答生成モデルが出力した応答#1とを不正解ペアとして、応答生成モデルの再学習を行う。
【0035】
このように、情報提供装置10は、利用者Uの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Uの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。例えば、情報提供装置10は、利用者Uの発話に基づいて、応答に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する処理を修正対象として特定する。
【0036】
そして、情報提供装置10は、特定した処理の内容を修正する。例えば、情報提供装置10は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された応答に対する利用者Uの発話に基づいて、複数の処理のうち修正対象となる処理を特定し、特定された処理に用いるモデルを再学習する。
【0037】
この結果、情報提供装置10は、段階的に実行される複数の処理のうち、実際に誤りが生じたと推定される処理のモデルのみを再学習することとなる。この結果、情報提供装置10は、正しい処理を行ったモデルをそのままに、誤りが生じたモデルのみの修正を実現することができるので、複数の処理全体の精度を悪化させずに、処理の効率的な修正を実現できる。また、情報提供装置10は、誤りが生じたモデルのみを修正することとなるので、再学習等といった修正に伴う処理コストや時間を削減することができる。
【0038】
〔1−4.修正のバリエーションについて〕
上述した例では、情報提供装置10は、誤りの種別に対応する処理のモデルを修正した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、誤りの種別に対応する複数の処理を特定し、特定した処理の修正を行ってもよい。
【0039】
例えば、情報提供装置10は、音声認識処理、意図解析処理、および応答生成処理において誤りが生じた確度をそれぞれ算出する誤り分類モデルを用いて、利用者Uの発話#2から、応答#1の生成において音声認識処理、意図解析処理、および応答生成処理において誤りが生じた確度をそれぞれ算出する。そして、情報提供装置10は、各処理のうち、誤り分類モデルが算出した確度が所定の閾値を超える処理を特定する。例えば、情報提供装置10は、意図解析処理と応答生成処理とに誤りが生じた確度が所定の閾値を超える場合は、意図解析処理と応答生成処理とを修正対象とする。
【0040】
そして、情報提供装置10は、意図解析処理と応答生成処理との修正を行う。例えば、情報提供装置10は、応答#1を生成した際に意図解析モデルが出力したパラメータを不正解データとして意図解析モデルの再学習を行い、応答#1を不正解データとして応答生成モデルの再学習を行ってもよい。また、例えば、情報提供装置10は、応答#1を生成した際に音声認識処理が出力したテキストと応答#1とを不正解ペアとして、意図解析モデルおよび応答生成モデルを合わせて再学習してもよい。
【0041】
ここで、情報提供装置10は、任意の手法により、所定の修正を行ってよい。例えば、情報提供装置10は、誤りが生じたと分類された処理において用いるモデルが前回出力したデータを不正解データとする教師あり学習を実行してもよい。また、情報提供装置10は、利用者Uとの対話を通じてモデルの再学習を行ってもよい。すなわち、情報提供装置10は、強化学習によるモデルの再学習を行ってもよい。
【0042】
例えば、情報提供装置10は、ある処理について誤りが生じた確度が所定の閾値よりも高い場合は、負の報酬を設定し、確度が所定の閾値よりも低い場合は、正の報酬を設定する。そして、情報提供装置10は、モデルに前回入力したデータを強化学習におけるコントローラの状態観測の結果とし、モデルが前回出力したデータを強化学習におけるコントローラの行動とし、利用者Uが前回出力した応答に満足しているか否かに基づく報酬をコントローラに対して設定することで、各モデルの強化学習を個別に進めてもよい。すなわち、情報提供装置10は、誤りの分類結果から、学習対象となる処理を特定し、特定した処理において用いられるモデルの強化学習を実行してもよい。
【0043】
また、情報提供装置10は、誤りが生じた確度に基づいて、学習手法を変更してもよい。例えば、情報提供装置10は、ある処理について誤りが生じた確度が第1の閾値以上、第2の閾値未満となる場合は、その処理において用いるモデルが前回出力したデータを不正解データとする教師あり学習を実行し、第2の閾値以上となる場合は、利用者Uとの対話を通じて学習を行う、所謂強化学習を実行してもよい。
【0044】
また、情報提供装置10は、正解データを用いたモデルの再学習を行ってもよい。例えば、情報提供装置10は、誤りが含まれないと判定した場合や、誤り分類モデルによって、全ての処理において誤りが生じた確度が所定の閾値よりも低い場合は、前回各モデルが出力したデータを正解データとして、各モデルの教師あり学習や強化学習を実行してもよい。
【0045】
〔1−5.分類のバリエーションについて〕
ここで、情報提供装置10は、応答に含まれる誤りの種別を分類することができるのであれば、応答や発話のみならず、他の情報に基づいて、誤りの種別を分類してもよい。例えば、利用者によっては、音声認識がし辛い、発話が不十分になりやすいといった対話態様が考えられる。そこで、情報提供装置10は、利用者Uの発話と、利用者Uの属性とに基づいて、誤りの分類を行い、分類結果に対応する処理を修正対象として特定してもよい。
【0046】
例えば、情報提供装置10は、利用者Uのデモグラフィック属性やサイコグラフィック属性の特徴と、誤りが含まれる応答に対する利用者Uの発話の特徴と、誤りが生じた処理とを関係性や共起性を学習した誤り分類モデルを学習する。そして、情報提供装置10は、利用者Uのデモグラフィック属性やサイコグラフィック属性の特徴と、利用者Uの発話とに基づいて、誤りが生じた処理の推定を行ってもよい。
【0047】
〔1−6.ドメインの考慮について〕
ここで、情報提供装置10は、意図解析処理として、発話が属する分野(すなわち、ドメイン)を推定し、推定したドメインごとに異なる意図解析モデルを用いて、発話の意図を解析する場合がある。例えば、情報提供装置10は、発話がドメイン「雑談」に属するか、ドメイン「天気予報」に属するか、ドメイン「経路案内」に属するか等、発話が属するドメインを推定し、推定したドメインの意図解析モデルを用いて、発話の意図を解析する場合がある。
【0048】
このような場合、情報提供装置10は、意図解析モデルのうち、応答の生成に用いたモデルの修正を行えばよい。例えば、情報提供装置10は、意図解析処理において、発話#1が属するドメインを、ドメイン分類モデルを用いて分類し、分類結果と対応する意図解析モデル(例えば、意図解析モデル#1)を用いて、発話#1の意図を解析する。このような場合において、情報提供装置10は、応答#1に意図の解析誤りに起因する誤りが含まれると推定した場合は、意図解析モデル#1の再学習を行えばよい。また、情報提供装置10は、ドメイン分類モデルと意図解析モデル#1との両方を、それぞれ個別に再学習してもよい。また、情報提供装置10は、ドメインの分類に誤りが生じたと推定可能な場合は、ドメイン分類モデルのみの再学習を行ってもよい。
【0049】
また、情報提供装置10は、応答生成モデルをドメインごとに準備し、発話が属するドメインと対応する応答生成モデルを用いて、応答を生成する場合がある。このような場合にも、情報提供装置10は、応答を生成した際に用いた応答生成モデルの再学習を行えばよい。また、情報提供装置10は、例えば、発話#1を分類したドメインに対応する意図解析モデルおよび応答生成モデルを、同時に再学習してもよい。
【0050】
〔1−7.誤り分類モデルについて〕
ここで、情報提供装置10は、利用者Uの発話から前回の応答に含まれる誤りの種別や、誤りが生じた処理を推定することができるのであれば、任意の学習手法により学習が行われた誤り分類モデルを用いてもよい。例えば、情報提供装置10は、利用者Uの発話と、その発話に対する応答と、その応答に対する利用者Uの新たな発話とを含む三つ組みのデータ(すなわち、トリプル)と、その応答に含まれる誤りの種別との間の関係を学習した誤り分類モデルを用いて、修正対象となる処理の特定を行ってもよい。
【0051】
例えば、情報提供装置10は、利用者Uとの対話を通じて、上述したトリプルを取得し、取得したトリプルの応答に誤りが含まれるか否かを判定する。例えば、情報提供装置10は、(発話#1、応答#1、発話#2)といったトリプルを取得した場合、発話#2の内容に基づいて、利用者Uが応答#1に満足しているか否かを推定する。すなわち、情報提供装置10は、利用者Uの発話#1に対する応答#1への利用者Uの反応から、利用者Uが応答#1に満足しているか否かを推定する。
【0052】
そして、情報提供装置10は、利用者Uが応答#1に満足していないと判定した場合は、トリプルを所定の管理者等に提供し、応答に含まれると推定される誤りの種別を示すラベルを取得する。なお、このようなラベルは、既に誤りの特徴を学習したモデルにより付与されてもよく、クラウドソーシング等により収集されてもよい。そして、情報提供装置10は、トリプルと、ラベルが示す誤りの種別との間の関係性を誤り分類モデルに学習させる。そして、情報提供装置10は、対話処理において取得される(発話#1、応答#1、発話#2)といったトリプルを誤り分類モデルに入力することで、応答#1に含まれる誤りの種別を推定してもよい。
【0053】
なお、情報提供装置10は、誤り分類モデルを任意の学習手法により学習させてよい。例えば、情報提供装置10は、トリプルとラベルとの間の関係性を教師あり学習により学習させてもよく、利用者Uとの対話を通じた強化学習により学習させてもよい。例えば、情報提供装置10は、利用者Uの発話内容の変遷に基づいて、利用者Uの満足度が低下したか否か、若しくは、応答の精度が低下したか否かを推定する。そして、情報提供装置10は、利用者Uの満足度が低下した、若しくは、応答の精度が低下したと推定された場合は、誤り分類モデルの強化学習における報酬の値を負値とすることで、誤り分類モデルの強化学習を実現してもよい。
【0054】
〔1−8.利用者への問合せ〕
また、情報提供装置10は、誤りが生じた処理の推定結果を適時利用者Uに開示することで、推定結果が正しいか否かの確認を行うことで、誤り分類モデルの学習に必要なデータを対話的に取得してもよい。例えば、情報提供装置10は、利用者Uの発話から、応答に誤りが含まれる確度、および、各処理において誤りが生じた確度を推定する。そして、情報提供装置10は、応答に誤りが含まれる確度が所定の閾値よりも高いにも関わらず、各処理において誤りが生じた確度が所定の閾値よりも低い場合は、「どのような誤りがありましたか?」等といった誤りの種別を問い合わせる応答を出力する。
【0055】
また、情報提供装置10は、問合せに対する利用者Uの応答を解析することで、どの処理に誤りが生じたかを推定し、推定結果に基づいて、処理の修正を行う。なお、情報提供装置10は、問合せの結果を用いて、誤り分類モデルの再学習を行ってもよい。例えば、情報提供装置10は、問合せの結果から推定した誤りの種別を正解データとして、誤り分類モデルの再学習を行ってもよい。
【0056】
〔1−9.処理の内容について〕
ここで、上述した例では、情報提供装置10は、音声認識処理、意図解析処理、および応答生成処理が段階的に行われる応答処理において、誤りが生じた処理を特定し、特定した処理の修正を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、このような3段階の処理が行われる応答処理以外にも、任意の数の複数の処理が段階的に行われる応答処理において、誤りが生じた処理を特定し、特定した処理の修正を行ってよい。
【0057】
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0058】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100や外部サーバ200との間で情報の送受信を行う。
【0059】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、対話モデルデータベース31、誤り分類モデル32、および学習データデータベース33を記憶する。
【0060】
対話モデルデータベース31には、応答処理に用いられる各種のモデル、すなわち、段階的に使用される複数のモデルが対話モデルとして登録される。例えば、図3は、実施形態に係る対話モデルデータベースに登録される情報の一例を示す図である。図3に示すように、対話モデルデータベース31には、「モデル種別」、「モデルID(Identifier)」、「ドメイン」、および「モデルデータ」といった項目を有する情報が登録される。
【0061】
ここで、「モデル種別」とは、モデルの種別を示す情報であり、どの処理に用いられるかを示す情報である。また、「モデルID」とは、モデルの識別子である。また、「ドメイン」とは、対応付けられた「モデルID」が示すモデルと対応するドメインを示す情報である。また、「モデルデータ」とは、対応付けられた「モデルID」が示すモデルを構成する各種パラメータ等のデータである。
【0062】
例えば、図3に示す例では、モデル種別「音声認識モデル」、モデルID「SIM#1」、ドメイン「ALL」、およびモデルデータ「データ#1」が対応付けて登録される。このような情報は、モデルID「SIM#1」が示すモデルのモデル種別が「音声認識モデル」であり、対応するドメインが「ALL」(すなわち、全てのドメイン)であり、モデルデータが「データ#1」である旨を示す。なお、図3に示す例では、「ドメイン#1」、「データ#1」といった概念的な値について記載したが、実際には、対話モデルデータベース31には、各モデルと対応するドメインの識別子、およびパラメータ等のデータが登録されることとなる。
【0063】
図2に戻り、説明を続ける。誤り分類モデル32は、応答に含まれる誤りの分類を行うモデル、すなわち、誤り分類モデル32のデータである。例えば、記憶部30は、誤り分類モデル32の各種パラメータ等を記憶する。
【0064】
学習データデータベース33には、各対話モデルの再学習に用いられるデータが登録される。例えば、図4は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図4に示す例では、学習データデータベース33には、「学習データID」、「分類種別」、および「学習データ」が対応付けて登録される。
【0065】
ここで、「学習データID」とは、学習データを識別する情報である。また、「分類種別」は、対応付けられた「学習データID」が示す学習データが、どのような種別の学習データであるかを示す情報である。また、「学習データ」とは、対応付けられた「学習データID」が示す学習データであり、例えば、上述したトリプルである。
【0066】
例えば、学習データデータベース33には、「分類種別」として、学習データが正解データである旨を示す「正解」、学習データが意図解析に誤りがあったと推定されたトリプルである旨を示す「意図解析」、学習データが音声認識に誤りがあったと推定されたトリプルである旨を示す「音声認識」、学習データが発話不十分であったと推定されたトリプルである旨を示す「発話不十分」等といった情報が登録される。
【0067】
また、学習データデータベース33には、学習データID「ID#1」、分類種別「正解」、および学習データ「学習データ#1」といった情報が対応付けて登録される。このような情報は、学習データID「ID#1」が示す学習データが「学習データ#1」であり、分類種別が「正解」である旨を示す。なお、図4に示す例では、「学習データ#1」などといった概念的な値を記載したが、実際には、利用者Uの発話と、発話に対して生成した応答と、その応答に対する利用者Uの新たな発話とがトリプルとして登録される。
【0068】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。図2に示すように、制御部40は、受付部41、音声認識部42、意図解析部43、応答生成部44、特定部45、および修正部46を有する。
【0069】
受付部41は、発話を受付ける。例えば、受付部41は、利用者端末100から利用者Uの発話の音声データを受付ける。
【0070】
音声認識部42は、利用者Uの発話から発話のテキストデータを生成する音声認識処理を実行する。例えば、音声認識部42は、発話の音声データが受け付けられた場合は、対話モデルデータベース31から音声認識モデルを読出し、読み出した音声認識モデルを用いて、発話の音声データから発話のテキストデータを生成する。
【0071】
意図解析部43は、音声認識モデルの処理結果を用いて、発話の意図を解析する意図解析処理を実行する。例えば、意図解析部43は、発話のテキストデータが生成された場合は、対話モデルデータベース31からドメイン分類モデルを読出し、読み出したドメイン分類モデルを用いて、発話のテキストデータから発話が属するドメインを推定する。続いて、意図解析部43は、推定したドメインと対応する意図解析モデルを、対話モデルデータベース31から読み出す。そして、意図解析部43は、読み出した意図解析モデルを用いて、発話のテキストデータから発話の意図を解析する。より具体的には、意図解析部43は、発話のテキストデータから利用者Uの発話の意図を示すパラメータを生成する。
【0072】
応答生成部44は、意図解析モデルの処理結果を用いて、発話に対する応答を生成する。例えば、応答生成部44は、発話の意図を示すパラメータが生成された場合は、対話モデルデータベース31から応答生成モデルを読み出す。そして、応答生成部44は、意図解析部43によって生成されたパラメータから、応答生成モデルを用いて、応答を生成する。例えば、応答生成部44は、パラメータから利用者Uが所望する情報の種別や、その情報を取得するための情報等を特定し、外部サーバ200等から対応する情報を取得する。そして、応答生成部44は、取得した情報を用いて、応答となる音声データを生成し、生成した音声データを利用者端末100へと送信する。
【0073】
特定部45は、利用者Uの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Uの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。より具体的には、特定部45は、利用者Uの発話#1に対する応答#1が出力された後で、利用者Uから受けつけた発話#2に基づいて、応答#1に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する1つまたは複数の処理を修正対象として特定する。
【0074】
すなわち、特定部45は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された応答に対する利用者Uの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。例えば、特定部45は、発話の音声認識を行う処理と、音声認識の結果から発話の意図を解析する処理と、意図の解析結果から発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する。
【0075】
例えば、特定部45は、発話#2を受付けた場合は、誤り分類モデル32を用いて、発話#2の前に出力した応答#1に誤りが含まれるか否かや誤りの種別を推定する。より具体的には、特定部45は、誤り分類モデル32を用いて、各種別の誤りが含まれる確度をそれぞれ算出する。そして、特定部45は、ある種別の誤りが含まれる確度の値が所定の閾値を超えた場合は、その種別と対応する処理を修正対象とする。例えば、特定部45は、誤りが含まれると推定される応答と、その応答に前後して利用者Uから受付けた発話とを学習データとし、学習データと、確度の値が所定の閾値を超えた誤りの種別(すなわち、「分類種別」)と、を対応付けて学習データデータベース33に登録する。
【0076】
なお、特定部45は、利用者Uの発話と発話に対する応答とその応答に対する利用者Uの新たな発話とを用いて応答に含まれる誤りの種別を学習した誤り分類モデル32を用いて、複数の処理のうち修正対象となる処理を特定してもよい。このような誤り分類モデル32を用いる場合、特定部45は、例えば、利用者Uの発話と、発話に対する応答と、その応答に対する利用者Uの新たな発話とを誤り分類モデル32に入力することで、応答に含まれる誤りの種別を推定することとなる。
【0077】
例えば、図5は、実施形態に係る情報提供装置が誤りを分類する処理の一例を示す図である。例えば、特定部45は、(発話#1、応答#1、発話#2)等といったトリプルと、トリプルの応答#1に含まれる誤りの種別とを学習した誤り分類モデル32を用いる場合、トリプルを誤り分類モデル32に入力することで、応答に含まれる誤りの種別を推定する。
【0078】
例えば、特定部45は、(1番高い山は?、エベレスト、1番低い山は?)といったトリプル#1を誤り分類モデル32に入力する。このようなトリプル#1では、利用者Uとの対話が円滑に進んでおり、「エベレスト」といった応答に誤りが含まれていないと考えられる。このような場合、誤り分類モデル32は、各種別の誤りが含まれる確度として、所定の閾値よりも低い値を算出する。この結果、特定部45は、トリプル#1を正解データに分類する。
【0079】
また、特定部45は、(1番高い山は?、エベレスト、ありがとう)といったトリプル#2を誤り分類モデル32に入力する。このようなトリプル#2でも、利用者Uとの対話が円滑に進んでおり、「エベレスト」といった応答に誤りが含まれていないと考えられるため、誤り分類モデル32は、各種別の誤りが含まれる確度として、所定の閾値よりも低い値を算出する。この結果、特定部45は、トリプル#2を正解データに分類する。
【0080】
また、特定部45は、(1番鷹、はい。、1番高い山は?)といったトリプル#3や、(1番鷹、はい。、ちゃんと認識して)といったトリプル#4を誤り分類モデル32に入力する。このようなトリプル#3では、「一番高い山は?」という発話が「一番鷹」と認識してしまう音声認識誤りが生じており、発話#2において利用者Uが本来の発話#1を言い直したものと推定される。また、トリプル#4には、利用者Uが「ちゃんと認識して」等といった音声認識誤りを示唆する発言が含まれる。このような場合、誤り分類モデル32は、音声認識誤りが含まれる確度として、所定の閾値よりも高い値を算出する。この結果、特定部45は、トリプル#3やトリプル#4を音声認識誤りの学習データ(すなわち、不正解データ)に分類する。
【0081】
また、特定部45は、(1番高い山は?、スカイツリー、違うでしょ)といったトリプル#5を誤り分類モデル32に入力する。このようなトリプル#5では、「山」を「建造物」と混同してしまうといった意図解析誤りが生じており、「違うでしょ」等といった意図解析誤りを示唆する発言が含まれる。このような場合、誤り分類モデル32は、意図解析誤りが含まれる確度として、所定の閾値よりも高い値を算出する。この結果、特定部45は、トリプル#5を意図解析誤りの学習データに分類する。
【0082】
また、特定部45は、(1番高い山は?、エベレスト、日本で1番高い山)といったトリプル#6を誤り分類モデル32に入力する。このようなトリプル#6では、目立った誤りが存在しないものの、利用者Uが発話#2において、発話#1よりも詳細な情報を入力しており、発話が不十分であったことが示唆される。このような場合、誤り分類モデル32は、発話が不十分であった旨の確度として、所定の閾値よりも高い値を算出する。この結果、特定部45は、トリプル#6を発話不十分の学習データに分類する。
【0083】
なお、特定部45は、利用者Uの発話と、利用者Uの属性とに基づいて、修正対象となる処理を特定してもよい。例えば、特定部45は、利用者Uの発話と、利用者Uの属性と、誤りの種別との間の関係性を学習した誤り分類モデル32を用いて、応答に含まれる誤りの種別を推定してもよい。
【0084】
図2に戻り、説明を続ける。修正部46は、特定部45により特定された処理の内容を修正する。より具体的には、修正部46は、応答に対する利用者の発話に基づいて特定された処理の内容を修正する。例えば、修正部46は、特定された処理に用いるモデルを再学習する。
【0085】
例えば、修正部46は、所定のタイミングで、学習データデータベース33を参照し、学習データと、学習データと対応付けられた分類種別との組を読み出す。続いて、修正部46は、読み出した分類種別と対応する処理に用いられるモデルを対話モデルデータベース31から読み出す。そして、修正部46は、読み出した学習データを用いて、読み出したモデルの再学習を実行する。
【0086】
例えば、修正部46は、学習データと対応付けられた分類種別が「音声認識」であった場合は、音声認識モデルを読出し、学習データと対応付けられた分類種別が「意図解析」であった場合は、意図解析モデルを読出し、学習データと対応付けられた分類種別が「発話不十分」であった場合は、応答生成モデルを読出す。そして、修正部46は、学習データを不正解データとして、読み出したモデルの再学習を行う。
【0087】
なお、修正部46は、学習データと対応付けられた分類種別が「意図解析」であった場合は、各ドメインに対応する意図解析モデルのうち、学習データに含まれる発話#1を分類したドメインと対応する意図解析モデルを再学習の対象としてもよい。また、修正部46は、学習データと対応付けられた分類種別が「意図解析」であった場合は、ドメイン分類モデルと、意図解析モデルとを同時に再学習してもよい。
【0088】
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図6を用いて、情報提供装置10が実行する処理の流れの一例を説明する。図6は、実施形態に係る情報提供装置が実行する修正処理の流れの一例を示すフローチャートである。例えば、情報提供装置10は、第1発話と、第1発話に対する第1応答と、第1応答に対する第2発話のトリプルを取得する(ステップS101)。続いて、情報提供装置10は、トリプルの第1応答に誤りが含まれるか否かを判定する(ステップS102)。
【0089】
そして、情報提供装置10は、第1応答に誤りが含まれると判定した場合は(ステップS102:Yes)、誤りの内容に応じて誤りを分類する(ステップS103)。例えば、情報提供装置10は、第2発話の内容に基づいて、誤りの分類を行う。そして、情報提供装置10は、トリプルを分類結果に対応する処理を修正するための不正解データとする(ステップS104)。一方、情報提供装置10は、応答に誤りが含まれないと判定した場合は(ステップS102:No)、トリプルを正解データとする(ステップS105)。そして、情報提供装置10は、正解データおよび不正解データを用いて、各種処理に用いるモデルを修正し(ステップS106)、処理を終了する。
【0090】
〔4.変形例〕
上記では、情報提供装置10による修正処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する修正処理のバリエーションについて説明する。
【0091】
〔4−1.誤り種別の推定について〕
情報提供装置10は、応答に対する利用者Uの発話の内容から、応答に含まれる誤りの種別を推定した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、応答を出力した際の利用者Uの表情や、応答に対する利用者Uの発話の周波数等に基づいて、応答に誤りが含まれるか否か、応答に含まれる誤りの種別等を推定してもよい。
【0092】
〔4−2.装置構成〕
記憶部30に登録された各データベース31、33は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、利用者Uとの対話を行う対話サーバおよび対話サーバが用いるモデルの修正を行う修正サーバとが連携して動作することにより、実現されてもよい。このような場合、対話サーバには、図2に示す受付部41、音声認識部42、意図解析部43、および応答生成部44が配置され、修正サーバには、特定部45および修正部46が配置されていてもよい。
【0093】
また、情報提供装置10は、受付部41が配置されたフロントエンドサーバ、音声認識部42が配置された音声認識サーバ、意図解析部43が配置された意図解析サーバ、応答生成部44が配置された応答生成サーバ、特定部45が配置された特定サーバ、および修正部46が配置された修正サーバが連携して動作することにより、実現されてもよい。
【0094】
〔4−3.適用対象について〕
上述した例では、情報提供装置10は、利用者の発話に対する応答を生成するための複数の処理を段階的に実行する対話システムにおいて、利用者の応答からどのような種別の誤りが生じたかを特定し、特定した誤りの種別に応じた処理の修正を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、利用者の入力に対する出力を生成する処理であって、入力から段階的に複数の処理が実行させることにより出力を生成する処理であれば、任意の処理について、上述した修正処理を実行してもよい。
【0095】
例えば、ウェブ検索においては、利用者Uが入力した検索クエリから、形態素解析やトークンの特定を行う第1処理、第1処理の結果を用いてウェブ検索を行う第2処理、第2処理の結果得られたウェブコンテンツを利用者Uの属性情報等に基づいて並び替える第3処理を実行することで、検索クエリに対応する検索結果を生成する。このような場合に、検索結果を出力した後で利用者Uが新たに入力する検索クエリは、前回の検索結果が正しいかったか否か、誤りであった場合には、どのような誤りが生じたかの指標となりえる。例えば、利用者Uが新たに入力した検索クエリと、前回入力した検索クエリとの類似性や差異等は、どのような誤りが生じたかの指標となりえる。
【0096】
そこで、情報提供装置10は、利用者Uが新たに入力した検索クエリから、段階的に実行させる複数の処理のうち誤りが生じた処理、すなわち、処理対象となる処理を特定し、特定した処理の修正を行ってもよい。また、情報提供装置10は、利用者Uが新たに入力した検索クエリと、前回入力した検索クエリとから、処理の修正を行ってもよい。
【0097】
すなわち、情報提供装置10は、利用者Uが入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者Uの反応(例えば、新たな入力情報から推定される利用者Uの反応)基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置10は、特定された処理の内容を修正すればよい。
【0098】
〔4−4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0099】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0100】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0101】
〔4−5.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図7に示すような構成のコンピュータ1000によって実現される。図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0102】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0103】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0104】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0105】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0106】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0107】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0108】
〔5.効果〕
上述したように、情報提供装置10は、利用者Uが入力した入力情報から複数の処理を段階的に実行することで生成された出力情報に対する利用者の反応に基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置10は、特定された処理の内容を修正する。このため、情報提供装置10は、複数の処理が段階的に実行されるような処理において、誤りが生じた場合に、効率的な修正を実現できる。
【0109】
また、情報提供装置10は、利用者Uの発話から複数の処理を段階的に実行することで生成された応答に対する利用者Uの発話に基づいて、複数の処理のうち修正対象となる処理を特定する。そして、情報提供装置10は、処理の内容を修正する。このため、情報提供装置10は、複数の処理が段階的に実行されるような処理において、誤りが生じた場合に、効率的な修正を実現できる。
【0110】
また、情報提供装置10は、利用者Uの入力情報に基づいて、出力情報に含まれる誤りの種別を推定し、複数の処理のうち、推定した種別と対応する1つまたは複数の処理を修正対象として特定する。そして、情報提供装置10は、出力情報に対する利用者Uの入力情報に基づいて、特定された処理の内容を修正する。このため、情報提供装置10は、誤りが生じたと推定される処理を効率的に修正することができる。
【0111】
また、情報提供装置10は、それぞれ異なるモデルを用いる複数の処理を段階的に実行することで生成された出力情報に対する利用者Uの入力情報に基づいて、複数の処理のうち修正対象となる処理を特定し、特定された処理に用いるモデルを再学習する。このため、情報提供装置10は、各処理に用いられるモデルを効率的に修正することができる。
【0112】
また、情報提供装置10は、利用者Uの入力情報と、利用者Uの属性とに基づいて、修正対象となる処理を特定する。このため、情報提供装置10は、誤りが生じた処理の推定精度を向上させることができる。
【0113】
また、情報提供装置10は、利用者Uの入力情報と、その入力情報に対する出力情報と、その出力情報に対する利用者Uの新たな入力情報とを用いて、出力情報に含まれる誤りの種別を学習した誤り分類モデルを用いて、複数の処理のうち修正対象となる処理を特定する。このため、情報提供装置10は、誤りが生じた処理を適切に推定することができる。
【0114】
また、情報提供装置10は、利用者Uの発話の音声認識を行う処理と、音声認識の結果から発話の意図を解析する処理と、意図の解析結果から発話に対する応答を生成する処理とのうち、修正対象となる処理を特定する。このため、情報提供装置10は、音声認識処理、意図解析処理、および応答生成処理が段階的に実行されるような応答処理において、効率的な処理の修正を実現できる。
【0115】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0116】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、特定部は、特定手段や特定回路に読み替えることができる。
【符号の説明】
【0117】
10 情報提供装置
20 通信部
30 記憶部
31 対話モデルデータベース
32 誤り分類モデル
33 学習データデータベース
40 制御部
41 受付部
42 音声認識部
43 意図解析部
44 応答生成部
45 特定部
46 修正部
100 利用者端末
200 外部サーバ
図1
図2
図3
図4
図5
図6
図7