(57)【要約】  本技術は、より利便性の高い音声インタラクションを提供することができるようにする情報処理装置、及び情報処理方法に関する。ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前後の発話を接続する処理部を備える情報処理装置が提供されることで、より利便性の高い音声インタラクションを提供することができる。本技術は、例えば、音声対話システムに適用することができる。
2019031268.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する処理部を備える
情報処理装置。
【請求項２】
前記処理部は、
現在の発話と、過去の発話の履歴に基づいて、前記前後の発話の意味単位での適合度を算出し、
算出された前記適合度に基づいて、前記前後の発話を接続するか否かを判定し、
前記前後の発話を接続すると判定された場合に、前記前後の発話を接続する
請求項１に記載の情報処理装置。
【請求項３】
前記処理部は、前記現在の発話と、前記過去の発話の履歴とともに、センサから得られるセンサ情報を用い、前記前後の発話の意味単位での適合度を算出する
請求項２に記載の情報処理装置。
【請求項４】
前記処理部は、
前記前後の発話を仮に接続して得られる入力仮説ごとのスコアを算出し、
算出された前記入力仮説ごとのスコアに基づいて、前記入力仮説ごとの前記前後の発話の適合度を算出し、
算出された前記入力仮説ごとの適合度に基づいて、複数の入力仮説の中から、１つの入力仮説を選択する
請求項２に記載の情報処理装置。
【請求項５】
前記処理部は、前記入力仮説ごとに得られる情報量に応じて、前記スコアを算出する
請求項４に記載の情報処理装置。
【請求項６】
前記スコアは、前記入力仮説ごとに、
前記ユーザの意図に応じた関数のパラメータの使用の割合から得られる第１のスコア、
前記ユーザの発話の言い回しの情報に関する言語モデルから得られる第２のスコア、
前記現在の発話と前記過去の発話の履歴との時間的な間隔、又は前記過去の発話の履歴同士の時間的な間隔から得られる第３のスコア、
及び前記現在の発話と前記過去の発話の履歴との結合数から得られる第４のスコア
のうち、少なくとも１以上のスコアを含む
請求項５に記載の情報処理装置。
【請求項７】
前記適合度は、前記前後の発話の関連度及び文法的なつながりの少なくとも一方を含む
請求項１に記載の情報処理装置。
【請求項８】
前記処理部は、前記間の間隔に基づいて、前記前後の発話を接続するかどうかを判定する
請求項２に記載の情報処理装置。
【請求項９】
前記処理部は、前記過去の発話の履歴のうち、有効な発話の履歴のみを用いる
請求項２に記載の情報処理装置。
【請求項１０】
前記過去の発話の履歴は、前記ユーザの発話の内容と発話された時刻の情報を含む
請求項９に記載の情報処理装置。
【請求項１１】
前記センサ情報は、被写体を撮像して得られる画像データ、又は前記ユーザの位置を示す位置情報を含む
請求項３に記載の情報処理装置。
【請求項１２】
情報処理装置の情報処理方法において、
前記情報処理装置が、
ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する
情報処理方法。
【請求項１３】
ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出する処理部と、
前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する送信部と
を備える情報処理装置。
【請求項１４】
前記処理部は、間の時間間隔、言葉の言い淀みに関する情報、話者に関する情報、又は前記ユーザの視線情報を含む抽出情報に基づいて、前記過去の発話の履歴を抽出する
請求項１３に記載の情報処理装置。
【請求項１５】
前記送信部は、前記過去の発話の履歴に関する送信最大個数、又は送信最大データサイズに基づいて、前記過去の発話の履歴を送信する
請求項１４に記載の情報処理装置。
【請求項１６】
情報処理装置の情報処理方法において、
前記情報処理装置が、
ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出し、
前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、及び情報処理方法に関し、特に、より利便性の高い音声インタラクションを提供することができるようにした情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、ユーザの発話に応じた応答を行う音声対話システムが、様々な分野で利用されはじめている。【０００３】
例えば、音声対話システムを利用することで、ユーザが、「ここどこですか？」と質問したとき、「セントラルパークにいます。」という回答が返ってくる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−４２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、音声による指示を受け付ける機器において、ユーザの発話に「間（ま）」があった場合、従来の音声言語理解プログラムでは、ユーザの指示を正しく理解することができない。【０００６】
すなわち、音声対話システムにおいて、音声ユーザインターフェースを持つ機器では、まず、信号処理部が、常にマイクロフォンに入力される音声信号から、ユーザの発話が録音された区間を切り出す。そして、音声認識部が、その切り出された音声信号を使って、ユーザの発話内容を文字列として書き起こし、言語理解部が、その書き起こされた文字列のみを使ってユーザの指示内容を解析するためである。【０００７】
「間」が空いてしまうと、ユーザが意図したことを言い切る前に、信号処理部が音声信号を切り出し、その後段の処理に移ってしまう。その後に付け足すようにユーザが指示をしたとしても、またその内容のみを解析してしまうため、機器は、ユーザの意図していた通りの挙動をしないことになる。【０００８】
そのため、ユーザの発話に「間」が空いた場合でも、音声対話システムによって、ユーザの意図していた通りの挙動が行われ、より利便性の高い音声インタラクションを提供するための技術が求められている。【０００９】
本技術はこのような状況に鑑みてなされたものであり、より利便性の高い音声インタラクションを提供することができるようにするものである。
【課題を解決するための手段】
【００１０】
本技術の第１の側面の情報処理装置は、ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する処理部を備える情報処理装置である。【００１１】
本技術の第１の側面の情報処理方法は、情報処理装置の情報処理方法において、前記情報処理装置が、ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する情報処理方法である。【００１２】
本技術の第１の側面の情報処理装置、及び情報処理方法においては、ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話が接続される。【００１３】
本技術の第２の側面の情報処理装置は、ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出する処理部と、前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する送信部とを備える情報処理装置である。【００１４】
本技術の第２の側面の情報処理方法は、情報処理装置の情報処理方法において、前記情報処理装置が、ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出し、前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する情報処理方法である。【００１５】
本技術の第２の側面の情報処理装置、及び情報処理方法においては、ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴が抽出され、前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴が、前記音声言語理解処理を行う情報処理装置に送信される。【００１６】
本技術の第１の側面及び第２の側面の情報処理装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。
【発明の効果】
【００１７】
本技術の第１の側面及び第２の側面によれば、より利便性の高い音声インタラクションを提供することができる。【００１８】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１９】
【図１】本技術を適用した音声対話システムの構成例を示すブロック図である。
【図２】音声処理装置の構成例を示すブロック図である。
【図３】サーバの構成例を示すブロック図である。
【図４】本技術を適用した音声対話システムの機能的構成例を示すブロック図である。
【図５】音声信号の波形における音声区間検出（VAD）の例を示す図である。
【図６】音声認識・音声言語理解プログラムAPIの出力例を示す図である。
【図７】「間」を空けて発話した場合の音声信号の波形の例を示す図である。
【図８】音声認識・音声言語理解プログラムAPIの間を空けて発話した場合の出力例を示す図である。
【図９】音声認識・音声言語理解プログラムAPIの話者を特定できない場合の出力例を示す図である。
【図１０】発話の履歴情報の例を示す図である。
【図１１】本技術の音声認識・音声言語理解プログラムAPIの出力例を示す図である。
【図１２】発話の履歴情報の例を示す図である。
【図１３】本技術の音声認識・音声言語理解プログラムAPIの出力例を示す図である。
【図１４】発話の履歴情報の例を示す図である。
【図１５】本技術の音声認識・音声言語理解プログラムAPIの出力例を示す図である。
【図１６】一般的な音声言語理解処理の流れを説明するフローチャートである。
【図１７】パラメータの解釈・変換の例（変換前の例）を示す図である。
【図１８】パラメータの解釈・変換の例（変換後の例）を示す図である。
【図１９】入力仮説の解析結果の例を示す図である。
【図２０】入力仮説の解析結果の例を示す図である。
【図２１】本技術の音声言語理解処理の流れを説明するフローチャートである。
【図２２】「間」を空けて発話した場合の音声信号の波形の例を示す図である。
【図２３】入力仮説ごとに得られるスコアの例を示す図である。
【図２４】他センサ情報の例を示す図である。
【図２５】発話の履歴情報の例を示す図である。
【図２６】本技術の音声認識・音声言語理解プログラムAPIの出力例を示す図である。
【図２７】音声対話処理の流れを説明するフローチャートである。
【図２８】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
【００２１】
１．システム構成
２．前提となる技術
３．本技術の実施の形態
（１）第１の実施の形態：発話の履歴情報を利用した音声言語理解処理
（２）第２の実施の形態：センサ情報を利用した音声言語理解処理
４．変形例
５．コンピュータの構成
【００２２】
＜１．システム構成＞
【００２３】
（音声対話システムの構成）
図１は、本技術を適用した音声対話システムの構成例を示すブロック図である。
【００２４】
音声対話システム１は、ユーザ宅等のローカル側に設置され、音声対話サービスのユーザインターフェースとして機能する音声処理装置１０と、データセンタ等のクラウド側に設置され、音声対話機能を実現するための処理を行うサーバ２０とから構成されるようにすることができる。
【００２５】
音声対話システム１において、音声処理装置１０とサーバ２０とは、インターネット３０を介して相互に接続されている。
【００２６】
音声処理装置１０は、例えば、家庭内LAN(Local Area Network)等のネットワークに接続可能なスピーカであって、いわゆるスマートスピーカなどとも称される。この種のスピーカは、音楽の再生のほか、例えば、照明器具や空調設備などの機器に対する音声操作などを行うことができる。
【００２７】
なお、音声処理装置１０は、スピーカに限らず、例えば、スマートフォンや携帯電話機等のモバイル機器や、タブレット型のコンピュータなどとして構成されるようにしてもよい。
【００２８】
音声処理装置１０は、インターネット３０を介してサーバ２０と連携することで、ユーザに対し、音声対話サービス（のユーザインターフェース）を提供することができる。
【００２９】
すなわち、音声処理装置１０は、ユーザから発せられた音声（ユーザ発話）を収音し、その音声信号を、インターネット３０を介して、サーバ２０に送信する。また、音声処理装置１０は、インターネットを介してサーバ２０から送信されてくる処理データを受信し、その処理データに応じた音声を出力する。
【００３０】
サーバ２０は、クラウドベースの音声対話サービスを提供するサーバである。
【００３１】
サーバ２０は、インターネット３０を介して音声処理装置１０から送信されてくる音声信号を、テキストデータに変換するための音声認識処理を行う。また、サーバ２０は、音声認識結果（テキストデータ）に対し、音声言語理解処理などの処理を行い、その処理の結果得られる処理データを、インターネット３０を介して音声処理装置１０に送信する。
【００３２】
（音声処理装置の構成）
図２は、図１の音声処理装置１０の構成例を示すブロック図である。
【００３３】
図２において、音声処理装置１０は、処理部５１、マイクロフォン５２、スピーカ５３、センサ５４、及び通信I/F５５を含んで構成される。
【００３４】
処理部５１は、例えば、CPU(Central Processing Unit)やマイクロプロセッサ等から構成される。処理部５１は、各種の演算処理や、各部の動作制御など、音声処理装置１０における中心的な処理装置として動作する。
【００３５】
マイクロフォン５２は、外部からの音を、電気信号に変換する機器（収音器）である。マイクロフォン５２は、変換で得られる音声信号を、処理部５１に供給する。
【００３６】
スピーカ５３は、電気信号を物理振動に変えて音を出す機器である。スピーカ５３は、処理部５１から供給される音声信号に応じた音を出力する。
【００３７】
センサ５４は、各種のセンサから構成される。センサ５４は、センシングを行い、センシング結果に応じたセンサ情報（センサデータ）を、処理部５１に供給する。
【００３８】
例えば、センサ５４としては、被写体を撮像するイメージセンサ、磁場（磁界）の大きさや方向を検出する磁気センサ、加速度を検出する加速度センサ、角度（姿勢）や角速度、角加速度を検出するジャイロセンサ、近接するものを検出する近接センサ、あるいは、指紋や虹彩、脈拍などの生体情報を検出する生体センサなど、各種のセンサを含めることができる。
【００３９】
また、センサ５４には、温度を検出する温度センサや、湿度を検出する湿度センサ、周囲の明るさを検出する環境光センサなどの周囲の環境を測定するためのセンサを含めることができる。なお、センサデータには、GPS(Global Positioning System)信号などから算出される位置情報（位置データ）や、計時手段により計時された時刻情報などの様々な情報を含めるようにしてもよい。
【００４０】
通信I/F５５は、例えば、通信インターフェース回路等から構成される。通信I/F５５は、処理部５１からの制御に従い、インターネット３０に接続されたサーバ２０にアクセスして、各種のデータをやりとりする。
【００４１】
ここで、例えば、処理部５１は、音声対話システム１（図１）により提供される機能のうち、一部の機能を有している。
【００４２】
すなわち、処理部５１は、マイクロフォン５２から供給される音声信号に対する所定の信号処理を行い、その結果得られる音声信号を、通信I/F５５に供給する。これにより、ユーザの発話の音声信号が、インターネット３０を介してサーバ２０に送信される。また、処理部５１は、センサデータを、通信I/F５５に供給して、インターネット３０を介してサーバ２０に送信することができる。
【００４３】
また、処理部５１は、通信I/F５５から供給される音声信号を処理し、その結果得られる音声信号を、スピーカ５３に供給する。これにより、スピーカ５３からは、システム応答（の音声信号）に応じた応答音声が出力される。
【００４４】
なお、図２には図示していないが、音声処理装置１０には、各種の情報（例えば文字や画像等）を表示するための表示部、ユーザからの操作を受け付ける入力部、又は各種のデータ（例えば音声データやテキストデータ等）を記憶する記憶部などをさらに設けるようにしてもよい。
【００４５】
ここで、表示部は、例えば、液晶ディスプレイや有機ELディスプレイ等から構成される。入力部は、例えば、ボタンやキーボード等から構成される。また、入力部は、タッチセンサと表示部とが一体化されたタッチパネルとして構成され、ユーザの指やタッチペン（スタイラスペン）による操作に応じた操作信号が得られるようにしてもよい。記憶部は、例えば、不揮発性メモリの一種であるフラッシュメモリ（Flash Memory）や、揮発性メモリの一種であるDRAM(Dynamic Random Access Memory)などから構成される。
【００４６】
（サーバの構成）
図３は、図１のサーバ２０の構成例を示すブロック図である。
【００４７】
図３において、サーバ２０は、処理部７１、通信I/F７２、及びデータベース７３を含んで構成される。
【００４８】
処理部７１は、例えば、CPUやマイクロプロセッサ等から構成される。処理部７１は、各種の演算処理や、各部の動作制御など、サーバ２０における中心的な処理装置として動作する。
【００４９】
通信I/F７２は、例えば、通信インターフェース回路等から構成される。通信I/F７２は、処理部７１からの制御に従い、インターネット３０を介して接続される音声処理装置１０との間で、各種のデータをやりとりする。
【００５０】
データベース７３は、例えば、ハードディスク(HDD：Hard Disk Drive)や半導体メモリ、光ディスク等の大容量の記録装置として構成される。
【００５１】
例えば、データベース７３には、音声認識処理を行うための音声認識用データベースや、音声言語理解処理を行うための音声言語理解用データベースなどが含まれる。なお、音声認識用データベースや音声言語理解用データベースは、データベースの一例であって、音声対話サービスを実現するために必要となるデータベース（例えば、知識データベースや発話データベース、対話履歴データベース等）を含めることができる。
【００５２】
ここで、例えば、処理部７１は、音声対話システム１（図１）により提供される機能のうち、一部の機能を有している。
【００５３】
すなわち、処理部７１は、データベース７３に含まれる音声認識用データベースを参照して、インターネット３０を介して音声処理装置１０から送信されてくるユーザの発話の音声信号を、テキストデータに変換するための音声認識処理や、音声言語理解処理などの処理を行う。これにより、ユーザに対するシステム応答が生成され、処理データとして、インターネット３０を介して、音声処理装置１０に送信される。
【００５４】
（音声対話システムの機能的構成例）
図４は、本技術を適用した音声対話システムの機能的構成例を示すブロック図である。
【００５５】
図４に示すように、音声対話システム１は、信号処理部１０１、音声認識部１０２、及び音声言語理解部１０３を含んで構成される。
【００５６】
信号処理部１０１には、マイクロフォン５２により収音された音を変換して得られる音声信号が入力される。信号処理部１０１は、入力された音声信号に対し、所定の信号処理を行い、その結果得られる音声信号を、音声認識部１０２に供給する。
【００５７】
信号処理部１０１により行われる信号処理としては、例えば、ユーザの発話した区間を切り出す処理や、音声信号に対する雑音を除去する処理が行われる。
【００５８】
音声認識部１０２は、音声テキスト変換用データベースなどを参照することで、信号処理部１０１から供給される音声信号を、テキストデータに変換する音声認識処理を行う。音声認識部１０２は、音声認識処理の結果得られる音声認識結果（発話のテキストデータ）を、音声言語理解部１０３に供給する。
【００５９】
音声言語理解部１０３は、音声認識部１０２から供給される音声認識結果に対し、所定の音声言語理解処理を行い、その結果得られる音声入力内容の解析結果を、後段の処理部（不図示）に供給する。
【００６０】
音声言語理解部１０３により行われる音声言語理解処理としては、例えば、自然言語である音声認識結果（発話のテキストデータ）を、機械が理解できる表現に変換する処理が行われる。
【００６１】
なお、信号処理部１０１は、ローカル側の音声処理装置１０の処理部５１（図２）に組み込まれることが想定され、音声認識部１０２及び音声言語理解部１０３は、大容量のメモリやストレージを必要とするため、クラウド側のサーバ２０の処理部７１（図３）に組み込まれることが想定される。
【００６２】
また、図示はしていないが、音声言語理解部１０３の後段に設けられた処理部（不図示）では、音声言語理解部１０３からの解析結果に基づいた処理として、例えば対話制御処理などの処理が行われ、ユーザに対するシステム応答を生成することができる。
【００６３】
なお、説明の都合上、図１の音声対話システム１においては、１台の音声処理装置１０が設けられる場合を図示しているが、例えば、ユーザごとに、複数の音声処理装置１０を設けることができる。
【００６４】
また、図１の音声対話システム１では、１台のサーバ２０が設けられる場合を図示しているが、例えば、機能（モジュール）ごとに、複数のサーバ２０を設けることができる。より具体的には、例えば、音声認識部１０２に対応した音声認識モジュールを有するサーバ２０や、音声言語理解部１０３に対応した音声言語理解モジュールを有するサーバ２０などを、個別のサーバ２０として設けることができる。
【００６５】
＜２．前提となる技術＞
【００６６】
通常、音声インターフェースを持つ機器では、信号処理部１０１による信号処理と、音声認識部１０２による音声認識処理と、音声言語理解部１０３による音声言語理解処理とがその順に行われる。なお、本技術の主なターゲットは、音声認識処理と音声言語理解処理となるが、本技術の内容が分かりやすくなるようにするために、信号処理部１０１による信号処理の内容についても説明する。
【００６７】
信号処理部１０１では、主に２つの処理が行われる。１つ目の処理は、マイクロフォン５２に常時入力される音声信号からユーザが発話した時間区間のみを切り出すという処理である。この処理は、音声区間検出（VAD：Voice Activity Detection）と呼ばれる。２つ目の処理は、雑音の大きな環境であっても、正しく音声認識ができるように雑音を抑圧し、ユーザの音声を強調する処理である。この処理は、音声強調（Speech Enhancement）と呼ばれる。
【００６８】
ここで注意すべき点は、音声区間検出（VAD）は、入力信号の物理特性のみによって判定（判断）されることである。つまり、入力音声の振幅や周波数特性に基づき、入力音声の主たる成分が、音声であるか否かを逐次判定し、音声が時間的に連続して入力されている区間を切り出す処理となる。
【００６９】
図５は、音声信号の波形における音声区間検出（VAD）の例を示す図である。図５には、縦方向を振幅とし、横方向を時間としたときのユーザの発話の音声信号の波形を表している。
【００７０】
信号処理部１０１では、音声信号の波形から、音声が時間的に連続して入力されている区間として、開始時刻t1から終了時刻t2までの区間を切り出すことになる。すなわち、図５に示した音声信号の波形において、開始時刻t1乃至終了時刻t2の区間を切り出す処理が、音声区間検出（VAD）となる。
【００７１】
ここでは、音声の入力を検出してから、音声の入力が途絶えるまでを切り出す。多くの音声区間検出では、500ミリ秒程度入力が途絶えたと判定した場合に、音声入力が終了したと判定して信号を切り出す。例えば500ミリ秒という数値は、「切って」の「っ」のような促音（つまる音）は、音声信号ではごく短い間（200〜300ミリ秒程度）無音となってしまうため、ここで切れてしまわないようにするためである。
【００７２】
さて、信号処理部１０１で切り出された音声は、音声認識部１０２にてユーザが実際に発話した内容のテキスト（音声認識結果）に書き起こされる。この音声認識結果（発話のテキストデータ）は、自然言語であるが、最終的に音声言語理解部１０３が、これを機械が理解できる表現に変換する。
【００７３】
例えば、ユーザが、「福島の明日の天気を教えて」と発話した場合、"ユーザの意図"は、「天気確認（Check Weather）」であり、今日が、2017年3月31日だったとした場合、天気を調べたい"日時"は、「2017年4月1日」で、"場所"は、「福島」であるということを解釈する。音声言語理解部１０３は、自然言語から"ユーザの意図"を推定し、そのパラメータ（ここでは、「日時」と「場所」）を解析する処理を行う。
【００７４】
この音声認識と音声言語理解の機能を有するプログラムのAPI（以下、音声認識・音声言語理解プログラムAPIともいう）の入力（IN1）と出力（OUT1）は、例えば、次のようになる。
【００７５】
＜入力（IN1）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
【００７６】
例えば、図５に示した音声区間検出（VAD）により切り出された開始時刻t1乃至終了時刻t2の区間の音声信号の波形が、切り出された音声信号に相当する。また、切り出しを開始した時刻は、図５の開始時刻t1に相当し、切り出しが完了した時刻は、図５の終了時刻t2に相当している。なお、切り出しが完了した時刻は、現在の時刻であるとも言える。
【００７７】
＜出力（OUT1）＞
・音声認識結果
・意味フレームのリスト
ユーザ意図（intent）
パラメータ（SlotSet）
【００７８】
ここで、図６には、入力（IN1）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT1）を示している。
【００７９】
なお、図６に示した出力例は、テキストフォーマットの一種であるJSON(JavaScript（登録商標） Object Notation)により記述している。JSON形式のオブジェクトは、キーと値のペアをコロン（：）で対にして、これらの対を、コンマ（，）で区切ってゼロ個以上列挙し、全体を波括弧（｛｝）でくくることで表現される。また、オブジェクトや値をコンマ（，）で区切ってゼロ個以上列挙し、角括弧（［］）でくくることで、オブジェクトや値の順序付きリストが表現される。
【００８０】
"input"は、入力した音声信号の音声認識結果を意味する。ここでは、切り出された音声信号に対する音声認識処理が行われ、"福島の明日の天気を教えて"である音声認識結果（発話のテキストデータ）が得られている。
【００８１】
"SemanticFrameList"は、意味フレーム（Semantic Frame）のリストを意味し、ここでは、そのオブジェクトとして、"intent"と"slotSet"が含まれる。
【００８２】
"intent"は、ユーザの意図を意味する。ここでは、「天気確認」である"CheckWeather"というユーザ意図が設定されている。
【００８３】
"slotSet"には、パラメータが格納される。"CheckWeather"の場合には、"slotSet"として、日時の"DateTime"と、場所の"Place"が設定される。ここでは、"DateTime"として"2017-04-01"，"Place"として"福島"が設定されている。
【００８４】
なお、パラメータであるところの"slotSet"の内容は、"intent"によって変わるものである。例えば、「音楽再生」である"PlayMusic"というユーザ意図の場合には、楽曲名の"Track"というパラメータを取り得るが、"CheckWeather"で楽曲名の"Track"というパラメータを取り得ることはない。
【００８５】
ここで、一つの鍵を握るのが、「福島」という単語の解釈である。「福島」という固有名詞は、それ単体では人名であるのか、地名であるのか、あるいは飲食店等の店名であるのかを判定することはできない。天気の確認を行おうとしているという文脈を持って、地名である可能性が高いと判定できる。一方で、例えば、「福島にメールを送って」と発話した場合の「福島」は、人名である可能性が高くなる。
【００８６】
さて、このような前提となる技術においては、現在の入力のみを考慮するので、例えば、ユーザが、「福島の、、、明日の天気を教えて」というように、「福島の」の後に、「間（ま）」を空けて発話をした場合には、「福島の」と「明日の天気を教えて」という発話を別々に解釈してしまう。
【００８７】
なお、本明細書において、ユーザの発話に含まれる「、、、」の表記は、発話中の「間（ま）」を表しているものとする。
【００８８】
図７は、「間」を空けて発話した場合の音声信号の波形の例を示す図である。図７には、「福島の、、、明日の天気を教えて」である発話の音声信号の波形を表しているが、「福島の」の後に、「間（ま）」があって、500ミリ秒程度入力が途絶えている。
【００８９】
そのため、信号処理部１０１では、「福島の」の発話に対応した開始時刻t11から終了時刻t12までの区間と、「明日の天気を教えて」の発話に対応した開始時刻t13から終了時刻t14までの区間が、別々の音声区間として切り出されている。
【００９０】
このとき、音声認識・音声言語理解プログラムAPIの入力（IN2）と出力（OUT2）は、例えば、次のようになる。
【００９１】
＜入力（IN2）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
【００９２】
例えば、図７に示した音声区間検出（VAD）により切り出された「福島の」に対応する区間の音声信号の波形が、切り出された音声信号に相当し、１つ目の入力（IN2-1）とされる。この１つ目の入力では、切り出しを開始した時刻は、図７の開始時刻t11に相当し、切り出しが完了した時刻は、図７の終了時刻t12に相当している。
【００９３】
また、図７に示した音声区間検出（VAD）により切り出された「明日の天気を教えて」に対応する区間の音声信号の波形が、切り出された音声信号に相当し、２つ目の入力（IN2-2）とされる。この２つ目の入力では、切り出しを開始した時刻は、図７の開始時刻t13に相当し、切り出しが完了した時刻は、図７の終了時刻t14に相当している。
【００９４】
＜出力（OUT2）＞
ここで、図８には、入力（IN2）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT2）を示している。
【００９５】
図８においては、１つ目の出力（OUT2-1）として、１つ目の入力（IN2-1）である"福島の"に対応する区間の音声信号から得られる音声認識結果（発話のテキストデータ）が示されている。この１つ目の出力では、「福島の」のみでは、ユーザの意図がわからないため、"intent"は、"unknown"となる。
【００９６】
また、２つ目の出力（OUT2-2）として、２つ目の入力（IN2-2）である"明日の天気を教えて"に対応する区間の音声信号から得られる音声認識結果が示されている。この２つ目の出力では、ユーザの意図（"intent"）として、「天気確認」である"CheckWeather"が設定され、そのパラメータ（"slotSet"）として、"DateTime"が設定されている。すなわち、「明日の天気を教えて」だけを解析した場合、「福島」というユーザの意図した場所（"Place"）が解析されていない。
【００９７】
このように、ユーザの発話に「間」が空いてしまうと、「福島の」と「明日の天気を教えて」という発話が別々に解釈され、ユーザの意図を正しく読み取ることができなくなる。
【００９８】
また、例えば、スマートスピーカなどの音声処理装置１０が、家族で共用するような機器である場合に、当該機器に対して、ユーザが、「私の来週の予定を確認したい」と発話した場合、音声認識・音声言語理解プログラムAPIの入力（IN3）と出力（OUT3）は、次のようになる。
【００９９】
＜入力（IN3）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
【０１００】
例えば、音声区間検出（VAD）によって切り出された「私の来週の予定を確認したい」に対応する区間の音声信号の波形が、切り出された音声信号となる。また、切り出された区間の先頭の時刻が、切り出しを開始した時刻となり、切り出された区間の最後の時刻が、切り出しが完了した時刻となる。
【０１０１】
＜出力（OUT3）＞
ここで、図９には、入力（IN3）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT3）を示している。
【０１０２】
図９においては、"私の来週の予定を確認したい"に対応する区間の音声信号から得られる音声認識結果（発話のテキストデータ）が示されている。この出力では、ユーザの意図（"intent"）として、「予定表表示」である"ViewSchedule"が設定され、そのパラメータ（"slotSet"）として、"DateTime"と"Owner"が設定されている。ここでは、"DateTime"として"2017-04-02/2017-04-08"，"Owner"として"私"が設定されている。
【０１０３】
"Owner"は、予定表の所有者を意味する。この例では、「私」というのが、予定表の所有者となる。これを受け取ったアプリケーションは、「私」という言葉を解釈しなければならない。ここでは、「私」というのが、一人称である知識を用い、スケジュール帳に登録されているユーザの中の誰であるのかを解決しなければならない。
【０１０４】
このように、ユーザの発話に、例えば、「私」や「この街」といった指示語や相対的な表現が含まれていた場合、それが指す内容について、言語情報だけでは解決できないことがあり、ユーザの意図を正しく読み取ることができなくなる。
【０１０５】
そこで、本技術では、ユーザの発話内容の履歴を用いることで、ユーザの発話に「間」があった場合においても、ユーザの指示内容を正しく理解できる解析方法を提供する。また、例えば、「私」や「この街」といった指示語や相対的な表現が、ユーザの発話に含まれていた場合、それが指す内容については、言語情報だけでは解決できないことがある。その場合には、カメラ画像の解析結果や、GPS(Global Positioning System)による位置情報などの情報を用いることで、その内容を解析できるようにする。
【０１０６】
以下、本技術の内容を、本技術の実施の形態によって説明する。
【０１０７】
＜３．本技術の実施の形態＞
【０１０８】
（１）第１の実施の形態
【０１０９】
本技術では、直近の発話の履歴を用いることで、ユーザの発話に「間」が入っても、意味のつながりや切れ目を判定（判断）し、ユーザの意図を正しく汲み取ることができるようにする。このとき、本技術の音声認識・音声言語理解プログラムAPIの入力には、次のように、発話の履歴情報が追加されることになる。
【０１１０】
＜入力＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
・発話の履歴情報（音声認識結果の文字列、対応する音声信号の切り出しの開始時刻）
【０１１１】
ここでは、例えば、ユーザが、「福島の、、、天気を教えて、、、週末の」と、「間」を空けながら発話した場合の入出力の例を以下に示す。まず、「福島の」と発話した後に、「天気を教えて」と発話したとき、音声認識・音声言語理解プログラムAPIの入力（IN4）と出力（OUT4）は、例えば、次のようになる。
【０１１２】
＜入力（IN4）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
・発話の履歴情報
【０１１３】
例えば、音声区間検出（VAD）によって切り出された「天気を教えて」に対応する区間の音声信号の波形が、切り出された音声信号となる。また、切り出された区間の先頭の時刻が、切り出しを開始した時刻となり、切り出された区間の最後の時刻が、切り出しが完了した時刻となる。
【０１１４】
また、発話の履歴情報には、過去の発話の履歴として、音声認識結果の文字列、対応する音声信号の切り出しの開始時刻が含まれるが、例えば、図１０に示すような内容となる。
【０１１５】
＜発話の履歴情報（HI4）＞
図１０は、発話の履歴情報の例を示す図である。
【０１１６】
"inputHistory"は、発話の履歴を意味し、ここでは、そのオブジェクトとして、"input"と"beginTime"及び"endTime"が含まれる。
【０１１７】
"input"は、発話の履歴として、音声認識結果の文字列が設定される。ここでは、「間」を挟んで、「天気を教えて」の前に発話された"福島の"である音声認識結果（発話のテキストデータ）が、履歴として設定されている。
【０１１８】
"beginTime"及び"endTime"は、発話の開始及び終了に関する時刻情報であって、UNIX（登録商標） epoch milliseconds と呼ばれる計算機で共通して使われている形式のデータ表現となっている。ここでは、"福島の"である音声の開始時刻として、"1490924835476"である時刻情報が、音声の終了時刻として、"1490924836612"である時刻情報が設定されている。
【０１１９】
＜出力（OUT4）＞
図１１は、発話の履歴情報（HI4）を含む入力（IN4）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT4）を示す図である。
【０１２０】
"currentInput"は、入力した音声信号の音声認識結果を意味する。ここでは、切り出された音声信号に対する音声認識処理が行われ、"天気を教えて"である音声認識結果（発話のテキストデータ）が得られている。
【０１２１】
"SemanticFrameList"のオブジェクトとして、"intent"，"slotSet"，及び"consideredInputs"が含まれる。ここでは、ユーザの意図（"intent"）として、「天気確認」である"CheckWeather"が設定され、そのパラメータ（"slotSet"）として、"福島"である"Place"が設定されている。
【０１２２】
"consideredInputs"は、"intent"や"slotSet"を推定するのに用いた入力とされる。ここでは、"CheckWeather"である"intent"や、"福島"である"Place"を推定する際に、"福島の"と"天気を教えて"が用いられたことを表している。すなわち、"天気を教えて"である直近の音声認識結果だけでなく、"福島の"である発話の履歴情報（HI4）が用いられて、"intent"と"slotSet"が推定されている。
【０１２３】
次に、「天気を教えて」と発話した後に、さらに「間」をおいて「週末の」という発話があったとき、音声認識・音声言語理解プログラムAPIの入力（IN5）と出力（OUT5）は、例えば、次のようになる。
【０１２４】
＜入力（IN5）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
・発話の履歴情報
【０１２５】
例えば、音声区間検出（VAD）によって切り出された「週末の」に対応する区間の音声信号の波形が、切り出された音声信号となる。また、切り出された区間の先頭の時刻が、切り出しを開始した時刻となり、切り出された区間の最後の時刻が、切り出しが完了した時刻となる。
【０１２６】
また、このとき、発話の履歴情報は、例えば、図１２に示すような内容となる。
【０１２７】
＜発話の履歴情報（HI5）＞
図１２は、発話の履歴情報の例を示す図である。
【０１２８】
図１２においては、１つ目の発話の履歴として、「間」を挟んで、「週末の」の前に発話された"天気を教えて"である音声認識結果が設定されている。この１つ目の発話の履歴には、発話開始の時刻情報として、"1490924837154"が、発話終了の時刻情報として、"1490924839284"が設定されている。
【０１２９】
また、２つ目の発話の履歴として、「間」を挟んで、「天気を教えて」の前に発話された"福島の"である音声認識結果が設定されている。この２つ目の発話の履歴には、発話開始の時刻情報として、"1490924835476"が、発話終了の時刻情報として、"1490924836612"が設定されている。
【０１３０】
＜出力（OUT5）＞
図１３は、発話の履歴情報（HI5）を含む入力（IN5）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT5）を示している。
【０１３１】
図１３においては、"currentInput"として、"週末の"である音声認識結果が得られている。
【０１３２】
ユーザの意図（"intent"）として、「天気確認」である"CheckWeather"が設定され、そのパラメータ（"slotSet"）として、"DateTime"と"Place"が設定されている。また、"DateTime"として"2017-04-01/2017-04-02"，"Place"として"福島"が設定されている。
【０１３３】
ここでは、"consideredInputs"によって、"CheckWeather"である"intent"や、"2017-04-01/2017-04-02"である"DateTime"，"福島"である"Place"を推定する際に、"福島の"，"天気を教えて"，及び"週末の"が用いられたことを表している。すなわち、"週末の"である直近の音声認識結果だけでなく、"福島の"及び"天気を教えて"である発話の履歴情報（HI5）が用いられて、"intent"と"slotSet"が推定されている。
【０１３４】
なお、上述の例では、直近の発話の履歴をつなげた場合の例を示しているが、必ずしも履歴をつなげる必要はない。例えば、「えーっと、、、天気を教えて」とユーザが発話したとき、音声認識・音声言語理解プログラムAPIの入力（IN6）と出力（OUT6）は、例えば、次のようになる。
【０１３５】
＜入力（IN6）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
・発話の履歴情報
【０１３６】
例えば、音声区間検出（VAD）によって切り出された「天気を教えて」に対応する区間の音声信号の波形が、切り出された音声信号となる。また、切り出された区間の先頭の時刻が、切り出しを開始した時刻となり、切り出された区間の最後の時刻が、切り出しが完了した時刻となる。
【０１３７】
また、このとき、発話の履歴情報は、例えば、図１４に示すような内容となる。
【０１３８】
＜発話の履歴情報（HI6）＞
図１４は、発話の履歴情報の例を示している。
【０１３９】
図１４においては、発話の履歴として、「間」を挟んで、「天気を教えて」の前に発話された"えーっと"が設定されている。この発話の履歴には、発話開始の時刻情報として、"1490924835476"が、発話終了の時刻情報として、"1490924836612"が設定されている。
【０１４０】
＜出力（OUT6）＞
図１５は、発話の履歴情報（HI6）を含む入力（IN6）に対する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT6）を示している。
【０１４１】
図１５においては、"currentInput"として、"天気を教えて"である音声認識結果が得られている。
【０１４２】
ユーザの意図（"intent"）として、「天気確認」である"CheckWeather"が設定されるが、そのパラメータは、なしとされる。
【０１４３】
ここでは、"consideredInputs"によって、"CheckWeather"である"intent"を推測する際に、"天気を教えて"のみが用いられたことを表している。すなわち、直近の履歴として、「えーっと」を含む発話の履歴情報（HI6）が与えられたが、ユーザが機器に対して指示している内容とは直接関係がないため、"consideredInputs"には含まれていない。
【０１４４】
このように、本技術では、直近の発話内容の履歴とその時刻情報を用いることで、ユーザが「間」を空けながら発話しても、ユーザの意図するところの指示内容を推定している。以下、具体的な音声言語理解処理の内容について説明する。
【０１４５】
音声言語理解部１０３は、セマンティックフレームテンプレート（Semantic Frame Template）、単語辞書（固有名詞データベースを含む）、及び言語モデルの３つの情報源を持っている。以下、セマンティックフレームテンプレートを「IS(Information Source)1」，単語辞書を「IS2」，言語モデルを「IS3」とも表記する。
【０１４６】
セマンティックフレームテンプレート（IS1）は、"intent"と"slotSet"との組み合わせのテンプレートである。"intent"のリストを持っており、例えば、["CheckWeather", "ViewSchedule", "SendMail",...]のようなリストになる。
【０１４７】
さらに、それぞれの"intent"に対して、"slotSet"が定義されている。例えば、"CheckWeather"：["DateTime", "Place"]というような対応用を持っている。これは、「"天気確認"に対してサポートしているパラメータは、「日時」と「場所」である」ということを意味する。
【０１４８】
単語辞書（IS2）は、いわゆる単語が、その"品詞"と"属性スコアリスト"とともに保持されているリストである。"品詞"は、「動詞」、「名詞」、「助詞」などの種別である。"属性スコアリスト"は、その単語が、各"属性"について、それらしいかどうかを０〜１の値で表現したリストである。
【０１４９】
"属性"は、「日時」、「地名」、「楽曲名」などいくつかの種類があり、音声ユーザインターフェースのアプリケーションに着目して設計される。"属性スコアリスト"は、例えば、「明日」という単語であれば、「日時」に関する表現なので、"日時"に対するスコアは１，それ以外の"属性"に対するスコアは０に近い値となる。
【０１５０】
この単語辞書（IS2）には、固有名詞も登録されている。各固有名詞の"属性スコアリスト"は、内部に抱えている固有名詞データベースをもとに付与される。固有名詞データベースは、地名、施設名、楽曲名、映画タイトル、有名人名など、様々なカテゴリ（属性）の固有名詞を管理しているデータベースである。ただし、ここでは、楽曲名や映画タイトル等については、常に最新情報にアップデートされているものとする。
【０１５１】
また、それぞれの固有名詞には、著名度が０〜１で設定されている。例えば、「東京」という単語について、地名の「東京」の著名度は１，楽曲名の「東京」の著名度は0.6，などのように付与されている。なお、著名度は、カテゴリ間で正規化されていなくてもよい。
【０１５２】
さて、単語辞書（IS2）に視点を戻すと、固有名詞は、単語辞書（IS2）内では固有名詞データベースに保持されている著名度に従って、"属性スコアリスト"が生成される。例えば、「福島」という固有名詞は、「地名」としても、「人名」としても、「飲食店名」としても、固有名詞データベースに登録されているとした場合、その著名度が属性スコアとして付与される。なお、固有名詞データベースに登録されていなかった属性については、属性スコアが０となる。
【０１５３】
言語モデル（IS3）は、各"intent"についてのユーザの発話の言い回しの情報である。例えば、「"CheckWeather"では、「<DateTime> の <Place> の天気を教えて」、「<Place> の <DateTime> の天気を教えて」、・・・の言い回しがある。」、という情報が保持されている。<Place>，<DateTime>は、ユーザの意図を表現するパラメータであり、上述のセマンティックフレームテンプレート（IS1）内のパラメータと一致している。
【０１５４】
さらに、言語モデル（IS3）には、<Place>，<DateTime>の言い回し、表現の情報も保持されている。例えば、「<Place>は、「（地名）」、「（地名）周辺」、・・・の言い回しがある」や、「<DateTime>は、「（日時）」、「（数詞）月（数詞）日」、「（数詞）日」、・・・の言い回しがある」のように保持されている。ここで、「（地名）」は、単語の属性であり、上述の単語辞書（IS2）で管理されている"属性"と一致している。
【０１５５】
なお、これらの情報の保持の仕方は、上述したテンプレートとして持つ以外に、大量のコーパスから学習された統計モデルのような形式でもよい。また、テンプレートから有限オートマトン（FSM：Finite State Machine）や有限状態トランスデューサ（FST：Finite State Transducer）などのモデルを生成する方法を適用してもよい。
【０１５６】
さて、音声言語理解部１０３は、上述したセマンティックフレームテンプレート（IS1）、単語辞書（IS2）、及び言語モデル（IS3）の３つの情報源を用いて、入力された音声認識結果（発話のテキストデータ）から、ユーザの音声による指示の意味を解析する。
【０１５７】
ここでは、比較のため、まず、発話の履歴情報を用いない、一般的な音声言語理解処理の流れについて説明する。一般的な音声言語理解処理は、図１６のフローチャートに示したステップＳ１１乃至Ｓ１３の３ステップからなる。
【０１５８】
（１）単語辞書（IS2）と言語モデル（IS3）の情報を用い、各"intent"について入力文字列の適合度を算出する（Ｓ１１）。
（２）セマンティックフレームテンプレート（IS1）に当てはめる（Ｓ１２）。
（３）必要に応じてパラメータの解釈・変換を行う（Ｓ１３）。
【０１５９】
ここでは、「明日の東京周辺の天気を教えて」という音声認識結果の入力があった場合を想定して、以下の音声言語理解処理の処理例を説明する。
【０１６０】
まず、ステップＳ１１において、音声言語理解部１０３は、言語モデル（IS3）が大量のコーパスから学習された統計モデルがある場合には、適合度は、その統計モデルが算出する入力文字列の尤度を用いる。
【０１６１】
ここでは、有限オートマトン（FSM）を用いる場合には、入力文字列を受理できるか否かで０か１かの値をとる。また、有限状態トランスデューサ（FST）を用いる場合には、入力文字列とテンプレートとを比較した際の文字の挿入、削除、又は置換などの差異や、単語辞書（IS2）の属性スコアを考慮したスコアを算出することができる。
【０１６２】
いずれの方法をとったとしても、音声言語理解部１０３は、算出されたスコアを閾値と比較し、スコアが閾値よりも大きい場合には、「適合した」という判定を行う。
【０１６３】
ここでは、スコアを算出する過程で、「明日」という語句は、単語辞書（IS2）で"日時"という属性が付与されており、また、言語モデル（IS3）内に、「<DateTime>は、「（日時）」という言い回しがある」という情報を保持しているため、「明日」が、<DateTime>に相応しいことが判定される。同様に、「東京周辺」は、「東京」が"地名"であり、「<Place>は、「（地名）周辺」という言い回しがある」という情報を保持しているため、「東京周辺」が、<Place>に相応しいことが判定される。
【０１６４】
そして、入力文字列全体としては、「<DateTime> の <Place> の天気を教えて」という"CheckWeather"のテンプレートとマッチすることから、"CheckWeather"に相応しいことが判定される。
【０１６５】
次に、ステップＳ１２において、音声言語理解部１０３は、ステップＳ１１の処理で、入力文字列が、"CheckWeather"に相応しく、「明日」が、<DateTime>に、「東京周辺」が、<Place>に相応しいということが判定できたことから、それらを、セマンティックフレームテンプレート（IS1）に当てはめる。具体的には、音声言語理解部１０３から出力されるフォーマットに当てはめる。
【０１６６】
ここでは、図１７に示すように、ユーザの意図（"intent"）として、天気確認である「"CheckWeather"」が設定され、そのパラメータ（"slotSet"）として、"DateTime"と"Place"が設定されている。また、"DateTime"として"明日"，"Place"として"東京周辺"がそれぞれ設定されている。
【０１６７】
最後に、ステップＳ１３において、音声言語理解部１０３は、必要に応じてパラメータの解釈や変換を行う。
【０１６８】
例えば、「明日」という表現のままでは、アプリケーションによっては処理を実行することができないので、具体的な年月日に変換する。その日が、2017年3月31日であるならば、「明日」は、2017年4月1日であるので、あらかじめ決められたフォーマットで、ユーザの指定した日時が、2017年4月1日であることを表現する。
【０１６９】
また、「東京周辺」という表現は、天気確認においては、「周辺」という情報が不要であることが多いと判定できる場合には、「周辺」という部分を削除する。すなわち、ユーザが「東京」と言った場合でも、「東京周辺」と言った場合でも、アプリケーションが同様の処理を行うことができるように、「東京」という表現に揃えたりする。その結果として、音声言語理解部１０３の出力結果は、例えば、図１８に示すようになる。
【０１７０】
すなわち、図１８においては、図１７と比べて、「天気確認」である"CheckWeather"のパラメータである"DateTime"が、"明日"から、"2017-04-01"に変更され、"Place"が、"東京周辺"から"東京"に変更されている。
【０１７１】
上述した図１６のステップＳ１１乃至Ｓ１３の処理が、一般的な音声言語理解処理の流れとなる。さて、本技術の音声言語理解処理では、発話の履歴情報を用いるが、過去の発話の履歴を考慮するか否かの判定が必要となる。
【０１７２】
例えば、ユーザが、「明日の、、、天気を教えて」のように、「明日の」の後に、「間」を空けて発話した場合を想定する。この場合、現在の入力である「天気を教えて」と、１つ前の履歴と接続した「明日の天気を教えて」とで、それぞれ解析処理を行う。ここでは、「天気を教えて」と「明日の天気を教えて」が入力仮説とされる。
【０１７３】
なお、このとき、例えば、発話の履歴情報が２つ与えられた場合は、現在の入力のみを用いた第１の入力仮説と、発話の履歴を１つのみ結合して得られる第２の入力仮説と、発話の履歴を２つとも結合した第３の入力仮説の３つの入力仮説での解析処理が行われる。
【０１７４】
そして、「天気を教えて」という第１の入力仮説を処理した場合の解析結果は、図１９に示すようになる。一方で、「明日の天気を教えて」という第２の入力仮説を処理した場合の解析結果は、図２０に示すようになる。
【０１７５】
最終的にどちらの仮説を出力するかは、「どちらの情報が多いか」という基準（入力仮説ごとに得られる情報量）をベースに判定する。"CheckWeather"のパラメータは、<DateTime>と<Place>の２つあるが、「天気を教えて」である第１の入力仮説の場合には、２つともパラメータがない（0/2）に対し、「明日の天気を教えて」である第２の入力仮説の場合には、１つのパラメータが与えられている（1/2）。
【０１７６】
このことを以て、「明日の」という直近の発話の履歴は、ユーザの「天気の確認を行いたい」という意図に関連しているという判定を行う。すなわち、上述の例であれば、"0/2"と"1/2"という与えられたパラメータの割合から判定することができる。
【０１７７】
ただし、発話の履歴を結合しても、情報が増えない場合や、文として不自然な場合なども想定される。例えば、「えーっと、、、東京の天気を教えて」という入力に対しては、「えーっと」を結合しても、結合しなくても情報は増えない。この場合には、例えば、「東京の天気を教えて」という短い方の入力仮説を選択することとする。
【０１７８】
そのため、ここでは、例えば、下記の４つのスコアを考慮し、入力仮説同士を比較して、最終的な選択が行われるものとする。
【０１７９】
（１）第１のスコア：それぞれの入力仮説の"intent"に対して与えられたパラメータの割合
（２）第２のスコア：それぞれの入力仮説に対し、言語モデル（IS3）に基づくスコア
（３）第３のスコア：それぞれの入力仮説における、最も古い過去の発話の履歴と、次に古い過去の発話の履歴との間の時刻の差
（４）第４のスコア：それぞれの入力仮説の結合数
【０１８０】
なお、第２のスコアとしては、例えば、言語モデル（IS3）として、「"CheckWeather"では、「<DateTime> の <Place> の天気を教えて」という情報が保持されている場合に、「明日の東京の天気教えて」が発話されたとき、「を」が抜けているので、スコアが減点されることになる。
【０１８１】
また、第３のスコアとしては、例えば、発話の履歴を１つ結合している場合は、現在の時刻と履歴の時刻との差となる。また、例えば、発話の履歴を２つ結合している場合は、１つ前の履歴の時刻と２つ前の履歴の時刻との差となる。ここでは、現在の入力のみを用いている場合には、スコアを、"0"とすることができる。
【０１８２】
また、第４のスコアとしては、例えば、現在の入力のみを用いている場合には、"0"とされ、発話の履歴を１つだけ結合した場合には、"1"とされる。
【０１８３】
ただし、音声言語理解部１０３では、例えば、第１のスコアと第２のスコアは値が大きいほどよく、第３のスコアと第４のスコアは値が小さいほどよい、として判定することができる。すなわち、ここでの判定としては、「間」の前後の発話が、むやみやたらに結合（接続）されないようにしている。
【０１８４】
そして、音声言語理解部１０３では、比較と最終選択の際には、例えば、これらのスコアの数値をそれぞれ比較しながら、決定木（Decision Tree）のようにルール処理を行う方法を用いたり、あるいは４つのスコアの数値から最終的なスコアを算出する関数を設計してそれを利用する方法を用いたりすることができる。
【０１８５】
なお、上述した第１のスコア乃至第４のスコアは、様々なスコアの一例であって、第１のスコア乃至第４のスコアの一部のスコアが用いられるようにしてもよいし、さらに他のスコアが用いられるようにしてもよい。また、スコアを算出する際には、例えば「えーっと」等のような言葉の言い淀み（いわゆるフィラー）を取り除いてから、スコアの算出処理が行われるようにしてもよい。
【０１８６】
（音声言語理解処理の流れ）
次に、図２１のフローチャートを参照して、発話の履歴情報を用いる、本技術の音声言語理解処理の流れを説明する。
【０１８７】
ステップＳ２１において、音声言語理解部１０３は、音声認識部１０２からの音声認識結果に基づいて、現在の入力と、発話の履歴情報から、入力仮説を生成する。
【０１８８】
ここでは、例えば、ユーザが、「明日の、、、天気を教えて」のように、「明日の」の後に、「間」を空けて発話した場合、「天気を教えて」である第１の入力仮説と、「明日の天気を教えて」である第２の入力仮説が生成される。
【０１８９】
ステップＳ２２において、音声言語理解部１０３は、ステップＳ２１の処理で生成されたそれぞれの入力仮説に対して適合度を算出する。
【０１９０】
ここでは、例えば、「天気を教えて」である第１の入力仮説と、「明日の天気を教えて」である第２の入力仮説に対し、第１のスコア乃至第４のスコアが算出される。これらのスコアを算出することで、例えば、「間」の前後の発話の関連度及び文法的なつながりの少なくとも一方を含む適合度が得られる。
【０１９１】
ステップＳ２３において、音声言語理解部１０３は、ステップＳ２１の処理で生成されたそれぞれの入力仮説（例えば、第１の入力仮説と第２の入力仮説）に対して、セマンティックフレームテンプレート（IS1）から出力候補を生成する。
【０１９２】
ステップＳ２４において、音声言語理解部１０３は、必要に応じてパラメータの解釈と変換を行う。ここでは、例えば、「その日」が、2017年3月31日であるならば、「明日」は、2017年4月1日であるので、ユーザの指定した日時が、2017年4月1日であることが、所定のフォーマットで表現される。
【０１９３】
ステップＳ２５において、音声言語理解部１０３は、入力仮説同士を比較し、最もふさわしいものを選択する。
【０１９４】
ここでは、例えば、「天気を教えて」である第１の入力仮説と、「明日の天気を教えて」である第２の入力仮説が比較され、より情報が多い、「明日の天気を教えて」である第２の入力仮説を選択することができる。すなわち、ユーザが、「明日の、、、天気を教えて」のように、「明日の」の後に、「間」を空けて発話した場合であっても、第２の入力仮説では、「間」の前後の発話を別々に解釈せずに、ユーザの意図を正しく読み取っていると言える。
【０１９５】
以上、本技術の音声言語理解処理の流れを説明した。
【０１９６】
（入力仮説選択の他の例）
次に、図２２及び図２３を参照して、入力仮説の選択の他の例を説明する。ここでは、例えば、ユーザが、「お腹空いた、、、今日の、、、天気を教えて」のように、「お腹空いた」の後と、「今日の」の後に、「間」を空けて発話した場合を想定する。
【０１９７】
すなわち、上述した例では、「間」が１つで、１つ前の発話の履歴を利用した場合を説明したが、ここでは、入力仮説選択の他の例として、「間」が２つで、１つ前の発話の履歴と２つ前の発話の履歴を利用する場合について説明する。
【０１９８】
図２２には、「お腹空いた、、、今日の、、、天気を教えて」と発話した場合の音声信号の波形の例を示している。
【０１９９】
図２２に示した音声信号の波形では、「お腹空いた」の後に、「間」があって、700ミリ秒程度入力が途絶えている。そのため、信号処理部１０１では、「お腹空いた」の発話に対応した開始時刻t21から終了時刻t22までの区間と、「今日の」の発話に対応した開始時刻t23から終了時刻t24までの区間が、別々の音声区間として切り出されている。
【０２００】
また、「今日の」の後に、「間」があって、600ミリ秒程度入力が途絶えている。そのため、信号処理部１０１では、「今日の」の発話に対応した開始時刻t23から終了時刻t24までの区間と、「天気を教えて」の発話に対応した開始時刻t25から終了時刻t26までの区間が、別々の音声区間として切り出されている。
【０２０１】
このとき、現在の入力が、「天気を教えて」であり、過去の発話の履歴が、「お腹空いた」と「今日の」であるので、音声言語理解部１０３では、例えば、第１の入力仮説として「天気を教えて」、第２の入力仮説として、「今日の天気を教えて」、第３の入力仮説として「お腹空いた今日の天気を教えて」がそれぞれ生成される（図２１のＳ２１）。
【０２０２】
次に、音声言語理解部１０３では、第１の入力仮説乃至第３の入力仮説に対して、適合度が算出され、さらにセマンティックフレームテンプレート（IS1）から出力候補が生成される（図２１のＳ２２，Ｓ２３）。
【０２０３】
ここでは、例えば、上述した第１のスコア乃至第４のスコアを求めることで、適合度が算出される。図２３には、入力仮説ごとのスコアの例を示している。
【０２０４】
図２３において、「天気を教えて」である第１の入力仮説は、ユーザの意図として、「天気確認」である"CheckWeather"が設定されるが、そのパラメータは、「なし」とされる。このとき、"CheckWeather"のパラメータである"DateTime"と"Place"が、２つとも情報がないので、第１のスコアとして、0/2が得られる。
【０２０５】
また、第１の入力仮説の第２のスコアとしては、言語モデル（IS3）に基づくスコアとして、特に減点される要素はないので、1.0が得られる。さらに第１の入力仮説では、「天気を教えて」である現在の入力のみを用いているため、第３のスコアと第４のスコアとして、0がそれぞれ得られる。
【０２０６】
次に、「今日の天気を教えて」である第２の入力仮説は、「天気確認」である"CheckWeather"が設定され、そのパラメータとして、"今日"である日時が設定されている。このとき、"CheckWeather"のパラメータである"DateTime"と"Place"のうち、"DateTime"である１つの情報が与えられているため、第１のスコアとして、1/2が得られる。
【０２０７】
また、第２の入力仮説の第２のスコアとしては、言語モデル（IS3）に基づくスコアとして、特に減点される要素はないので、1.0が得られる。さらに第２の入力仮説では、「天気を教えて」である現在の入力だけでなく、「今日の」である発話の履歴を用いているため、第３のスコアとして、現在の時刻と履歴の時刻との差を示す0.6秒（600ミリ秒）が得られる。また、第２の入力仮説では、現在の入力に対し、発話の履歴を１つ結合しているため、第４のスコアとして、1が得られる。
【０２０８】
次に、「お腹空いた今日の天気を教えて」である第３の入力仮説は、「天気確認」である"CheckWeather"が設定され、そのパラメータとして、"今日"である日時が設定されている。このとき、"CheckWeather"のパラメータである"DateTime"と"Place"のうち、"DateTime"である１つの情報が与えられているため、第１のスコアとして、1/2が得られる。
【０２０９】
また、第３の入力仮説の第２のスコアとしては、言語モデル（IS3）に基づくスコアとして、減点がなされて0.4が得られる。さらに第３の入力仮説では、「天気を教えて」である現在の入力だけでなく、「今日の」と「お腹空いた」である発話の履歴を用いているため、第３のスコアとして、１つ前の履歴の時刻と、２つ前の履歴の時刻との差を示す0.7秒（700ミリ秒）が得られる。また、第３の入力仮説では、現在の入力に対し、発話の履歴を２つ結合しているため、第４のスコアとして、2が得られる。
【０２１０】
このとき、音声言語理解部１０３では、例えば、「その日」が、2017年3月31日であるならば、「明日」は、2017年4月1日であるので、ユーザの指定した日時として、「明日」が、「2017年4月1日」に変換される（図２１のＳ２４）。そして、音声言語理解部１０３では、このようにして得られる適合度に応じて、入力仮説同士を比較し、最もふさわしいものが選択される（図２１のＳ２５）。
【０２１１】
ここでは、第１のスコアと第２のスコアは値が大きいほどよく、第３のスコアと第４のスコアは値が小さいほどよいので、これらのスコアの数値をそれぞれ比較しながら、決定木のようなルール処理や、所定の関数などを用いることで、最終的に出力する入力仮説を選択する。例えば、図２３の例では、「今日の天気を教えて」である第２の入力仮説が最もふさわしいものとして選択され、第２の入力仮説に応じた出力がなされる。
【０２１２】
なお、図２２及び図２３に示した入力仮説の選択の他の例では、「お腹空いた」の後に、700ミリ秒程度「間」があって、「今日の」と発話され、さらに、「今日の」の後に、600ミリ秒程度の「間」があって、「天気を教えて」と発話されている。このような、600ミリ秒や700ミリ秒程度の時間間隔であれば、「間」として認識すべきであるが、例えば、数十秒や数分などの時間間隔となると、「間」として認識すべきでないときもある。
【０２１３】
そこで、ここでは、例えば、前後の発話の時間間隔を閾値と比較し、時間間隔が閾値よりも大きい場合には、当該時間間隔を「間」として認識せずに、入力仮説の生成時に、対象の発話の履歴を用いずに、入力仮説に含まれないようにすればよい。
【０２１４】
以上、第１の実施の形態として、発話の履歴情報を用いた音声言語理解処理によって、ユーザの発話（「間」を含む発話）から、ユーザの意図を汲み取ることが可能となって、より利便性の高い音声インタラクションを提供することができることを説明した。
【０２１５】
（２）第２の実施の形態
【０２１６】
次に、他モーダル情報を用いて、解析する処理について説明する。例えば、家族で共用するような機器において、例えば、「私の、、、来週の予定を確認したい」という発話があった場合を想定する。この場合に、アプリケーションは、「私」という単語が一人称であるという言語知識と、話している人が誰であるかの情報がなければ、家族の誰の予定表を提示すればよいのかを判定することができない。
【０２１７】
第２の実施の形態では、音声処理装置１０に設けられたセンサ５４（図２）により得られる画像データを解析して、話者が誰であるのかが認識されるようにして、その認識結果を受け取ることで、「私」が指す具体的な人物を特定することができるようにする。
【０２１８】
ここでは、上述したように、「私の」と発話した後に、「間」を空けて、「来週の予定を確認したい」と発話したとき、音声認識・音声言語理解プログラムAPIの入力（IN10）と出力（OUT10）は、例えば、次のようになる。
【０２１９】
＜入力（IN10）＞
・切り出された音声信号
・切り出しを開始した時刻、切り出しが完了した時刻
・発話の履歴情報（音声認識結果の文字列、対応する音声信号の切り出し開始時刻）
・他センサ情報
【０２２０】
例えば、音声区間検出（VAD）によって切り出された「来週の予定を確認したい」に対応する区間の音声信号の波形が、切り出された音声信号となる。また、切り出された区間の先頭の時刻が、切り出しを開始した時刻となり、切り出された区間の最後の時刻が、切り出しが完了した時刻となる。
【０２２１】
また、他センサ情報には、画像データから得られる話者に関する情報が含まれるが、例えば、図２４に示すような内容となる。さらに、発話の履歴情報には、過去の発話の履歴として、音声認識結果の文字列、対応する音声信号の切り出しの開始時刻が含まれるが、例えば、図２５に示すような内容となる。
【０２２２】
＜他センサ情報（SI10）＞
図２４は、他センサ情報の例を示す図である。
【０２２３】
"image"は、画像データから得られるセンサ情報を意味し、そのオブジェクトとして、"speaker"が含まれる。
【０２２４】
"speaker"は、画像データの解析結果から得られる話者を示す文字列が設定される。ここでは、センサ５４（図２）により得られる画像データから、「話し手は、"アサミ"である」という情報が得られ、「私の、、、来週の予定を確認したい」と発話した"アサミ"が、話者として設定されている。
【０２２５】
＜発話の履歴情報（HI10）＞
図２５は、発話の履歴情報の例を示す図である。
【０２２６】
図２５においては、発話の履歴として、「間」を挟んで、「来週の予定を確認したい」の前に発話された"私の"が設定されている。この発話の履歴には、発話開始の時刻情報として、"1490924841275"が、発話終了の時刻情報として、"1490924842978"が設定されている。
【０２２７】
＜出力（OUT10）＞
図２６は、他センサ情報（SI10）と発話の履歴情報（HI10）を含む入力（IN10）に対応する処理を行う音声認識・音声言語理解プログラムAPIの出力例（OUT10）を示す図である。
【０２２８】
図２６においては、"currentInput"として、"来週の予定を確認したい"である音声認識結果が得られている。
【０２２９】
ユーザの意図（"intent"）として、「予定表表示」である"ViewSchedule"が設定され、そのパラメータ（"slotSet"）として、"DateTime"と"Owner"が設定されている。また、"DateTime"として"2017-04-02/2017-04-08"，"Owner"として"アサミ"が設定されている。
【０２３０】
ここでは、"consideredInputs"によって、"ViewSchedule"である"intent"や、"2017-04-02/2017-04-08"である"DateTime"，"アサミ"である"Owner"を推定する際に、"私の"，及び"来週の予定を確認したい"が用いられたことを表している。すなわち、"来週の予定を確認したい"である直近の音声認識結果だけでなく、"私の"である発話の履歴情報（HI10）とともに、"アサミ"である話者を含む他センサ情報（SI10）が用いられて、"intent"と"slotSet"が推定されている。
【０２３１】
すなわち、ここでは、他センサ情報（SI10）を用いることで、「私」を、「アサミ」に置き換えることができる。なお、この置き換える処理は、図２１のステップＳ２４の処理でのパラメータの解釈・変換処理に相当し、「私」というパラメータを、「アサミ」に変換することで、「私」が、「アサミ」であることを特定している。
【０２３２】
なお、ここでは、他センサ情報として、イメージセンサとしてのセンサ５４（図２）から得られる画像データの解析結果を用いた場合を説明したが、磁気センサや加速度センサ等の他のセンサから得られるセンサデータの解析結果を用いるようにしてもよい。さらに、GPS(Global Positioning System)信号から算出される緯度経度情報が得られる場合には、例えば、ユーザの発話に含まれる「この街」という語句を、「東京」や「横浜」など、具体的な都市名に変換することができる。
【０２３３】
以上、第２の実施の形態として、発話の履歴情報とともに、他センサ情報を用いた音声言語理解処理によって、ユーザの発話（「間」を含む発話）から、ユーザの意図を汲み取ることが可能になることを説明した。
【０２３４】
（音声対話処理）
最後に、図２７のフローチャートを参照して、音声処理装置１０とサーバ２０によって実行される、音声対話処理の流れを説明する。
【０２３５】
なお、図２７において、ステップＳ１０１乃至Ｓ１０７の処理は、ローカル側の音声処理装置１０により実行され、ステップＳ２０１乃至Ｓ２０４の処理は、クラウド側のサーバ２０により実行される。
【０２３６】
ステップＳ１０１において、処理部５１の信号処理部１０１は、そこに入力される、マイクロフォン５２により収音された音を変換して得られる音声信号に対し、音声の検出処理を行う。
【０２３７】
ステップＳ１０２において、処理部５１は、発話の履歴情報のフィルタリング処理を行う。このフィルタリング処理では、例えば、「間」の時間間隔やフィラー、話者に関する情報（話者情報）、ユーザの視線に関する情報（視線情報）を含む抽出情報に基づき、発話の履歴が抽出される。
【０２３８】
すなわち、ここでは、クラウド側のサーバ２０にて実行される音声言語理解処理で用いられる発話の履歴に適合する発話の履歴が取捨選択されることになる。なお、フィラーとは、言葉の言い淀みであって、例えば、「えーっと」や「あの〜」のような言葉を含む。
【０２３９】
ステップＳ１０３において、処理部５１は、送信ポリシに基づき、送信対象の発話の履歴（送信履歴）を決定する。この送信履歴の決定処理では、例えば、発話の履歴に関する送信最大個数（例えば最大で10個の履歴等）や、送信最大データサイズ（例えば最大で2MB等）などのあらかじめ定められた送信ポリシに従い、ステップＳ１０２のフィルタリング処理で抽出された発話の履歴の中から、実際に送信する発話の履歴が決定される。
【０２４０】
ステップＳ１０４において、通信I/F５５は、処理部５１からの制御に従い、ステップＳ１０１の処理で得られる音声信号とともに、ステップＳ１０３の処理で決定された発話の履歴情報を、インターネット３０を介して、サーバ２０に送信する。なお、ここでは、センサ５４（図２）から得られるセンサデータが送信されるようにしてもよい。
【０２４１】
ステップＳ２０１において、通信I/F７２は、処理部７１からの制御に従い、インターネット３０を介して、音声処理装置１０から送信されてくる、発話の履歴情報と音声信号を受信する。
【０２４２】
ステップＳ２０２において、処理部７１の音声認識部１０２は、ステップＳ２０１の処理で受信された音声信号に対し、音声認識処理を行う。
【０２４３】
ステップＳ２０３において、処理部７１の音声言語理解部１０３は、ステップＳ２０１の処理で受信された発話の履歴情報、及びステップＳ２０２の処理で得られる音声認識結果に基づいて、音声言語理解処理を行う。
【０２４４】
なお、この音声言語理解処理としては、例えば、図２１に示した本技術の音声言語理解処理を含む処理が行われる。また、ここでは、センサ５４（図２）から得られるセンサデータに基づいた他センサ情報が用いられるようにしてもよい。
【０２４５】
ステップＳ２０４において、通信I/F７２は、処理部７１からの制御に従い、ステップＳ２０３の処理で得られる認識・解析結果を、インターネット３０を介して、音声処理装置１０に送信する。
【０２４６】
ステップＳ１０５において、通信I/F５５は、処理部５１からの制御に従い、インターネット３０を介して、サーバ２０から送信されてくる認識・解析結果を受信する。
【０２４７】
ステップＳ１０６において、処理部５１は、ステップＳ１０５の処理で受信した認識・解析結果を、例えばメモリに記録するなどして、保持する。
【０２４８】
ステップＳ１０７において、スピーカ５３は、処理部５１からの制御に従い、ステップＳ１０５の処理で受信した認識・解析結果（の音声信号）に応じた音声を出力する。なお、音声処理装置１０では、スピーカ５３から音声を出力するに限らず、例えば、認識・解析結果に応じたテキスト情報や画像情報等を、表示部に表示するようにしてもよい。
【０２４９】
以上、音声対話処理の流れを説明した。
【０２５０】
この音声対話処理では、クラウド側のサーバ２０で、上述した第１の実施の形態又は第２の実施の形態に対応した、発話の履歴情報を用いた音声言語理解処理が行われるため、ユーザの発話（「間」を含む発話）から、ユーザの意図を汲み取ることが可能となって、より利便性の高い音声インタラクションを提供することができる。
【０２５１】
また、この音声対話処理では、ローカル側の音声処理装置１０で、クラウド側のサーバ２０に送信する発話の履歴情報が取捨選択され、送信ポリシに従い送信されるため、そのデータ量を削減することができる。例えば、音声処理装置１０が、モバイル機器である場合に、そのモバイル通信で十分な帯域が確保できない場合でも、確実に発話の履歴情報を送信することができる。
【０２５２】
なお、図２７の説明では、ローカル側の音声処理装置１０で、発話の履歴情報が管理されている場合を示したが、発話の履歴情報は、クラウド側のサーバ２０によって、ユーザごとに管理されるようにしてもよい。
【０２５３】
＜４．変形例＞
【０２５４】
上述した説明では、音声認識・音声言語理解プログラムAPIの入力（IN）として、切り出された音声信号とともに、切り出しを開始した時刻と切り出しが完了した時刻が入力される場合を示したが、開始と終了の切り出し時刻のうち、例えば、切り出しが完了した時刻のみなど、いずれか一方の切り出し時刻が入力されるようにしてもよい。
【０２５５】
また、上述した説明では、第２の実施の形態で、音声認識・音声言語理解プログラムAPIの入力（IN）として、音声信号及び切り出し時刻とともに、発話の履歴情報と他センサ情報が入力される場合を示したが、発話の履歴情報を用いずに、他センサ情報のみが、音声信号及び切り出し時刻とともに入力されるようにしてもよい。また、ここでは、時刻の差を表すディレイ情報を用いるようにしてもよい。
【０２５６】
上述した説明では、信号処理部１０１（図４）は、ローカル側の音声処理装置１０の処理部５１（図２）に組み込まれ、音声認識部１０２（図４）及び音声言語理解部１０３（図４）は、クラウド側のサーバ２０の処理部７１（図３）に組み込まれるとして説明したが、図４の信号処理部１０１乃至音声言語理解部１０３のそれぞれは、音声処理装置１０とサーバ２０のうち、どちらの機器に組み込まれてもよい。
【０２５７】
例えば、図４の信号処理部１０１乃至音声言語理解部１０３のすべてが、音声処理装置１０側に組み込まれ、ローカル側で処理が完結するようにしてもよい。ただし、このような構成を採用した場合でも、各種のデータベースは、インターネット３０上のサーバ２０が保持するようにしてもよい。また、例えば、図４の信号処理部１０１乃至音声言語理解部１０３のすべてが、サーバ２０側に組み込まれ、音声処理装置１０により収音された音声の生データが、インターネット３０を介してサーバ２０に送信されるようにしてもよい。
【０２５８】
なお、上述した説明では、音声認識・音声言語理解プログラムAPIの出力（OUT）のフォーマットとして、JSON(JavaScript（登録商標） Object Notation)を一例に説明したが、例えば、XML(Extensible Markup Language)などの他のフォーマットを用いるようにしてもよい。また、出力（OUT）のフォーマットは、テキスト形式に限らず、バイナリ形式であってもよい。
【０２５９】
＜５．コンピュータの構成＞
【０２６０】
上述した一連の処理（例えば、図２１に示した音声言語理解処理など）は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、各装置のコンピュータにインストールされる。図２８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２６１】
コンピュータ１０００において、CPU(Central Processing Unit)１００１、ROM(Read Only Memory)１００２、RAM(Random Access Memory)１００３は、バス１００４により相互に接続されている。バス１００４には、さらに、入出力インターフェース１００５が接続されている。入出力インターフェース１００５には、入力部１００６、出力部１００７、記録部１００８、通信部１００９、及び、ドライブ１０１０が接続されている。
【０２６２】
入力部１００６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１００７は、ディスプレイ、スピーカなどよりなる。記録部１００８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１００９は、ネットワークインターフェースなどよりなる。ドライブ１０１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体１０１１を駆動する。
【０２６３】
以上のように構成されるコンピュータ１０００では、CPU１００１が、ROM１００２や記録部１００８に記録されているプログラムを、入出力インターフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０２６４】
コンピュータ１０００（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０２６５】
コンピュータ１０００では、プログラムは、リムーバブル記録媒体１０１１をドライブ１０１０に装着することにより、入出力インターフェース１００５を介して、記録部１００８にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部１００９で受信し、記録部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記録部１００８に、あらかじめインストールしておくことができる。
【０２６６】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。
【０２６７】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２６８】
また、図２１に示した音声言語理解処理や、図２７の音声対話処理の各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２６９】
なお、本技術は、以下のような構成をとることができる。
【０２７０】
（１）
ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する処理部を備える
情報処理装置。
（２）
前記処理部は、
現在の発話と、過去の発話の履歴に基づいて、前記前後の発話の意味単位での適合度を算出し、
算出された前記適合度に基づいて、前記前後の発話を接続するか否かを判定し、
前記前後の発話を接続すると判定された場合に、前記前後の発話を接続する
前記（１）に記載の情報処理装置。
（３）
前記処理部は、前記現在の発話と、前記過去の発話の履歴とともに、センサから得られるセンサ情報を用い、前記前後の発話の意味単位での適合度を算出する
前記（２）に記載の情報処理装置。
（４）
前記処理部は、
前記前後の発話を仮に接続して得られる入力仮説ごとのスコアを算出し、
算出された前記入力仮説ごとのスコアに基づいて、前記入力仮説ごとの前記前後の発話の適合度を算出し、
算出された前記入力仮説ごとの適合度に基づいて、複数の入力仮説の中から、１つの入力仮説を選択する
前記（２）又は（３）に記載の情報処理装置。
（５）
前記処理部は、前記入力仮説ごとに得られる情報量に応じて、前記スコアを算出する
前記（４）に記載の情報処理装置。
（６）
前記スコアは、前記入力仮説ごとに、
前記ユーザの意図に応じた関数のパラメータの使用の割合から得られる第１のスコア、
前記ユーザの発話の言い回しの情報に関する言語モデルから得られる第２のスコア、
前記現在の発話と前記過去の発話の履歴との時間的な間隔、又は前記過去の発話の履歴同士の時間的な間隔から得られる第３のスコア、
及び前記現在の発話と前記過去の発話の履歴との結合数から得られる第４のスコア
のうち、少なくとも１以上のスコアを含む
前記（４）又は（５）に記載の情報処理装置。
（７）
前記適合度は、前記前後の発話の関連度及び文法的なつながりの少なくとも一方を含む
前記（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記処理部は、前記間の間隔に基づいて、前記前後の発話を接続するかどうかを判定する
前記（２）乃至（７）のいずれかに記載の情報処理装置。
（９）
前記処理部は、前記過去の発話の履歴のうち、有効な発話の履歴のみを用いる
前記（２）に記載の情報処理装置。
（１０）
前記過去の発話の履歴は、前記ユーザの発話の内容と発話された時刻の情報を含む
前記（９）に記載の情報処理装置。
（１１）
前記センサ情報は、被写体を撮像して得られる画像データ、又は前記ユーザの位置を示す位置情報を含む
前記（３）に記載の情報処理装置。
（１２）
情報処理装置の情報処理方法において、
前記情報処理装置が、
ユーザの発話に含まれる間の前後の発話の意味単位での適合度に応じて、前記前後の発話を接続する
情報処理方法。
（１３）
ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出する処理部と、
前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する送信部と
を備える情報処理装置。
（１４）
前記処理部は、間の時間間隔、言葉の言い淀みに関する情報、話者に関する情報、又は前記ユーザの視線情報を含む抽出情報に基づいて、前記過去の発話の履歴を抽出する
前記（１３）に記載の情報処理装置。
（１５）
前記送信部は、前記過去の発話の履歴に関する送信最大個数、又は送信最大データサイズに基づいて、前記過去の発話の履歴を送信する
前記（１３）又は（１４）に記載の情報処理装置。
（１６）
情報処理装置の情報処理方法において、
前記情報処理装置が、
ユーザの過去の発話の履歴から、間を含んだ発話に対する音声言語理解処理に適合する過去の発話の履歴を抽出し、
前記ユーザの現在の発話に応じた音声信号とともに、抽出された前記過去の発話の履歴を、前記音声言語理解処理を行う情報処理装置に送信する
情報処理方法。
【符号の説明】
【０２７１】
１  音声対話システム，  １０  音声処理装置，  ２０  サーバ，  ３０  インターネット，  ５１  処理部，  ５２  マイクロフォン，  ５３  スピーカ，  ５４  センサ，  ５５  通信I/F，  ７１  処理部，  ７２  通信I/F，  ７３  データベース，  １０１  信号処理部，  １０２  音声認識部，  １０３  音声言語理解部，  １０００  コンピュータ，  １００１  CPU
【図１】
2019031268.tif 000003
【図２】
2019031268.tif 000004
【図３】
2019031268.tif 000005
【図４】
2019031268.tif 000006
【図５】
2019031268.tif 000007
【図６】
2019031268.tif 000008
【図７】
2019031268.tif 000009
【図８】
2019031268.tif 000010
【図９】
2019031268.tif 000011
【図１０】
2019031268.tif 000012
【図１１】
2019031268.tif 000013
【図１２】
2019031268.tif 000014
【図１３】
2019031268.tif 000015
【図１４】
2019031268.tif 000016
【図１５】
2019031268.tif 000017
【図１６】
2019031268.tif 000018
【図１７】
2019031268.tif 000019
【図１８】
2019031268.tif 000020
【図１９】
2019031268.tif 000021
【図２０】
2019031268.tif 000022
【図２１】
2019031268.tif 000023
【図２２】
2019031268.tif 000024
【図２３】
2019031268.tif 000025
【図２４】
2019031268.tif 000026
【図２５】
2019031268.tif 000027
【図２６】
2019031268.tif 000028
【図２７】
2019031268.tif 000029
【図２８】
2019031268.tif 000030
【国際調査報告】
2019031268.tif 000031
2019031268.tif 000032
2019031268.tif 000033
2019031268.tif 000034