JP6632764B2 - 意図推定装置及び意図推定方法 - Google Patents

意図推定装置及び意図推定方法 Download PDF

Info

Publication number
JP6632764B2
JP6632764B2 JP2019514140A JP2019514140A JP6632764B2 JP 6632764 B2 JP6632764 B2 JP 6632764B2 JP 2019514140 A JP2019514140 A JP 2019514140A JP 2019514140 A JP2019514140 A JP 2019514140A JP 6632764 B2 JP6632764 B2 JP 6632764B2
Authority
JP
Japan
Prior art keywords
intention
unit
estimation
intentions
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019514140A
Other languages
English (en)
Other versions
JPWO2018229937A1 (ja
Inventor
▲イ▼ 景
▲イ▼ 景
悠介 小路
悠介 小路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018229937A1 publication Critical patent/JPWO2018229937A1/ja
Application granted granted Critical
Publication of JP6632764B2 publication Critical patent/JP6632764B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Description

この発明は、入力された文字列を認識してユーザの意図を推定する意図推定装置及び意図推定方法に関するものである。
従来、ユーザにより発話された音声を音声認識して文字列に変換し、当該文字列から、どのような操作を実行したいのかという使用者の意図を推定する意図推定装置が知られている。1つの発話に複数の意図が含まれる場合(以下、複意図発話ともいう)もあるため、意図推定装置は、複意図発話に対して意図を推定可能であることが求められる。
例えば、非特許文献1に開示されている教師あり学習を用いた方式では、文字列をBag of wordsと呼ばれる形式で表現し、当該Bag of wordsを特徴量として、サポートベクトルマシンまたは対数線形モデル(最大エントロピーモデル)と呼ばれる分類器(意図理解モデル)を学習させ、学習結果を用いて算出される確率値に基づき、意図が推定される。当該方式によれば、例えば、「ラーメン屋と中華料理を検索して。」等、1つの文字列が、「ラーメン屋を検索」という意図と、「中華料理を検索」という意図を含む、並列の構造を持つ場合でも、発話者等の意図が推定される。
高村大也著、「言語処理のための機械学習入門」、第5版、株式会社コロナ社、2010年8月5日、p.99−146
このような、非特許文献1に開示されている意図推定の方式を、1つの発話に複数の意図が含まれ得る場合にも適用する場合、意図毎に別々のモデルを学習し、実行時に各モデルに基づく判定結果を統合することになる。
しかしながら、上述したような、1つの発話に対して、実行時に複数のモデルに基づく判定結果を統合する方式では、発話が1つの意図しか含まない場合(以下、単意図発話ともいう)でも、複数のモデルそれぞれに基づく意図推定を行うため、複数の意図が推定されて出力されることがあり、全体として意図の推定精度が低くなる場合があるという課題があった。
この発明は上記のような課題を解決するためになされたもので、取得した文字列が単意図文字列、複意図文字列のどちらもあり得る場合においても、精度よく意図を推定することができる意図推定装置を提供することを目的とする。
この発明に係る意図推定装置は、取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部と、形態素解析部が解析した形態素に基づき、文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成する係り受け解析部と、係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断する意図数推定部と、意図数推定部が、文字列は単意図文字列であると判断した場合、形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部と、意図数推定部が、文字列は複意図文字列であると判断した場合、形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部と、複合意図推定部が推定した複数の意図を複合意図として統合する推定結果統合部とを備えたものである。
この発明によれば、ユーザの意図を推定する精度を向上することができる。
実施の形態1に係る意図推定装置の構成例を示す図である。 実施の形態1における意図数推定モデルの一例を示す図である。 実施の形態1における単意図推定モデルの一例を示す図である。 実施の形態1における複合意図推定モデルの一例を示す図である。 図5A,図5Bは、実施の形態1に係る意図推定装置のハードウェア構成の一例を示す図である。 実施の形態1の意図数推定モデル生成装置の構成例を示す図である。 実施の形態1において、学習用データ記憶部に記憶されている学習用データの例を示す図である。 実施の形態1において、意図数推定モデル生成装置が意図数推定モデルを生成する処理を説明するためのフローチャートである。 実施の形態1において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。 実施の形態1に係る意図推定装置の動作を説明するためのフローチャートである。 実施の形態1において、図10のステップST1004における、意図数推定部の動作について説明するためのフローチャートである 実施の形態1において、意図数推定部が取得する、各意図数に対する係り受け情報のスコアの一例を示す図である。 実施の形態1において、意図数推定部が最終スコアを算出するために用いる計算式を示す図である。 実施の形態1において、意図数推定部が算出する、各意図数の最終スコアの一例を示す図である。 実施の形態1において、意図数推定部が算出する、各意図数の最終スコアの一例を示す図である。 この実施の形態1において、意図数推定部が、複合意図推定部が推定結果とした、ユーザの意図の判定結果の一例である。 この実施の形態1において、推定結果統合部により統合された意図の統合結果の一例を示す図である。 実施の形態2に係る意図推定装置の構成例を示す図である。 実施の形態2において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。 実施の形態2における意図推定装置の動作を説明するためのフローチャートである。 実施の形態2において、複合意図推定部が判定した、ユーザの意図の判定結果の一例である。 この実施の形態2において、推定結果統合部により統合された意図の統合結果の一例を示す図である。 実施の形態2において、推定結果選択部により生成された最終意図推定結果の内容の一例を示す図である。
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
実施の形態1に係る意図推定装置1は、一例として、車両のドライバ等のユーザに対して経路案内等を行うナビゲーション装置に搭載され、ユーザが発話した発話内容から、ユーザの意図を推定し、当該推定したユーザの意図に応じた操作を、ナビゲーション装置に実行させる制御を行うものとする。意図推定装置1が、ナビゲーション装置と、ネットワーク等を介して接続されるようにしてもよい。
なお、ナビゲーション装置に搭載される例等は一例に過ぎず、実施の形態1に係る意図推定装置1は、ナビゲーション装置のユーザに限らず、ユーザから発話等によって入力された情報を受け付け、当該受け付けた情報に応じた動作を行うあらゆる装置において、当該装置のユーザの意図を推定する意図推定装置に適用できる。
図1は、実施の形態1に係る意図推定装置1の構成例を示す図である。
意図推定装置1は、図1に示すように、音声受付部101と、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定モデル記憶部105と、意図数推定部106と、単意図推定モデル記憶部107と、単意図推定部108と、複合意図推定モデル記憶部109と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114とを備える。
なお、この実施の形態1では、図1に示すように、意図数推定モデル記憶部105、単意図推定モデル記憶部107、及び、複合意図推定モデル記憶部109は、意図推定装置1に備えられるものとするが、これに限らず、意図数推定モデル記憶部105、単意図推定モデル記憶部107、及び、複合意図推定モデル記憶部109は、意図推定装置1の外部の、意図推定装置1が参照可能な場所に備えられるものとしてもよい。
音声受付部101は、ユーザの発話を含む音声を受け付ける。音声受付部101は、受け付けた音声の情報を音声認識部102に出力する。
音声認識部102は、音声受付部101が受け付けた音声に対応する音声データを音声認識した上で文字列に変換する。音声認識部102は、文字列を形態素解析部103に出力する。
形態素解析部103は、音声認識部102から出力された文字列に対して形態素解析を行う。
ここで、形態素解析とは、文字列を、言語として意味を持つ最小単位である形態素に区切り、辞書を利用して品詞を付与する、既存の自然言語処理技術である。例えば、「東京タワーへ行く」という文字列に対して形態素解析が行われると、当該文字列は、「東京タワー/固有名詞、へ/格助詞、行く/動詞」のような形態素に区切られる。
形態素解析部103は、形態素解析結果を、係り受け解析部104及び意図数推定部106に出力する。
係り受け解析部104は、形態素解析部103による形態素解析後の文字列に対して、形態素間の関係性の解析を行い、係り受け情報を生成する。ここで、形態素間の関係性とは、文字列に含まれる形態素の係り受けの関係である。係り受けの関係とは、例えば「動作対象」、「並列関係」等の、形態素間の関係をいう。係り受け解析部104は、係り受けの解析手法として、例えば、Shift−reduce、または、全域木等、既存の解析手法を用いればよい。
係り受け解析部104は、形態素間の関係性の解析結果を、係り受け情報として意図数推定部106に出力する。
意図数推定モデル記憶部105は、意図数推定モデルを記憶する。意図数推定モデルとは、係り受け情報を特徴量として意図数推定を行うためのモデルである。
図2は、実施の形態1における意図数推定モデルの一例を示す図である。
図2に例示した意図数推定モデルにおいては、各意図数と、係り受け情報との関連度がスコアとして記述されている。
この実施の形態1では、係り受け情報は、各形態素間の関係性及びその出現件数が“_”で接続される形で表現されている。
例えば図2のように、「並列関係」の関係にある形態素の組が1つの文字列の中に1回出現している場合には、係り受け情報は、「並列関係_1件」となる。
図2に示された係り受け情報のうち、「動作対象_1件」は、一つの文字列に「動作対象」の関係にある形態素の組が1組しかないことを示すため、意図数も「1」となる場合が多い。したがって、図2に示すように、「動作対象_1件」については、意図数「1件」に対するスコアが、意図数「2件」及び「3件」に対するスコアよりも高くなる。これに対し、「並列関係_1件」及び「動作対象_2件」については、いずれも意図数が2以上になる可能性が高いので、意図数「2件」及び「3件」に対するスコアが、意図数「1件」に対するスコアよりも高くなる。このように、意図数推定モデルでは、意図数と係り受け情報の関連度に応じて、当該関連度が高いほど高いスコアが設定されている。
なお、説明を容易にするため、図2では、意図数について、「1件」、「2件」及び「3件」の三種類のみを示している。
この実施の形態1では、図2に例示したような意図数推定モデルを用いて、統計的な手法で、ユーザの意図数を推定する。
意図数推定部106は、係り受け解析部104から出力された係り受け情報に基づき、意図数推定モデル記憶部105に記憶されている意図数推定モデルを用いて文字列に含まれる意図数を推定する。意図数推定部106による意図数推定の具体的な手法は後述する。
意図数推定部106は、推定した意図数に応じて、音声受付部101が受け付けた音声に基づく文字列が、単意図発話であるか、複意図発話であるかを判断し、当該判断結果に応じて、形態素解析部103が出力した、文字列の形態素解析結果を、単意図推定部108、あるいは、複合意図推定部110に出力する。具体的には、意図数推定部106は、音声受付部101が受け付けた音声に基づく文字列が単意図発話による単意図文字列であると判断した場合は、形態素解析部103が出力した、文字列の形態素解析結果を、単意図推定部108に出力する。また、音声受付部101が受け付けた音声に基づく文字列が複意図発話であると判断した場合は、形態素解析部103が出力した、文字列の形態素解析結果を、複合意図推定部110に出力する。
なお、この実施の形態1では、意図数推定モデルを用いて、統計的な手法で意図数を推定するが、これに限らない。統計的な手法の代わりに、ルールとして係り受け情報と意図数の対応関係を事前に用意し、意図数を推定してもよい。例えば、「文字列の中に、施設名及び施設種類の「並列関係」が1件のみであれば、当文字列が含む意図数を「2」とする。」のようなルールにより意図数を推定することが可能である。
また、後述する、この実施の形態1における意図推定の方式としては、例えば最大エントロピー法が利用できる。単意図推定部と複合意図推定部は、意図推定の際に、統計的手法を利用して、予め大量に収集した形態素と意図の組から、入力された形態素に対応する意図がどれだけ尤もらしいかを推定する。
単意図推定モデル記憶部107は、形態素を特徴量として意図推定を行うための意図推定モデルを記憶する。意図は、「<主意図>[<スロット名>=<スロット値>、・・・]」のような形で表現することができる。ここで、主意図とは、意図の分類または機能を示すものである。ナビゲーション装置の例では、主意図とは、目的地設定、または、音楽を聞く等、ユーザが、例えば入力装置(図示省略)を最初に操作して行った入力に対応して発生する、上位層のコマンドに対応する。
スロット名及びスロット値は、主意図を実行するために必要な情報を示す。例えば、「近くのレストランを検索する」という文字列に含まれる意図は、主意図が「周辺検索」であり、スロット名が「施設種類」であり、スロット値が「レストラン」である。よって、近くのレストランを検索する」という文字列に含まれる意図は、「周辺検索[施設種類=レストラン]」のように表すことができる。
図3は、実施の形態1における単意図推定モデルの一例を示す図である。
図3に示すように、単意図推定モデルは、「目的地設定[施設=○○]」(○○は具体的な施設名であり、以下同じ)または「周辺検索[施設種類=レストラン]」等の意図に対する各形態素のスコアを表すものである。この実施の形態1の単意図推定モデルにおいて、意図に対する各形態素のスコアとは、意図と各形態素との関連度であり、意図と各形態素との関連度が高いほど、各形態素のスコアは高く設定されている。単意図推定モデルは、図3に示すように、意図と形態素との関連度の学習によって作成された、意図毎に形態素との関係度を対応付けたモデルである。
例えば、図3に示すように、形態素「行く」または「目的地」については、ユーザは目的地設定を意図している可能性が高いので、意図「目的地設定[施設=○○]」における、形態素「行く」または「目的地」のスコアは、他の形態素のスコアよりも高くなる。一方で、形態素「美味しい」または「食事」については、ユーザは周辺レストランの検索を意図している可能性が高いので、意図「周辺検索[施設種類=レストラン]」における、形態素「美味しい」または「食事」のスコアは、他の形態素のスコアよりも高くなる。
単意図推定部108は、形態素解析部103が出力した、文字列の形態素解析結果に基づき、単意図推定モデル記憶部107に記憶されている単意図推定モデルを用いてユーザの意図を推定する。具体的には、単意図推定部108は、単意図推定モデルを用いて、形態素解析部103によって形態素解析された形態素と意図とが対応付けられたスコアが一番大きくなる意図を、ユーザの意図と推定する。単意図推定部108は、推定結果を、単意図推定結果としてコマンド実行部112に出力する。
複合意図推定モデル記憶部109は、意図毎に別々のモデルの学習によって作成された複合意図推定モデルを記憶する。複合意図推定モデルは、各意図に対して、推定対象意図の学習データを正例とし、それ以外の意図の学習データを全て負例として、統計的な手法による学習によって作成されたモデルであり、各意図が推定対象意図に所属するかどうかの2値について判断するためのモデルである。
図4は、実施の形態1における複合意図推定モデルの一例を示す図である。
複合意図推定モデルは、意図毎に生成された複数の判定用意図推定モデルを含む。
なお、図4では、説明を容易にするため、意図の数は「目的地設定[施設=○○]」(図4A参照)、「周辺検索[施設種類=レストラン]」(図4B参照)、及び「経由地追加[施設=○○]」(図4C参照)の三つとして例を示している。この実施の形態1の複合意図推定モデルにおいて、意図に対する各形態素のスコアとは、意図と各形態素との関連度であり、意図と各形態素との関連度が高いほど、各形態素のスコアは高く設定されている。複合意図推定モデルは、図4に示すように、複数の意図について、別々に、意図と形態素との関連度の学習によって作成され、意図毎に形態素との関係度を対応付けたモデルである。
複合意図推定部110は、複合意図推定モデル記憶部109に記憶されている複合意図推定モデルを用いて、判定用意図推定モデル毎に、形態素解析部103が出力した、文字列の形態素解析結果に基づき、音声受付部101で受け付けた音声に基づく文字列が、該当の意図であるか否かを判定する。具体的には、複合意図推定部110は、判定用意図推定モデル毎に、形態素解析部103によって形態素解析された形態素と意図とが対応付けられたスコアが、予め設定された閾値以上かどうかを判定し、文字列が、該当の意図であるか否かを判定する。
複合意図推定部110は、複合意図推定モデルに含まれる判定用意図推定モデル毎の判定結果を、推定結果として、推定結果統合部111へ出力する。
推定結果統合部111は、複合意図推定部110が出力した、複合意図推定モデルに含まれる判定用意図推定モデル毎の推定結果を統合する。
推定結果統合部111は、推定した意図の統合結果を、複合意図推定結果としてコマンド実行部112へ出力する。
コマンド実行部112は、単意図推定部108から出力された単意図推定結果、または、推定結果統合部111から出力された複合意図推定結果に基づき、対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる。例えば、“美味しい店を探して”というユーザの発話に対して、単意図推定部108が、「周辺検索[施設種類=レストラン]」の意図を推定し、単意図推定結果として出力した場合、コマンド実行部112は、周辺のレストランを検索するというコマンドを、ナビゲーション装置のコマンド処理部に、実行させる。
コマンド実行部112は、コマンド処理部に実行させたコマンドの内容を示す実行操作情報を、応答生成部113に出力する。
応答生成部113は、コマンド実行部112から出力された実行操作情報に基づき、コマンド実行部112がコマンド処理部に実行させたコマンドに対応する応答データを生成する。応答データは、テキストデータの形式で生成してもよいし、音声データの形式で生成してもよい。
応答生成部113が、応答データを音声データの形式で生成する場合、応答生成部113は、例えば、「周辺のレストランを検索しました。リストから選択してください」のような合成音を出力するための音声データを生成すればよい。
応答生成部113は、生成した応答データを、通知制御部114に出力する。
通知制御部114は、応答生成部113から出力された応答データを、例えば、ナビゲーション装置が備えるスピーカ等の出力装置から出力させ、ユーザに通知する。つまり、通知制御部114は、出力装置を制御して、コマンド処理部によりコマンドが実行されたことをユーザに通知させる。なお、通知の態様については、表示による通知、音声による通知、または振動による通知等、ユーザが通知を認識できるものであれば何でもよい。
次に、この実施の形態1に係る意図推定装置1のハードウェア構成について説明する。
図5A,図5Bは、この発明の実施の形態1に係る意図推定装置1のハードウェア構成の一例を示す図である。
この発明の実施の形態1において、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114の各機能は、処理回路501により実現される。すなわち、意図推定装置1は、受け付けたユーザの発話に関する情報に基づき、ユーザの意図を推定する処理、または、推定した意図に応じた機械コマンドを実行及び通知させる処理の制御を行うための処理回路501を備える。
処理回路501は、図5Aに示すように専用のハードウェアであっても、図5Bに示すようにメモリ505に格納されるプログラムを実行するCPU(Central Processing Unit)506であってもよい。
処理回路501が専用のハードウェアである場合、処理回路501は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)、またはこれらを組み合わせたものが該当する。
処理回路501がCPU506の場合、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114の各機能は、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせにより実現される。すなわち、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114は、HDD(Hard Disk Drive)502、メモリ505等に記憶されたプログラムを実行するCPU506、またはシステムLSI(Large−Scale Integration)等の処理回路により実現される。また、HDD502、またはメモリ505等に記憶されたプログラムは、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114の手順や方法をコンピュータに実行させるものであるとも言える。ここで、メモリ505とは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)等の、不揮発性もしくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)等が該当する。
なお、音声認識部102と、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、音声認識部102については専用のハードウェアとしての処理回路501でその機能を実現し、形態素解析部103と、係り受け解析部104と、意図数推定部106と、単意図推定部108と、複合意図推定部110と、推定結果統合部111と、コマンド実行部112と、応答生成部113と、通知制御部114については処理回路がメモリ505に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
意図数推定モデル記憶部105、単意図推定モデル記憶部107、及び、複合意図推定モデル記憶部109は、例えば、HDD502を使用する。なお、これは一例にすぎず、意図数推定モデル記憶部105、単意図推定モデル記憶部107、及び、複合意図推定モデル記憶部109は、DVD、またはメモリ505等によって構成されるものであってもよい。
また、意図推定装置1は、ナビゲーション装置等の外部機器との通信を行う、入力インタフェース装置503、及び、出力インタフェース装置504を有する。
音声受付部101は、入力インタフェース装置503で構成される。
次に、実施の形態1に係る意図推定装置1の動作について説明する。
まず、意図推定装置1におけるユーザの意図を推定する動作の前提となる、意図数推定モデルの生成処理に関する動作について説明する。
ここでは、意図数推定モデルの生成処理は、意図推定装置1とは別の、意図数推定モデル生成装置2によって行われるものとする。
図6は、実施の形態1の意図数推定モデル生成装置2の構成例を示す図である。
意図数推定モデル生成装置2は、図6に示すように、学習用データ記憶部115と、形態素解析部103と、係り受け解析部104と、意図数推定モデル生成部116とを備える。
形態素解析部103及び係り受け解析部104の構成及び動作は、図1等を用いて説明した形態素解析部103及び係り受け解析部104の構成及び動作と同様であるため、同じ符号を付して重複した説明を省略する。
学習用データ記憶部115は、文字列と意図数との対応関係を学習用データとして記憶する。なお、ここでは、意図数推定モデル生成装置2が学習用データ記憶部115を備えるものとしているが、これに限らず、学習用データ記憶部115は、意図数推定モデル生成装置2の外部の、意図数推定モデル生成装置2が参照可能な場所に備えられるようにしてもよい。
ここで、図7は、実施の形態1において、学習用データ記憶部115に記憶されている学習用データの例を示す図である。
図7に示すように、学習用データは、発話等により音声出力される文字列の例示文である発話の文例(以下、発話文例という)に、対応する意図数が付与されたデータである。例えば、発話文例701「○○へ行きたい」については、意図数「1件」が付与されている。
学習用データは、予め、モデルの作成者等によって作成されるものである。モデルの作成者等は、複数の発話文例について、発話文例毎に予め意図数を付与した学習データを作成し、学習用データ記憶部115に記憶させておく。
意図数推定モデル生成部116は、学習用データ記憶部115に記憶されている学習用データ、及び、係り受け解析部104による形態素間の関係性の解析結果に基づき、発話文例と対応する意図数を統計的な手法で学習し、係り受け情報と意図数の対応関係を示す意図数推定モデル(図2参照)を生成する。意図数推定モデル生成部116は、生成した意図数推定モデルを、意図数推定モデル記憶部105に記憶させる。
図8は、実施の形態1において、意図数推定モデル生成装置2が意図数推定モデルを生成する処理を説明するためのフローチャートである。
まず、形態素解析部103は、学習用データ記憶部115に記憶されている学習用データの各文例に対して形態素解析を行う(ステップST801)。例えば、図7の発話文例701の場合、形態素解析部103は、「○○へ行きたい」に対して形態素解析を行い、「○○/名詞、へ/格助詞、行き/動詞、たい/助動詞」という形態素解析結果を得る。形態素解析部103は、形態素解析結果を、係り受け解析部104に出力する。
係り受け解析部104は、形態素解析部103から出力された形態素解析結果に基づき、形態素解析部103が解析した形態素を用いて、係り受け解析を行う(ステップST802)。例えば、発話文例701の場合、係り受け解析部104は、形態素「○○」、「へ」、「行き」及び「たい」に対し係り受け解析を行う。係り受け解析部104は、前記形態素から「動作対象」という形態素間の関係性の解析結果を得て、当該解析結果に意図数を付与して、「動作対象_1件」を係り受け情報として意図数推定モデル生成部116に出力する。
意図数推定モデル生成部116は、係り受け解析部104が出力した係り受け情報に基づき、学習用データ記憶部115に記憶されている学習用データを用いて、意図数推定モデルを生成する(ステップST803)。例えば、発話文例701「○○へ行きたい」の場合、係り受け情報は「動作対象_1件」であり、学習用データに含まれる意図数は図7に示すように「意図数1件」である。したがって、意図数推定モデル生成部116は、発話文例701を用いた場合、係り受け情報「動作対象_1件」に対しては、「意図数1件」のスコアが他の意図数のスコアよりも高くなるように学習する。意図数推定モデル生成部116は、学習用データに含まれる全ての発話文例に対して上記のステップST801〜ステップST803と同様の処理を行い、最終的に図2に示すような意図数推定モデルを生成する。
そして、意図数推定モデル生成部116は、生成した意図数推定モデルを、意図数推定モデル記憶部105に記憶させる。なお、意図数推定モデル記憶部105は、例えば、ネットワークを介して、意図数推定モデル生成装置2がアクセス可能な場所に備えられている。
なお、ここでは、意図数推定モデル生成部116は、係り受け解析部104から出力されたすべての係り受け情報を特徴量として意図数推定に使うものとしたが、意図数推定モデル生成部116の構成は、これに限るものではない。意図数推定モデル生成部116は、「並列関係のみ使用」あるいは「動作の対象のみ使用」のように明確な規則を決めて特徴量を選択する構成、あるいは統計的な手法を用いて意図数推定に効果が高い係り受け情報のみを使用する構成とすることもできる。
また、ここでは、意図推定装置1とは別の意図数推定モデル生成装置2が、意図数推定モデルを生成し、意図数推定モデル記憶部105に記憶させるものとしたが、これに限らず、意図推定装置1が意図数推定モデルを生成して意図数推定モデル記憶部105に記憶させるものとしてもよい。この場合、意図推定装置1は、図1を用いて説明した構成に加え、学習用データ記憶部115及び意図数推定モデル生成部116をさらに備える。なお、学習用データ記憶部115は、意図推定装置1の外部の、意図推定装置1が参照可能な場所に備えられるようにしてもよい。
続いて、上記のとおり意図数推定モデルが生成され、意図数推定モデル記憶部105に記憶されていることを前提に、当該意図数推定モデルを用いた、実施の形態1に係る意図推定装置1における意図推定処理に関する動作について説明する。
ここで、図9は、実施の形態1において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
図10は、実施の形態1に係る意図推定装置1の動作を説明するためのフローチャートである。
まず、図9に示すように、ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を、例えばナビゲーション装置が備えるスピーカから出力する(S1)。具体的には、意図推定装置1の音声制御部(図示省略)が、ナビゲーション装置に対して、「ピっと鳴ったらお話ください。」という音声を出力させる。
ナビゲーション装置が、「ピっと鳴ったらお話ください」という音声を出力すると、当該音声に対し、ユーザが「○○へ行きたい。」と発話する(U1)。なお、図9では、ナビゲーション装置が意図推定装置1から指示を受けて出力する音声を「S」と表し、ユーザからの発話を「U」と表している。
ユーザが「○○へ行きたい」(U1)と発話すると、音声受付部101が当該発話による音声を受け付ける。音声認識部102は、音声受付部101が受け付けた音声に対して音声認識処理を行い(ステップST1001)、当該音声を文字列に変換する。音声認識部102は、変換した文字列を形態素解析部103に出力する。
形態素解析部103は、音声認識部102から出力された文字列に対し、形態素解析処理を行う(ステップST1002)。例えば、形態素解析部103は、「○○」、「へ」、「行き」及び「たい」という形態素を得て、当該形態素の情報を、形態素解析結果として係り受け解析部104及び意図数推定部106に出力する。
係り受け解析部104は、形態素解析部103から出力された形態素解析結果に対し係り受け解析処理を実施する(ステップST1003)。例えば、係り受け解析部104は、形態素「○○」は「行き」という動作の対象であるため、音声認識部102から出力された文字列には、「動作対象」という形態素間の関係性があると解析する。また、「動作対象」が1件であるため、係り受け解析部104は、「動作対象_1件」と解析する。そして、係り受け解析部104は、「動作対象_1件」との解析結果を、係り受け情報とし、意図数推定部106に出力する。
意図数推定部106は、ステップST1003において係り受け解析部104から出力された係り受け情報「動作対象_1件」を特徴量として、意図数推定モデル記憶部105に記憶されている意図数推定モデルを用いて、意図数を推定する(ステップST1004)。意図数推定部106による意図数の推定動作について、図11を用いて詳細に説明する。
図11は、図10のステップST1004における、意図数推定部106の動作について説明するためのフローチャートである。
まず、意図数推定部106は、係り受け解析部104から出力された係り受け情報と意図数推定モデルとを照合し、各意図数に対する各係り受け情報のスコアを取得する(ステップST1101)。
ここで、図12は、実施の形態1において、意図数推定部106が取得する、各意図数に対する係り受け情報のスコアの一例を示す図である。
図12に示すように、特徴量とする係り受け情報が「動作対象_1件」である場合、意図数推定部106は、例えば、意図数「1件」に対する特徴量「動作対象_1件」のスコアとして、0.2を取得する。意図数推定部106は、他の意図数についても、同様に、特徴量「動作対象_1件」のスコアを取得する。
次に、意図数推定部106は、ステップST1101で取得した各意図数のスコアに基づき、意図数を推定する対象としている1つの文字列である推定対象に対する各意図数の最終スコアを算出する(ステップST1102)。この実施の形態1において、意図数推定部106が求める最終スコアとは、各意図数について、当該意図数に対する各係り受け情報のスコアを全て乗算して算出された積である。すなわち、最終スコアとは、各意図数について、当該意図数に対する、意図数推定に用いる各特徴量のスコアを全て乗算して算出された積である。
図13は、実施の形態1において、意図数推定部106が最終スコアを算出するために用いる計算式を示す図である。
図13において、Sは、推定対象に対する複数の意図数のうち、最終スコアの算出対象としたある意図数(以下、対象意図数という)の最終スコアである。また、図13において、Siは、対象意図数に対するi番目の特徴量のスコアである。
図14は、実施の形態1において、意図数推定部106が算出する、各意図数の最終スコアの一例を示す図である。
意図数推定部106は、図13に示す計算式を用いて、図14に示す最終スコアを算出する。この例では、特徴量となる係り受け情報は「動作対象_1件」の1つであるため、最終スコアと特徴量「動作対象_1件」に対応するスコアは同じである。
図14に示したように、意図数「1件」に対して、特徴量「動作対象_1件」のスコアは0.2となり、最終スコアSも0.2となる。意図数推定部106は、同様に、他の意図数についても、それぞれ最終スコアを算出する。
図11のフローチャートに戻る。
意図数推定部106は、ステップST1102において算出した各意図数の最終スコアに基づき、意図数を推定する(ステップST1103)。具体的には、意図数推定部106は、算出した推定対象の各意図数のうち、最も高い最終スコアを有する意図数を、推定対象の意図数として推定する。
ここでは、意図数推定部106は、意図数「1件」を意図数として推定する。
図10のフローチャートに戻る。
意図数推定部106は、ステップST1004で意図数を推定した結果、意図数が1より大きいかどうかを判定する(ステップST1005)。
ステップST1005において、推定した意図数が1より大きい場合(ステップST1005の“YES”の場合)、ステップST1010〜ステップST1014へ進む。ステップST1005において、推定した意図数が1より大きくなった場合の、ステップST1010以降の処理の詳細については、具体例をあげて後述する。
ステップST1005において、推定した意図数が1以下の場合(ステップST1005の“NO”の場合)、ステップST1006へ進む。
例えば、図9のU1の例では、意図数推定部106は意図数を推定した結果、意図数が「1」であるため、ステップST1006へ進む。
ステップST1006において、意図数推定部106は、ステップST1002において形態素解析部103が形態素解析した形態素解析結果である文字列を単意図推定部108に出力する。そして、単意図推定部108は、単意図推定モデル記憶部107に記憶された単意図推定モデル(図3参照)を用いて、形態素解析結果である文字列、すなわち、単意図発話文に対して、ユーザの意図を推定する(ステップST1006)。例えば、文字列が「○○へ行きたい。」である場合、「目的地設定[施設=○○]」をユーザの意図と推定する。具体的には、単意図推定部108は、単意図推定モデルを用いて、形態素解析部103による、文字列の形態素解析結果のスコアが一番大きくなる意図を、ユーザの意図と推定する。
単意図推定部108は、当該意図推定結果を、単意図推定結果としてコマンド実行部112に出力する。
コマンド実行部112は、ステップST1006において単意図推定部108から出力された単意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる(ステップST1007)。例えば、コマンド実行部112は、ナビゲーション装置のコマンド処理部に、施設○○を目的地に設定するという操作を実行させる。
また、コマンド実行部112は、ステップST1007で実行させたコマンドの内容を示す実行操作情報を、応答生成部113に出力する。
応答生成部113は、ステップST1007においてコマンド実行部112から出力された実行操作情報に基づき、コマンド実行部112がコマンド処理部に実行させたコマンドに対応する応答データを生成する(ステップST1008)。応答生成部113は、生成した応答データを、通知制御部114に出力する。
通知制御部114は、ステップST1008において応答生成部113から出力された応答データに基づく音声を、例えば、ナビゲーション装置が備えるスピーカから出力させる(ステップST1009)。その結果、図9の「S2」に示すように、「○○を目的地に設定しました。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。
次に、図9において「U2」で示すように、ユーザが、「△△も寄って、高速道路を選択して。」と発話したとして、この場合の意図推定装置1の動作を、図10に沿って説明する。
「U2」で示すようにユーザが発話すると、音声受付部101が当該発話による音声を受け付け、音声認識部102は、受け付けた発話による音声に対して音声認識処理を行い(ステップST1001)、文字列に変換する。音声認識部102は、変換した文字列を形態素解析部103に出力する。
形態素解析部103は、音声認識部102から出力された文字列に対し、形態素解析処理を行う(ステップST1002)。例えば、形態素解析部103は、「△△」、「も」、「寄っ」、「て」、「高速道路」、「を」、「選択し」及び「て」の形態素を得、当該形態素の情報を、形態素解析結果として係り受け解析部104に出力する。
次に、係り受け解析部104は、形態素解析部103から出力された形態素解析結果に対して係り受け解析処理を行う(ステップST1003)。ここでは、「△△」は「寄っ」の動作の対象であり、「高速道路」は「選択」の動作の対象であり、また動作「寄っ」と「選択」とは並列の関係にあるため、係り受け解析部104は、「動作対象_2件」及び「並列関係_1件」との解析結果を、係り受け情報とし、意図数推定部106に出力する。
意図数推定部106は、取得した係り受け情報「動作対象_2件」及び「並列関係_1件」を特徴量として、意図数推定モデル記憶部105に記憶されている意図数推定モデルを用いて意図数を推定する(ステップST1004)。
ステップST1004の具体的な動作は、上記のように、図11を用いて詳細に説明したとおりであるが、まず、「U1」の場合の処理と同じように、意図数推定部106は、係り受け解析部104から出力された係り受け情報と意図数推定モデルを照合し、各意図数に対する各係り受け情報のスコアを取得する(図11のステップST1101参照)。
続いて、意図数推定部106は、図13で示した計算式より、推定対象の意図数に対する最終スコアを算出する(図11のステップST1102参照)。
図15は、実施の形態1において、意図数推定部106が算出する、各意図数の最終スコアの一例を示す図である。
意図数推定部106は、図13に示す計算式を用いて、ユーザによる発話「U2」に対して、図15に示す最終スコアを算出する。ここでは、意図数「1件」に対して、特徴量「動作対象_2件」のスコアは0.01、「並列関係_1件」のスコアは0.01となる。その結果、意図数推定部106は、発話「U2」に対する意図数「1件」の最終スコアSを1e−4(=0.0001)と算出する。意図数推定部106は、同様に、発話「U2」に対する他の意図数についても、それぞれ最終スコアを算出する。
意図数推定部106は、算出した各意図数の最終スコアに基づき、意図数を推定する(図11のステップST1103参照)。具体的には、意図数推定部106は、算出した推定対象の各意図数のうち、最も高い最終スコアを有する意図数「2件」を、推定対象の意図数として推定する。
図10のフローチャートに戻る。
意図数推定部106は、ステップST1004で意図数を推定した結果、意図数が1より大きいかどうかを判定する(ステップST1005)。
ステップST1005において、推定した意図数が1より大きい場合(ステップST1005の“YES”の場合)、ステップST1010へ進む。
ここでは、推定した意図数は1より大きい「2件」であるため(ステップST1005の“YES”の場合)、ステップST1010に進む。
ステップST1010において、意図数推定部106は、ステップST1002において形態素解析部103が形態素解析した形態素解析結果である文字列を複合意図推定部110に出力する。そして、複合意図推定部110は、複合意図推定モデル記憶部109に記憶された複合意図推定モデル(図4参照)を用いて、形態素結果である文字列、すなわち、複意図発話文に対して、ユーザの意図を推定する(ステップST1010)。
ここで、図16は、この実施の形態1において、複合意図推定部110が推定結果とした、ユーザの意図の判定結果の一例である。
図16では、説明を容易にするため、複合意図推定モデル記憶部109に記憶されている複合意図推定モデルとして、意図「経由地追加[施設=△△]」の判定用意図推定モデル、意図「ルート変更[高速道路優先]」の判定用意図推定モデル、及び、意図「目的地設定[施設=△△]」の判定用意図推定モデルの三つのモデルがあるものとして説明する。すなわち、複合意図推定部110は、形態素解析部103による形態素解析結果である文字列が、この三つの意図に該当するかどうかについて判定する。複合意図推定部110は、上記三つの判定用意図推定モデルを用いて判定する意図に対する意図推定スコアが0.5を超えた場合に、当該意図推定スコアが0.5を超えたと判定された意図を、該当意図であると判定するものとする。
なお、意図推定スコアとは、各形態素のスコアを足したものを元に算出される確率値をいう。よって、各判定用意図推定モデルにおいて意図推定スコアを合計すると「1」となる。
図16において、図16Aは、意図「経由地追加[施設=△△]」の判定用意図推定モデルの判定結果である。複合意図推定部110は、意図「経由地追加[施設=△△]」の意図推定スコアとして0.75を得る。この場合、意図推定スコアが0.5を超えるため、複合意図推定部110は、意図「経由地追加[施設=△△]」が「U2」の文字列の該当意図であると判定する。
図16において、図16Bは、意図「ルート変更[高速道路優先]」の判定用意図推定モデルの判定結果である。複合意図推定部110は、意図推定スコアが0.7であり、0.5を超えるため(図16B参照)、意図「ルート変更[高速道路優先]」も「U2」の文字列の該当意図であると判定する。
図16において、図16Cは、意図「目的地設定[施設=△△]」の判定用意図推定モデルの判定結果である。複合意図推定部110は、意図「目的地設定[施設=△△]」の意図推定スコアが0.5以下であるため、意図「目的地設定[施設=△△]」ではなく、「他の意図」が「U2」の文字列の該当意図であると判定する。
複合意図推定部110は、図16A〜図16Cで示す三つの意図推定モデルにより得た該当意図である、「経由地追加[施設=△△]」、「ルート変更[高速道路優先]」、及び、「他の意図」を、意図推定結果として推定結果統合部111に出力する。
推定結果統合部111は、ステップST1010において複合意図推定部110から意図推定結果として出力された複数の該当意図のうち、「他の意図」以外の該当意図を、統合結果に加えることで、該当意図を統合する(ステップST1011)。
図16Aに示すように、意図「経由地追加[施設=△△]」の判定用意図推定モデルの判定結果は、意図「経由地追加[施設=△△]」であるため、推定結果統合部111は、意図「経由地追加[施設=△△]」を統合結果に加える。推定結果統合部111は、意図「ルート変更[高速道路優先]」を統合結果に加える。
一方、図16Cに示すように、意図「目的地設定[施設=△△]」の判定用意図推定モデルの判定結果は、「他の意図」であるため、推定結果統合部111は、意図「目的地設定[施設=△△]」も「他の意図」も統合結果には加えない。
図17は、この実施の形態1において、推定結果統合部111により統合された意図の統合結果の一例を示す図である。
推定結果統合部111は、推定した意図の統合結果を、複合意図推定結果としてコマンド実行部112へ出力する。
コマンド実行部112は、ステップST1011において複合意図推定部110から出力された複合意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる(ステップST1012)。例えば、コマンド実行部112は、ナビゲーション装置のコマンド処理部に、施設△△を経由地に追加するという操作を実行させる。また、コマンド実行部112は、ナビゲーション装置のコマンド処理部に、ルートを高速道路優先に変更するという操作を実行させる。
また、コマンド実行部112は、ステップST1012で実行させたコマンドの内容を示す実行操作情報を、応答生成部113に出力する。
応答生成部113は、ステップST1012においてコマンド実行部112から出力された実行操作情報に基づき、コマンド実行部112がコマンド処理部に実行させたコマンドに対応する応答データを生成する(ステップST1013)。応答生成部113は、生成した応答データを、通知制御部114に出力する。
通知制御部114は、ステップST1013において応答生成部113から出力された応答データに基づく音声を、例えば、ナビゲーション装置が備えるスピーカから出力させる(ステップST1014)。その結果、図9の「S3」に示すように、「△△を経由地に追加しました。」、及び、「ルートを高速道路優先にしました。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。
以上のように、実施の形態1によれば、意図推定装置1を、取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部103と、文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列(単意図発話)であるか、複数の意図を含む複意図文字列(複意図発話)であるかを判断する意図数推定部106と、意図数推定部106が、文字列は単意図文字列であると判断した場合、形態素解析部103が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部108と、意図数推定部106が、文字列は複意図文字列であると判断した場合、形態素解析部103が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定情報モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部110と、複合意図推定部110が推定した複数の意図を複合意図として統合する推定結果統合部111とを備えるように構成した。これにより、取得した文字列が単意図文字列、複意図文字列のどちらもあり得る場合においても、精度よく意図を推定することができる。
実施の形態2.
実施の形態1では、ユーザの発話から、ユーザの意図が2以上であると推定した場合、複合意図推定部110が推定した複合意図推定結果を推定結果統合部111が統合し、コマンド実行部112が、当該統合された複合意図推定結果に対応するコマンドをナビゲーション装置に実行させるようにしていた。
この実施の形態2では、さらに、複合意図推定部110が推定した複合意図推定結果の意図数に上限を設定する実施の形態について説明する。
以下、図面を用いて本発明の実施の形態2について説明する。
図18は、実施の形態2に係る意図推定装置1Bの構成例を示す図である。
この実施の形態2の意図推定装置1Bは、実施の形態1において図1を用いて説明した意図推定装置1とは、推定結果選択部117を備える点において異なる。意図推定装置1Bのその他の構成については、実施の形態1において図1を用いて説明した意図推定装置1の構成と同様であるので、意図推定装置1と同様の構成については、図1と同一の符号を付して重複した説明を省略する。
なお、この実施の形態2では、推定結果統合部111は、推定した意図の統合結果である複合意図推定結果を推定結果選択部117に出力する。このとき、推定結果統合部111は、意図推定スコアについても、複合意図推定結果に含めて、推定結果選択部117に出力する。
また、この実施の形態2では、意図数推定部106は、推定した意図数の情報を、推定結果選択部117に出力するようにする。
推定結果選択部117は、推定結果統合部111から出力された複合意図推定結果に対し、意図数推定部106から出力された意図数を意図出力上限として、推定結果とする意図を、複合意図推定結果の意図推定スコアの上位から選択する。推定意図の選択について具体的な手法は後述する。
実施の形態2における意図推定装置1Bの動作について説明する。
ここで、図19は、実施の形態2において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
図20は、実施の形態2における意図推定装置1Bの動作を説明するためのフローチャートである。
まず、図19に示すように、ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を、例えばナビゲーション装置が備えるスピーカから出力する(S01)。具体的には、意図推定装置1Bの音声制御部(図示省略)が、ナビゲーション装置に対して、「ピっと鳴ったらお話ください。」という音声を出力させる。
ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を出力すると、当該音声に対し、ユーザが「○○は寄らなくていい、近くにコンビニある?」と発話する(U01)。なお、ここでは、図19に示すように、ナビゲーション装置が意図推定装置1Bから指示を受けて出力する音声を「S」と表し、ユーザからの発話を「U」と表している。
以下、図20のフローチャートに沿って説明するが、図20のステップST2001〜ステップST2011,ステップST2013〜ステップST2015の具体的な動作は、それぞれ、実施の形態1で説明した図10のステップST1001〜ステップST1014の具体的な動作と同様である。
まず、音声受付部101がユーザの発話による音声を受け付け、音声認識部102が受け付けた音声に対して音声認識処理を行って文字列に変換し、形態素解析部103が文字列に対して形態素解析処理を行う(ステップST2001、ST2002)。例えば、形態素解析部103は、「○○」、「は」、「寄ら」、「なく」、「て」、「いい」、「近く」、「に」、「コンビニ」及び「ある」の形態素を得て、当該形態素の情報を、形態素解析結果として係り受け解析部104及び意図数推定部106に出力する。
次に、係り受け解析部104が文字列に対して係り受け解析処理を行う(ステップST2003)。例えば、「○○」が「寄ら」の動作の対象であり、「コンビに」が「ある」の動作の対象であり、また、動作「いい」と「ある」は「並列関係」であるため、係り受け解析部104は、「動作対象_2件」、「並列関係_1件」との解析結果を、係り受け情報とし、意図数推定部106に出力する。
そして、係り受け解析部104から出力された係り受け情報を用いて、意図数推定部106が意図数を推定する(ステップST2004)。ここでは、意図数推定部106が推定した意図数が「2件」となり(実施の形態1で説明した図11のステップST1104参照)、推定された意図数が「1」より大きいため(ステップST2005の“YES”の場合)、ステップST2010以後の処理に移る。ここまでは実施の形態1で説明した図10のステップST1001〜1005と同様である。
ステップST2010において、意図数推定部106は、形態素解析部103が形態素解析した結果である文字列を複合意図推定部110に出力する。そして、複合意図推定部110は、複意図発話文に対して、ユーザの意図を推定する。
ここで、図21は、実施の形態2において、複合意図推定部110が判定した、ユーザの意図の判定結果の一例である。
図21では、説明を容易にするため、複合意図推定モデル記憶部109に記憶されている複合意図推定モデルとして、意図「経由地削除[施設=○○]」の判定用意図推定モデル、意図「周辺検索[施設種類=コンビニ]」の判定用意図推定モデル、意図「ルート削除」の判定用意図推定モデルの三つのモデルがあるものとして説明する。なお、実施の形態1と同様、意図数推定部106は、上記三つの判定用意図推定モデルを用いて判定する意図に対する意図推定スコアが0.5を超えた場合に、当該意図推定スコアが0.5を超えたと判定された意図を、該当意図であると判定するものとする。
図21において、図21Aは、意図「経由地削除[施設=○○]」の判定用意図推定モデルの判定結果である。複合意図推定部110は、意図「経由地削除[施設=○○]」の意図推定スコアが0.65を得る。この場合、意図推定スコアが0.5を超えるため、複合意図推定部110は、意図「経由地削除[施設=○○]」が「U01」の文字列の該当意図であると判定する。
図21において、図21Bは、意図「周辺検索[施設種類=コンビニ]」判定用意図推定モデルの判定結果であり、図21Cは、意図「ルート削除」判定用意図推定モデルの判定結果である。複合意図推定部110は、意図推定スコアが0.7であり、0.5を超えるため(図21B参照)、意図「周辺検索[施設種類=コンビニ]」も「U01」の文字列の該当意図であると判定する。また、複合意図推定部110は、意図推定スコアが0.55であり、0.5を超えるため(図21C参照)、「ルート削除」も「U01」の文字列の該当意図であると判定する。
複合意図推定部110は、図21A〜図21Cで示す三つの意図推定モデルにより得た該当意図である、「経由地削除[施設=○○]」、「周辺検索[施設種類=コンビニ]」、及び、「ルート削除」を推定結果統合部111に出力する。
推定結果統合部111は、ステップST2010において複合意図推定部110から意図推定結果として出力された複数の該当意図のうち、「他の意図」以外の該当意図を、統合結果に加えることで、該当意図を統合する(ステップST2011)。
図21Aに示すように、意図「経由地削除[施設=○○]」の判定用意図推定モデルの判定結果は、意図「経由地削除[施設=○○]」であるため、推定結果統合部111は、意図「経由地削除[施設=○○]」を統合結果に加える。また、図21B及び図21Cに示すように、意図「周辺検索[施設種類=コンビニ]」の判定用意図推定モデルの判定結果は「周辺検索[施設種類=コンビニ]」であり、意図「ルート削除」の判定用意図推定モデルの判定結果は「ルート削除」であるため、推定結果統合部111は、「周辺検索[施設種類=コンビニ]」及び「ルート削除」も同様に統合結果に加える。このとき、この実施の形態2では、推定結果統合部111は、意図推定スコアも、統合結果に加える。
図22は、この実施の形態2において、推定結果統合部111により統合された意図の統合結果の一例を示す図である。
推定結果統合部111は、推定した意図の統合結果を、複合意図推定結果として推定結果選択部117へ出力する。
推定結果選択部117は、ステップST2011において推定結果統合部111から出力された複合意図推定結果に対し、ステップST2004において意図数推定部106から出力された意図数を意図出力上限として、推定結果とする意図を、複合意図推定結果の意図推定スコアの上位から選択し、選択した推定意図を最終意図推定結果とする(ステップST2012)。
具体的には、推定結果選択部117は、意図数推定部106から出力された意図数を意図出力上限とし、意図推定スコアを判断基準として、当該意図推定スコアの上位の推定意図のみを選択する。
ここで、ステップST2004において、意図数推定部106は意図数「2件」と推定した。そのため、推定結果選択部117は、最終意図推定結果の数を「2」以下にする。推定結果統合部111による推定統合結果は、「経由地削除[施設=○○]」、「周辺検索[施設種類=コンビニ]」及び「ルート削除」の3つである。
また、図22で示したように意図推定スコアは、「経由地削除[施設=○○]」が「0.65」、「周辺検索[施設種類=コンビニ]」が「0.7」、「ルート削除」が「0.55」である。
推定結果選択部117は、意図数推定部106から出力された意図数を意図出力上限とし、複合意図推定結果の意図推定スコアの上位二つを選択して、最終意図推定結果として出力するので、推定結果選択部117は、「経由地削除[施設=○○]」及び「周辺検索[施設種類=コンビニ]」を選択し、最終意図推定結果とすることになる。
このように、意図推定装置1Bでは、推定結果選択部117により、「ルート削除」を複合意図推定結果から削除することで、余計な意図推定結果の出力を抑え、複合意図推定結果に上限を設けない場合に比べ、意図推定の精度をより向上することができる。その結果、より適切な最終意図推定結果を得ることができる。
図23は、実施の形態2において、推定結果選択部117により生成された最終意図推定結果の内容の一例を示す図である。
推定結果選択部117は、最終意図推定結果をコマンド実行部112に出力する。
コマンド実行部112は、ステップST2012において推定結果選択部117から出力された最終意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる(ステップST2013)。例えば、コマンド実行部112は、ナビゲーション装置のコマンド処理部に、経由地を削除するコマンド及び周辺のコンビニを検索するコマンドを実行させる。
また、応答生成部113は、コマンド実行部112がコマンド処理部に実行させたコマンドに対応する応答データを生成し(ステップST2014)、通知制御部114は、応答生成部113が生成した応答データを、ナビゲーション装置が備えるスピーカから出力させる(ステップST2015)。その結果、図19の「S02」に示すように、「経由地○○を削除しました。」「周辺のコンビニを検索します。リストから選択してください。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。具体的な動作は、実施の形態1で説明した、図10のステップST1012〜ステップST1014と同じである。
以上のように、実施の形態2によれば、実施の形態1に係る意図推定装置1の構成に加え、意図数推定部106が推定した意図数を上限として、推定結果統合部111が統合した複数の意図のうち、意図数推定部106が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、複合意図とする推定結果選択部117を備えるように構成した。これにより、意図数推定部106で得た意図数結果を用いて、推定結果統合部111で得た複合意図推定結果に対して出力上限を設定し、不適切な意図推定結果の出力を抑えることができるため、最終統合結果の精度がより向上する。
なお、これまで説明した意図推定装置1,1Bの機能の一部は他の装置で実行されるようにしてもよい。例えば、一部の機能を、外部に設けられたサーバ、あるいは、スマートフォンまたはタブレット等の携帯端末等により実行するようにしてもよい。
また、上述した実施の形態1,2では、意図推定装置1,1Bは、ユーザの発話による音声をもとに、ユーザの意図を推定するものとしたが、ユーザの意図を推定する元となる情報はこれに限らない。例えば、意図推定装置1,1Bは、ユーザがキーボード等の入力装置を用いて入力した文字列を受け付け、当該文字列をもとに、ユーザの意図を推定するようにすることもできる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
この発明に係る意図推定装置は、文字列の意図を推定する精度を向上することができるように構成したため、入力された文字列を認識してユーザの意図を推定する意図推定装置等に適用することができる。
1,1B 意図推定装置、2 意図数推定モデル生成装置、101 音声受付部、102 音声認識部、103 形態素解析部、104 係り受け解析部、105 意図数推定モデル記憶部、106 意図数推定部、107 単意図推定モデル記憶部、108 単意図推定部、109 複合意図推定モデル記憶部、110 複合意図推定部、111 推定結果統合部、112 コマンド実行部、113 応答生成部、114 通知制御部、115 学習用データ記憶部、116 意図数推定モデル生成部、117 推定結果選択部、501 処理回路、502 HDD、503 入力インタフェース装置、504 出力インタフェース装置、505 メモリ、506 CPU。

Claims (6)

  1. 取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部と、
    前記形態素解析部が解析した形態素に基づき、前記文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成する係り受け解析部と、
    前記係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、前記文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断する意図数推定部と、
    前記意図数推定部が、前記文字列は単意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部と、
    前記意図数推定部が、前記文字列は複意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部と、
    前記複合意図推定部が推定した複数の意図を複合意図として統合する推定結果統合部
    とを備えた意図推定装置。
  2. 前記意図数推定部は、
    前記係り受け情報を特徴量とし、前記係り受け情報と意図数との対応関係を学習した意図数推定モデルを用いて、前記文字列に対する意図数を推定する
    ことを特徴とする請求項記載の意図推定装置。
  3. 前記意図数推定部が推定した意図数を上限として、前記推定結果統合部が統合した複数の意図のうち、前記意図数推定部が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、前記複合意図とする推定結果選択部を備えた
    ことを特徴とする請求項1記載の意図推定装置。
  4. 形態素解析部が、取得した文字列に基づき当該文字列に含まれる形態素の解析を行うステップと、
    係り受け解析部が、前記形態素解析部が解析した形態素に基づき、前記文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成するステップと、
    意図数推定部が、前記係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、前記文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断するステップと、
    単意図推定部が、前記意図数推定部が、前記文字列は単意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定するステップと、
    複合意図推定部が、前記意図数推定部が、前記文字列は複意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定するステップと、
    推定結果統合部が、前記複合意図推定部が推定した複数の意図を複合意図として統合するステップ
    とを備えた意図推定方法。
  5. 前記意図数推定部は、
    前記係り受け情報を特徴量とし、前記係り受け情報と意図数との対応関係を学習した意図数推定モデルを用いて、前記文字列に対する意図数を推定するステップを有する
    ことを特徴とする請求項記載の意図推定方法。
  6. 推定結果選択部が、前記意図数推定部が推定した意図数を上限として、前記推定結果統合部が統合した複数の意図のうち、前記意図数推定部が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、前記複合意図とするステップを備えた
    ことを特徴とする請求項記載の意図推定方法。
JP2019514140A 2017-06-15 2017-06-15 意図推定装置及び意図推定方法 Active JP6632764B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/022144 WO2018229937A1 (ja) 2017-06-15 2017-06-15 意図推定装置及び意図推定方法

Publications (2)

Publication Number Publication Date
JPWO2018229937A1 JPWO2018229937A1 (ja) 2019-07-11
JP6632764B2 true JP6632764B2 (ja) 2020-01-22

Family

ID=64659078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514140A Active JP6632764B2 (ja) 2017-06-15 2017-06-15 意図推定装置及び意図推定方法

Country Status (2)

Country Link
JP (1) JP6632764B2 (ja)
WO (1) WO2018229937A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023208504A1 (de) 2022-04-29 2023-11-02 Siemens Mobility GmbH Fahrzeug mit brennstoffzellensystem und aufbereitungsvorrichtung zur aufbereitung des prozesswassers
KR102490519B1 (ko) * 2022-07-21 2023-01-19 주식회사 라피치 발신자의 텍스트데이터에 대응하여 암호화를 하는 개인정보 보호 기능을 가지는 자동응답 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200273A (ja) * 1998-11-04 2000-07-18 Atr Interpreting Telecommunications Res Lab 発話意図認識装置
WO2016120904A1 (ja) * 2015-01-28 2016-08-04 三菱電機株式会社 意図推定装置及び意図推定方法

Also Published As

Publication number Publication date
JPWO2018229937A1 (ja) 2019-07-11
WO2018229937A1 (ja) 2018-12-20

Similar Documents

Publication Publication Date Title
US10269346B2 (en) Multiple speech locale-specific hotword classifiers for selection of a speech locale
JP6556575B2 (ja) 音声処理装置、音声処理方法及び音声処理プログラム
CN106328127B (zh) 语音识别设备,语音识别方法和电子装置
US10037758B2 (en) Device and method for understanding user intent
US8972260B2 (en) Speech recognition using multiple language models
US8731926B2 (en) Spoken term detection apparatus, method, program, and storage medium
JP6328260B2 (ja) 意図推定装置及び意図推定方法
JP6400936B2 (ja) 音声検索方法、音声検索装置、並びに、音声検索装置用のプログラム
KR20190100334A (ko) 문맥상의 핫워드들
US20160104482A1 (en) Dynamically biasing language models
JP4410265B2 (ja) 音声認識装置及び方法
US10586528B2 (en) Domain-specific speech recognizers in a digital medium environment
US20140350934A1 (en) Systems and Methods for Voice Identification
KR20140025361A (ko) 위치-기반 대화 해석
JP4515054B2 (ja) 音声認識の方法および音声信号を復号化する方法
JP6275354B1 (ja) 意図推定装置及び意図推定方法
KR20170035529A (ko) 전자 기기 및 그의 음성 인식 방법
US11257482B2 (en) Electronic device and control method
JP7058574B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR102120751B1 (ko) 대화 이해 ai 시스템에 의하여, 머신러닝을 대화 관리 기술에 적용한 하이브리드 계층적 대화 흐름 모델을 기초로 답변을 제공하는 방법 및 컴퓨터 판독가능 기록 매체
JP6632764B2 (ja) 意図推定装置及び意図推定方法
JP2021033051A (ja) 情報処理装置、情報処理方法およびプログラム
JP5980101B2 (ja) 音響モデル学習用テキスト作成装置とその方法とプログラム
US20220392439A1 (en) Rescoring Automatic Speech Recognition Hypotheses Using Audio-Visual Matching
JP3911246B2 (ja) 音声認識装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190313

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190313

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191210

R150 Certificate of patent or registration of utility model

Ref document number: 6632764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250