(57)【特許請求の範囲】
【請求項１】
取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部と、
前記形態素解析部が解析した形態素に基づき、前記文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成する係り受け解析部と、
前記係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、前記文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断する意図数推定部と、
前記意図数推定部が、前記文字列は単意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部と、
前記意図数推定部が、前記文字列は複意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部と、
前記複合意図推定部が推定した複数の意図を複合意図として統合する推定結果統合部
とを備えた意図推定装置。
【請求項２】
前記意図数推定部は、
前記係り受け情報を特徴量とし、前記係り受け情報と意図数との対応関係を学習した意図数推定モデルを用いて、前記文字列に対する意図数を推定する
ことを特徴とする請求項１記載の意図推定装置。
【請求項３】
前記意図数推定部が推定した意図数を上限として、前記推定結果統合部が統合した複数の意図のうち、前記意図数推定部が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、前記複合意図とする推定結果選択部を備えた
ことを特徴とする請求項１記載の意図推定装置。
【請求項４】
形態素解析部が、取得した文字列に基づき当該文字列に含まれる形態素の解析を行うステップと、
係り受け解析部が、前記形態素解析部が解析した形態素に基づき、前記文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成するステップと、
意図数推定部が、前記係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、前記文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断するステップと、
単意図推定部が、前記意図数推定部が、前記文字列は単意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定するステップと、
複合意図推定部が、前記意図数推定部が、前記文字列は複意図文字列であると判断した場合、前記形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定するステップと、
推定結果統合部が、前記複合意図推定部が推定した複数の意図を複合意図として統合するステップ
とを備えた意図推定方法。
【請求項５】
前記意図数推定部は、
前記係り受け情報を特徴量とし、前記係り受け情報と意図数との対応関係を学習した意図数推定モデルを用いて、前記文字列に対する意図数を推定するステップを有する
ことを特徴とする請求項４記載の意図推定方法。
【請求項６】
推定結果選択部が、前記意図数推定部が推定した意図数を上限として、前記推定結果統合部が統合した複数の意図のうち、前記意図数推定部が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、前記複合意図とするステップを備えた
ことを特徴とする請求項４記載の意図推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された文字列を認識してユーザの意図を推定する意図推定装置及び意図推定方法に関するものである。
【背景技術】
【０００２】
従来、ユーザにより発話された音声を音声認識して文字列に変換し、当該文字列から、どのような操作を実行したいのかという使用者の意図を推定する意図推定装置が知られている。１つの発話に複数の意図が含まれる場合（以下、複意図発話ともいう）もあるため、意図推定装置は、複意図発話に対して意図を推定可能であることが求められる。【０００３】
例えば、非特許文献１に開示されている教師あり学習を用いた方式では、文字列をＢａｇ  ｏｆ  ｗｏｒｄｓと呼ばれる形式で表現し、当該Ｂａｇ  ｏｆ  ｗｏｒｄｓを特徴量として、サポートベクトルマシンまたは対数線形モデル（最大エントロピーモデル）と呼ばれる分類器（意図理解モデル）を学習させ、学習結果を用いて算出される確率値に基づき、意図が推定される。当該方式によれば、例えば、「ラーメン屋と中華料理を検索して。」等、１つの文字列が、「ラーメン屋を検索」という意図と、「中華料理を検索」という意図を含む、並列の構造を持つ場合でも、発話者等の意図が推定される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】高村大也著、「言語処理のための機械学習入門」、第５版、株式会社コロナ社、２０１０年８月５日、ｐ．９９−１４６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような、非特許文献１に開示されている意図推定の方式を、１つの発話に複数の意図が含まれ得る場合にも適用する場合、意図毎に別々のモデルを学習し、実行時に各モデルに基づく判定結果を統合することになる。
しかしながら、上述したような、１つの発話に対して、実行時に複数のモデルに基づく判定結果を統合する方式では、発話が１つの意図しか含まない場合（以下、単意図発話ともいう）でも、複数のモデルそれぞれに基づく意図推定を行うため、複数の意図が推定されて出力されることがあり、全体として意図の推定精度が低くなる場合があるという課題があった。【０００６】
この発明は上記のような課題を解決するためになされたもので、取得した文字列が単意図文字列、複意図文字列のどちらもあり得る場合においても、精度よく意図を推定することができる意図推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る意図推定装置は、取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部と、形態素解析部が解析した形態素に基づき、文字列に含まれる形態素間の関係性を解析し、係り受け情報を生成する係り受け解析部と、係り受け解析部が生成した係り受け情報と意図数との対応関係を示す情報を用いて、文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列であるか、複数の意図を含む複意図文字列であるかを判断する意図数推定部と、意図数推定部が、文字列は単意図文字列であると判断した場合、形態素解析部が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部と、意図数推定部が、文字列は複意図文字列であると判断した場合、形態素解析部が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部と、複合意図推定部が推定した複数の意図を複合意図として統合する推定結果統合部とを備えたものである。
【発明の効果】
【０００８】
この発明によれば、ユーザの意図を推定する精度を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る意図推定装置の構成例を示す図である。
【図２】実施の形態１における意図数推定モデルの一例を示す図である。
【図３】実施の形態１における単意図推定モデルの一例を示す図である。
【図４】実施の形態１における複合意図推定モデルの一例を示す図である。
【図５】図５Ａ，図５Ｂは、実施の形態１に係る意図推定装置のハードウェア構成の一例を示す図である。
【図６】実施の形態１の意図数推定モデル生成装置の構成例を示す図である。
【図７】実施の形態１において、学習用データ記憶部に記憶されている学習用データの例を示す図である。
【図８】実施の形態１において、意図数推定モデル生成装置が意図数推定モデルを生成する処理を説明するためのフローチャートである。
【図９】実施の形態１において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
【図１０】実施の形態１に係る意図推定装置の動作を説明するためのフローチャートである。
【図１１】実施の形態１において、図１０のステップＳＴ１００４における、意図数推定部の動作について説明するためのフローチャートである
【図１２】実施の形態１において、意図数推定部が取得する、各意図数に対する係り受け情報のスコアの一例を示す図である。
【図１３】実施の形態１において、意図数推定部が最終スコアを算出するために用いる計算式を示す図である。
【図１４】実施の形態１において、意図数推定部が算出する、各意図数の最終スコアの一例を示す図である。
【図１５】実施の形態１において、意図数推定部が算出する、各意図数の最終スコアの一例を示す図である。
【図１６】この実施の形態１において、意図数推定部が、複合意図推定部が推定結果とした、ユーザの意図の判定結果の一例である。
【図１７】この実施の形態１において、推定結果統合部により統合された意図の統合結果の一例を示す図である。
【図１８】実施の形態２に係る意図推定装置の構成例を示す図である。
【図１９】実施の形態２において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
【図２０】実施の形態２における意図推定装置の動作を説明するためのフローチャートである。
【図２１】実施の形態２において、複合意図推定部が判定した、ユーザの意図の判定結果の一例である。
【図２２】この実施の形態２において、推定結果統合部により統合された意図の統合結果の一例を示す図である。
【図２３】実施の形態２において、推定結果選択部により生成された最終意図推定結果の内容の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態１．
【００１１】
実施の形態１に係る意図推定装置１は、一例として、車両のドライバ等のユーザに対して経路案内等を行うナビゲーション装置に搭載され、ユーザが発話した発話内容から、ユーザの意図を推定し、当該推定したユーザの意図に応じた操作を、ナビゲーション装置に実行させる制御を行うものとする。意図推定装置１が、ナビゲーション装置と、ネットワーク等を介して接続されるようにしてもよい。
なお、ナビゲーション装置に搭載される例等は一例に過ぎず、実施の形態１に係る意図推定装置１は、ナビゲーション装置のユーザに限らず、ユーザから発話等によって入力された情報を受け付け、当該受け付けた情報に応じた動作を行うあらゆる装置において、当該装置のユーザの意図を推定する意図推定装置に適用できる。
【００１２】
図１は、実施の形態１に係る意図推定装置１の構成例を示す図である。
意図推定装置１は、図１に示すように、音声受付部１０１と、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定モデル記憶部１０５と、意図数推定部１０６と、単意図推定モデル記憶部１０７と、単意図推定部１０８と、複合意図推定モデル記憶部１０９と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４とを備える。
なお、この実施の形態１では、図１に示すように、意図数推定モデル記憶部１０５、単意図推定モデル記憶部１０７、及び、複合意図推定モデル記憶部１０９は、意図推定装置１に備えられるものとするが、これに限らず、意図数推定モデル記憶部１０５、単意図推定モデル記憶部１０７、及び、複合意図推定モデル記憶部１０９は、意図推定装置１の外部の、意図推定装置１が参照可能な場所に備えられるものとしてもよい。
【００１３】
音声受付部１０１は、ユーザの発話を含む音声を受け付ける。音声受付部１０１は、受け付けた音声の情報を音声認識部１０２に出力する。
【００１４】
音声認識部１０２は、音声受付部１０１が受け付けた音声に対応する音声データを音声認識した上で文字列に変換する。音声認識部１０２は、文字列を形態素解析部１０３に出力する。
【００１５】
形態素解析部１０３は、音声認識部１０２から出力された文字列に対して形態素解析を行う。
ここで、形態素解析とは、文字列を、言語として意味を持つ最小単位である形態素に区切り、辞書を利用して品詞を付与する、既存の自然言語処理技術である。例えば、「東京タワーへ行く」という文字列に対して形態素解析が行われると、当該文字列は、「東京タワー／固有名詞、へ／格助詞、行く／動詞」のような形態素に区切られる。
形態素解析部１０３は、形態素解析結果を、係り受け解析部１０４及び意図数推定部１０６に出力する。
【００１６】
係り受け解析部１０４は、形態素解析部１０３による形態素解析後の文字列に対して、形態素間の関係性の解析を行い、係り受け情報を生成する。ここで、形態素間の関係性とは、文字列に含まれる形態素の係り受けの関係である。係り受けの関係とは、例えば「動作対象」、「並列関係」等の、形態素間の関係をいう。係り受け解析部１０４は、係り受けの解析手法として、例えば、Ｓｈｉｆｔ−ｒｅｄｕｃｅ、または、全域木等、既存の解析手法を用いればよい。
係り受け解析部１０４は、形態素間の関係性の解析結果を、係り受け情報として意図数推定部１０６に出力する。
【００１７】
意図数推定モデル記憶部１０５は、意図数推定モデルを記憶する。意図数推定モデルとは、係り受け情報を特徴量として意図数推定を行うためのモデルである。
【００１８】
図２は、実施の形態１における意図数推定モデルの一例を示す図である。
図２に例示した意図数推定モデルにおいては、各意図数と、係り受け情報との関連度がスコアとして記述されている。
この実施の形態１では、係り受け情報は、各形態素間の関係性及びその出現件数が“＿”で接続される形で表現されている。
例えば図２のように、「並列関係」の関係にある形態素の組が１つの文字列の中に１回出現している場合には、係り受け情報は、「並列関係＿１件」となる。
図２に示された係り受け情報のうち、「動作対象＿１件」は、一つの文字列に「動作対象」の関係にある形態素の組が１組しかないことを示すため、意図数も「１」となる場合が多い。したがって、図２に示すように、「動作対象＿１件」については、意図数「１件」に対するスコアが、意図数「２件」及び「３件」に対するスコアよりも高くなる。これに対し、「並列関係＿１件」及び「動作対象＿２件」については、いずれも意図数が２以上になる可能性が高いので、意図数「２件」及び「３件」に対するスコアが、意図数「１件」に対するスコアよりも高くなる。このように、意図数推定モデルでは、意図数と係り受け情報の関連度に応じて、当該関連度が高いほど高いスコアが設定されている。
なお、説明を容易にするため、図２では、意図数について、「１件」、「２件」及び「３件」の三種類のみを示している。
この実施の形態１では、図２に例示したような意図数推定モデルを用いて、統計的な手法で、ユーザの意図数を推定する。
【００１９】
意図数推定部１０６は、係り受け解析部１０４から出力された係り受け情報に基づき、意図数推定モデル記憶部１０５に記憶されている意図数推定モデルを用いて文字列に含まれる意図数を推定する。意図数推定部１０６による意図数推定の具体的な手法は後述する。
意図数推定部１０６は、推定した意図数に応じて、音声受付部１０１が受け付けた音声に基づく文字列が、単意図発話であるか、複意図発話であるかを判断し、当該判断結果に応じて、形態素解析部１０３が出力した、文字列の形態素解析結果を、単意図推定部１０８、あるいは、複合意図推定部１１０に出力する。具体的には、意図数推定部１０６は、音声受付部１０１が受け付けた音声に基づく文字列が単意図発話による単意図文字列であると判断した場合は、形態素解析部１０３が出力した、文字列の形態素解析結果を、単意図推定部１０８に出力する。また、音声受付部１０１が受け付けた音声に基づく文字列が複意図発話であると判断した場合は、形態素解析部１０３が出力した、文字列の形態素解析結果を、複合意図推定部１１０に出力する。
【００２０】
なお、この実施の形態１では、意図数推定モデルを用いて、統計的な手法で意図数を推定するが、これに限らない。統計的な手法の代わりに、ルールとして係り受け情報と意図数の対応関係を事前に用意し、意図数を推定してもよい。例えば、「文字列の中に、施設名及び施設種類の「並列関係」が１件のみであれば、当文字列が含む意図数を「２」とする。」のようなルールにより意図数を推定することが可能である。
【００２１】
また、後述する、この実施の形態１における意図推定の方式としては、例えば最大エントロピー法が利用できる。単意図推定部と複合意図推定部は、意図推定の際に、統計的手法を利用して、予め大量に収集した形態素と意図の組から、入力された形態素に対応する意図がどれだけ尤もらしいかを推定する。
【００２２】
単意図推定モデル記憶部１０７は、形態素を特徴量として意図推定を行うための意図推定モデルを記憶する。意図は、「＜主意図＞［＜スロット名＞＝＜スロット値＞、・・・］」のような形で表現することができる。ここで、主意図とは、意図の分類または機能を示すものである。ナビゲーション装置の例では、主意図とは、目的地設定、または、音楽を聞く等、ユーザが、例えば入力装置（図示省略）を最初に操作して行った入力に対応して発生する、上位層のコマンドに対応する。
スロット名及びスロット値は、主意図を実行するために必要な情報を示す。例えば、「近くのレストランを検索する」という文字列に含まれる意図は、主意図が「周辺検索」であり、スロット名が「施設種類」であり、スロット値が「レストラン」である。よって、近くのレストランを検索する」という文字列に含まれる意図は、「周辺検索［施設種類＝レストラン］」のように表すことができる。
【００２３】
図３は、実施の形態１における単意図推定モデルの一例を示す図である。
図３に示すように、単意図推定モデルは、「目的地設定［施設＝○○］」（○○は具体的な施設名であり、以下同じ）または「周辺検索［施設種類＝レストラン］」等の意図に対する各形態素のスコアを表すものである。この実施の形態１の単意図推定モデルにおいて、意図に対する各形態素のスコアとは、意図と各形態素との関連度であり、意図と各形態素との関連度が高いほど、各形態素のスコアは高く設定されている。単意図推定モデルは、図３に示すように、意図と形態素との関連度の学習によって作成された、意図毎に形態素との関係度を対応付けたモデルである。
例えば、図３に示すように、形態素「行く」または「目的地」については、ユーザは目的地設定を意図している可能性が高いので、意図「目的地設定［施設＝○○］」における、形態素「行く」または「目的地」のスコアは、他の形態素のスコアよりも高くなる。一方で、形態素「美味しい」または「食事」については、ユーザは周辺レストランの検索を意図している可能性が高いので、意図「周辺検索［施設種類＝レストラン］」における、形態素「美味しい」または「食事」のスコアは、他の形態素のスコアよりも高くなる。
【００２４】
単意図推定部１０８は、形態素解析部１０３が出力した、文字列の形態素解析結果に基づき、単意図推定モデル記憶部１０７に記憶されている単意図推定モデルを用いてユーザの意図を推定する。具体的には、単意図推定部１０８は、単意図推定モデルを用いて、形態素解析部１０３によって形態素解析された形態素と意図とが対応付けられたスコアが一番大きくなる意図を、ユーザの意図と推定する。単意図推定部１０８は、推定結果を、単意図推定結果としてコマンド実行部１１２に出力する。
【００２５】
複合意図推定モデル記憶部１０９は、意図毎に別々のモデルの学習によって作成された複合意図推定モデルを記憶する。複合意図推定モデルは、各意図に対して、推定対象意図の学習データを正例とし、それ以外の意図の学習データを全て負例として、統計的な手法による学習によって作成されたモデルであり、各意図が推定対象意図に所属するかどうかの２値について判断するためのモデルである。
【００２６】
図４は、実施の形態１における複合意図推定モデルの一例を示す図である。
複合意図推定モデルは、意図毎に生成された複数の判定用意図推定モデルを含む。
なお、図４では、説明を容易にするため、意図の数は「目的地設定［施設＝○○］」（図４Ａ参照）、「周辺検索［施設種類＝レストラン］」（図４Ｂ参照）、及び「経由地追加［施設＝○○］」（図４Ｃ参照）の三つとして例を示している。この実施の形態１の複合意図推定モデルにおいて、意図に対する各形態素のスコアとは、意図と各形態素との関連度であり、意図と各形態素との関連度が高いほど、各形態素のスコアは高く設定されている。複合意図推定モデルは、図４に示すように、複数の意図について、別々に、意図と形態素との関連度の学習によって作成され、意図毎に形態素との関係度を対応付けたモデルである。
【００２７】
複合意図推定部１１０は、複合意図推定モデル記憶部１０９に記憶されている複合意図推定モデルを用いて、判定用意図推定モデル毎に、形態素解析部１０３が出力した、文字列の形態素解析結果に基づき、音声受付部１０１で受け付けた音声に基づく文字列が、該当の意図であるか否かを判定する。具体的には、複合意図推定部１１０は、判定用意図推定モデル毎に、形態素解析部１０３によって形態素解析された形態素と意図とが対応付けられたスコアが、予め設定された閾値以上かどうかを判定し、文字列が、該当の意図であるか否かを判定する。
複合意図推定部１１０は、複合意図推定モデルに含まれる判定用意図推定モデル毎の判定結果を、推定結果として、推定結果統合部１１１へ出力する。
【００２８】
推定結果統合部１１１は、複合意図推定部１１０が出力した、複合意図推定モデルに含まれる判定用意図推定モデル毎の推定結果を統合する。
推定結果統合部１１１は、推定した意図の統合結果を、複合意図推定結果としてコマンド実行部１１２へ出力する。
【００２９】
コマンド実行部１１２は、単意図推定部１０８から出力された単意図推定結果、または、推定結果統合部１１１から出力された複合意図推定結果に基づき、対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる。例えば、“美味しい店を探して”というユーザの発話に対して、単意図推定部１０８が、「周辺検索［施設種類＝レストラン］」の意図を推定し、単意図推定結果として出力した場合、コマンド実行部１１２は、周辺のレストランを検索するというコマンドを、ナビゲーション装置のコマンド処理部に、実行させる。
コマンド実行部１１２は、コマンド処理部に実行させたコマンドの内容を示す実行操作情報を、応答生成部１１３に出力する。
【００３０】
応答生成部１１３は、コマンド実行部１１２から出力された実行操作情報に基づき、コマンド実行部１１２がコマンド処理部に実行させたコマンドに対応する応答データを生成する。応答データは、テキストデータの形式で生成してもよいし、音声データの形式で生成してもよい。
応答生成部１１３が、応答データを音声データの形式で生成する場合、応答生成部１１３は、例えば、「周辺のレストランを検索しました。リストから選択してください」のような合成音を出力するための音声データを生成すればよい。
応答生成部１１３は、生成した応答データを、通知制御部１１４に出力する。
【００３１】
通知制御部１１４は、応答生成部１１３から出力された応答データを、例えば、ナビゲーション装置が備えるスピーカ等の出力装置から出力させ、ユーザに通知する。つまり、通知制御部１１４は、出力装置を制御して、コマンド処理部によりコマンドが実行されたことをユーザに通知させる。なお、通知の態様については、表示による通知、音声による通知、または振動による通知等、ユーザが通知を認識できるものであれば何でもよい。
【００３２】
次に、この実施の形態１に係る意図推定装置１のハードウェア構成について説明する。
図５Ａ，図５Ｂは、この発明の実施の形態１に係る意図推定装置１のハードウェア構成の一例を示す図である。
この発明の実施の形態１において、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４の各機能は、処理回路５０１により実現される。すなわち、意図推定装置１は、受け付けたユーザの発話に関する情報に基づき、ユーザの意図を推定する処理、または、推定した意図に応じた機械コマンドを実行及び通知させる処理の制御を行うための処理回路５０１を備える。
処理回路５０１は、図５Ａに示すように専用のハードウェアであっても、図５Ｂに示すようにメモリ５０５に格納されるプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０６であってもよい。
【００３３】
処理回路５０１が専用のハードウェアである場合、処理回路５０１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。
【００３４】
処理回路５０１がＣＰＵ５０６の場合、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４の各機能は、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせにより実現される。すなわち、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５０２、メモリ５０５等に記憶されたプログラムを実行するＣＰＵ５０６、またはシステムＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の処理回路により実現される。また、ＨＤＤ５０２、またはメモリ５０５等に記憶されたプログラムは、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４の手順や方法をコンピュータに実行させるものであるとも言える。ここで、メモリ５０５とは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の、不揮発性もしくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等が該当する。
【００３５】
なお、音声認識部１０２と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、音声認識部１０２については専用のハードウェアとしての処理回路５０１でその機能を実現し、形態素解析部１０３と、係り受け解析部１０４と、意図数推定部１０６と、単意図推定部１０８と、複合意図推定部１１０と、推定結果統合部１１１と、コマンド実行部１１２と、応答生成部１１３と、通知制御部１１４については処理回路がメモリ５０５に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
意図数推定モデル記憶部１０５、単意図推定モデル記憶部１０７、及び、複合意図推定モデル記憶部１０９は、例えば、ＨＤＤ５０２を使用する。なお、これは一例にすぎず、意図数推定モデル記憶部１０５、単意図推定モデル記憶部１０７、及び、複合意図推定モデル記憶部１０９は、ＤＶＤ、またはメモリ５０５等によって構成されるものであってもよい。
また、意図推定装置１は、ナビゲーション装置等の外部機器との通信を行う、入力インタフェース装置５０３、及び、出力インタフェース装置５０４を有する。
音声受付部１０１は、入力インタフェース装置５０３で構成される。
【００３６】
次に、実施の形態１に係る意図推定装置１の動作について説明する。
まず、意図推定装置１におけるユーザの意図を推定する動作の前提となる、意図数推定モデルの生成処理に関する動作について説明する。
ここでは、意図数推定モデルの生成処理は、意図推定装置１とは別の、意図数推定モデル生成装置２によって行われるものとする。
【００３７】
図６は、実施の形態１の意図数推定モデル生成装置２の構成例を示す図である。
意図数推定モデル生成装置２は、図６に示すように、学習用データ記憶部１１５と、形態素解析部１０３と、係り受け解析部１０４と、意図数推定モデル生成部１１６とを備える。
形態素解析部１０３及び係り受け解析部１０４の構成及び動作は、図１等を用いて説明した形態素解析部１０３及び係り受け解析部１０４の構成及び動作と同様であるため、同じ符号を付して重複した説明を省略する。
【００３８】
学習用データ記憶部１１５は、文字列と意図数との対応関係を学習用データとして記憶する。なお、ここでは、意図数推定モデル生成装置２が学習用データ記憶部１１５を備えるものとしているが、これに限らず、学習用データ記憶部１１５は、意図数推定モデル生成装置２の外部の、意図数推定モデル生成装置２が参照可能な場所に備えられるようにしてもよい。
【００３９】
ここで、図７は、実施の形態１において、学習用データ記憶部１１５に記憶されている学習用データの例を示す図である。
図７に示すように、学習用データは、発話等により音声出力される文字列の例示文である発話の文例（以下、発話文例という）に、対応する意図数が付与されたデータである。例えば、発話文例７０１「○○へ行きたい」については、意図数「１件」が付与されている。
学習用データは、予め、モデルの作成者等によって作成されるものである。モデルの作成者等は、複数の発話文例について、発話文例毎に予め意図数を付与した学習データを作成し、学習用データ記憶部１１５に記憶させておく。
【００４０】
意図数推定モデル生成部１１６は、学習用データ記憶部１１５に記憶されている学習用データ、及び、係り受け解析部１０４による形態素間の関係性の解析結果に基づき、発話文例と対応する意図数を統計的な手法で学習し、係り受け情報と意図数の対応関係を示す意図数推定モデル（図２参照）を生成する。意図数推定モデル生成部１１６は、生成した意図数推定モデルを、意図数推定モデル記憶部１０５に記憶させる。
【００４１】
図８は、実施の形態１において、意図数推定モデル生成装置２が意図数推定モデルを生成する処理を説明するためのフローチャートである。
まず、形態素解析部１０３は、学習用データ記憶部１１５に記憶されている学習用データの各文例に対して形態素解析を行う（ステップＳＴ８０１）。例えば、図７の発話文例７０１の場合、形態素解析部１０３は、「○○へ行きたい」に対して形態素解析を行い、「○○／名詞、へ／格助詞、行き／動詞、たい／助動詞」という形態素解析結果を得る。形態素解析部１０３は、形態素解析結果を、係り受け解析部１０４に出力する。
【００４２】
係り受け解析部１０４は、形態素解析部１０３から出力された形態素解析結果に基づき、形態素解析部１０３が解析した形態素を用いて、係り受け解析を行う（ステップＳＴ８０２）。例えば、発話文例７０１の場合、係り受け解析部１０４は、形態素「○○」、「へ」、「行き」及び「たい」に対し係り受け解析を行う。係り受け解析部１０４は、前記形態素から「動作対象」という形態素間の関係性の解析結果を得て、当該解析結果に意図数を付与して、「動作対象＿１件」を係り受け情報として意図数推定モデル生成部１１６に出力する。
【００４３】
意図数推定モデル生成部１１６は、係り受け解析部１０４が出力した係り受け情報に基づき、学習用データ記憶部１１５に記憶されている学習用データを用いて、意図数推定モデルを生成する（ステップＳＴ８０３）。例えば、発話文例７０１「○○へ行きたい」の場合、係り受け情報は「動作対象＿１件」であり、学習用データに含まれる意図数は図７に示すように「意図数１件」である。したがって、意図数推定モデル生成部１１６は、発話文例７０１を用いた場合、係り受け情報「動作対象＿１件」に対しては、「意図数１件」のスコアが他の意図数のスコアよりも高くなるように学習する。意図数推定モデル生成部１１６は、学習用データに含まれる全ての発話文例に対して上記のステップＳＴ８０１〜ステップＳＴ８０３と同様の処理を行い、最終的に図２に示すような意図数推定モデルを生成する。
そして、意図数推定モデル生成部１１６は、生成した意図数推定モデルを、意図数推定モデル記憶部１０５に記憶させる。なお、意図数推定モデル記憶部１０５は、例えば、ネットワークを介して、意図数推定モデル生成装置２がアクセス可能な場所に備えられている。
【００４４】
なお、ここでは、意図数推定モデル生成部１１６は、係り受け解析部１０４から出力されたすべての係り受け情報を特徴量として意図数推定に使うものとしたが、意図数推定モデル生成部１１６の構成は、これに限るものではない。意図数推定モデル生成部１１６は、「並列関係のみ使用」あるいは「動作の対象のみ使用」のように明確な規則を決めて特徴量を選択する構成、あるいは統計的な手法を用いて意図数推定に効果が高い係り受け情報のみを使用する構成とすることもできる。
【００４５】
また、ここでは、意図推定装置１とは別の意図数推定モデル生成装置２が、意図数推定モデルを生成し、意図数推定モデル記憶部１０５に記憶させるものとしたが、これに限らず、意図推定装置１が意図数推定モデルを生成して意図数推定モデル記憶部１０５に記憶させるものとしてもよい。この場合、意図推定装置１は、図１を用いて説明した構成に加え、学習用データ記憶部１１５及び意図数推定モデル生成部１１６をさらに備える。なお、学習用データ記憶部１１５は、意図推定装置１の外部の、意図推定装置１が参照可能な場所に備えられるようにしてもよい。
【００４６】
続いて、上記のとおり意図数推定モデルが生成され、意図数推定モデル記憶部１０５に記憶されていることを前提に、当該意図数推定モデルを用いた、実施の形態１に係る意図推定装置１における意図推定処理に関する動作について説明する。
【００４７】
ここで、図９は、実施の形態１において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
図１０は、実施の形態１に係る意図推定装置１の動作を説明するためのフローチャートである。
【００４８】
まず、図９に示すように、ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を、例えばナビゲーション装置が備えるスピーカから出力する（Ｓ１）。具体的には、意図推定装置１の音声制御部（図示省略）が、ナビゲーション装置に対して、「ピっと鳴ったらお話ください。」という音声を出力させる。
ナビゲーション装置が、「ピっと鳴ったらお話ください」という音声を出力すると、当該音声に対し、ユーザが「○○へ行きたい。」と発話する（Ｕ１）。なお、図９では、ナビゲーション装置が意図推定装置１から指示を受けて出力する音声を「Ｓ」と表し、ユーザからの発話を「Ｕ」と表している。
【００４９】
ユーザが「○○へ行きたい」（Ｕ１）と発話すると、音声受付部１０１が当該発話による音声を受け付ける。音声認識部１０２は、音声受付部１０１が受け付けた音声に対して音声認識処理を行い（ステップＳＴ１００１）、当該音声を文字列に変換する。音声認識部１０２は、変換した文字列を形態素解析部１０３に出力する。
形態素解析部１０３は、音声認識部１０２から出力された文字列に対し、形態素解析処理を行う（ステップＳＴ１００２）。例えば、形態素解析部１０３は、「○○」、「へ」、「行き」及び「たい」という形態素を得て、当該形態素の情報を、形態素解析結果として係り受け解析部１０４及び意図数推定部１０６に出力する。
【００５０】
係り受け解析部１０４は、形態素解析部１０３から出力された形態素解析結果に対し係り受け解析処理を実施する（ステップＳＴ１００３）。例えば、係り受け解析部１０４は、形態素「○○」は「行き」という動作の対象であるため、音声認識部１０２から出力された文字列には、「動作対象」という形態素間の関係性があると解析する。また、「動作対象」が１件であるため、係り受け解析部１０４は、「動作対象＿１件」と解析する。そして、係り受け解析部１０４は、「動作対象＿１件」との解析結果を、係り受け情報とし、意図数推定部１０６に出力する。
【００５１】
意図数推定部１０６は、ステップＳＴ１００３において係り受け解析部１０４から出力された係り受け情報「動作対象＿１件」を特徴量として、意図数推定モデル記憶部１０５に記憶されている意図数推定モデルを用いて、意図数を推定する（ステップＳＴ１００４）。意図数推定部１０６による意図数の推定動作について、図１１を用いて詳細に説明する。
【００５２】
図１１は、図１０のステップＳＴ１００４における、意図数推定部１０６の動作について説明するためのフローチャートである。
まず、意図数推定部１０６は、係り受け解析部１０４から出力された係り受け情報と意図数推定モデルとを照合し、各意図数に対する各係り受け情報のスコアを取得する（ステップＳＴ１１０１）。
【００５３】
ここで、図１２は、実施の形態１において、意図数推定部１０６が取得する、各意図数に対する係り受け情報のスコアの一例を示す図である。
図１２に示すように、特徴量とする係り受け情報が「動作対象＿１件」である場合、意図数推定部１０６は、例えば、意図数「１件」に対する特徴量「動作対象＿１件」のスコアとして、０．２を取得する。意図数推定部１０６は、他の意図数についても、同様に、特徴量「動作対象＿１件」のスコアを取得する。
【００５４】
次に、意図数推定部１０６は、ステップＳＴ１１０１で取得した各意図数のスコアに基づき、意図数を推定する対象としている１つの文字列である推定対象に対する各意図数の最終スコアを算出する（ステップＳＴ１１０２）。この実施の形態１において、意図数推定部１０６が求める最終スコアとは、各意図数について、当該意図数に対する各係り受け情報のスコアを全て乗算して算出された積である。すなわち、最終スコアとは、各意図数について、当該意図数に対する、意図数推定に用いる各特徴量のスコアを全て乗算して算出された積である。
図１３は、実施の形態１において、意図数推定部１０６が最終スコアを算出するために用いる計算式を示す図である。
図１３において、Ｓは、推定対象に対する複数の意図数のうち、最終スコアの算出対象としたある意図数（以下、対象意図数という）の最終スコアである。また、図１３において、Ｓｉは、対象意図数に対するｉ番目の特徴量のスコアである。
【００５５】
図１４は、実施の形態１において、意図数推定部１０６が算出する、各意図数の最終スコアの一例を示す図である。
意図数推定部１０６は、図１３に示す計算式を用いて、図１４に示す最終スコアを算出する。この例では、特徴量となる係り受け情報は「動作対象＿１件」の１つであるため、最終スコアと特徴量「動作対象＿１件」に対応するスコアは同じである。
図１４に示したように、意図数「１件」に対して、特徴量「動作対象＿１件」のスコアは０．２となり、最終スコアＳも０．２となる。意図数推定部１０６は、同様に、他の意図数についても、それぞれ最終スコアを算出する。
【００５６】
図１１のフローチャートに戻る。
意図数推定部１０６は、ステップＳＴ１１０２において算出した各意図数の最終スコアに基づき、意図数を推定する（ステップＳＴ１１０３）。具体的には、意図数推定部１０６は、算出した推定対象の各意図数のうち、最も高い最終スコアを有する意図数を、推定対象の意図数として推定する。
ここでは、意図数推定部１０６は、意図数「１件」を意図数として推定する。
【００５７】
図１０のフローチャートに戻る。
意図数推定部１０６は、ステップＳＴ１００４で意図数を推定した結果、意図数が１より大きいかどうかを判定する（ステップＳＴ１００５）。
ステップＳＴ１００５において、推定した意図数が１より大きい場合（ステップＳＴ１００５の“ＹＥＳ”の場合）、ステップＳＴ１０１０〜ステップＳＴ１０１４へ進む。ステップＳＴ１００５において、推定した意図数が１より大きくなった場合の、ステップＳＴ１０１０以降の処理の詳細については、具体例をあげて後述する。
【００５８】
ステップＳＴ１００５において、推定した意図数が１以下の場合（ステップＳＴ１００５の“ＮＯ”の場合）、ステップＳＴ１００６へ進む。
例えば、図９のＵ１の例では、意図数推定部１０６は意図数を推定した結果、意図数が「１」であるため、ステップＳＴ１００６へ進む。
ステップＳＴ１００６において、意図数推定部１０６は、ステップＳＴ１００２において形態素解析部１０３が形態素解析した形態素解析結果である文字列を単意図推定部１０８に出力する。そして、単意図推定部１０８は、単意図推定モデル記憶部１０７に記憶された単意図推定モデル（図３参照）を用いて、形態素解析結果である文字列、すなわち、単意図発話文に対して、ユーザの意図を推定する（ステップＳＴ１００６）。例えば、文字列が「○○へ行きたい。」である場合、「目的地設定［施設＝○○］」をユーザの意図と推定する。具体的には、単意図推定部１０８は、単意図推定モデルを用いて、形態素解析部１０３による、文字列の形態素解析結果のスコアが一番大きくなる意図を、ユーザの意図と推定する。
単意図推定部１０８は、当該意図推定結果を、単意図推定結果としてコマンド実行部１１２に出力する。
【００５９】
コマンド実行部１１２は、ステップＳＴ１００６において単意図推定部１０８から出力された単意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる（ステップＳＴ１００７）。例えば、コマンド実行部１１２は、ナビゲーション装置のコマンド処理部に、施設○○を目的地に設定するという操作を実行させる。
また、コマンド実行部１１２は、ステップＳＴ１００７で実行させたコマンドの内容を示す実行操作情報を、応答生成部１１３に出力する。
【００６０】
応答生成部１１３は、ステップＳＴ１００７においてコマンド実行部１１２から出力された実行操作情報に基づき、コマンド実行部１１２がコマンド処理部に実行させたコマンドに対応する応答データを生成する（ステップＳＴ１００８）。応答生成部１１３は、生成した応答データを、通知制御部１１４に出力する。
【００６１】
通知制御部１１４は、ステップＳＴ１００８において応答生成部１１３から出力された応答データに基づく音声を、例えば、ナビゲーション装置が備えるスピーカから出力させる（ステップＳＴ１００９）。その結果、図９の「Ｓ２」に示すように、「○○を目的地に設定しました。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。
【００６２】
次に、図９において「Ｕ２」で示すように、ユーザが、「△△も寄って、高速道路を選択して。」と発話したとして、この場合の意図推定装置１の動作を、図１０に沿って説明する。
「Ｕ２」で示すようにユーザが発話すると、音声受付部１０１が当該発話による音声を受け付け、音声認識部１０２は、受け付けた発話による音声に対して音声認識処理を行い（ステップＳＴ１００１）、文字列に変換する。音声認識部１０２は、変換した文字列を形態素解析部１０３に出力する。
形態素解析部１０３は、音声認識部１０２から出力された文字列に対し、形態素解析処理を行う（ステップＳＴ１００２）。例えば、形態素解析部１０３は、「△△」、「も」、「寄っ」、「て」、「高速道路」、「を」、「選択し」及び「て」の形態素を得、当該形態素の情報を、形態素解析結果として係り受け解析部１０４に出力する。
【００６３】
次に、係り受け解析部１０４は、形態素解析部１０３から出力された形態素解析結果に対して係り受け解析処理を行う（ステップＳＴ１００３）。ここでは、「△△」は「寄っ」の動作の対象であり、「高速道路」は「選択」の動作の対象であり、また動作「寄っ」と「選択」とは並列の関係にあるため、係り受け解析部１０４は、「動作対象＿２件」及び「並列関係＿１件」との解析結果を、係り受け情報とし、意図数推定部１０６に出力する。
【００６４】
意図数推定部１０６は、取得した係り受け情報「動作対象＿２件」及び「並列関係＿１件」を特徴量として、意図数推定モデル記憶部１０５に記憶されている意図数推定モデルを用いて意図数を推定する（ステップＳＴ１００４）。
ステップＳＴ１００４の具体的な動作は、上記のように、図１１を用いて詳細に説明したとおりであるが、まず、「Ｕ１」の場合の処理と同じように、意図数推定部１０６は、係り受け解析部１０４から出力された係り受け情報と意図数推定モデルを照合し、各意図数に対する各係り受け情報のスコアを取得する（図１１のステップＳＴ１１０１参照）。
続いて、意図数推定部１０６は、図１３で示した計算式より、推定対象の意図数に対する最終スコアを算出する（図１１のステップＳＴ１１０２参照）。
【００６５】
図１５は、実施の形態１において、意図数推定部１０６が算出する、各意図数の最終スコアの一例を示す図である。
意図数推定部１０６は、図１３に示す計算式を用いて、ユーザによる発話「Ｕ２」に対して、図１５に示す最終スコアを算出する。ここでは、意図数「１件」に対して、特徴量「動作対象＿２件」のスコアは０．０１、「並列関係＿１件」のスコアは０．０１となる。その結果、意図数推定部１０６は、発話「Ｕ２」に対する意図数「１件」の最終スコアＳを１ｅ−４（＝０．０００１）と算出する。意図数推定部１０６は、同様に、発話「Ｕ２」に対する他の意図数についても、それぞれ最終スコアを算出する。
【００６６】
意図数推定部１０６は、算出した各意図数の最終スコアに基づき、意図数を推定する（図１１のステップＳＴ１１０３参照）。具体的には、意図数推定部１０６は、算出した推定対象の各意図数のうち、最も高い最終スコアを有する意図数「２件」を、推定対象の意図数として推定する。
【００６７】
図１０のフローチャートに戻る。
意図数推定部１０６は、ステップＳＴ１００４で意図数を推定した結果、意図数が１より大きいかどうかを判定する（ステップＳＴ１００５）。
ステップＳＴ１００５において、推定した意図数が１より大きい場合（ステップＳＴ１００５の“ＹＥＳ”の場合）、ステップＳＴ１０１０へ進む。
ここでは、推定した意図数は１より大きい「２件」であるため（ステップＳＴ１００５の“ＹＥＳ”の場合）、ステップＳＴ１０１０に進む。
【００６８】
ステップＳＴ１０１０において、意図数推定部１０６は、ステップＳＴ１００２において形態素解析部１０３が形態素解析した形態素解析結果である文字列を複合意図推定部１１０に出力する。そして、複合意図推定部１１０は、複合意図推定モデル記憶部１０９に記憶された複合意図推定モデル（図４参照）を用いて、形態素結果である文字列、すなわち、複意図発話文に対して、ユーザの意図を推定する（ステップＳＴ１０１０）。
【００６９】
ここで、図１６は、この実施の形態１において、複合意図推定部１１０が推定結果とした、ユーザの意図の判定結果の一例である。
図１６では、説明を容易にするため、複合意図推定モデル記憶部１０９に記憶されている複合意図推定モデルとして、意図「経由地追加［施設＝△△］」の判定用意図推定モデル、意図「ルート変更［高速道路優先］」の判定用意図推定モデル、及び、意図「目的地設定［施設=△△］」の判定用意図推定モデルの三つのモデルがあるものとして説明する。すなわち、複合意図推定部１１０は、形態素解析部１０３による形態素解析結果である文字列が、この三つの意図に該当するかどうかについて判定する。複合意図推定部１１０は、上記三つの判定用意図推定モデルを用いて判定する意図に対する意図推定スコアが０．５を超えた場合に、当該意図推定スコアが０．５を超えたと判定された意図を、該当意図であると判定するものとする。
なお、意図推定スコアとは、各形態素のスコアを足したものを元に算出される確率値をいう。よって、各判定用意図推定モデルにおいて意図推定スコアを合計すると「１」となる。
【００７０】
図１６において、図１６Ａは、意図「経由地追加［施設＝△△］」の判定用意図推定モデルの判定結果である。複合意図推定部１１０は、意図「経由地追加［施設＝△△］」の意図推定スコアとして０．７５を得る。この場合、意図推定スコアが０．５を超えるため、複合意図推定部１１０は、意図「経由地追加［施設＝△△］」が「Ｕ２」の文字列の該当意図であると判定する。
図１６において、図１６Ｂは、意図「ルート変更［高速道路優先］」の判定用意図推定モデルの判定結果である。複合意図推定部１１０は、意図推定スコアが０．７であり、０．５を超えるため（図１６Ｂ参照）、意図「ルート変更［高速道路優先］」も「Ｕ２」の文字列の該当意図であると判定する。
図１６において、図１６Ｃは、意図「目的地設定［施設＝△△］」の判定用意図推定モデルの判定結果である。複合意図推定部１１０は、意図「目的地設定［施設=△△］」の意図推定スコアが０．５以下であるため、意図「目的地設定［施設=△△］」ではなく、「他の意図」が「Ｕ２」の文字列の該当意図であると判定する。
【００７１】
複合意図推定部１１０は、図１６Ａ〜図１６Ｃで示す三つの意図推定モデルにより得た該当意図である、「経由地追加［施設＝△△］」、「ルート変更［高速道路優先］」、及び、「他の意図」を、意図推定結果として推定結果統合部１１１に出力する。
【００７２】
推定結果統合部１１１は、ステップＳＴ１０１０において複合意図推定部１１０から意図推定結果として出力された複数の該当意図のうち、「他の意図」以外の該当意図を、統合結果に加えることで、該当意図を統合する（ステップＳＴ１０１１）。
【００７３】
図１６Ａに示すように、意図「経由地追加［施設＝△△］」の判定用意図推定モデルの判定結果は、意図「経由地追加［施設＝△△］」であるため、推定結果統合部１１１は、意図「経由地追加［施設＝△△］」を統合結果に加える。推定結果統合部１１１は、意図「ルート変更［高速道路優先］」を統合結果に加える。
一方、図１６Ｃに示すように、意図「目的地設定［施設=△△］」の判定用意図推定モデルの判定結果は、「他の意図」であるため、推定結果統合部１１１は、意図「目的地設定［施設=△△］」も「他の意図」も統合結果には加えない。
【００７４】
図１７は、この実施の形態１において、推定結果統合部１１１により統合された意図の統合結果の一例を示す図である。
推定結果統合部１１１は、推定した意図の統合結果を、複合意図推定結果としてコマンド実行部１１２へ出力する。
【００７５】
コマンド実行部１１２は、ステップＳＴ１０１１において複合意図推定部１１０から出力された複合意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる（ステップＳＴ１０１２）。例えば、コマンド実行部１１２は、ナビゲーション装置のコマンド処理部に、施設△△を経由地に追加するという操作を実行させる。また、コマンド実行部１１２は、ナビゲーション装置のコマンド処理部に、ルートを高速道路優先に変更するという操作を実行させる。
また、コマンド実行部１１２は、ステップＳＴ１０１２で実行させたコマンドの内容を示す実行操作情報を、応答生成部１１３に出力する。
【００７６】
応答生成部１１３は、ステップＳＴ１０１２においてコマンド実行部１１２から出力された実行操作情報に基づき、コマンド実行部１１２がコマンド処理部に実行させたコマンドに対応する応答データを生成する（ステップＳＴ１０１３）。応答生成部１１３は、生成した応答データを、通知制御部１１４に出力する。
【００７７】
通知制御部１１４は、ステップＳＴ１０１３において応答生成部１１３から出力された応答データに基づく音声を、例えば、ナビゲーション装置が備えるスピーカから出力させる（ステップＳＴ１０１４）。その結果、図９の「Ｓ３」に示すように、「△△を経由地に追加しました。」、及び、「ルートを高速道路優先にしました。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。
【００７８】
以上のように、実施の形態１によれば、意図推定装置１を、取得した文字列に基づき当該文字列に含まれる形態素の解析を行う形態素解析部１０３と、文字列に対する意図数を推定し、推定した意図数に応じて、当該文字列が、一つしか意図を含まない単意図文字列（単意図発話）であるか、複数の意図を含む複意図文字列（複意図発話）であるかを判断する意図数推定部１０６と、意図数推定部１０６が、文字列は単意図文字列であると判断した場合、形態素解析部１０３が解析した形態素に基づき、意図毎に形態素との関連度が対応付けられた単意図推定モデルを用いて、当該単意図文字列に対する意図を単意図として推定する単意図推定部１０８と、意図数推定部１０６が、文字列は複意図文字列であると判断した場合、形態素解析部１０３が解析した形態素に基づき、複数の意図毎に形態素との関連度が対応付けられた複合意図推定情報モデルを用いて、当該複意図文字列に対する複数の意図を推定する複合意図推定部１１０と、複合意図推定部１１０が推定した複数の意図を複合意図として統合する推定結果統合部１１１とを備えるように構成した。これにより、取得した文字列が単意図文字列、複意図文字列のどちらもあり得る場合においても、精度よく意図を推定することができる。
【００７９】
実施の形態２．
実施の形態１では、ユーザの発話から、ユーザの意図が２以上であると推定した場合、複合意図推定部１１０が推定した複合意図推定結果を推定結果統合部１１１が統合し、コマンド実行部１１２が、当該統合された複合意図推定結果に対応するコマンドをナビゲーション装置に実行させるようにしていた。
この実施の形態２では、さらに、複合意図推定部１１０が推定した複合意図推定結果の意図数に上限を設定する実施の形態について説明する。
以下、図面を用いて本発明の実施の形態２について説明する。
【００８０】
図１８は、実施の形態２に係る意図推定装置１Ｂの構成例を示す図である。
この実施の形態２の意図推定装置１Ｂは、実施の形態１において図１を用いて説明した意図推定装置１とは、推定結果選択部１１７を備える点において異なる。意図推定装置１Ｂのその他の構成については、実施の形態１において図１を用いて説明した意図推定装置１の構成と同様であるので、意図推定装置１と同様の構成については、図１と同一の符号を付して重複した説明を省略する。
なお、この実施の形態２では、推定結果統合部１１１は、推定した意図の統合結果である複合意図推定結果を推定結果選択部１１７に出力する。このとき、推定結果統合部１１１は、意図推定スコアについても、複合意図推定結果に含めて、推定結果選択部１１７に出力する。
また、この実施の形態２では、意図数推定部１０６は、推定した意図数の情報を、推定結果選択部１１７に出力するようにする。
【００８１】
推定結果選択部１１７は、推定結果統合部１１１から出力された複合意図推定結果に対し、意図数推定部１０６から出力された意図数を意図出力上限として、推定結果とする意図を、複合意図推定結果の意図推定スコアの上位から選択する。推定意図の選択について具体的な手法は後述する。
【００８２】
実施の形態２における意図推定装置１Ｂの動作について説明する。
ここで、図１９は、実施の形態２において、ユーザとナビゲーション装置との間で行われる対話例を示す図である。
図２０は、実施の形態２における意図推定装置１Ｂの動作を説明するためのフローチャートである。
【００８３】
まず、図１９に示すように、ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を、例えばナビゲーション装置が備えるスピーカから出力する（Ｓ０１）。具体的には、意図推定装置１Ｂの音声制御部（図示省略）が、ナビゲーション装置に対して、「ピっと鳴ったらお話ください。」という音声を出力させる。
ナビゲーション装置が、「ピっと鳴ったらお話ください。」という音声を出力すると、当該音声に対し、ユーザが「○○は寄らなくていい、近くにコンビニある？」と発話する（Ｕ０１）。なお、ここでは、図１９に示すように、ナビゲーション装置が意図推定装置１Ｂから指示を受けて出力する音声を「Ｓ」と表し、ユーザからの発話を「Ｕ」と表している。
【００８４】
以下、図２０のフローチャートに沿って説明するが、図２０のステップＳＴ２００１〜ステップＳＴ２０１１，ステップＳＴ２０１３〜ステップＳＴ２０１５の具体的な動作は、それぞれ、実施の形態１で説明した図１０のステップＳＴ１００１〜ステップＳＴ１０１４の具体的な動作と同様である。
【００８５】
まず、音声受付部１０１がユーザの発話による音声を受け付け、音声認識部１０２が受け付けた音声に対して音声認識処理を行って文字列に変換し、形態素解析部１０３が文字列に対して形態素解析処理を行う（ステップＳＴ２００１、ＳＴ２００２）。例えば、形態素解析部１０３は、「○○」、「は」、「寄ら」、「なく」、「て」、「いい」、「近く」、「に」、「コンビニ」及び「ある」の形態素を得て、当該形態素の情報を、形態素解析結果として係り受け解析部１０４及び意図数推定部１０６に出力する。
次に、係り受け解析部１０４が文字列に対して係り受け解析処理を行う（ステップＳＴ２００３）。例えば、「○○」が「寄ら」の動作の対象であり、「コンビに」が「ある」の動作の対象であり、また、動作「いい」と「ある」は「並列関係」であるため、係り受け解析部１０４は、「動作対象＿２件」、「並列関係＿１件」との解析結果を、係り受け情報とし、意図数推定部１０６に出力する。
そして、係り受け解析部１０４から出力された係り受け情報を用いて、意図数推定部１０６が意図数を推定する（ステップＳＴ２００４）。ここでは、意図数推定部１０６が推定した意図数が「２件」となり（実施の形態１で説明した図１１のステップＳＴ１１０４参照）、推定された意図数が「１」より大きいため（ステップＳＴ２００５の“ＹＥＳ”の場合）、ステップＳＴ２０１０以後の処理に移る。ここまでは実施の形態１で説明した図１０のステップＳＴ１００１〜１００５と同様である。
【００８６】
ステップＳＴ２０１０において、意図数推定部１０６は、形態素解析部１０３が形態素解析した結果である文字列を複合意図推定部１１０に出力する。そして、複合意図推定部１１０は、複意図発話文に対して、ユーザの意図を推定する。
【００８７】
ここで、図２１は、実施の形態２において、複合意図推定部１１０が判定した、ユーザの意図の判定結果の一例である。
図２１では、説明を容易にするため、複合意図推定モデル記憶部１０９に記憶されている複合意図推定モデルとして、意図「経由地削除［施設＝○○］」の判定用意図推定モデル、意図「周辺検索［施設種類＝コンビニ］」の判定用意図推定モデル、意図「ルート削除」の判定用意図推定モデルの三つのモデルがあるものとして説明する。なお、実施の形態１と同様、意図数推定部１０６は、上記三つの判定用意図推定モデルを用いて判定する意図に対する意図推定スコアが０．５を超えた場合に、当該意図推定スコアが０．５を超えたと判定された意図を、該当意図であると判定するものとする。
【００８８】
図２１において、図２１Ａは、意図「経由地削除［施設＝○○］」の判定用意図推定モデルの判定結果である。複合意図推定部１１０は、意図「経由地削除［施設＝○○］」の意図推定スコアが０．６５を得る。この場合、意図推定スコアが０．５を超えるため、複合意図推定部１１０は、意図「経由地削除［施設＝○○］」が「Ｕ０１」の文字列の該当意図であると判定する。
図２１において、図２１Ｂは、意図「周辺検索［施設種類＝コンビニ］」判定用意図推定モデルの判定結果であり、図２１Ｃは、意図「ルート削除」判定用意図推定モデルの判定結果である。複合意図推定部１１０は、意図推定スコアが０．７であり、０．５を超えるため（図２１Ｂ参照）、意図「周辺検索［施設種類＝コンビニ］」も「Ｕ０１」の文字列の該当意図であると判定する。また、複合意図推定部１１０は、意図推定スコアが０．５５であり、０．５を超えるため（図２１Ｃ参照）、「ルート削除」も「Ｕ０１」の文字列の該当意図であると判定する。
複合意図推定部１１０は、図２１Ａ〜図２１Ｃで示す三つの意図推定モデルにより得た該当意図である、「経由地削除［施設＝○○］」、「周辺検索［施設種類=コンビニ］」、及び、「ルート削除」を推定結果統合部１１１に出力する。
【００８９】
推定結果統合部１１１は、ステップＳＴ２０１０において複合意図推定部１１０から意図推定結果として出力された複数の該当意図のうち、「他の意図」以外の該当意図を、統合結果に加えることで、該当意図を統合する（ステップＳＴ２０１１）。
【００９０】
図２１Ａに示すように、意図「経由地削除［施設＝○○］」の判定用意図推定モデルの判定結果は、意図「経由地削除［施設＝○○］」であるため、推定結果統合部１１１は、意図「経由地削除［施設＝○○］」を統合結果に加える。また、図２１Ｂ及び図２１Ｃに示すように、意図「周辺検索［施設種類＝コンビニ］」の判定用意図推定モデルの判定結果は「周辺検索［施設種類＝コンビニ］」であり、意図「ルート削除」の判定用意図推定モデルの判定結果は「ルート削除」であるため、推定結果統合部１１１は、「周辺検索［施設種類＝コンビニ］」及び「ルート削除」も同様に統合結果に加える。このとき、この実施の形態２では、推定結果統合部１１１は、意図推定スコアも、統合結果に加える。
【００９１】
図２２は、この実施の形態２において、推定結果統合部１１１により統合された意図の統合結果の一例を示す図である。
推定結果統合部１１１は、推定した意図の統合結果を、複合意図推定結果として推定結果選択部１１７へ出力する。
【００９２】
推定結果選択部１１７は、ステップＳＴ２０１１において推定結果統合部１１１から出力された複合意図推定結果に対し、ステップＳＴ２００４において意図数推定部１０６から出力された意図数を意図出力上限として、推定結果とする意図を、複合意図推定結果の意図推定スコアの上位から選択し、選択した推定意図を最終意図推定結果とする（ステップＳＴ２０１２）。
具体的には、推定結果選択部１１７は、意図数推定部１０６から出力された意図数を意図出力上限とし、意図推定スコアを判断基準として、当該意図推定スコアの上位の推定意図のみを選択する。
【００９３】
ここで、ステップＳＴ２００４において、意図数推定部１０６は意図数「２件」と推定した。そのため、推定結果選択部１１７は、最終意図推定結果の数を「２」以下にする。推定結果統合部１１１による推定統合結果は、「経由地削除［施設=○○］」、「周辺検索［施設種類＝コンビニ］」及び「ルート削除」の３つである。
また、図２２で示したように意図推定スコアは、「経由地削除［施設＝○○］」が「０．６５」、「周辺検索［施設種類＝コンビニ］」が「０．７」、「ルート削除」が「０．５５」である。
推定結果選択部１１７は、意図数推定部１０６から出力された意図数を意図出力上限とし、複合意図推定結果の意図推定スコアの上位二つを選択して、最終意図推定結果として出力するので、推定結果選択部１１７は、「経由地削除［施設＝○○］」及び「周辺検索［施設種類＝コンビニ］」を選択し、最終意図推定結果とすることになる。
【００９４】
このように、意図推定装置１Ｂでは、推定結果選択部１１７により、「ルート削除」を複合意図推定結果から削除することで、余計な意図推定結果の出力を抑え、複合意図推定結果に上限を設けない場合に比べ、意図推定の精度をより向上することができる。その結果、より適切な最終意図推定結果を得ることができる。
図２３は、実施の形態２において、推定結果選択部１１７により生成された最終意図推定結果の内容の一例を示す図である。
推定結果選択部１１７は、最終意図推定結果をコマンド実行部１１２に出力する。
【００９５】
コマンド実行部１１２は、ステップＳＴ２０１２において推定結果選択部１１７から出力された最終意図推定結果に対応するコマンドを、ナビゲーション装置のコマンド処理部に、実行させる（ステップＳＴ２０１３）。例えば、コマンド実行部１１２は、ナビゲーション装置のコマンド処理部に、経由地を削除するコマンド及び周辺のコンビニを検索するコマンドを実行させる。
また、応答生成部１１３は、コマンド実行部１１２がコマンド処理部に実行させたコマンドに対応する応答データを生成し（ステップＳＴ２０１４）、通知制御部１１４は、応答生成部１１３が生成した応答データを、ナビゲーション装置が備えるスピーカから出力させる（ステップＳＴ２０１５）。その結果、図１９の「Ｓ０２」に示すように、「経由地○○を削除しました。」「周辺のコンビニを検索します。リストから選択してください。」等の音声が出力され、ユーザへの、実行されたコマンドの通知を行うことができる。具体的な動作は、実施の形態１で説明した、図１０のステップＳＴ１０１２〜ステップＳＴ１０１４と同じである。
【００９６】
以上のように、実施の形態２によれば、実施の形態１に係る意図推定装置１の構成に加え、意図数推定部１０６が推定した意図数を上限として、推定結果統合部１１１が統合した複数の意図のうち、意図数推定部１０６が意図数を推定する際に算出した意図推定スコアの上位の意図を選択し、複合意図とする推定結果選択部１１７を備えるように構成した。これにより、意図数推定部１０６で得た意図数結果を用いて、推定結果統合部１１１で得た複合意図推定結果に対して出力上限を設定し、不適切な意図推定結果の出力を抑えることができるため、最終統合結果の精度がより向上する。
【００９７】
なお、これまで説明した意図推定装置１，１Ｂの機能の一部は他の装置で実行されるようにしてもよい。例えば、一部の機能を、外部に設けられたサーバ、あるいは、スマートフォンまたはタブレット等の携帯端末等により実行するようにしてもよい。
【００９８】
また、上述した実施の形態１，２では、意図推定装置１，１Ｂは、ユーザの発話による音声をもとに、ユーザの意図を推定するものとしたが、ユーザの意図を推定する元となる情報はこれに限らない。例えば、意図推定装置１，１Ｂは、ユーザがキーボード等の入力装置を用いて入力した文字列を受け付け、当該文字列をもとに、ユーザの意図を推定するようにすることもできる。
【００９９】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【０１００】
この発明に係る意図推定装置は、文字列の意図を推定する精度を向上することができるように構成したため、入力された文字列を認識してユーザの意図を推定する意図推定装置等に適用することができる。
【符号の説明】
【０１０１】
１，１Ｂ  意図推定装置、２  意図数推定モデル生成装置、１０１  音声受付部、１０２  音声認識部、１０３  形態素解析部、１０４  係り受け解析部、１０５  意図数推定モデル記憶部、１０６  意図数推定部、１０７  単意図推定モデル記憶部、１０８  単意図推定部、１０９  複合意図推定モデル記憶部、１１０  複合意図推定部、１１１  推定結果統合部、１１２  コマンド実行部、１１３  応答生成部、１１４  通知制御部、１１５  学習用データ記憶部、１１６  意図数推定モデル生成部、１１７  推定結果選択部、５０１  処理回路、５０２  ＨＤＤ、５０３  入力インタフェース装置、５０４  出力インタフェース装置、５０５  メモリ、５０６  ＣＰＵ。
【図１】
0006632764.tif 000002
【図２】
0006632764.tif 000003
【図３】
0006632764.tif 000004
【図４】
0006632764.tif 000005
【図５】
0006632764.tif 000006
【図６】
0006632764.tif 000007
【図７】
0006632764.tif 000008
【図８】
0006632764.tif 000009
【図９】
0006632764.tif 000010
【図１０】
0006632764.tif 000011
【図１１】
0006632764.tif 000012
【図１２】
0006632764.tif 000013
【図１３】
0006632764.tif 000014
【図１４】
0006632764.tif 000015
【図１５】
0006632764.tif 000016
【図１６】
0006632764.tif 000017
【図１７】
0006632764.tif 000018
【図１８】
0006632764.tif 000019
【図１９】
0006632764.tif 000020
【図２０】
0006632764.tif 000021
【図２１】
0006632764.tif 000022
【図２２】
0006632764.tif 000023
【図２３】
0006632764.tif 000024