WO2019244455A1 - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- WO2019244455A1 WO2019244455A1 PCT/JP2019/015873 JP2019015873W WO2019244455A1 WO 2019244455 A1 WO2019244455 A1 WO 2019244455A1 JP 2019015873 W JP2019015873 W JP 2019015873W WO 2019244455 A1 WO2019244455 A1 WO 2019244455A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interpretation
- user
- information processing
- information
- utterance
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Abstract
ユーザーの発話を解釈する情報処理装置及び情報処理方を提供する。 情報処理装置は、ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部を具備する。インテント又はスロットに関する解釈内容とその解釈内容が適用されるべきコンテキスト情報を解釈知識として記憶しておき、前記判定部は、コンテキスト情報のマッチングに基づいて、ユーザーの発話意図の解釈を判定する。
Description
本明細書で開示する技術は、ユーザーの発話を解釈する情報処理装置及び情報処理方法に関する。
近年、音声認識技術並びに機械学習技術などの発展に伴い、情報機器や家電機器などさまざまな電子機器に「音声エージェント」とも呼ばれる発話機能が搭載されるようになってきている。音声エージェントを搭載した電子機器は、ユーザーの発話を解釈して、音声で指示された機器操作を実行したり、機器の状態の報知や使い方の説明などに関する音声ガイダンスを行ったりする。また、IoT(Internet of Things)デバイスにはマウスやキーボードといった従来の入力装置が不在であり、文字情報よりも音声情報を用いたユーザーインターフェース(UI)が有力である。
ここで、人間はあいまい性を含んだ発話を行うことが多い、という問題がある。例えば、「マイクを再生して」という発話に対しては、以下の(1)~(3)に示すような数通りの解釈が考えられる。
(1)マイクという歌手の曲を再生する(インテント:音楽再生、スロット:[歌手]=マイク)
(2)マイクというタイトルの映画を再生する(インテント:映画再生、スロット:[映画タイトル]=マイク)
(3)マイクというTV番組を録画してあるので再生する(インテント:TV番組再生、スロット:[TV番組名]=マイク)
(2)マイクというタイトルの映画を再生する(インテント:映画再生、スロット:[映画タイトル]=マイク)
(3)マイクというTV番組を録画してあるので再生する(インテント:TV番組再生、スロット:[TV番組名]=マイク)
また、「大崎の天気を教えて」という発話に対しては、日本国内には大崎という名称がつく地名がいくつか存在することに起因して、以下の(1)~(3)に示すような数通りの解釈が考えられる。
(1)鹿児島の大崎町(スロット:[場所]=鹿児島の大崎町)
(2)宮城県の大崎市(スロット:[場所]=宮城県の大崎市)
(3)東京都品川区の大崎(スロット:[場所]=東京都品川区の大崎)
(2)宮城県の大崎市(スロット:[場所]=宮城県の大崎市)
(3)東京都品川区の大崎(スロット:[場所]=東京都品川区の大崎)
音声による対話を行うサービスにおいて、あいまい性を含んだユーザーの発話に対してシステムが誤った解釈(若しくは、ユーザーの意図とは異なる解釈)を行うと、ユーザーの期待と異なる応答を返すことになってしまう。ユーザーは、自分の要求が満たされないことが数回続くと、システムに不信を抱くようになり、さらにシステムを利用しなくなってしまう可能性がある。
例えば、複数のシチュエーションのそれぞれに関連する語彙の集合からなるシチュエーション言語モデルと、語彙の集合である切り替え言語モデルを備え、ユーザーの発話の意図を、上記シチュエーション言語モデルと切り替え言語モデルを参照して解釈し、ユーザーの発話の中に、切り替え言語モデルに含まれるが現在のシチュエーション言語モデルには含まれない語彙がある場合、現在のシチュエーションに代えて当該語彙に対応するシチュエーションに応じた発話を生成する対話方法について提案がなされている(特許文献1を参照のこと)。
また、複数のモジュールを備えることで、発話の質が異なる発話候補を生成し、ユーザーの発話に対してより適切な発話候補を生成するモジュールから順に発話候補を生成する発話候補生成装置について提案がなされている(特許文献2を参照のこと)。
本明細書で開示する技術の目的は、あいまい性を含んだユーザーの発話をできるだけ正しく解釈できるようにする情報処理装置及び情報処理方法を提供することにある。
本明細書で開示する技術は、上記課題を参酌してなされたものであり、その第1の側面は、
ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、
前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部と、
を具備する情報処理装置である。ここで、インテントは、ユーザーが発話により実行を要求するアプリケーション又はサービスであり、スロットは、アプリケーション又はサービスを実行する際の付属情報である。また、コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報である。
ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、
前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部と、
を具備する情報処理装置である。ここで、インテントは、ユーザーが発話により実行を要求するアプリケーション又はサービスであり、スロットは、アプリケーション又はサービスを実行する際の付属情報である。また、コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報である。
第1の側面に係る情報処理装置は、ユーザーの発話時のコンテキスト情報を取得する収集部、ユーザーの発話意図に基づいて音声によりユーザーに応答する応答部、前記応答部による応答に対するユーザーからのフィードバック情報を収集する収集部をさらに備える。
また、第1の側面に係る情報処理装置は、インテント又はスロットに関する解釈内容とその解釈内容が適用されるべきコンテキスト情報を解釈知識として記憶する記憶部をさらに備え、前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識に基づいて、ユーザーの発話意図に対する解釈を判定するようになっている。
また、本明細書で開示する技術の第2の側面は、
ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成ステップと、
前記生成ステップにおいてインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定ステップと、
を有する情報処理方法である。
ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成ステップと、
前記生成ステップにおいてインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定ステップと、
を有する情報処理方法である。
本明細書で開示する技術によれば、コンテキスト情報(いつ発話したか、だれが発話したかなどの現在の状況)とユーザーフィードバック情報(過去のシステム応答に対するユーザーの反応(要求が満たされたか、そうでなかったかなど)を用いて、あいまい性を含んだユーザーの発話をより正しく解釈することができる情報処理装置及び情報処理方法を提供することができる。
なお、本明細書に記載された効果は、あくまでも例示であり、本発明の効果はこれに限定されるものではない。また、本発明が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
図1には、音声エージェント機能を搭載した情報処理装置100の構成例を模式的に示している。図示の情報処理装置100は、制御部101と、情報アクセス部102と、操作部インターフェース(IF)103と、通信インターフェース(IF)104と、音声入力インターフェース(IF)105と、映像入力インターフェース(IF)106と、音声出力インターフェース(IF)107と、映像出力インターフェース(IF)108を備えている。
制御部101は、CPU(Central Processing Unit)101Aと、ROM(Read Only Memory)101Bと、RAM(Random Access Memory)101Cからなり、CPU101AがRAM101Cにロードした各種プログラムを実行することによって、情報処理装置100全体の動作を統括的に制御する。
情報アクセス部102は、ハードディスクなどからなる情報記録装置111に格納されている情報を読み出して制御部101内のRAM101Cにロードし、又は情報記録装置111への情報の書き込みを行う。情報記録装置111に記録される情報は、CPU101Aで実行されるソフトウェアプログラム(オペレーティングシステムやアプリケーションなど)や、プログラム実行時に使用され又はプログラムを実行して生成されるデータなどであり、これらは基本的にはファイルの形式で扱われる。
操作部インターフェース103は、マウスやキーボード、タッチパネルといった操作装置112に対してユーザーが行った操作を入力データに変換して、制御部101に渡す処理を行う。
通信インターフェース104は、所定の通信プロトコルに従って、インターネットなどのネットワーク経由でのデータ交換を行う。
音声入力インターフェース105は、マイク113で収音された音声信号を入力データに変換して、制御部101に渡す処理を行う。マイク113は、モノラルマイク、又は、ステレオ収音可能なステレオマイクのいずれであってもよい。
映像入力インターフェース106は、カメラ114で撮影された動画又は静止画の映像信号を取り込んで、制御部101に渡す処理を行う。カメラ114は、画角90度のカメラや、画角360度を持つ全周囲カメラ、あるいはステレオカメラや多眼カメラであってもよい。
音声出力インターフェース107は、制御部101から出力を指示された音声データを、スピーカー115から再生出力するための処理を行う。スピーカー115は、ステレオスピーカーやマルチチャンネルスピーカーであってもよい。
映像出力インターフェース108は、制御部101から出力を指示された画像データを、表示部116の画面に出力するための処理を行う。表示部116は、液晶ディスプレイ、有機ELディスプレイ、又はプロジェクタなどからなる。
なお、各インターフェース装置103~108は、それぞれ必要に応じて所定のインターフェース規格に則って構成される。また、情報記録装置111、操作装置112、マイク113、カメラ114、スピーカー115、並びに表示部116は、情報処理装置100に含まれる部品であってもよいし、あるいは情報処理装置100本体に外付けされる外部機器であってもよい。
また、情報処理装置100は、「スマートスピーカー」、「AIスピーカー」、「AIアシスタント」などとも呼ばれる音声エージェント専用のデバイスでもよいし、スマートフォンやタブレット端末のように音声エージェント用アプリケーションが常駐する情報端末や、情報家電やIoTデバイスなどであってもよい。
図2には、情報処理装置100が音声エージェントとして動作するための、制御部101で実行されるソフトウェアの構成例を模式的に示している。図2に示す例では、音声エージェントとして動作するためのソフトウェアは、音声認識機能201と、発話意図理解機能202と、アプリケーション/サービス実行機能203と、応答生成機能204と、音声合成機能205と、コンテキスト取得機能206と、ユーザーフィードバック収集機能207を備えている。以下、各機能モジュール201~207について説明する。
音声認識機能201は、マイク113から入力されるユーザーの問い合わせなどの音声を音声入力インターフェース105経由で受け付け、音声認識して、テキストに置き換える機能である。
発話意図理解機能202は、ユーザーの発話を意味解析して、「意図構造」を生成する機能である。ここで言う意図構造とは、インテントとスロットから構成される。本実施形態では、発話意図理解機能202は、複数のインテント又は複数のスロットが考えられる場合には、コンテキスト取得機能206によって取得されるコンテキスト情報や、ユーザーフィードバック収集機能207によって収集されるユーザーフィードバック情報を踏まえて、最も適切な解釈(適切なインテント、スロットの選定)を行う機能も有する。
アプリケーション/サービス実行機能203は、音楽再生や天気確認、商品の注文といった、ユーザーの発話意図に合ったアプリケーションやサービスを実行する機能である。
応答生成機能204は、アプリケーション/サービス実行機能203がユーザーの発話意図に合ったアプリケーションやサービスを実行した結果などに基づいて、音声認識機能201が受け付けたユーザーの問い合わせに対する応答文を生成する機能である。
音声合成機能205は、応答生成機能204により生成された応答文(変換後)から音声を合成する機能である。音声合成機能205により合成された音声は、音声出力インターフェース107経由でスピーカー115から音声出力される。
コンテキスト取得機能206は、ユーザーの発話時に発話音声以外の状況に関するコンテキスト情報を取得する。かかるコンテキスト情報には、ユーザーの発話時間帯や、発話場所、周辺者(発話したときのそばにいた人)、あるいは現在の環境情報が含まれる。なお、情報処理装置100は、コンテキスト情報を取得するためのセンサ(図1には図示しない)をさらに装備していてもよいし、少なくとも一部のコンテキスト情報を通信インターフェース104経由でインターネットから取得するようにしてもよい。センサには、現在時刻を計時する時計や、場所情報を取得する位置センサ(GPSセンサなど)などが含まれる。また、周辺者は、カメラ114でユーザーや周辺者を撮影した画像を顔認識して取得することができる。
ユーザーフィードバック収集機能207は、応答生成機能204により生成した応答文を音声合成機能205により発話したときの、ユーザーの反応を収集する機能である。例えば、ユーザーが反応して新たに発話したときには、音声認識機能201により音声認識し、さらに発話意図理解機能202により解析した意図構造に基づいて、ユーザーの反応を収集することができる。
上述した機能モジュール201~207は、基本的には、制御部101内で、RAM101Cにロードされ、CPU101Aにおいて実行されるソフトウェアモジュールである。但し、少なくとも一部の機能モジュールは、情報処理装置100本体内(例えば、ROM101B内)ではなく、通信インターフェース104経由で、クラウド上に構築されるエージェントサービスの連携により提供で実行することも可能である。なお、「クラウド(Cloud)」というときは、一般的に、クラウドコンピューティング(Cloud Computing)を指すものとする。クラウドは、インターネットなどのネットワークを経由してコンピューティングサービスを提供する。
情報処理装置100は、主に音声を通じてユーザーと対話を行う音声エージェント機能を有する。すなわち、ユーザーの発話を音声認識機能201により認識し、発話意図理解機能202によりユーザーの発話の意図を解釈し、アプリケーション/サービス実行機能203によりユーザーの意図に合ったアプリケーションやサービスを実行し、応答生成機能204によりその実行結果に基づく応答文を生成し、そして、音声合成機能205により応答文から音声を合成して、ユーザーに返答する。
情報処理装置100が品質の高い対話サービスを提供するには、ユーザーの発話意図を正しく解釈することが不可欠である。発話意図を誤って解釈すると、ユーザーの期待と異なる応答を返すことになり、ユーザーの要求が満たされないからである。ユーザーは、自分の要求が満たされないことが数回続くと、対話サービスに不信を抱き、やがては利用から遠ざかってしまう。
ここで、発話意図は、インテントとスロットからなる。インテントは、発話におけるユーザーの意図のことである。例えば、音楽再生や天気確認、商品の注文など、実行を要求するアプリケーションやサービスがインテントである。また、スロットは、アプリケーションやサービスを実行するにあたって必要な付属情報である。例えば、(音楽再生における)歌手名や曲名、(天気確認における)地名、(商品の注文における)商品名がスロットである。あるいは、ユーザーが音声エージェントに対して発話する命令文において、述語がインテントに相当し、目的語がスロットに相当する、ということもできる。
ユーザーの発話において、インテント又はスロットのうち少なくとも一方が複数の候補を考えられる場合がある。例えば、「マイクを再生して」という発話に対して、インテントとスロットの組み合わせの候補が複数存在する場合や、「大崎の天気を教えて」という発話に対して、複数のスロットの候補が存在する場合などである(前述)。インテント又はスロットに複数の候補があることが、ユーザーの発話意図を誤って解釈する主な原因である。
そこで、本実施形態に係る情報処理装置100は、コンテキスト取得機能206により取得したコンテキスト情報と、ユーザーフィードバック収集機能207が収集したユーザーフィードバック情報に基づいて、発話意図理解機能202がユーザーの発話に対してより適切な意図の解釈を行うようにしている。
本明細書において、コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報を指す。本実施形態では、コンテキスト情報を階層構造にして扱うようにしている。例えば、発話日時を、季節、月、曜日、時間帯などの構造で取得し、記憶する。図3には、階層構造にしたコンテキスト情報の例を示している。図3に示す例では、コンテキスト情報は、発話時間(いつ)、発話場所(どこで)、周辺者(だれが)、発話機器(何を使って)、ムード(どのようなときに)、発話ドメイン(何について)、といった項目からなり、項目毎に階層化されている。階層の上位ほど抽象化され、下位に進むに従って具体化される。図3中で、「発話ドメイン」に関するコンテキスト情報は、インテントの解釈知識には付けないが、スロットの解釈知識にのみ付けるものとする。情報処理装置100は、これらコンテキスト情報の各項目を、環境センサ(前述)やカメラ114を使って検出し、又は、通信インターフェース104経由で外部ネットワークから取得できるものとする。
図4には、情報処理装置100において、ユーザーの発話を入力して音声による応答を行うための処理フローを示している。
ユーザーは、マイク113を介して情報処理装置100に音声データを入力する(S401)。また、ユーザーは、キーボードなどの操作装置112から、情報処理装置100にテキストデータを入力する(S402)。
音声データが入力された場合、音声認識機能201によって音声認識され、テキストデータに置き換えられる(S403)。
次いで、発話意図理解機能202は、テキスト形式の入力データに基づいて、ユーザーの発話を意味解析して、1つのインテントと1つのスロットから構成される意図構造を生成する(S404)。
本実施形態では、発話意図理解機能202は、インテント又はスロットのうち少なくとも一方に複数の候補があり、発話意図があいまいな場合には、コンテキスト情報並びにユーザーフィードバック情報に基づいて、最も適切なユーザーの意図を解釈するが、その詳細については後述に譲る。
次いで、アプリケーション/サービス実行機能203は、発話意図理解機能202によるユーザーの発話の意図理解結果に基づいて、音楽再生や天気確認、商品の注文といった、ユーザーの意図に合ったアプリケーションやサービスを実行する(S405)。
次いで、応答生成機能204は、アプリケーション/サービス実行機能203の実行結果などに基づいて、音声認識機能201が受け付けたユーザーの問い合わせに対する応答文を生成する(S406)。
応答生成機能204によって生成される応答文はテキストデータの形式である。音声合成機能205によりテキスト形式の応答文は音声データに合成され、その後、スピーカー115から音声出力される(S407)。また、応答生成機能204によって生成される応答文は、テキストデータのまま、あるいはテキストデータを含む合成画像として、表示部116に画面出力されてもよい。
図5には、図4に示した処理フローのうち、発話意図理解機能202により実施される内部処理を詳細に示している。
発話意図理解機能202は、解釈知識を獲得したとき、ユーザーフィードバックがあったとき、及び、ユーザーの発話を解釈するとき、の3系統の処理を実施する。以下では、各系統の処理について説明する。
解釈知識獲得時:
発話意図理解機能202は、解釈知識を獲得したとき、その解釈内容と、獲得したときにコンテキスト情報を対応付けし、さらにその解釈の優劣を示す解釈スコアを付けて、解釈知識データベースに記憶する処理(すなわち、解釈知識獲得処理)を実施する(S501)。
発話意図理解機能202は、解釈知識を獲得したとき、その解釈内容と、獲得したときにコンテキスト情報を対応付けし、さらにその解釈の優劣を示す解釈スコアを付けて、解釈知識データベースに記憶する処理(すなわち、解釈知識獲得処理)を実施する(S501)。
図6には、複数の解釈知識を記憶する解釈知識データベースの構成を模式的に示している。1つの解釈知識は、インテントやスロットに関する解釈内容と、その解釈内容が適用されるべきコンテキスト情報と、その解釈内容をコンテキスト情報において適用される優先度を表した(若しくは数値化した)解釈スコアからなる。但し、コンテキスト情報には抽象化処理(後述)が施される。解釈内容は、略語や略称を元の長い名称にリンクさせる「リンク知識」を含む。コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報であり、例えば発話時間や発話したときにそばにいた人(周辺者)などであり、さらに発話場所や発話したときのさまざまな環境情報を含めてもよい。
また、解釈知識に対して解釈スコアを付けるために、知識獲得スコアテーブルが用意される。図7には、知識獲得スコアテーブルの構成を模式的に示している。図示の知識獲得スコアテーブルは、解釈知識を獲得する方法毎に割り当てられた知識獲得スコアの早見表である。ある解釈内容とコンテキスト情報からなる解釈知識を獲得したとき、そのときの獲得方法に応じた知識獲得スコアを知識獲得スコアテーブルから取得して、解釈知識データベース中の該当するエントリの解釈スコアに逐次加算する。例えば、ある特定のコンテキスト情報(発話日時、発話場所など)でインテント「音楽再生」という解釈知識を、獲得方法1により獲得したときには、その解釈知識の解釈スコアを30点だけ加算する。
ユーザーフィードバックがあったとき:
情報処理装置100が実施した応答に対して、ユーザーからのフィードバックがあったとき、ユーザーフィードバック収集機能207により収集される(S502)。そして、発話意図理解機能202は、ユーザーフィードバック反映処理を実施して(S503)、解釈知識データベースの記憶内容を適宜修正する。
情報処理装置100が実施した応答に対して、ユーザーからのフィードバックがあったとき、ユーザーフィードバック収集機能207により収集される(S502)。そして、発話意図理解機能202は、ユーザーフィードバック反映処理を実施して(S503)、解釈知識データベースの記憶内容を適宜修正する。
音声エージェントからの応答に対してユーザーがフィードバックする際の表現方法はさまざまであるが、肯定的又は否定的のいずれかに大別することができる。
ユーザーから肯定フィードバックがあったとき、ユーザーの発話の意図解釈が正しかったと推定することができる。したがって、このときのユーザーフィードバック反映処理として、解釈知識データベース中の該当する解釈知識の解釈スコアを、所定値だけ増やす。また、その解釈知識を獲得した獲得方法も正しかったと推定することができるので、知識獲得スコアテーブルの該当する知識獲得スコアも、所定値だけ増やす。
一方、ユーザーから否定フィードバックがあったとき、ユーザーの発話の意図解釈が正しくなかったと推定することができる。したがって、このときのユーザーフィードバック反映処理として、解釈知識データベース中の該当する解釈知識の解釈スコアを、所定値だけ減らす。また、その解釈知識を獲得した獲得方法も正しくなかったと推定することができるので、知識獲得スコアテーブルの該当する知識獲得スコアも、所定値だけ減らす。
ユーザーの発話解釈時:
マイク113からユーザーの発話が入力されたとき、音声認識機能201により音声認識されたテキストデータ(発話テキスト)が発話意図理解機能202に渡される。発話意図理解機能202は、発話テキストが入力されて、ユーザーの発話を解釈するとき、まず、インテントとスロットから構成される意図構造を生成する(S504)。そして、インテント又はスロットのうち少なくとも一方に複数の候補があるかどうかをチェックする(S505)。
マイク113からユーザーの発話が入力されたとき、音声認識機能201により音声認識されたテキストデータ(発話テキスト)が発話意図理解機能202に渡される。発話意図理解機能202は、発話テキストが入力されて、ユーザーの発話を解釈するとき、まず、インテントとスロットから構成される意図構造を生成する(S504)。そして、インテント又はスロットのうち少なくとも一方に複数の候補があるかどうかをチェックする(S505)。
発話の意図を解釈して、単一のインテント及びスロットのみが生成されたときには(S505のNo)、発話意図理解機能202は、それを意図理解結果として出力する。その後、アプリケーション/サービス実行機能203は、その意図理解結果に合ったアプリケーションやサービスを実行する(S508)。
一方、インテント又はスロットのうち少なくとも一方に複数の候補がある場合には(S505のYes)、コンテキスト取得機能206により取得された現在のコンテキストと、解釈知識データベース中の各解釈知識のコンテキスト情報とを比較するコンテキストマッチング処理を実施する(S506)。
そして、マッチした(若しくは、コンテキスト同士の類似度が所定の閾値を超えた)解釈知識を利用して、単一のインテント及びスロットを意図理解結果として出力する(S507のYes)。また、ユーザーの発話時のコンテキスト情報にマッチする解釈知識が複数ある場合には、解釈スコアが最も高いものを選択して、意図理解結果を出力する。その後、アプリケーション/サービス実行機能203は、その意図理解結果に合ったアプリケーションやサービスを実行する(S508)。
コンテキスト情報は階層構造を有している。そこで、S506のコンテキストマッチング処理では、この階層構造を踏まえて、適切な階層レベル同士でコンテキスト情報のマッチングを行う。適切な階層レベル同士でコンテキスト情報のマッチングを行うために、本実施形態では、コンテキスト情報の抽象化を行う。具体的には、コンテキスト取得機能206により取得されたコンテキスト情報は、ログデータベースに一旦蓄積され、抽象化処理して(S509)、抽象化した結果を用いてコンテキストマッチング処理を実施する。但し、コンテキスト情報の抽象化処理の詳細については後述に譲る。
なお、情報処理装置100の初期状態若しくはサービス開始時点では、基本的には、解釈知識データベースは記憶された解釈知識が空の状態である。このような状態で、ユーザーの発話解釈時に、インテント又はスロットのうち少なくとも一方に複数の候補が存在すると、単一の意図理解に収束できないというコールドスタート問題が発生する。そこで、他の家庭に設置した情報処理装置100で構築された汎用的な解釈知識データベースを、初期の解釈知識データベースとして利用するようにしてもよい。また、初期の解釈知識データベースにおける各解釈知識の解釈知識スコアを10分の1の値に圧縮しておけば、使用を開始すればユーザーフィードバック反映処理により解釈スコアが相対的に変化し易くなり、その過程特有の傾向がより強く表出されるようになる。
続いて、図5に示した発話意図理解機能のうち、「解釈知識獲得時」、「ユーザーフィードバックの収集時」、並びに「解釈時」の各々における挙動について、さらに詳細に説明する。
解釈知識獲得時の挙動:
発話意図理解機能202は、解釈知識を獲得したとき、その解釈内容と、その解釈内容が適用されるべきコンテキスト情報と、その解釈内容をコンテキスト情報において適用される優先度を表した解釈スコアを付けて、図6に示したような解釈知識データベースに記憶する処理を実施する。解釈知識データベースは、インテントやスロットなどの解釈内容と、その解釈をしたときのユーザーの発話日時や発話場所といったコンテキスト情報と、その解釈内容を適用するべき解釈スコアを記憶する。
発話意図理解機能202は、解釈知識を獲得したとき、その解釈内容と、その解釈内容が適用されるべきコンテキスト情報と、その解釈内容をコンテキスト情報において適用される優先度を表した解釈スコアを付けて、図6に示したような解釈知識データベースに記憶する処理を実施する。解釈知識データベースは、インテントやスロットなどの解釈内容と、その解釈をしたときのユーザーの発話日時や発話場所といったコンテキスト情報と、その解釈内容を適用するべき解釈スコアを記憶する。
解釈知識として獲得した解釈内容は、発話意図のインテントの場合と、発話意図のスロットの場合がある。
解釈知識として獲得した解釈内容がインテントの場合、どのインテントで解釈するかを、解釈知識として獲得する。例えば、「xxxを再生して」という発話に対して、「MUSIC_PLAY(音楽再生)」、「MOVIE_PLAY(映画再生)」、「TV_PLAY(テレビ番組再生)」という3通りのインテントを解釈知識として獲得する。
また、解釈知識として獲得した解釈内容がスロットの場合、どのスロットで解釈するかを、解釈知識として獲得する。例えば、インテントが「音楽再生」と解釈されたときに、「アイ」というスロットについて、「佐藤アイ」、「山田アイ」、「田中アイ」という3通りの解釈知識を獲得し、以下のように解釈スコアを付与する。
佐藤アイ:127点、山田アイ:43点、田中アイ:19点
また、上記のようにインテント又はスロットの解釈知識を獲得したときに、どういう状況の場合にその解釈知識が適用されるか、すなわちコンテキスト情報を対応付ける。その解釈内容を獲得したときのユーザーの発話日時や発話場所といったコンテキスト情報を、コンテキスト取得機能により取得することができる。図3を参照しながら説明したように、コンテキスト情報は階層構造になっている。この階層構造を踏まえて、適切な階層レベル同士でコンテキスト情報のマッチングを行うために、コンテキスト情報の抽象化を行う。そして、抽象化した結果を用いてコンテキストマッチング処理を実施する。但し、コンテキスト情報の抽象化処理の詳細については後述に譲る。
解釈スコアは、その解釈内容を適用する優先度を表す値である。例えば、あるコンテキストにおいて「アイ」というスロットの解釈として「佐藤アイ」、「山田アイ」、「田中アイ」という3通りがあり、各々の解釈スコアが127点、43点、19点であるとするとも、最もスコアが高い「佐藤アイ」が優先的に適用される。この場合、「アイ」→「佐藤アイ」とリンクさせる解釈内容を解釈知識(リンク知識)として獲得することになる。
発話意図理解機能202は、解釈知識を獲得する度に、解釈知識データベースを更新する。
解釈知識を獲得する方法はさまざまである。解釈知識を獲得する獲得方法に応じて、解釈知識データベースを更新する際にその解釈知識の解釈スコアを加算する。例えば、確からしさの高い獲得方法(その方法で獲得した解釈知識は確からしい)の場合には、大きな値を解釈スコアに加算するが、確からしさの低い獲得方法(その方法で獲得した解釈知識の確からしさは低い)の場合には、小さい値を解釈スコアに加算する。以下では6種類の獲得方法1~6について説明する。
(1)獲得方法1:一般常識による判定型
世の中の一般常識に基づいて、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、世の中の一般共通認識として「アイ」と言えば誰のことなのかを、インターネット上のさまざまな情報に基づいて人気度をランキングして、そのランキング結果に基づいて最も適切なインテント又はスロットを複数候補の中から判定する。
世の中の一般常識に基づいて、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、世の中の一般共通認識として「アイ」と言えば誰のことなのかを、インターネット上のさまざまな情報に基づいて人気度をランキングして、そのランキング結果に基づいて最も適切なインテント又はスロットを複数候補の中から判定する。
また、インテント又はスロットの各候補の人気度を定期的に集計して、その結果に基づいて解釈知識データベースを更新する。
この獲得方法1により得られる解釈知識は、万人共通になり、マイナーな嗜好のユーザーにとっては誤った解釈になってしまう可能性がある。例えば、世の中のほとんどの人が「アイ」と言えば「佐藤アイ」を意味するのに対し、あるユーザーが一人だけ「田中アイ」を推すような場合には、この獲得方法1では、このような特殊なユーザー向けの解釈知識を得ることはできない。
(2)獲得方法2:全候補提示及び選択型
複数のインテント又はスロットの候補を提示して、ユーザーに選択してもらう方法である。例えば、「アイ」というスロットの解釈として「佐藤アイ」、「山田アイ」、「田中アイ」という3通りを提示して、ユーザーに選択してもらう。例えば、世の中では音楽再生というインテントに対して「アイ」と言えば「佐藤アイ」という解釈が圧倒的であったとしても、ユーザーが「田中アイ」を選択したら、「アイ」→「田中アイ」とリンクさせる解釈内容を解釈知識として獲得して、解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、その発話から生成されたスロット「アイ」からリンク知識に基づいて「田中アイ」を選択し、田中アイの曲をかける。
複数のインテント又はスロットの候補を提示して、ユーザーに選択してもらう方法である。例えば、「アイ」というスロットの解釈として「佐藤アイ」、「山田アイ」、「田中アイ」という3通りを提示して、ユーザーに選択してもらう。例えば、世の中では音楽再生というインテントに対して「アイ」と言えば「佐藤アイ」という解釈が圧倒的であったとしても、ユーザーが「田中アイ」を選択したら、「アイ」→「田中アイ」とリンクさせる解釈内容を解釈知識として獲得して、解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、その発話から生成されたスロット「アイ」からリンク知識に基づいて「田中アイ」を選択し、田中アイの曲をかける。
この獲得方法2によれば、マイナーな思考のユーザーにも確実に対応して解釈知識データベースを構築することができるが、ユーザーの手間がかかるという問題がある。
(3)獲得方法3:ユーザー教示型
ユーザーが教示した内容に基づいて解釈知識を獲得する方法である。例えば、ユーザーが「アイと言ったら田中アイだよ」と教示してくれたら、「アイ」→「田中アイ」とリンクさせる解釈知識(リンク知識)を解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、スロットとして「田中アイ」を選択し、田中アイの曲をかける。
ユーザーが教示した内容に基づいて解釈知識を獲得する方法である。例えば、ユーザーが「アイと言ったら田中アイだよ」と教示してくれたら、「アイ」→「田中アイ」とリンクさせる解釈知識(リンク知識)を解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、スロットとして「田中アイ」を選択し、田中アイの曲をかける。
この獲得方法3によれば、ユーザーが直接教示してくれるので確度はあるが、解釈知識データベースを構築するのにユーザーの手間がかかるという問題がある。
(4)獲得方法4:初回限定発話型
ユーザーが(初回に)「田中アイの曲をかけて」と発話したら、「アイ」→「田中アイ」というリンク知識を解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、スロットとして「田中アイ」を選択し、田中アイの曲をかける。
ユーザーが(初回に)「田中アイの曲をかけて」と発話したら、「アイ」→「田中アイ」というリンク知識を解釈知識データベースに記憶する。そして、次回以降にユーザーが「アイの曲をかけて」と発話したら、スロットとして「田中アイ」を選択し、田中アイの曲をかける。
人間同士の会話でも、インテント又はスロットに複数の候補があり、勘違いされるおそれがあると思ったら、初回は略称「アイ」のようにあいまいな言い方を避けて「田中アイの曲をかけて」と発話し、2回目以降は略称を使って「アイの曲をかけて」と発話することがある。獲得方法4は、このような人間の会話の習性に依拠するものである。
ユーザーにとっては、日常の会話と同じ感覚で発話すればよいので、受け入れ易い。但し、すべてのユーザーが、初回はあいまい性を避けて限定的な言い方で発話するとは限らない。初回はあいまいな言い方を避ける習性のないユーザーにとっては、気を遣う獲得方法であり、あるいは気を遣わないユーザーだとなかなか解釈知識が蓄積されないという問題がある。
(5)獲得方法5:属性情報利用判定型
ユーザーの属性情報を利用して、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、「大崎の天気を教えて」という発話に対しては、日本国内には大崎という名称がつく地名がいくつか存在することに起因して、以下の3通りの解釈が考えられる。
ユーザーの属性情報を利用して、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、「大崎の天気を教えて」という発話に対しては、日本国内には大崎という名称がつく地名がいくつか存在することに起因して、以下の3通りの解釈が考えられる。
鹿児島の大崎町
宮城県の大崎市
東京都品川区の大崎
宮城県の大崎市
東京都品川区の大崎
このような場合、属性情報としてユーザーの現在地の緯度経度に最も近い「大崎」と判定して、その天気を提示する。
(6)獲得方法6:履歴による判定型
ユーザーの履歴情報を利用して、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、ユーザーが「アイの曲をかけて」と発話したとき、インテント「音楽再生」に対する「アイ」というスロットには、「佐藤アイ」、「山田アイ」、「田中アイ」という複数の候補が存在し、あいまい性があるが、そのユーザーには田中アイの曲を頻繁に再生しているという履歴情報があれば、田中アイの曲をかける。
ユーザーの履歴情報を利用して、複数のインテント又はスロットの候補の中から最も適切なものを判定する方法である。例えば、ユーザーが「アイの曲をかけて」と発話したとき、インテント「音楽再生」に対する「アイ」というスロットには、「佐藤アイ」、「山田アイ」、「田中アイ」という複数の候補が存在し、あいまい性があるが、そのユーザーには田中アイの曲を頻繁に再生しているという履歴情報があれば、田中アイの曲をかける。
例えば、情報処理装置100がスマートフォンやタブレット端末などの情報端末の場合には、ユーザーが使用するアプリケーションのデータ(スケジュール帳やプレイリストなど)に基づいて、ユーザーの履歴情報を取得して、上記の判定に利用することができる。
この獲得方法6によれば、履歴情報の取得にユーザーの手間がかからないが、高精度で判定することは難しいと思料される。
既に述べたように、解釈知識を獲得して、解釈知識データベースを更新する際に、獲得方法に応じた知識獲得スコアがその解釈知識の解釈スコアに加算される。例えば、確からしさの高い獲得方法(その方法で獲得した解釈知識は確からしい)には高い知識獲得スコアを割り当て、確からしさの低い獲得方法(その方法で獲得した解釈知識の確からしさは低い)には低い知識獲得スコアを割り当てる。上述した獲得方法1~6に対して割り当てた知識獲得スコアの一例を、図8に示しておく。
例えば、ユーザーが「アイの曲をかけて」と発話した際に、情報処理装置100がユーザーに「佐藤アイ」、「山田アイ」、及び「田中アイ」の3つの候補を提示し、ユーザーが「田中アイ」を選択したら、獲得方法2(全候補提示及び選択型)で獲得した解釈知識なので、知識獲得スコア4点が「アイ」→「田中アイ」のリンク知識の解釈スコアに加算される。
ユーザーフィードバックの収集時の挙動:
情報処理装置100が実施した応答に対してユーザーからのフィードバックがあったとき、ユーザーフィードバック収集機能207によりユーザーフィードバックを収集し、発話意図理解機能202は、解釈知識データベースの記憶内容を適宜修正する。
情報処理装置100が実施した応答に対してユーザーからのフィードバックがあったとき、ユーザーフィードバック収集機能207によりユーザーフィードバックを収集し、発話意図理解機能202は、解釈知識データベースの記憶内容を適宜修正する。
音声エージェントからの応答に対してユーザーがフィードバックする際の表現方法はさまざまであるが、ユーザーフィードバックが肯定的又は否定的のいずれかに大別することができる。
音声エージェントが応答を返した直後に、ユーザーから「それだよ」、「ありがとう」といった肯定的な発話を得た場合や、ユーザーが音声エージェントの応答結果を読んだり、ユーザーがアプリケーションを使い始めたりした場合は、ユーザーから肯定フィードバックがあったときである。
ユーザーから肯定フィードバックがあったとき、ユーザーの発話の意図解釈が正しかったと推定することができる。したがって、このときのユーザーフィードバック反映処理として、解釈知識データベース中の該当する解釈知識の解釈スコアを所定値だけ増やす。
一方、音声エージェントが応答を返した直後に、ユーザーから「違うよ」、「そうじゃないよ、xxxだよ」といった否定的な発話を得た場合や、ユーザーが音声エージェントの応答結果を読まなかったり、ユーザーがアプリケーションを使わなかったりした場合は、ユーザーから否定フィードバックがあったときである。
ユーザーから否定フィードバックがあったとき、ユーザーの発話の意図解釈が正しくなかったと推定することができる。したがって、このときのユーザーフィードバック反映処理として、解釈知識データベース中の該当する解釈知識の解釈スコアを、所定値だけ減らす。
また、ユーザーからフィードバックがあったときには、肯定的又は否定的のいずれかであったかに応じて、知識獲得スコアテーブルの知識獲得スコアも更新するようにする。
例えば、ユーザー教示型の獲得方法3によって獲得されたリンク知識は強いものと考えることができる。ユーザーが「アイと言ったら田中アイだよ」と教示してくれたら、「アイ」→「田中アイ」というリンク知識を解釈知識データベースに記憶するとともに、解釈スコアを6点も加算する。しかしながら、「アイ」→「田中アイ」というリンク知識が未来永劫、強いものとは限らず、全候補提示及び選択型の獲得方法2の方を強くしてほしい(前回選んだのだから、今回もそちらを選んでほしい)、というユーザーもあり得る。
そこで、ユーザーから肯定フィードバックがあったときには、その解釈知識を獲得した獲得方法も正しかったと推定することができるので、知識獲得スコアテーブルの該当する知識獲得スコアも、所定値だけ増やす。逆に、ユーザーから否定フィードバックがあったときには、その解釈知識を獲得した獲得方法も正しくなかったと推定することができるので、知識獲得スコアテーブルの該当する知識獲得スコアも、所定値だけ減らす。
以上により、ユーザーからのフィードバックを踏まえて、そのユーザーにとって有用な解釈知識が強くなり、また有用な獲得方法がより強くなっていく。
解釈時の挙動:
マイク113からユーザーの発話が入力されたとき、音声認識機能201により音声認識されたテキストデータ(発話テキスト)が発話意図理解機能202に渡される。発話意図理解機能202は、発話テキストが入力されて、ユーザーの発話を解釈するとき、まず、インテントとスロットから構成される意図構造を生成する。そして、インテント又はスロットのうち少なくとも一方に複数の候補があるときには、コンテキスト取得機能206により取得された現在のコンテキストと、解釈知識データベース中の各解釈知識のコンテキスト情報とを比較するコンテキストマッチング処理を実施して、最も有効な解釈知識を適用して、その意図理解結果に合ったアプリケーションやサービスを実行する。
マイク113からユーザーの発話が入力されたとき、音声認識機能201により音声認識されたテキストデータ(発話テキスト)が発話意図理解機能202に渡される。発話意図理解機能202は、発話テキストが入力されて、ユーザーの発話を解釈するとき、まず、インテントとスロットから構成される意図構造を生成する。そして、インテント又はスロットのうち少なくとも一方に複数の候補があるときには、コンテキスト取得機能206により取得された現在のコンテキストと、解釈知識データベース中の各解釈知識のコンテキスト情報とを比較するコンテキストマッチング処理を実施して、最も有効な解釈知識を適用して、その意図理解結果に合ったアプリケーションやサービスを実行する。
ここで、コンテキストマッチングを行う際に、コンテキストを抽象化処理する。
例えば、周辺者(発話したときのそばにいた人)について、以下のような階層構造で定義する。
そして、ある解釈知識が、以下に示すようにそれぞれ階層構造の末端ノードに対して適用されているという状況であるとする。
このような状況であれば、以下に示すように、コンテキスト情報のある階層の全要素が閾値を超えている解釈知識は1つ上の階層で適用されるようになる。これをコンテキスト情報の「抽象化」と呼ぶ。
抽象化について、さらに詳細に説明する。コンテキスト情報を以下のように定義したとする。
コンテキスト収集機能206によりコンテキスト情報を取得処理した結果、例えば、図9に示すような知識をログデータベースに獲得していったとする。そして、獲得スコアの合計が所定の閾値に達した解釈内容を解釈知識として獲得して、解釈知識データベースに記憶する。ここで、獲得スコアの閾値を30点とすると、図9に示す例では、「アイ」→「田中アイ」というリンク解釈に関して、獲得スコアを合算すると、12/17 火曜日19:28に31点となって閾値に達した。このとき、「アイ」→「田中アイ」というリンク解釈を獲得したときに収集した複数のコンテキスト情報に関して、以下に示すようないくつかの抽象化の可能性がある。
このように複数の抽象化の可能性がある中で、例えば、その階層で、「アイ」→「田中アイ」というリンク解釈が発生した全ケースにおける件数比率が所定の閾値(例えば80%)以上となった場合に、その階層を採用することで、コンテキスト情報を抽象化する。
例えば、発話時間「いつ」について、時間帯は、1日を3時間ずつ区切って8つの時間帯を定義すると、「アイ」→「田中アイ」の発生ケースは、18:00~21:00で5回、21:00~24:00で1回、その他6つの時間帯では0回発生している。18:00~21:00で5/6=83.3%(>80%)の件数比率を占めているので、18:00~21:00の時間帯を採用することで、時間帯の階層で抽象化される。
また、曜日は7種類定義されるが、「アイ」→「田中アイ」の発生ケースは、月曜日で1回、火曜日で3回、水曜日で1回、金曜日で1回、木曜日、土曜日、日曜日は0回発生している。最も発生件数が多い火曜日でも件数比率は3/6=50%(<80%)なので、曜日の階層では抽象化されない。
また、周辺者(発話したときのそばにいた人)「だれが」について、家族は発話者の父、母、弟の3人のメンバーがそばにいたとする。家族の個々のメンバーの階層での「アイ」→「田中アイ」の発生ケースは、父で4回、母で2回発生している。父の階層では4/6=66.7%(<805)なので、個の階層では抽象化されない。親か子の階層での「アイ」→「田中アイ」の発生ケースは、親で6/6=100%(>80%)なので、親の階層での抽象化が採用される。
さらに、発話時間「いつ」と周辺者(発話したときのそばにいた人)「だれが」のすべての組み合わせで、コンテキスト情報を抽象化できるかどうかを検討する必要がある。発話時間「いつ」と周辺者(発話したときのそばにいた人)「だれが」の各組み合わせにおける「アイ」→「田中アイ」の発生件数と件数比率を図10にまとめた。いつ=時間帯(18:00~21:00)&周辺者=父の組み合わせの発生ケースの件数比率は3/6=50%(<80%)なので、この組み合わせでの抽象化は採用されない。また、いつ=時間帯(18:00~21:00)&周辺者=親の組み合わせの発生ケースの件数比率は5/6=83.3%(>80%)なので、この組み合わせでの抽象化は採用される。また、いつ=曜日(月曜日)&周辺者=父の組み合わせの発生ケースの件数比率は1/6=12.5%(<80%)なので、この組み合わせでの抽象化は採用されない。
したがって、「アイ」→「田中アイ」というリンク知識に関して、抽象化して採用されるコンテキスト情報は、以下の通りである。
上記は、ある1つの家庭において解釈知識を獲得した例である。さらに複数の家庭で獲得した解釈知識を収集してマージすると、以下のように、コンテキスト情報を広く抽象化することができる。
このようにマージしてコンテキスト情報を広く抽象化した解釈知識を使用することで、情報処理装置100を購入して音声エージェント機能を初めて使う家庭でも、汎用的な解釈知識を利用してある程度の精度で発話が解釈され、適切な応答が音声エージェントから返ってくる。したがって、コールドスタート問題が解決され、ユーザーの利便性が確保される。また、初期の解釈知識データベースにおける各解釈知識の解釈知識スコアを10分の1の値に圧縮しておけば、使用を開始すればユーザーフィードバック反映処理により解釈スコアが相対的に変化し易いので、音声エージェントは個別のユーザーにすぐフィットすることができる。
また、コンテキスト情報のうち、周辺者の階層構造に、以下のように性別などの属性を付けることで、末端ノードを、男性、女性といった抽象レベルに引き上げることもできる。
最後に、本実施形態に係る発話意図理解機能によってユーザーの発話の意図を解釈する事例について説明する。
事例1:発話内容は同じでコンテキストのムードだけが異なる場合
日曜日の夜、自宅で、家族全員がいて、家のホームエージェントから、「アイを再生して」と発話された場合、インテントの解釈内容として、MUSIC_PLAYとMOVIE_PLAYがあり得る。
日曜日の夜、自宅で、家族全員がいて、家のホームエージェントから、「アイを再生して」と発話された場合、インテントの解釈内容として、MUSIC_PLAYとMOVIE_PLAYがあり得る。
ムードが忙しそうなときは、BGMとして聴きたいから、コンテキスト情報に基づいて、MUSIC_PLAYが選択される。また、ムードがまったりしたときには、映画でも観ようかなという気分になるので、コンテキスト情報に基づいて、MOVIE_PLAYが選択される。
事例2:発話内容は同じでコンテキストの周辺者だけが異なる場合
日曜日の夜、自宅で、家族全員がいて、家のホームエージェントから、「再生して」と発話された場合、インテントの解釈内容として、MUSIC_PLAYとMOVIE_PLAYがあり得る。
日曜日の夜、自宅で、家族全員がいて、家のホームエージェントから、「再生して」と発話された場合、インテントの解釈内容として、MUSIC_PLAYとMOVIE_PLAYがあり得る。
ママがいるときは、子供にはアニメを見せないので、MUSIC_PLAYが選択される。また、ママがいないときは、パパは甘く、アニメを見せてもいいので、MOVIE_PLAYが選択される。
事例3:ユーザーが移動している場合
新宿という地名は、「東京都新宿区」と「千葉市中央区新宿」の2箇所があるものとする。そして、ユーザーが千葉市の新宿在住で、且つ、職場が東京都の新宿であるとする。
新宿という地名は、「東京都新宿区」と「千葉市中央区新宿」の2箇所があるものとする。そして、ユーザーが千葉市の新宿在住で、且つ、職場が東京都の新宿であるとする。
朝、自宅(千葉市の新宿)で、ユーザーが「新宿の天気は?」と発話した場合、職場に着いたときに雨が降っていないかが気になるので、東京都の新宿の天気が選択される。
また、昼、職場(東京都の新宿)にて、ユーザーが「新宿の天気は?」と発話した場合、これから帰宅して、自宅の最寄り駅(千葉市の新宿)に着いたときに雨が降っていないかが気になるので、千葉市の新宿の天気が選択される。
ユーザーの平日の行動パターンはほぼ決まっている。平日の朝なら東京の新宿と解釈し、平日の昼なら千葉市の新宿と解釈して、それぞれユーザーに応答することが適切である。
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書で開示する技術は、音声エージェント専用のデバイスだけでなく、スマートフォンやタブレット端末などの情報端末、情報家電やIoTデバイスなどのエージェントアプリケーションが常駐するさまざまな機器を設置する際にも適用することができる。また、本明細書で開示する技術の少なくとも一部の機能を、クラウド上に構築されるエージェントサービスの連携により提供で実行することも可能である。
要するに、例示という形態により本明細書で開示する技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、
前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部と、
を具備する情報処理装置。
(1-1)ユーザーの発話時のコンテキスト情報を取得する収集部をさらに備える、
上記(1)に記載の情報処理装置。
(1-2)ユーザーの発話意図に基づいて応答する応答部をさらに備える、
上記(1)に記載の情報処理装置。
(1-3)前記応答部は音声によりユーザーに応答する、
上記(1)に記載の情報処理装置。
(1-4)前記応答部による応答に対するユーザーからのフィードバック情報を収集する収集部をさらに備える、
上記(1-2)に記載の情報処理装置。
(2)インテントは、ユーザーが発話により実行を要求するアプリケーション又はサービスであり、
スロットは、アプリケーション又はサービスを実行する際の付属情報である、
上記(1)に記載の情報処理装置。
(3)コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報である、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(3-1)コンテキスト情報は、発話時間、発話場所、周辺者、発話機器、ムード、又は発話ドメインのうち少なくとも1つを含む、
上記(3)に記載の情報処理装置。
(4)前記判定部は、さらに発話意図に基づく応答に対するユーザーからのフィードバック情報に基づいて、前記複数の候補のうち最も適切な解釈を判定する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)インテント又はスロットに関する解釈内容とその解釈内容が適用されるべきコンテキスト情報を解釈知識として記憶する記憶部をさらに備え、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識に基づいて、ユーザーの発話意図に対する解釈を判定する、
上記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)前記記憶部は、解釈内容をコンテキスト情報において適用される優先度を表す解釈スコアをさらに記憶し、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識のうち解釈スコアが高いものを選択する、
上記(5)に記載の情報処理装置。
(7)解釈知識を獲得した方法に基づいて解釈スコアを決定する、
上記(6)に記載の情報処理装置。
(8)前記判定部により判定した解釈知識に基づく応答に対するユーザーからのフィードバック情報に基づいて、該当する解釈知識の解釈スコアを更新する、
上記(6)又は(7)のいずれかに記載の情報処理装置。
(9)ユーザーから肯定フィードバックがあった場合に、該当する解釈知識の解釈スコアを増やす、
上記(8)に記載の情報処理装置。
(10)ユーザーから否定フィードバックがあった場合に、該当する解釈知識の解釈スコアを減らす、
上記(8)又は(9)のいずれかに記載の情報処理装置。
(11)コンテキスト情報は階層構造を有し、
前記判定部は、前記階層構造を踏まえて、適切な階層レベル同士でコンテキスト情報を比較して、前記判定を行う、
上記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)ある解釈内容が発生した全ケースにおける件数比率が所定の閾値以上となった階層を採用して、その解釈内容に適用されるべきコンテキスト情報を抽象化する、
上記(11)に記載の情報処理装置。
(13)ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成ステップと、
前記生成ステップにおいてインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定ステップと、
を有する情報処理方法。
(1)ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、
前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部と、
を具備する情報処理装置。
(1-1)ユーザーの発話時のコンテキスト情報を取得する収集部をさらに備える、
上記(1)に記載の情報処理装置。
(1-2)ユーザーの発話意図に基づいて応答する応答部をさらに備える、
上記(1)に記載の情報処理装置。
(1-3)前記応答部は音声によりユーザーに応答する、
上記(1)に記載の情報処理装置。
(1-4)前記応答部による応答に対するユーザーからのフィードバック情報を収集する収集部をさらに備える、
上記(1-2)に記載の情報処理装置。
(2)インテントは、ユーザーが発話により実行を要求するアプリケーション又はサービスであり、
スロットは、アプリケーション又はサービスを実行する際の付属情報である、
上記(1)に記載の情報処理装置。
(3)コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報である、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(3-1)コンテキスト情報は、発話時間、発話場所、周辺者、発話機器、ムード、又は発話ドメインのうち少なくとも1つを含む、
上記(3)に記載の情報処理装置。
(4)前記判定部は、さらに発話意図に基づく応答に対するユーザーからのフィードバック情報に基づいて、前記複数の候補のうち最も適切な解釈を判定する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)インテント又はスロットに関する解釈内容とその解釈内容が適用されるべきコンテキスト情報を解釈知識として記憶する記憶部をさらに備え、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識に基づいて、ユーザーの発話意図に対する解釈を判定する、
上記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)前記記憶部は、解釈内容をコンテキスト情報において適用される優先度を表す解釈スコアをさらに記憶し、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識のうち解釈スコアが高いものを選択する、
上記(5)に記載の情報処理装置。
(7)解釈知識を獲得した方法に基づいて解釈スコアを決定する、
上記(6)に記載の情報処理装置。
(8)前記判定部により判定した解釈知識に基づく応答に対するユーザーからのフィードバック情報に基づいて、該当する解釈知識の解釈スコアを更新する、
上記(6)又は(7)のいずれかに記載の情報処理装置。
(9)ユーザーから肯定フィードバックがあった場合に、該当する解釈知識の解釈スコアを増やす、
上記(8)に記載の情報処理装置。
(10)ユーザーから否定フィードバックがあった場合に、該当する解釈知識の解釈スコアを減らす、
上記(8)又は(9)のいずれかに記載の情報処理装置。
(11)コンテキスト情報は階層構造を有し、
前記判定部は、前記階層構造を踏まえて、適切な階層レベル同士でコンテキスト情報を比較して、前記判定を行う、
上記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)ある解釈内容が発生した全ケースにおける件数比率が所定の閾値以上となった階層を採用して、その解釈内容に適用されるべきコンテキスト情報を抽象化する、
上記(11)に記載の情報処理装置。
(13)ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成ステップと、
前記生成ステップにおいてインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定ステップと、
を有する情報処理方法。
100…情報処理装置、101…制御部、101A…CPU
101B…ROM、101C…RAM、102…情報アクセス部
103…操作部インターフェース、104…通信インターフェース
105…音声入力インターフェース
106…映像入力インターフェース
107…音声出力インターフェース
108…映像出力インターフェース
111…情報記録装置、112…操作装置、113…マイク
114…カメラ、115…スピーカー、116…表示部
101B…ROM、101C…RAM、102…情報アクセス部
103…操作部インターフェース、104…通信インターフェース
105…音声入力インターフェース
106…映像入力インターフェース
107…音声出力インターフェース
108…映像出力インターフェース
111…情報記録装置、112…操作装置、113…マイク
114…カメラ、115…スピーカー、116…表示部
Claims (13)
- ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成部と、
前記生成部によりインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定部と、
を具備する情報処理装置。 - インテントは、ユーザーが発話により実行を要求するアプリケーション又はサービスであり、
スロットは、アプリケーション又はサービスを実行する際の付属情報である、
請求項1に記載の情報処理装置。 - コンテキスト情報は、ユーザーの発話時に発話音声以外の状況に関する情報である、
請求項1に記載の情報処理装置。 - 前記判定部は、さらに発話意図に基づく応答に対するユーザーからのフィードバック情報に基づいて、前記複数の候補のうち最も適切な解釈を判定する、
請求項1に記載の情報処理装置。 - インテント又はスロットに関する解釈内容とその解釈内容が適用されるべきコンテキスト情報を解釈知識として記憶する記憶部をさらに備え、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識に基づいて、ユーザーの発話意図に対する解釈を判定する、
請求項1に記載の情報処理装置。 - 前記記憶部は、解釈内容をコンテキスト情報において適用される優先度を表す解釈スコアをさらに記憶し、
前記判定部は、ユーザーの発話時のコンテキスト情報にマッチする解釈知識のうち解釈スコアが高いものを選択する、
請求項5に記載の情報処理装置。 - 解釈知識を獲得した方法に基づいて解釈スコアを決定する、
請求項6に記載の情報処理装置。 - 前記判定部により判定した解釈知識に基づく応答に対するユーザーからのフィードバック情報に基づいて、該当する解釈知識の解釈スコアを更新する、
請求項6に記載の情報処理装置。 - ユーザーから肯定フィードバックがあった場合に、該当する解釈知識の解釈スコアを増やす、
請求項8に記載の情報処理装置。 - ユーザーから否定フィードバックがあった場合に、該当する解釈知識の解釈スコアを減らす、
請求項8に記載の情報処理装置。 - コンテキスト情報は階層構造を有し、
前記判定部は、前記階層構造を踏まえて、適切な階層レベル同士でコンテキスト情報を比較して、前記判定を行う、
請求項1に記載の情報処理装置。 - ある解釈内容が発生した全ケースにおける件数比率が所定の閾値以上となった階層を採用して、コンテキスト情報を抽象化する、
請求項11に記載の情報処理装置。 - ユーザーの発話からインテント及びスロットからなる発話意図を生成する生成ステップと、
前記生成ステップにおいてインテント又はスロットの少なくとも一方において複数の候補が得られた場合に、ユーザーの発話時のコンテキスト情報に基づいて前記複数の候補のうち最も適切な解釈を判定する判定ステップと、
を有する情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/250,199 US20210264904A1 (en) | 2018-06-21 | 2019-04-11 | Information processing apparatus and information processing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018117595 | 2018-06-21 | ||
JP2018-117595 | 2018-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019244455A1 true WO2019244455A1 (ja) | 2019-12-26 |
Family
ID=68983968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/015873 WO2019244455A1 (ja) | 2018-06-21 | 2019-04-11 | 情報処理装置及び情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210264904A1 (ja) |
WO (1) | WO2019244455A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10916241B1 (en) * | 2019-12-30 | 2021-02-09 | Capital One Services, Llc | Theme detection for object-recognition-based notifications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008076811A (ja) * | 2006-09-22 | 2008-04-03 | Honda Motor Co Ltd | 音声認識装置、音声認識方法及び音声認識プログラム |
JP2016061954A (ja) * | 2014-09-18 | 2016-04-25 | 株式会社東芝 | 対話装置、方法およびプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2376335B (en) * | 2001-06-28 | 2003-07-23 | Vox Generation Ltd | Address recognition using an automatic speech recogniser |
US20060143576A1 (en) * | 2004-12-23 | 2006-06-29 | Gupta Anurag K | Method and system for resolving cross-modal references in user inputs |
US8073681B2 (en) * | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US8126715B2 (en) * | 2008-11-26 | 2012-02-28 | Microsoft Corporation | Facilitating multimodal interaction with grammar-based speech applications |
US9858925B2 (en) * | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
JP5706384B2 (ja) * | 2012-09-24 | 2015-04-22 | 株式会社東芝 | 音声認識装置、音声認識システム、音声認識方法および音声認識プログラム |
US10867597B2 (en) * | 2013-09-02 | 2020-12-15 | Microsoft Technology Licensing, Llc | Assignment of semantic labels to a sequence of words using neural network architectures |
US10726831B2 (en) * | 2014-05-20 | 2020-07-28 | Amazon Technologies, Inc. | Context interpretation in natural language processing using previous dialog acts |
US9378740B1 (en) * | 2014-09-30 | 2016-06-28 | Amazon Technologies, Inc. | Command suggestions during automatic speech recognition |
US9646611B2 (en) * | 2014-11-06 | 2017-05-09 | Microsoft Technology Licensing, Llc | Context-based actions |
US10706852B2 (en) * | 2015-11-13 | 2020-07-07 | Microsoft Technology Licensing, Llc | Confidence features for automated speech recognition arbitration |
DK179309B1 (en) * | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) * | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10971157B2 (en) * | 2017-01-11 | 2021-04-06 | Nuance Communications, Inc. | Methods and apparatus for hybrid speech recognition processing |
US10467509B2 (en) * | 2017-02-14 | 2019-11-05 | Microsoft Technology Licensing, Llc | Computationally-efficient human-identifying smart assistant computer |
US10635462B2 (en) * | 2018-05-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Skill discovery for computerized personal assistant |
US11887585B2 (en) * | 2019-05-31 | 2024-01-30 | Apple Inc. | Global re-ranker |
-
2019
- 2019-04-11 US US17/250,199 patent/US20210264904A1/en not_active Abandoned
- 2019-04-11 WO PCT/JP2019/015873 patent/WO2019244455A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008076811A (ja) * | 2006-09-22 | 2008-04-03 | Honda Motor Co Ltd | 音声認識装置、音声認識方法及び音声認識プログラム |
JP2016061954A (ja) * | 2014-09-18 | 2016-04-25 | 株式会社東芝 | 対話装置、方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210264904A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11600291B1 (en) | Device selection from audio data | |
JP6813615B2 (ja) | 会話型相互作用システムの検索入力におけるユーザ意図を推定する方法およびそのためのシステム | |
US11100384B2 (en) | Intelligent device user interactions | |
US10957311B2 (en) | Parsers for deriving user intents | |
US20210142794A1 (en) | Speech processing dialog management | |
JP7418526B2 (ja) | 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード | |
CN107112014B (zh) | 在基于语音的系统中的应用焦点 | |
US7006973B1 (en) | Providing information in response to spoken requests | |
US11355098B1 (en) | Centralized feedback service for performance of virtual assistant | |
US11687526B1 (en) | Identifying user content | |
US7620549B2 (en) | System and method of supporting adaptive misrecognition in conversational speech | |
US8374875B2 (en) | Providing programming information in response to spoken requests | |
KR102498811B1 (ko) | 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드 | |
CN111033492A (zh) | 为自动化助手提供命令束建议 | |
JPWO2019087811A1 (ja) | 情報処理装置、及び情報処理方法 | |
CN101535983A (zh) | 协作会话语音用户界面的系统和方法 | |
JP6120927B2 (ja) | 対話システム、対話を制御する方法、およびコンピュータを対話システムとして機能させるためのプログラム | |
JP7276129B2 (ja) | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム | |
JP7230804B2 (ja) | 情報処理装置、及び情報処理方法 | |
WO2019031268A1 (ja) | 情報処理装置、及び情報処理方法 | |
CN112867985A (zh) | 确定在中断第二会话的中止后是否自动恢复第一自动助理会话 | |
EP3776173A1 (en) | Intelligent device user interactions | |
WO2019244455A1 (ja) | 情報処理装置及び情報処理方法 | |
WO2020202862A1 (ja) | 応答生成装置及び応答生成方法 | |
US20220161131A1 (en) | Systems and devices for controlling network applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19823423 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19823423 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |