JPWO2020026799A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JPWO2020026799A1
JPWO2020026799A1 JP2020533404A JP2020533404A JPWO2020026799A1 JP WO2020026799 A1 JPWO2020026799 A1 JP WO2020026799A1 JP 2020533404 A JP2020533404 A JP 2020533404A JP 2020533404 A JP2020533404 A JP 2020533404A JP WO2020026799 A1 JPWO2020026799 A1 JP WO2020026799A1
Authority
JP
Japan
Prior art keywords
user
context
function
information processing
macro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020533404A
Other languages
English (en)
Other versions
JP7290154B2 (ja
Inventor
広 岩瀬
広 岩瀬
祐平 滝
祐平 滝
邦仁 澤井
邦仁 澤井
昌毅 高瀬
昌毅 高瀬
朗 宮下
朗 宮下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020026799A1 publication Critical patent/JPWO2020026799A1/ja
Application granted granted Critical
Publication of JP7290154B2 publication Critical patent/JP7290154B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本技術は、過去の記憶から連想される指示語を用いて機能の実行を指示することができるようにする情報処理装置、情報処理方法、およびプログラムに関する。本技術の一側面の情報処理装置は、ユーザによる操作に応じて実行した機能と、操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、ユーザにより入力された指示語が指し示すコンテキストと対応付けて記録された機能を検索し、検索した機能を実行し、ユーザに対する応答を出力させる。本技術は、音声によって操作可能なエージェント機器に適用することができる。

Description

本技術は、情報処理装置、情報処理方法、およびプログラムに関し、特に、過去の記憶から連想される指示語を用いて機能の実行を指示することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
音声による操作が可能なエージェント機能を搭載した機器が普及してきている。ユーザは、音楽の再生、メッセージの送信などの各種の機能を実行させることができる。
例えば、ユーザは、アーティスト名を指定して「〇〇の曲をかけて」と発話することによって、音楽の再生機能を実行させることができる。
国際公開WO2016/151699号公報 特表2017−516153号公報
メッセージの作成機能と送信機能などを含む複数の機能をマクロ化して実行することを、「〇〇にいつものメッセージを送って」などの、指示語を用いた発話によって一括して操作することができれば便利である。ユーザは、実行させるマクロを登録済みの特定の名前で指定しないで済むため、それぞれのマクロの名前を覚えておく必要がない。このことは、機器を使い込み、登録済みのマクロの数が増えるほど有用となる。ここで、「〇〇にいつものメッセージを送って」の発話における指示語は「いつも」である。
本技術はこのような状況に鑑みてなされたものであり、過去の記憶から連想される指示語を用いて機能の実行を指示することができるようにするものである。
本技術の一側面の情報処理装置は、ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索する検索部と、検索された前記機能を実行し、前記ユーザに対する応答を出力させる応答制御部とを備える。
本技術の一側面においては、ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能が検索され、検索された前記機能が実行され、前記ユーザに対する応答が出力される。
本技術によれば、ユーザは、過去の記憶から連想される指示語を用いて機能の実行を指示することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係る情報処理システムの構成例を示す図である。 ユーザ操作ログの記録の例を示す図である。 マクロの実行の例を示す図である。 情報処理システムの他の構成例を示す図である。 情報処理端末のハードウェア構成例を示すブロック図である。 情報処理サーバのハードウェア構成例を示すブロック図である。 情報処理システムの機能構成例を示すブロック図である。 NLU処理の例を示す図である。 図7の操作記録検索処理部の構成例を示すブロック図である。 ユーザ操作ログの構造の例を示す図である。 観測コンテキストの例を示す図である。 生成コンテキストの例を示す図である。 エージェントの例を示す図である。 マクロ抽出テンプレートの第1の例を示す図である。 マクロ抽出テンプレートの第2の例を示す図である。 マクロ抽出テンプレートの第3の例を示す図である。 機能シーケンスの検索例を示す図である。 各発話が行われた場合の情報処理システムの動作を示す図である。 各発話が行われた場合の情報処理システムの動作を示す他の図である。 情報処理サーバの応答処理について説明するフローチャートである。 図20のステップS4において行われる操作記録/検索処理について説明するフローチャートである。 図20のステップS4において行われる操作記録/検索処理について説明する、図21に続くフローチャートである。 マクロの提示画面の例を示す図である。
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.エピソード記憶に基づく音声操作
2.情報処理システムの構成
3.情報処理システムの動作
4.変形例
<<エピソード記憶に基づく音声操作>>
図1は、本技術の一実施形態に係る情報処理システムの構成例を示す図である。
図1の情報処理システムは、情報処理端末1と情報処理サーバ2が、インターネットなどのネットワーク11を介して接続されることによって構成される。情報処理端末1と情報処理サーバ2が協働して処理を行うことにより、いわゆるエージェント機能が実現される。ユーザは、音楽の再生、メッセージの送信などの各種の機能を音声によって実行させることができる。
情報処理端末1は、マイク、カメラ、スピーカなどの入出力デバイスを有する。情報処理端末1は、ユーザの音声をマイクにより検出し、音声データを情報処理サーバ2に送信する。
情報処理サーバ2は、発話の内容を解析することによってユーザの意図を推定し、ユーザの意図に応じた機能を実行する。情報処理サーバ2は、機能の実行結果を情報処理端末1に送信し、ユーザに対する応答として出力させる。
このように、図1の情報処理システムにおいては、基本的に、UI(User Interface)の機能を情報処理端末1が担い、ユーザの意図に応じた機能の実行を情報処理サーバ2が担うことによって、エージェント機能が実現される。
情報処理システムにおいては、ユーザは、過去に実行させた機能と同じ複数の機能からなる機能シーケンスをマクロとして一括して実行させることができるようになされている。また、ユーザは、そのようなマクロの実行を、自分が体験した過去の出来事を指し示すような指示語を用いた発話によって指定することができるようになされている。
情報処理システムにおいては、ユーザの操作の履歴がユーザ操作ログとして管理されている。マクロの生成は、ユーザ操作ログに記録されている情報に基づいて行われる。
図2は、ユーザ操作ログの記録の例を示す図である。
図2の左側の吹き出しに示すように、ユーザが、所定の発話を行うことによって、機能A、機能B、機能Cを実行させるための操作を順に行ったものとする。ユーザの発話に応じて情報処理サーバ2において所定の処理が行われ、情報処理端末1からは、機能Aの実行結果、機能Bの実行結果、機能Cの実行結果がそれぞれ出力される。
ここで、ユーザは、機能A、機能B、機能Cを実行させるための操作を行ったという出来事を、いつ、どこで、どんな状況で経験したのかなどを表す付随情報とともに、エピソード記憶として覚える。エピソード記憶は、出来事の内容を、出来事を経験したときの付随情報とともに記憶する記憶の仕組みである。付随情報としての状況には、ユーザが行っていたタスク(主タスク)、周辺環境の雰囲気、ユーザやユーザの周辺にいる人の行動、感情などが含まれる。
吹き出し#1に示す時間文脈は、機能A、機能B、機能Cを実行させるための操作を行ったときの時期的な記憶を表す。主タスクは、機能A、機能B、機能Cを実行させるための操作時に行っていたタスクの内容に関する記憶を表す。付随エピソードは、機能A、機能B、機能Cを実行させるための操作を行ったときの他の付随情報を表す。
情報処理システムにおいては、上述したようにユーザの操作の履歴であるユーザ操作ログが管理される。機能A、機能B、機能Cを実行させるための操作をユーザが行ったときに生成されるユーザ操作ログには、矢印A1の先に示すように、機能A、機能B、機能Cを表す情報と、実行属性を表す情報が記録される。実行属性は、機能の実行に用いられた値などの属性である。
また、ユーザ操作ログには、機能A、機能B、機能Cを実行させるための操作を行ったという出来事とともにエピソード記憶の付随情報としてユーザが記憶していると推測されるコンテキストを表す情報が記録される。
コンテキストには、操作を行った日時、操作を行った場所などの、操作を行った時の状況が含まれる。コンテキストとしての状況にも、ユーザが行っていたタスク、周辺環境の雰囲気、ユーザやユーザの周辺にいる人の行動、感情などが含まれる。日時、場所、ユーザが行っていたタスク、周辺環境の雰囲気、ユーザやユーザの周辺にいる人の行動、感情のうちの少なくともいずれかがコンテキストとして記録される。
例えば、情報処理端末1のカメラにより撮影された画像、情報処理端末1のセンサにより検出されたセンサデータを解析することによってコンテキストが観測され、ユーザ操作ログに記録される。
後に詳述するように、観測されたコンテキストではなく、情報処理システム側で生成されたコンテキストも、適宜、ユーザ操作ログに記録される。エピソード記憶の付随情報としてユーザが記憶することが推測されるイベントなどが情報処理システム側で生成され、ユーザに提示されるとともに、イベントの内容に関する情報がコンテキストとしてユーザ操作ログに記録される。
このように、情報処理システムにおいては、複数の機能からなる機能シーケンスと、それらの機能を実行させるための操作を行った時のコンテキストが対応付けて管理される。コンテキストと対応付けられた機能シーケンスが、1つのマクロとして実行される。
なお、図2においては、情報処理端末1の操作が音声により行われるものとしたが、コントローラを用いた操作、タッチ操作などの他の操作によって行われるようにしてもよい。
図3は、マクロの実行の例を示す図である。
ユーザ操作ログが生成されてから所定の時間が経過した後、ユーザが、過去に実行させた機能A、機能B、機能Cを再度実行させたいと考えているものとする。
ユーザは、図3の左側の吹き出しに示すように、機能A、機能B、機能Cの実行を、指示語Entityを含む形で依頼する内容の発話を行う。発話の目的は、機能A、機能B、機能Cの実行ということになる。指示語Entityは、過去に実行させたどの機能であるかを、エピソード記憶の付随情報に基づいて指し示す語句である。
情報処理システムにおいては、ユーザ操作ログの中から、ユーザの発話の目的に一致する内容の機能シーケンスが検索される。ここでは、機能A、機能B、機能Cからなる機能シーケンスが検索される。
また、検索結果の機能シーケンスのうち、矢印A11に示すように、指示語Entityが指し示すコンテキストと対応付けて記録されている機能シーケンスが選択され、選択された機能シーケンスを構成する機能A、機能B、機能Cが、マクロとして一括して実行される。
例えば、機能A、機能B、機能Cを実行させるための操作を自宅のリビングで行っていた場合、機能A、機能B、機能Cの機能シーケンスと実行属性がユーザ操作ログに記録される。機能シーケンスには、操作を行った場所がリビングであることを表す情報がコンテキストとして対応付けて記録される。
一方、ユーザは、機能A、機能B、機能Cを実行させるための操作を、リビングで行った、ということを覚えていることになる。例えば、機能A、機能B、機能Cが、メッセージの作成機能、メッセージの送信機能を含む、メッセージの送信に関する一連の機能であるものとする。
この状態において、ユーザが、自身のエピソード記憶に基づいて、「前にリビングで送ったメッセージ」と発話した場合、機能A、機能B、機能Cからなる機能シーケンスのうち、操作を行った場所がリビングであることを表す情報がコンテキストとして対応付けられている機能シーケンスが検索される。また、検索された機能シーケンスの実行属性を用いて、機能A、機能B、機能Cが一括して実行される。エピソード記憶に基づく指示語Entityはリビングとなる。
このように、図1の情報処理システムは、出来事の付随情報をエピソード記憶として覚え、思い出すという人間の記憶の特性を活用し、過去に行った操作と同じ操作を、自然な発話によって一括して実行することが可能なシステムである。
ユーザは、実行属性として管理される内容などの、過去に行った操作の内容の詳細を覚えていない場合でも、付随情報として覚えている、状況などを指し示す発話を行うことで、過去の操作と同じ操作を容易に行うことが可能となる。
以上のような音声を用いた操作は、例えば、ゲームなどの行動を主タスクとしてユーザが行っている最中に行われる。情報処理システムにおいて管理されるユーザ操作ログには、主タスクであるゲームの状況を表す情報がコンテキストとして含まれる。情報処理サーバ2は、ユーザが行っているゲームの状況などを確認することができる。
図4は、情報処理システムの他の構成例を示す図である。
図4の例においては、情報処理端末1が置かれているユーザの自宅のリビングなどに据え置き型のゲーム機であるゲーム機3が設置されている。ユーザは、ゲーム機3を用いてゲームを行いながら情報処理端末1に向かって発話することにより、BGMを聴くなどのエージェント機能を利用することができる。
ゲーム機3は、情報処理端末1と同様に、自宅に設けられたルータなどを介してネットワーク11に接続される。ゲーム機3は、ネットワーク11を介してタスク管理サーバ4と通信を行い、ゲームのプログラムをタスク管理サーバ4からダウンロードしたり、ユーザによるゲームの操作に関する情報をタスク管理サーバ4に送信したりする。
タスク管理サーバ4は、ゲーム機3のユーザが行うゲームに関する情報を管理する。タスク管理サーバ4が管理する情報は、適宜、矢印A21に示すように、ユーザの主タスクに関する情報として情報処理サーバ2に提供される。
情報処理サーバ2においては、タスク管理サーバ4から送信されてきた情報に基づいて、ユーザの主タスクの状況などが確認される。情報処理サーバ2は、ユーザがゲームを行っている場合、特定のキャラクタを出現させたり、特定のアイテムを取得させたりするなどの所定のイベントをゲームにおいて発生させることをタスク管理サーバ4に対して依頼するなどの処理を行う。
タスク管理サーバ4においては、適宜、仮想空間(VR空間/AR空間)を利用したコミュニケーションサービスなども管理される。ユーザは、ゲーム機3を操作したり、図示せぬスマートフォンを操作したりして、タスク管理サーバ4が管理する仮想空間にアクセスし、仮想空間上で、他のユーザとコミュニケーションをとることができる。
この場合、タスク管理サーバ4から情報処理サーバ2に対しては、仮想空間上でのユーザの行動に関する情報、仮想空間上のユーザの場所の情報、仮想空間の情景に関するなどが、ユーザの主タスクに関する情報として提供される。
以上のようにしてユーザ操作ログを管理し、ユーザの発話に応じて機能を実行するタスク管理サーバ4の処理の詳細については後述する。ユーザの主タスクを管理するタスク管理サーバ4の機能が、情報処理サーバ2に設けられるようにしてもよい。
<<情報処理システムの構成>>
<情報処理端末の構成例>
図5は、情報処理端末1のハードウェア構成例を示すブロック図である。
CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103は、バス104により相互に接続される。
バス104には、マイク105、カメラ106、センサ107、スピーカ108、ディスプレイ109、記憶部110、および通信部111が接続される。
マイク105は、ユーザの音声や環境音などの各種の音を検出する。
カメラ106は、ユーザを含む、情報処理端末1の周囲を撮影する。
センサ107は、周囲の明るさを検出する照度センサ、周囲にある物体までの距離を測定する測距センサ、GPS(Global Positioning System)を用いた測位センサなどの各種のセンサにより構成される。
スピーカ108は、例えば情報処理サーバ2による制御に従って合成音声を出力することにより、ユーザの操作に対する応答を行い、各種の情報を提示する。スピーカ108からは、例えば情報処理サーバ2により再生された音楽なども出力される。
ディスプレイ109は、LCD、有機ELディスプレイなどのディスプレイにより構成される。ディスプレイ109には、例えば情報処理サーバ2による制御に従って各種の情報が提示される。
このように、ユーザに対する情報の提示が画面表示により行われるようにしてもよい。ユーザに対する情報の提示が情報処理端末1に設けられたディスプレイ109を用いて行われるのではなく、無線通信を介して接続された外部のディスプレイを用いて行われるようにしてもよい。
記憶部110は、不揮発性のメモリなどにより構成される。記憶部110は、CPU101が実行するプログラムなどの各種のデータを記憶する。
通信部111は、無線や有線による通信を介して、情報処理サーバ2、ゲーム機3などの外部の装置との間で各種の情報の送受信を行う。通信部111は、マイク105により検出された音声のデータ、カメラ106により撮影された画像データ、および、センサ107により検出されたセンサデータを情報処理サーバ2に送信する。
また、通信部111は、情報処理サーバ2から送信されてきた音声データを受信してスピーカ108に出力し、合成音声を出力させる。通信部111は、情報処理サーバ2から送信されてきた情報を受信してディスプレイ109に出力し、画像やテキストなどの各種の情報を表示させる。
<情報処理サーバの構成例>
図6は、情報処理サーバ2のハードウェア構成例を示すブロック図である。
CPU201、ROM202、RAM203は、バス204により相互に接続される。
バス204には、さらに、入出力インタフェース205が接続される。入出力インタフェース205には、キーボード、マウスなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続される。
また、入出力インタフェース205には、ハードディスクや不揮発性のメモリなどよりなる記憶部208、ネットワークインタフェースなどよりなる通信部209、リムーバブルメディア211を駆動するドライブ210が接続される。
情報処理サーバ2は、このような構成を有するコンピュータにより構成される。1台のコンピュータではなく、複数台のコンピュータにより情報処理サーバ2が構成されるようにしてもよい。
<情報処理システムの機能構成例>
図7は、以上のような構成を有する情報処理端末1と情報処理サーバ2からなる情報処理システムの機能構成例を示すブロック図である。
図7の右側に示すように、情報処理サーバ2においては、音声認識処理部251、発話意図理解処理部252、指示語EntityDB253、画像認識処理部254、センサデータ認識処理部255が実現される。
また、情報処理サーバ2においては、操作記録検索処理部256、マクロ抽出テンプレートDB257、ユーザ操作ログDB258、応答生成部259、音声合成処理部260、および表示画像処理部261が構成される。各機能部のうちの少なくとも一部は、図6のCPU201により所定のプログラムが実行されることによって実現される。
音声入力デバイスとしてのマイク105により検出され、情報処理端末1から送信された音声データは、通信部209において受信され、音声認識処理部251に入力される。画像入力デバイスとしてのカメラ106により撮影され、情報処理端末1から送信された画像データは、通信部209において受信され、画像認識処理部254に入力される。センサデバイスとしてのセンサ107により検出され、情報処理端末1から送信されたセンサデータは、通信部209において受信され、センサデータ認識処理部255に入力される。
音声認識処理部251は、ユーザの発話に対して音声認識(ASR(Automatic Speech Recognition))処理を施し、テキストデータに変換する。音声認識処理部251は、ユーザの発話の内容を表すテキストデータである発話テキストを発話意図理解処理部252に出力する。
発話意図理解処理部252は、発話テキストに対して発話意図理解(NLU(Natural Language Understanding))処理を施すことによって、発話の意図を表すIntentを推定するとともに、発話に含まれる意味のある要素としてのEntityを抽出する。
ユーザの発話のIntentは、例えば、所定の機能の実行を意図するものとなる。また、ユーザの発話に含まれるEntityは、機能の実行に用いられる属性情報となる。発話意図理解処理部252が抽出するEntityには、Entityの種類を表すEntityタイプと、Entityを構成する文字列や数値であるEntityリテラルが含まれる。
図8は、NLU処理の例を示す図である。
図8の上方に示すように、「佐藤さんと鈴木さんに今から遊ぼうよってメッセージする」の発話をユーザが行ったものとする。
この場合、下向き矢印の先に示すように、Intentとして“CreateMessage“が推定される。“CreateMessage“は、メッセージの作成機能の実行を表す。
また、Entityとして、Entity#1乃至#3の3つのEntityが推定される。
Entity#1は、Entityタイプを“TO”、Entityリテラルを“佐藤さん”とするEntityである。Entity#2は、Entityタイプを“TO”、Entityリテラルを“鈴木さん”とするEntityである。Entityタイプが“TO”であることは、メッセージの送信先を表すEntityであることを表す。
Entity#3は、Entityタイプを“BODY”、Entityリテラルを“今から遊ぼうよ”とするEntityである。Entityタイプが“BODY”であることは、メッセージの本文を表すEntityであることを表す。
このように、ユーザの操作は、IntentとEntityの組として表される。図7の発話意図理解処理部252は、NLU処理によって得られたIntentとEntityを操作記録検索処理部256に出力する。
なお、ここでは、ユーザが音声によって操作を行う場合の処理について説明しているが、上述したように、ユーザの操作は、コントローラを用いた操作、タッチ操作などの他の操作によっても行われる。
音声以外によって操作が行われた場合、ユーザの操作の内容を表す情報が、NLU処理の結果として得られるIntent/Entityと同じフォーマットのデータに変換される。操作記録検索処理部256に対しては、音声以外による操作に応じたIntent/Entityが供給される。
また、発話意図理解処理部252は、発話テキストに指示語Entityが含まれている場合、発話テキストに含まれる指示語Entityを抽出する。発話意図理解処理部252による指示語Entityの抽出は、指示語EntityDB253に記憶されている情報を参照して行われる。
一般的に、NLU処理は、各Entityタイプのフレーズと、Intent毎の、Entityを含む複数の文例を予め登録しておき、登録しておいた情報に基づいて、Intentを推定するとともに、発話テキストに含まれるEntityを抽出するようにして行われる。
例えば「〇〇(曲名)をかけて」の発話テキストのNLU処理は、登録しておいた文例に基づいて“PlayMisic”のIntentを推定し、登録しておいた曲名に基づいて、Entityタイプが“曲名”のEntityを抽出するようにして行われる。
後述するような機能シーケンスの検索に用いられる指示語Entityの抽出も、この仕組みと同様の仕組みに従って行われる。すなわち、指示語Entityと、Intent毎の、指示語Entityを含む複数の文例を登録しておき、登録しておいた情報に基づいて、Intentの推定と、発話テキストに含まれる指示語Entityの抽出が行われる。
例えば「昨日の音楽かけて」のNLU処理は、登録しておいた文例に基づいて“PlayMisic”のIntentを推定し、登録しておいた指示語Entityに基づいて、“昨日”の指示語Entityを抽出するようにして行われる。このようにして推定されたIntentと、発話テキストから抽出された指示語Entityも操作記録検索処理部256に供給される。
画像認識処理部254は、カメラ106により撮影された画像を解析し、発話時のユーザの状況や、雰囲気などの周囲の環境の状況を認識する。画像認識処理部254による認識結果は、観測コンテキストとして操作記録検索処理部256に出力される。
センサデータ認識処理部255は、センサ107により検出されたセンサデータを解析し、発話時のユーザの状況や、雰囲気などの周囲の環境の状況を認識する。センサデータ認識処理部255による認識結果は、観測コンテキストとして操作記録検索処理部256に出力される。
発話時のユーザの状況などが、マイク105により検出された音声や環境音に基づいて認識されるようにしてもよい。
操作記録検索処理部256は、発話意図理解処理部252から供給されたIntent/Entityと、画像認識処理部254、センサデータ認識処理部255から供給された観測コンテキストに基づいて、ユーザの操作の履歴を管理する。
詳細については後述するが、操作記録検索処理部256は、発話意図理解処理部252から供給されたIntent/Entityをクラスタリングすることにより、複数の機能からなる機能シーケンスを生成する。操作記録検索処理部256は、機能シーケンスと、複数の機能の実行するための操作が行われた時のコンテキストとを対応付けて、ユーザ操作ログDB258に記憶されているユーザ操作ログに記録する(書き込む)。
また、操作記録検索処理部256は、ユーザの発話に含まれる指示語Entityに基づいて、ユーザが意図している機能シーケンスを、ユーザ操作ログに記録されている機能シーケンスの中から検索する。機能シーケンスの検索には、マクロ抽出テンプレートDB257に記憶されているマクロ抽出テンプレートも用いられる。操作記録検索処理部256は、検索された機能シーケンスを構成する複数の機能をマクロとして抽出し、応答生成部259に実行させる。
応答生成部259は、操作記録検索処理部256による制御に従って、機能シーケンスを構成する複数の機能をマクロとして一括して実行する。
応答生成部259は、マクロの実行結果を音声によってユーザに提示する場合、マクロの実行結果を音声合成処理部260に出力する。また、応答生成部259は、マクロの実行結果を画面表示によってユーザに提示する場合、マクロの実行結果を表示画像処理部261に出力する。
応答生成部259は、音声や画面表示を用いた情報の提示以外にも、ユーザの操作に対する応答として、メッセージの送信などの各種の処理を行う。
音声合成処理部260は、ユーザの発話に対する応答となる合成音声を応答生成部259による制御に従って生成し、合成音声のデータを情報処理端末1に送信する。情報処理端末1においては、情報処理サーバ2から送信されてきた合成音声のデータが受信され、音声出力デバイスとしてのスピーカ108から合成音声が出力される。
表示画像処理部261は、ユーザの発話に対する応答となる画像を応答生成部259から供給された情報に基づいて生成し、画像データを情報処理端末1に送信する。情報処理端末1においては、情報処理サーバ2から送信されてきた画像データが受信され、画像出力デバイスとしてのディスプレイ109に画像が表示される。
<操作記録検索処理部の詳細構成>
図9は、操作記録検索処理部256の構成例を示すブロック図である。
図9に示すように、操作記録検索処理部256は、ユーザ操作ログ記録制御部271、コンテキスト生成部272、マクロ抽出部273、および応答制御部274から構成される。発話意図理解処理部252から出力されたIntent/Entityは、ユーザ操作ログ記録制御部271、マクロ抽出部273、応答制御部274に入力される。また、画像認識処理部254、センサデータ認識処理部255から出力された観測コンテキストはユーザ操作ログ記録制御部271に入力される。
・ユーザ操作ログの記録
ユーザ操作ログ記録制御部271は、発話意図理解処理部252から供給されたIntent/Entityにより表される機能をクラスタリングすることにより、複数の機能からなる機能シーケンスを含むクラスタを生成する。
機能シーケンスは、ひとまとまりの複数の操作がユーザにより行われることに応じて生成される。機能シーケンスは、複数の操作を組み合わせた複合操作の情報となる。クラスタリングは、例えば以下のようにして行われる。
(1)発話間の時間に基づくクラスタリング
直前の発話から例えば5秒といったような所定の時間内に行われた発話による操作は、直前の発話による操作と同一クラスタを構成する操作として記録される。同一クラスタの時間内で観測コンテキストが変化した場合、変化後の観測コンテキストが、そのクラスタのコンテキストとして記録される。
(2)コンテキストの同一性に基づくクラスタリング
直前の発話から例えば3分といったような所定の時間内に行われた発話による操作が、直前の発話による操作と同じコンテキストの元で行われた場合、それらの操作は同一クラスタを構成する操作として記録される。
(3)言語的な意味概念の近さに基づくクラスタリング
直前の発話から例えば3分といったような所定の時間内に行われた発話による操作が、直前の発話による操作と意味的に似た操作である場合、それらの操作は同一クラスタを構成する操作として記録される。
(4)UnDo操作の記録
特定の操作の取り消しが指示された場合、取り消しが指示された特定の操作が、クラスタを構成する操作として含まれないようにしてもよい。
例えば、Intent=“PlayMusic”、Entity=“A[TARGET_MUSIC]”とする操作(Aの音楽再生の操作)が行われてから5秒以内に、Intent=“StopMusic”の操作(音楽再生停止の操作)が行われた場合、これらの操作に関する情報がクラスタから消去される。直後に再生を停止したということは、ユーザが聞きたい曲ではなかったと考えられる。これにより、ユーザが意図していなかった機能がマクロに含めて実行されてしまうことを防ぐことが可能となる。
ユーザ操作ログ記録制御部271は、クラスタリングによって生成した機能シーケンスの情報と、機能シーケンスを構成する複数の機能を実行するための操作が行われた時のコンテキストの情報とをユーザ操作ログに記録させる。
図10は、ユーザ操作ログの構造の例を示す図である。
図10の左側に示すように、ユーザ操作ログは、例えばJSON(Java Script(登録商標) Object Notation)形式の情報として生成される。図10に示すユーザ操作ログの各記述の先頭の数字とコロン(:)は、説明の便宜上付してあるものであり、ユーザ操作ログを構成する記述ではない。
1行目乃至38行目の記述全体が、1つのユーザ操作ログの記述となる。2行目に示すように、ユーザ操作ログには、クラスタリングにより生成された各クラスタの情報が記述される。
4行目乃至29行目のItemsが、クラスタに含まれる機能シーケンスの記述となる。機能シーケンスには、アイテム(シーケンス内アイテム)として、機能シーケンスを構成する各機能に関する情報が含まれる。各機能に関する情報として、発話テキストであるSpeech、Intent、Entityが記述される。
6行目乃至21行目の記述が、機能シーケンスを構成する1つ目の機能に関する記述となる。1つ目の機能は、図8を参照して説明した機能と同じ操作である。
すなわち、6行目に示すように、Speechとして“佐藤さんと鈴木さんに今から遊ぼうよってメッセージする”が記述される。また、7行目に示すように、Intentとして“CreateMessage”が記述される。
10行目、11行目に示すように、1つ目のEntityとして、Entityタイプ“TO”、Entityリテラル“佐藤さん”が記述される。14行目、15行目に示すように、2つ目のEntityとして、Entityタイプ“TO”、Entityリテラル“鈴木さん”が記述される。18行目、19行目に示すように、3つ目のEntityとして、Entityタイプ“BODY”、Entityリテラル“今から遊ぼうよ”が記述される。
24行目乃至26行目の記述が、機能シーケンスを構成する2つ目の機能に関する記述となる。
24行目に示すように、Speechとして“メッセージ送って”が記述される。また、25行目に示すように、Intentとして“MessageSend”が記述される。“MessageSend”は、メッセージの送信機能の実行を表す。なお、“MessageSend”の操作にはEntityが含まれない。
機能シーケンスを構成するそれぞれの機能に関する情報が、このようにして順に記述される。
30行目乃至34行目のContextが、機能を実行するための操作が行われた時のコンテキストの記述となる。
31行目のDateTimeは、操作の日時を表す。図10の例においては、DateTimeは“2018-06-07T11:14:28.867+09:00”とされている。
32行目のGameTitleは、ユーザが主タスクとして行っているゲームのタイトルを表す。図10の例においては、GameTitleは“HappyLand”とされている。
33行目のGameSceneは、ユーザが主タスクとして行っているゲームのシーンを表す。図10の例においては、GameSceneは“Stage3”とされている。
上述したように、ユーザは、主タスクとしてゲームを行いながら、エージェント機能を操作することができる。GameTitleとGameSceneは、例えばタスク管理サーバ4から取得された情報に基づいて記述される。
タスク管理サーバ4から取得された主タスクに関する情報なども、適宜、観測コンテキストとしてユーザ操作ログ記録制御部271に供給され、ユーザ操作ログに記述される。
図11は、観測コンテキストの例を示す図である。
図11の左列に示すように、観測コンテキストの種別には、日時、場所(Real)、場所(Virtual)、ゲーム、感情、雰囲気、行動が含まれる。
日時の観測コンテキストは、操作の日時を表す。
日時の観測コンテキストは、例えば、情報処理サーバ2が管理するカレンダーと時計から取得された情報に基づいて記述される。図10のDateTimeが、日時の観測コンテキストとなる。
場所(Real)の観測コンテキストは、操作時のユーザの現実の位置を表す。
場所(Real)の観測コンテキストは、GPSセンサにより測位されたユーザの屋外の位置情報とマップに基づいて記述される。GPSセンサは、情報処理端末1、または、ユーザが携帯するスマートフォンなどの端末に搭載される。また、場所(Real)の観測コンテキストは、IoTセンサにより検出されたユーザの屋内の位置に基づいて記述される。
場所(Virtual)の観測コンテキストは、操作時のユーザの仮想空間上の位置を表す。例えば、仮想空間上において他のユーザとコミュニケーションをとるといった主タスクをユーザが行っている場合に、場所(Virtual)の観測コンテキストが記述される。
場所(Virtual)の観測コンテキストは、例えば、タスク管理サーバ4から取得された、仮想空間上のユーザの位置に基づいて記述される。仮想空間上の位置を表す情報が、仮想空間を管理するシステムとしてのタスク管理サーバ4から送信されてくる。
ゲームの観測コンテキストは、操作時のユーザのゲームの状態を表す。例えば、ユーザが主タスクとしてゲームを行っている場合にゲームの観測コンテキスが記述される。
ゲームの観測コンテキストは、ゲーム機3から取得された情報に基づいて、または、タスク管理サーバ4などの、ユーザが行っているゲームを管理するシステムから取得された情報に基づいて記述される。図10のGameTitle、GameSceneが、ゲームの観測コンテキストとなる。
感情の観測コンテキストは、操作時のユーザの感情を表す。
感情の観測コンテキストは、カメラ106により撮影された画像に基づくユーザの表情の解析結果、または、マイク105により検出された音声に基づくユーザの声質の解析結果に基づいて記述される。感情の観測コンテキストとして、例えば、“嬉しい”、“悲しい”、“楽しい”、“怒っている”、“驚いている”を表す情報が記述される。
雰囲気の観測コンテキストは、操作時のユーザの雰囲気、または、周囲の環境の雰囲気を表す。
雰囲気の観測コンテキストは、カメラ106により撮影された画像やマイク105により検出された音声に基づく雰囲気の認識結果に基づいて記述される。雰囲気の観測コンテキストとして、例えば、“盛り上がっている”、“静か”、“みんなが笑っている”を表す情報が記述される。
行動の観測コンテキストは、操作時のユーザの行動、または、周囲にいる人の行動を表す。
行動の観測コンテキストは、例えば、センサ107や、情報処理端末1と連携が可能な外部機器のIoTセンサにより検出された各種のセンサデータに基づく行動の認識結果に基づいて記述される。行動の観測コンテキストとして、例えば、“料理中”、“食事中”、“テレビを見ている”、“○○さんと一緒にいる”を表す情報が記述される。
このように、ユーザ操作ログには、エピソード記憶の付随情報としてユーザが記憶していると考えられる、操作時の観測コンテキストが記録される。
なお、感情、雰囲気、行動等の観測コンテキストは、人の記憶に残る、抽象度の高いメタ情報といえる。このような観測コンテキストについては、図10を参照して説明したように機能シーケンスと対応付けてユーザ操作ログに記録されるようにしてもよいし、ユーザ操作ログとは別のデータである状態監視ログに記録されるようにしてもよい。
各タイミングのコンテキストをユーザ操作ログのタイムスタンプに基づいて照合できるように、状態監視ログには、それぞれの操作時の観測コンテキストを表す状態が、観測コンテキストの変化点のタイムスタンプとともに記録される。
また、ユーザ操作ログには、適宜、エピソード記憶の付随情報としてユーザが記憶していると考えられる、操作時の生成コンテキストが記録される。生成コンテキストは、情報処理システム側が生成し、ユーザに体験させる出来事を表す。
図9のコンテキスト生成部272は、所定の機能を実行するための操作が行われたことに応じて、ユーザ操作ログに記録するための生成コンテキストを生成し、ユーザに提示することによって出来事として体験させる。
図12は、生成コンテキストの例を示す図である。
図12の左列に示すように、生成コンテキストの種別には、ゲーム、感情、行動、情景が含まれる。
ゲームの生成コンテキストは、ユーザが主タスクとして行っているゲーム内で体験させた出来事を表す。
ゲームの生成コンテキストは、例えば、ゲーム内で、キャラクタの出現、アイテムの獲得、レベルアップなどのイベントを発生させることによって生成される。コンテキスト生成部272は、ユーザが行っているゲーム中でこのようなイベントを発生させることをタスク管理サーバ4に指示し、ユーザにイベントを体験させる。
ユーザ操作ログには、“キャラクタの出現”、“アイテムの獲得”、“レベルアップ”などのイベントが発生したことを表す情報が、ゲームの生成コンテキストとして記述される。
感情の生成コンテキストは、ユーザがコミュニケーションをとっているエージェントの感情を表す。例えば、図13に示すように、情報処理端末1のディスプレイ109に表示された、擬人化されたエージェントA(キャラクタ)に話しかける形でユーザが操作を行っている場合に、感情の生成コンテキストが生成される。エージェントAの表示は、例えば表示画像処理部261により制御される。
感情の生成コンテキストは、エージェントAの感情を変化させることによって生成される。コンテキスト生成部272は、例えば応答制御部274を制御するなどして、エージェントAの表情を変化させ、エージェントAの感情をユーザに認識させる。
ユーザ操作ログには、“嬉しい”、“悲しい”、“怒っている”、“驚いている”などの、エージェントAの感情を表す情報が、感情の生成コンテキストとして記述される。
行動の生成コンテキストは、ユーザがコミュニケーションをとっているエージェントやロボットの行動を表す。例えば、エージェントAに話しかける形でユーザが操作を行っている場合、行動の生成コンテキストが生成される。情報処理サーバ2から制御可能なロボットに話しかける形でユーザが操作を行っている場合に行動の生成コンテキストが生成されるようにしてもよい。
行動の生成コンテキストは、ユーザがコミュニケーションをとっているエージェントやロボットの行動を変化させることによって生成される。コンテキスト生成部272は、応答制御部274を制御するなどして、エージェントやロボットの行動を制御し、エージェントやロボットの行動をユーザに認識させる。
ユーザ操作ログには、“笑う”、“泣く”、“起きる”などの、エージェントやロボットの行動を表す情報が、行動の生成コンテキストとして記述される。
情景の生成コンテキストは、仮想空間上でユーザに認識させた情景を表す。
情景の生成コンテキストは、例えば、仮想空間上の情景を変化させることによって生成される。コンテキスト生成部272は、仮想空間上の情景を変化させることをタスク管理サーバ4に指示し、情景の変化をユーザに体験させる。
ユーザ操作ログには、“雨が降り出す”、“キャラクタの出現”などの情景の変化を表す情報が、情景の生成コンテキストとして記述される。
このように、情報処理サーバ2においては、エピソード記憶の付随情報としてユーザが記憶すると考えられる出来事を生成してユーザに体験させるとともに、出来事に関する情報を生成コンテキストとしてユーザ操作ログに記録する処理が行われる。
音声による操作時に、ゲームや、仮想空間上での活動などを主タスクとして行っている場合、ユーザの意識が主タスク側に向いているため、そのときの操作を思い出すことが困難となる。ゲームのイベントなどを情報処理システム側から発生させ、ユーザに出来事を体験させることにより、ユーザに、出来事の内容をエピソード記憶の付随情報として覚えさせることが可能となる。
ユーザは、過去の操作と同じ操作を行う場合、主タスクとして行っていたゲームにおいて発生したイベントなどから、過去の操作を連想することが可能となる。
なお、それぞれの機能シーケンスのコンテキスト(対応付けて記録されるコンテキスト)が重複しないようにするために、生成コンテキストの生成が行われるようにしてもよい。
具体的には、ある操作時に観測された観測コンテキストが、同様の操作に関する機能シーケンスの観測コンテキストと重複しない場合、生成コンテキストの生成は行われない。
反対に、ある操作時に観測された観測コンテキストが、同様の操作に関する機能シーケンスの観測コンテキストと重複する場合、生成コンテキストの生成が行われることになる。日時、場所以外の観測コンテキストが観測できなかった場合も同様に、生成コンテキストが生成される。
ある操作時のコンテキストとして生成コンテキストを生成する場合、同様の操作に関する機能シーケンスと対応付けて記録されていない種別、あるいは、重複が少ない種別の生成コンテキストが生成されるようにしてもよい。
このように、ユーザ操作ログのコンテキストが重複しないように、または、コンテキストの重複が少なくなるようにして、生成コンテキストの生成が行われる。それぞれの機能シーケンスのコンテキストが重複しないようにすることにより、機能シーケンスとコンテキストがいわば1対1に対応することになる。ユーザは、機能シーケンスの実行を、指示語Entityを用いて容易に指示することが可能となる。
図9の説明に戻り、コンテキスト生成部272は、応答制御部274を制御するなどして各種の生成コンテキストを生成し、ユーザに出来事を体験させる。また、コンテキスト生成部272は、生成コンテキストの情報をユーザ操作ログ記録制御部271に出力し、ユーザ操作ログに記録させる。
・機能シーケンスの検索と実行
マクロ抽出部273は、ユーザの発話に応じた機能シーケンスを検索する場合、マクロ抽出テンプレートDB257に記憶されているマクロ抽出テンプレートのうち、発話意図理解処理部252により推定されたIntent用のマクロ抽出テンプレートを選択する。
マクロ抽出テンプレートは、マクロとして一括して実行することが有用な複数の機能からなるシーケンスを定義したテンプレートである。マクロ化の対象となる機能毎に、複数のマクロ抽出テンプレートが予め定義され、マクロ抽出テンプレートDB257に用意される。
マクロ抽出テンプレートに定義された機能シーケンスと一致する機能シーケンスが、ユーザ操作ログに記録されている機能シーケンスの中から検索され、マクロとして抽出される。このように、マクロ抽出テンプレートは、機能シーケンスの検索に用いられる情報である。
図14乃至16は、マクロ抽出テンプレートの例を示す図である。
図14に示すように、マクロ抽出テンプレートには、ObjectiveIntentとFramesが記述される。Framesには、機能シーケンスを構成する各機能の情報である、FunctionalIntent、IsFloating、EntityTypesが記述される。
ObjectiveIntentは、マクロ抽出テンプレートの目的Intentを表す。指示語Entityを含むユーザの発話から推定されたIntentと目的Intentが一致するマクロ抽出テンプレートが選択される。
Framesは、マクロ化の対象となる機能シーケンスを表す。
FunctionalIntentは、マクロ化の対象となる機能シーケンスを構成する機能のIntentを表す。
IsFloatingは、各機能が、機能シーケンスを構成する機能として必須であるか否かを表すフラグである。
IsFloatingが“False”として設定された機能は、機能シーケンスを構成する機能として必須の要素である。IsFloatingが“False”として設定された機能と同じ機能が、マクロ抽出テンプレートに記述された順番通りに記録されている機能シーケンスが検索される。
一方、IsFloatingが“True”として設定された機能は、機能シーケンスを構成する機能としてオプションの要素である。IsFloatingが“True”として設定された機能と同じ機能が、IsFloatingが“False”として設定された機能と同じクラスタ内に存在する場合、マクロに組み込まれる。
EntityTypesは、Entityタイプを表す。EntityTypesに定義された全てのEntityタイプのEntityが、Intentに対応するEntityとして記録されている機能シーケンスが検索される。
図14のマクロ抽出テンプレートは、メッセージ送信用のマクロ抽出テンプレートである。
図14の2行目に示すように、メッセージ送信用のマクロ抽出テンプレートのObjectiveIntentは、メッセージの送信機能を表す“MessageSend”となる。指示語Entityを含む発話のIntentが“MessageSend”である場合、メッセージ送信用のマクロ抽出テンプレートが選択される。
メッセージ送信用のマクロ抽出テンプレートのFramesには、5行目乃至7行目に示すように、機能シーケンスを構成する1つ目の機能に関する情報として、FunctionalIntent=“CreateMessage”、IsFloating=“false”、EntityTypes=“[“TO”,“BODY”]”が記述される。また、10行目乃至12行目に示すように、機能シーケンスを構成する2つ目の機能に関する情報として、FunctionalIntent=“MessageSend”、IsFloating=“false”、EntityTypes=“[]”が記述される。
このような記述を含むマクロ抽出テンプレートに基づいて、“TO”と“BODY”のEntityタイプのEntityを含む“CreateMessage”のIntentが記録され、それに続けて、“MessageSend”のIntentが記録されている機能シーケンスが検索される。“CreateMessage”のIntentはメッセージ作成を表し、“MessageSend”のIntentはメッセージ送信指示を表す。
図15のマクロ抽出テンプレートは、音楽再生用のマクロ抽出テンプレートである。
図15の2行目に示すように、音楽再生用のマクロ抽出テンプレートのObjectiveIntentは、音楽の再生機能を表す“PlayMusic”となる。指示語Entityを含む発話のIntentが“PlayMusic”である場合、音楽再生用のマクロ抽出テンプレートが選択される。
音楽再生用のマクロ抽出テンプレートのFramesにも、機能シーケンスを構成する各機能に関する情報が順に記述される。図15の記述を含むマクロ抽出テンプレートに基づいて、“TARGET_MUSIC”のEntityタイプのEntityを含む“PlayMusic”のIntentが記録されている機能シーケンスが検索される。“PlayMusic”のIntentは音楽再生指示を表す。
検索された機能シーケンスに、“VolumeControl”、“MuteGameSound”、“MusicForward”、“MusicBackward”、“MusicCheckCurrent”のIntentが記述されている場合、その機能についてもマクロに組み込まれて実行される。
図16は、パーティー招待用のマクロ抽出テンプレートの例を示す図である。パーティーは、例えば、オンラインゲーム内で一緒にゲームを行うユーザのグループである。
図16の2行目に示すように、パーティー招待用のマクロ抽出テンプレートのObjectiveIntentは、パーティーに招待するための案内の送信機能を表す“InviteParty”となる。指示語Entityを含む発話のIntentが“InviteParty”である場合、パーティー招待用のマクロ抽出テンプレートが選択される。
パーティー招待用のマクロ抽出テンプレートのFramesにも、機能シーケンスを構成する各機能に関する情報が順に記述される。図16の記述を含むマクロ抽出テンプレートに基づいて、“ShowFriends”のIntent、“CreateInvitation”のIntent、“InputInvitationBody”のIntent、“SendInvitation”のIntentが順に記述されている機能シーケンスが検索される。
図17は、マクロ抽出テンプレートを用いた機能シーケンスの検索例を示す図である。
マクロ抽出部273は、矢印A31に示すように、発話のIntentと一致する目的Intentを有するマクロ抽出テンプレートを、マクロ抽出テンプレートDB257に記憶されているマクロ抽出テンプレートの中から選択する。
また、マクロ抽出部273は、矢印A32に示すように、選択したマクロ抽出テンプレートに定義された機能シーケンスと一致する機能シーケンスを、ユーザ操作ログに記録された機能シーケンスの中から検索する。検索された機能シーケンスにはコンテキストが対応付けて記録されている。
マクロ抽出部273は、矢印A33に示すように、発話テキストに含まれる指示語Entityが指し示すコンテキストと対応付けて記録された機能シーケンスを、マクロ抽出テンプレートに基づく検索結果の機能シーケンスの中から検索する。マクロ抽出部273は、検索した機能シーケンスを構成する複数の機能をマクロとして抽出する。このように、マクロ抽出部273は、指示語Entityが指し示すコンテキストと対応付けて記録された機能シーケンスを検索する検索部として機能する。
マクロ抽出部273は、検索結果として見つかったマクロが1つである場合、マクロの実行を応答制御部274に指示する。また、マクロ抽出部273は、検索結果として見つかったマクロが複数である場合、それぞれのマクロの情報をユーザに提示し、選択されたマクロを実行することを応答制御部274に指示する。
応答制御部274は、応答生成部259を制御し、発話意図理解処理部252から供給されたIntent/Entityにより表される機能を実行させる。
また、応答制御部274は、1つのマクロの情報がマクロ抽出部273から供給された場合、応答生成部259を制御し、機能シーケンスを構成する複数の機能をマクロとして一括して実行させる。
応答制御部274は、複数のマクロの情報が検索結果としてマクロ抽出部273から供給された場合、応答生成部259を制御し、マクロをユーザに提示させる。応答制御部274は、提示したものの中からユーザにより選択されたマクロを実行させる。
・機能シーケンスの検索の具体例
機能シーケンスの検索の具体例について説明する。
ここでは、「昨日のメッセージ送って」の発話が6月8日にユーザにより行われたものとする。この場合、発話意図理解処理部252によるNLU処理によって、“MessageSend”のIntentが推定され、“昨日”の指示語Entityが抽出される。
操作記録検索処理部256のマクロ抽出部273においては、マクロ抽出テンプレートDB257に記憶されているマクロ抽出テンプレートの中から、目的Intentが“MessageSend”である、図14のメッセージ送信用のマクロ抽出テンプレートが選択される。
メッセージ送信用のマクロ抽出テンプレートに定義された機能シーケンスと一致する機能シーケンスとして、図10に示す機能シーケンスがユーザ操作ログから検索される。
検索結果の機能シーケンスは、Intent=“CreateMessage”のアイテムと、Intent=“MessageSend”のアイテムからなる機能シーケンスである。
Intent=“CreateMessage”のアイテムには、Entityタイプ=“TO”、Entityリテラル=“佐藤さん”のEntity、Entityタイプ=“TO”、Entityリテラル=“鈴木さん”のEntity、および、Entityタイプ=“BODY”、Entityリテラル=“今から遊ぼうよ”のEntityが含まれる。
図10に示す機能シーケンス以外の機能シーケンスが、メッセージ送信用のマクロ抽出テンプレートに定義された機能シーケンスに基づいて検索されたものとする。
6月8日に行われた発話に含まれる指示語Entityである“昨日”は、前日の6月7日を指し示す。マクロ抽出部273においては、マクロ抽出テンプレートに基づく複数の検索結果の機能シーケンスの中から、6月7日を表すコンテキストが対応付けて記録されている、図10の機能シーケンスが最終的な検索結果として選択される。図10の機能シーケンスには、6月7日を表す、DateTime=“2018-06-07T11:14:28.867+09:00”のコンテキストが対応付けて記録されている。
図10の機能シーケンスに含まれる、Intent=“CreateMessage”のアイテムとIntent=“MessageSend”のアイテムからなる機能シーケンスがマクロとして抽出され、応答制御部274を介して応答生成部259に供給される。
応答生成部259は、応答制御部274による制御に従って、“佐藤さん”と“鈴木さん”を送り先とする“今から遊ぼうよ”のメッセージを生成し、送信することになる。
このように、ユーザは、“昨日”送ったというエピソード記憶の付随情報に基づいて、それを指示語Entityにより指し示すことにより、“今から遊ぼうよ”のメッセージの作成と、その送信を容易に実行させることが可能となる。
図18および図19は、指示語Entityを用いた検索例を示す図である。
図18および図19には、各発話が行われた場合の情報処理システム(情報処理サーバ2)の動作が示されている。左から2列目に示すユーザの発話のうち、下線を付して示す文字列が指示語Entityである。
No.1の発話は、あるタイミングを指し示す指示語Entityを含む発話である。
No.1の発話が行われた場合、日付のコンテキスト(DateTime)を用いて機能シーケンスの検索が行われる。すなわち、マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、最も新しい日付がコンテキストとして記録された機能シーケンスが抽出され、マクロとして即時実行される。マクロの即時実行は、ユーザに選択させることなく、検索結果の機能シーケンスをマクロとして自動的に実行することを意味する。
No.2の発話は、日付/期間を指し示す指示語Entityを含む発話である。
No.2の発話が行われた場合も、日付のコンテキスト(DateTime)を用いて機能シーケンスの検索が行われる。マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityが指し示す日付/期間を表すコンテキストが記録された機能シーケンスが検索される。検索結果の機能シーケンスが1つである場合、検索結果の機能シーケンスがマクロとして即時実行され、複数である場合、各マクロがユーザに提示された後、ユーザにより選択されたマクロが実行される。
No.3の発話は、ゲームシーンを指し示す指示語Entityを含む発話である。
No.3の発話が行われた場合、ゲームシーンコンテキスト(GameScene)を用いて機能シーケンスの検索が行われる。マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityが指し示すゲームシーンを表すコンテキストが記録された機能シーケンスが検索される。検索結果の機能シーケンスが1つである場合、検索結果の機能シーケンスがマクロとして即時実行され、複数である場合、各マクロがユーザに提示された後、ユーザにより選択されたマクロが実行される。
No.3の発話は、例えばユーザが主タスクとしてゲームを行っているときに行われる。ゲームシーンコンテキストを用いて検索が行われる場合の発話には、図18に示す発話以外に、「○○を倒した時のメッセージ」、「○○がゴールした時に聞いてたBGM」、「○○を攻める前のパーティー」、「この敵の時のパーティー」などがある。
No.4の発話は、ゲームシーンを指し示す代名詞を指示語Entityとして含む発話である。
No.4の発話が行われた場合、ゲームシーンコンテキスト(GameScene)を用いて機能シーケンスの検索が行われる。マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、代名詞の指示語Entityが指し示す現在のゲームシーンと一致するゲームシーンを表すコンテキストが記録された機能シーケンスが検索される。検索結果の機能シーケンスが1つである場合、検索結果の機能シーケンスがマクロとして即時実行され、複数である場合、各マクロがユーザに提示された後、ユーザにより選択されたマクロが実行される。
No.4の発話は、例えばユーザが主タスクとしてゲームを行い、ゲームの画面において、カーソルによってハイライト表示される対象を代名詞で指し示すことによって行われる。ゲームシーンコンテキストを用いて検索が行われる場合の発話には、図18に示す発話以外に、ゲームの画面に表示されたアイテムがハイライト表示されている状態における「これを取った時のメッセージ」などがある。また、ゲームの画面に表示されたマップ上で、特定の場所が指定されている状態における「ここの時のパーティー」などがある。
No.5の発話は、マクロの番号を指し示す指示語Entityを含む発話である。
No.5の発話は、検索結果のマクロが提示されている場合に行われる。No.2〜4の発話が行われることに応じて、マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityが指し示すコンテキストが対応付けて記録された機能シーケンスが検索される。
検索結果のマクロが複数ある場合、それぞれのマクロに対して番号が割り当てられ、ユーザに提示される。マクロの提示画面には、それぞれの機能シーケンスのコンテキストのうち、他の機能シーケンスのコンテキストとの差分となる(重複しない)コンテキストが表示される。
指示語Entityとして番号を含む発話が行われた場合、指示語Entityにより指定された番号が割り当てられた機能シーケンスがマクロとして実行される。マクロの提示画面の詳細については後述する。
図19のNo.6の発話は、マクロを、日付/期間により、またはゲームシーンにより指し示す指示語Entityを含む発話である。
No.6の発話も、検索結果のマクロが提示されている場合に行われる。No.2〜4の発話が行われることに応じて、マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityが指し示すコンテキストが対応付けて記録された機能シーケンスが検索される。
検索結果のマクロが複数ある場合、それぞれのマクロに対して番号が割り当てられ、ユーザに提示される。マクロの提示画面には、それぞれの機能シーケンスのコンテキストのうち、他の機能シーケンスのコンテキストとの差分となるコンテキストが表示される。
指示語Entityを含む発話が行われた場合、指示語Entityにより指定された日付/期間を表すコンテキストが対応付けて記録された機能シーケンス、または、指示語Entityにより指定されたゲームシーンを表すコンテキストが対応付けて記録された機能シーケンスがマクロとして実行される。
No.7の発話は、複数の指示語Entityを含む発話である。
No.7の発話が行われた場合、マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、複数の指示語EntityのAND条件が指し示すコンテキストを含む機能シーケンスが検索される。検索結果の機能シーケンスが1つである場合、検索結果の機能シーケンスがマクロとして即時実行され、複数である場合、各マクロがユーザに提示された後、ユーザにより選択されたマクロが実行される。
No.8の発話は、マクロをキーワードにより指し示す発話である。
No.8の発話も、検索結果のマクロが提示されている場合に行われる。No.2〜4の発話が行われることに応じて、マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityが指し示すコンテキストが対応付けて記録された機能シーケンスが検索される。
検索結果のマクロが複数ある場合、それぞれのマクロに対して番号が割り当てられ、ユーザに提示される。マクロの提示画面には、それぞれの機能シーケンスのコンテキストのうち、他のクラスタのコンテキストとの差分となるコンテキストが表示される。
No.8の発話が行われた場合、ユーザの発話から名詞の文字列がキーワードとして抽出される。抽出されたキーワードと同じ文字列をEntityとして含むマクロが実行される。
「5人でやったパーティー」といったように、Entityの数を使用した発話によって、マクロが指定されるようにしてもよい。
No.9の発話は、周期・頻度を指し示す指示語Entityを含む発話である。
No.9の発話が行われた場合、日付のコンテキスト(DateTime)を用いて機能シーケンスの検索が行われる。マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、出現頻度が最も高い機能シーケンスが選択され、マクロとして即時実行される。
No.10の発話は、周期・頻度を指し示す指示語Entityを含む発話である。
No.10の発話が行われた場合、日付のコンテキスト(DateTime)を用いて機能シーケンスの検索が行われる。マクロ抽出テンプレートに基づく機能シーケンスの検索結果の中から、指示語Entityにより指定される条件に一致し、出現頻度が最も高い機能シーケンスが選択され、マクロとして即時実行される。
指示語Entityを用いたマクロの検索は、以上のようにして行われる。
図18、図19に示す指示語Entityに代えて、図11の観測コンテキスト、または図12の生成コンテキストを指し示す指示語Entityを用いた発話に基づくマクロの検索が行われる。
例えば、「嬉しい時の音楽」の発話は、感情の観測コンテキスト(図11)を指示語Entityによって指し示す発話となる。また、「盛り上がった時の音楽」の発話は、雰囲気の観測コンテキストを指示語Entityによって指し示す発話となる。「料理中の音楽」の発話は、行動の観測コンテキストを指示語Entityによって指し示す発話となる。
「驚かれたメッセージ」の発話は、感情の生成コンテキスト(図12)を指示語Entityによって指し示す発話となる。「雨が降った時の音楽」の発話は、情景の生成コンテキストを指示語Entityによって指し示す発話となる。
<<情報処理システムの動作>>
図20のフローチャートを参照して、ユーザの発話に対する応答を行う情報処理サーバ2の処理について説明する。
図20の処理は、例えば、ユーザの発話に応じた音声データが情報処理端末1から送信されてきたときに開始される。情報処理端末1から送信された音声データは、通信部209において受信され、音声認識処理部251に供給される。
ステップS1において、音声認識処理部251は、ユーザの発話に対して音声認識処理を施し、テキストデータに変換する。
ステップS2において、発話意図理解処理部252は、発話テキストに対してNLU処理を施すことによって、発話の意図を表すIntentを推定するとともに、実行属性であるEntityを抽出する。
ステップS3において、コンテキストの観測が行われる。すなわち、カメラ106により撮影された画像に基づくコンテキストの観測が画像認識処理部254により行われ、センサ107により検出されたセンサデータに基づくコンテキストの観測がセンサデータ認識処理部255により行われる。観測されたコンテキストは、観測コンテキストとして操作記録検索処理部256に出力される。
ステップS4において、操作記録/検索処理が操作記録検索処理部256により行われる。操作記録/検索処理により、ユーザの操作の履歴が管理されるとともに、適宜、発話に含まれる指示語Entityに基づいてマクロが実行される。操作記録/検索処理の詳細については、図21、図22のフローチャートを参照して後述する。
ステップS5において、応答生成部259は、機能の実行が操作記録検索処理部256により指示されたか否かを判定する。
機能の実行が指示されたとステップS5において判定した場合、ステップS6において、応答生成部259は、操作記録検索処理部256による制御に従って、1つの機能を実行し、ユーザに対する応答を出力する。また、応答生成部259は、操作記録検索処理部256による制御に従って、複数の機能をマクロとして一括して実行し、ユーザに対する応答を出力する。
所定の機能がステップS6において実行された場合、または、機能の実行が指示されていないとステップS5において判定された場合、処理は終了となる。以上の処理が、ユーザが発話を行う毎に繰り返し行われる。
次に、図21、図22のフローチャートを参照して、図20のステップS4において行われる操作記録/検索処理について説明する。
ステップS11において、操作記録検索処理部256は、発話意図理解処理部252から供給されたIntent/Entityを取得する。
ステップS12において、操作記録検索処理部256は、ユーザの発話に指示語Entityが含まれているか否かを判定する。
ユーザの発話に指示語Entityが含まれていないとステップS12において判定した場合、ステップS13において、操作記録検索処理部256は、Intentに応じた機能の実行に必要なEntityが揃っているか否かを判定する。
Intentに応じた機能の実行に必要なEntityが揃っていないとステップS13において判定した場合、ステップS14において、操作記録検索処理部256の応答制御部274は、不足しているEntityの入力を促す応答を応答生成部259に指示する。応答生成部259においては、Entityの入力を促す合成音声をスピーカ108から出力させる処理などが行われる。
一方、Intentに応じた機能の実行に必要なEntityが揃っているとステップS13において判定された場合、処理はステップS15に進む。
ステップS15において、コンテキスト生成部272は、ユーザの記憶に残ると考えられる出来事を生成コンテキストとして生成し、ユーザに対して提示することを応答制御部274に指示する。
コンテキスト生成部272による指示に応じて、応答制御部274は、例えば、ユーザが主タスクとして行っているゲーム内で所定のイベントを発生させることをタスク管理サーバ4に対して要求する。タスク管理サーバ4においては、応答制御部274による要求に応じてゲームのイベントを発生させ、出来事としてユーザに体験させる処理が行われる。
ステップS16において、応答制御部274は、発話意図理解処理部252から供給されたIntent/Entityに応じた機能の実行と応答を応答生成部259に指示する。
ステップS17において、ユーザ操作ログ記録制御部271は、発話意図理解処理部252から供給されたIntent/Entityにより表される機能をクラスタリングすることにより、複数の機能からなる機能シーケンスを生成する。
また、ユーザ操作ログ記録制御部271は、機能シーケンスを、図20のステップS3において観測された観測コンテキスト、コンテキスト生成部272により生成された生成コンテキストと対応付けてユーザ操作ログに記録する。観測コンテキストと生成コンテキストの両方が記録されるのではなく、いずれか一方が機能シーケンスと対応付けて記録されるようにしてもよい。
ステップS17において機能シーケンスが記録された後、または、ステップS14においてEntityの入力を促す応答が指示された後、図20のステップS4に戻り、それ以降の処理が行われる。
なお、ユーザ操作ログに対する記録が行われる際、「今の操作を覚えておきます」などの合成音声を情報処理システム側から出力させ、一連の操作に関する情報を記録したことをユーザに認知させるようにしてもよい。ユーザは、一連の操作をマクロとして実行させることができるようになったことを知ることが可能となる。
なお、メッセージの内容などの個人的な情報を含み、ユーザ操作ログに内容を記録させることにユーザが違和感を覚える可能性のある機能については、「送信したメッセージの内容も覚えますか?」などの合成音声を出力して確認が行われるようにしてもよい。この場合、情報を記録することについて了承が得られたときに、ユーザ操作ログに対する記録が行われることになる。
一方、ユーザの発話に指示語Entityが含まれているとステップS12において判定された場合、処理は図22のステップS18に進む。ユーザの発話に指示語Entityが含まれている場合、上述したようにして機能シーケンスの検索が行われる。
ステップS18において、操作記録検索処理部256のマクロ抽出部273は、ユーザの発話のIntentと一致する目的Intentを有するマクロ抽出テンプレートを、マクロ抽出テンプレートDB257に記憶されているマクロ抽出テンプレートの中から選択する。
ステップS19において、マクロ抽出部273は、選択したマクロ抽出テンプレートに定義された機能シーケンスと一致する機能シーケンスを、ユーザ操作ログに記録された機能シーケンスの中から検索する。また、マクロ抽出部273は、発話テキストに含まれる指示語Entityが指し示すコンテキストと対応付けて記録された機能シーケンスを、マクロ抽出テンプレートに基づく検索結果の機能シーケンスの中から検索する。
ステップS20において、マクロ抽出部273は、検索した機能シーケンスを構成する複数の機能をマクロとして抽出する。
ステップS21において、マクロ抽出部273は、検索結果として抽出されたマクロが1つであるか否かを判定する。
検索結果として抽出されたマクロが1つであるとステップS21において判定した場合、ステップS22において、マクロ抽出部273は、マクロの実行とユーザに対する応答を応答制御部274に指示する。
ステップS23において、ユーザ操作ログ記録制御部271は、実行したマクロに関する複数の機能のIntent/Entityを観測コンテキストとともにユーザ操作ログに記録させる。
検索結果として抽出されたマクロが1つではないとステップS21において判定した場合、ステップS24において、マクロ抽出部273は、検索結果の複数のマクロを提示し、マクロの絞り込みを促す応答の出力を応答制御部274に指示する。
実行したマクロに関する情報がステップS23においてユーザ操作ログに記録された後、または、検索結果の複数のマクロの提示などの指示がステップS24において行われた後、図20のステップS4に戻り、それ以降の処理が行われる。
以上の処理により、ユーザは、過去の記憶から連想されるフレーズを発話することで、過去に行った複数の操作と同じ操作をマクロとして一括して実行させることが可能となる。
また、指示語Entityを用いてコンテキストを指し示すことでマクロを実行させることができるため、各マクロに対して設定された名前などを発話してマクロの実行を指示する場合に比べて、より自然な発話に近い対話システムが実現される。
<マクロ提示画面の例>
図23は、マクロの提示画面の例を示す図である。
検索結果のマクロが複数ある場合、図23に示すような提示画面がディスプレイ109に表示される。
図23の例においては、「先週聞いた曲かけて」の発話がユーザにより行われたことに応じて、上述したような検索が行われ、目的Intentを“PlayMusic”とする4つの音楽再生マクロが見つかったものとされている。提示画面には、4つの音楽再生マクロに関する情報であるマクロ候補情報301乃至304が表示される。
マクロ候補情報301は、1番の音楽再生マクロに関する情報である。マクロ候補情報301として、「寝室」、「6/8(金)」の文字列が表示され、その下に、1番の音楽再生マクロを実行したときに再生される音楽の情報が表示される。
「寝室」、「6/8(金)」の文字列は、矢印A41に示すように、1番の音楽再生マクロに関するコンテキストであるコンテキストC1に基づいて表示される。コンテキストC1には、「6月8日」を表す日付のコンテキストと、「寝室」を表す場所のコンテキストが含まれている。
なお、「寝室」、「6/8(金)」の文字列の下に表示される音楽の情報は、1番の音楽再生マクロを構成する機能のIntentとEntityに基づいて表示される情報である。
マクロ候補情報302乃至303も、それぞれ、同様の情報から構成される。
すなわち、2番の音楽再生マクロに関する情報であるマクロ候補情報302として、「盛り上がっている」、「6/7(木)」の文字列が表示される。
「盛り上がっている」、「6/7(木)」の文字列は、矢印A42に示すように、2番の音楽再生マクロに関するコンテキストであるコンテキストC2に基づいて表示される。コンテキストC2には、「6月7日」を表す日付のコンテキストと、「盛り上がっている」を表す雰囲気のコンテキストが含まれている。
3番の音楽再生マクロに関する情報であるマクロ候補情報303として、「雨が降っている」、「6/5(火)」の文字列が表示される。
「雨が降っている」、「6/5(火)」の文字列は、矢印A43に示すように、3番の音楽再生マクロに関するコンテキストであるコンテキストC3に基づいて表示される。コンテキストC3には、「6月5日」を表す日付のコンテキストと、「雨が降っている」を表す天気のコンテキストが含まれている。
4番の音楽再生マクロに関する情報であるマクロ候補情報304として、「悲しい」、「6/4(月)」の文字列が表示される。
「悲しい」、「6/4(月)」の文字列は、矢印A44に示すように、4番の音楽再生マクロに関するコンテキストであるコンテキストC4に基づいて表示される。コンテキストC4には、「6月4日」を表す日付のコンテキストと、「悲しい」を表す感情のコンテキストが含まれている。
このように、マクロの検索結果の提示画面には、各マクロを構成する機能のIntentとEntityを表す情報に加えて、コンテキストの差分要素となる文字列が表示される。マクロ候補情報301の「寝室」と「6/8(金)」、マクロ候補情報302の「盛り上がっている」と「6/7(木)」、マクロ候補情報303の「雨が降っている」と「6/5(火)」、マクロ候補情報304の「悲しい」と「6/4(月)」は、それぞれ、他のマクロのコンテキストと重複しないコンテキストに基づいて表示される文字列である。
一方、場所のコンテキストとして重複している「リビング」は、マクロに関する情報として表示されない。「リビング」を表すコンテキストは、コンテキストC2,C3,C4のそれぞれに重複して記録されている。
このように、指示語Entityを含む発話によってユーザが指示していると考えられるマクロとして同じような機能シーケンスのマクロが複数ある場合、それぞれのマクロの情報が提示される。また、それぞれのマクロの情報として、コンテキストの差分要素となる文字列が表示される。
ユーザは、類似したマクロを見比べ、過去の断片的な記憶に基づいて絞り込むことができるため、目的とするマクロを容易に見つけることが可能となる。
なお、図23に示す提示画面が表示されている状態で番号を指定してマクロが選択された場合、図18のNo.5の発話が行われたときと同様の処理が行われ、選択されたマクロが実行される。また、コンテキストの差分要素となる文字列を指定してマクロが選択された場合、図19のNo.6の発話が行われたときと同様の処理が行われ、選択されたマクロが実行される。
マクロの提示画面においては、コンテキストの日付が新しいマクロの情報ほど上位に提示される。
日付のコンテキスト以外の種別のコンテキストに基づいて提示順が切り替わるようにしてもよい。例えば、感情のコンテキストに基づいて提示順が切り替わるようにすることが可能である。この場合、嬉しい、楽しいといったような、ポジティブなコンテキストのマクロがより上位に提示される。
提示画面を用いたGUIでの提示に加えて、「<コンテキスト>が違いますが、どちらにしますか?」などの合成音声を出力し、ユーザに問いかけるようにしてもよい。
<<変形例>>
<マクロ抽出テンプレートを用いないマクロ化手法>
マクロ抽出テンプレートに定義された機能シーケンスを構成する複数の機能からマクロが生成されるものとしたが、マクロ抽出テンプレートに定義された機能シーケンスに含まれていない機能を含むようにしてマクロが生成されるようにしてもよい。
・出現頻度の高い機能を提案する例
機能シーケンスが選択され、マクロが生成されたものとする。この場合において、選択された機能シーケンスを含むクラスタに、出現頻度の高い機能があるとき、その機能について、実行するか否かの提案がユーザに対して行われる。
例えば、ユーザが「HappyLandのパーティー招待」の発話を行い、これに応じて、HappyLandプレイ時のパーティー招待用のマクロが生成されたものとする。「HappyLand」はゲームの名前である。パーティー招待用のマクロの元になった機能シーケンスには、パーティー招待の配信機能が含まれていない。
この場合、「配信もしますか?」の合成音声が出力され、パーティー招待の配信機能を実行するか否かの提案が行われる。この提案は、例えば、HappyLandのプレイ時に、パーティー招待の機能と配信の機能を高い頻度でユーザが行っていたことに基づいて行われるものである。
ユーザが「配信もして」の発話を行うことにより、配信の機能についても、パーティー招待の機能とまとめて実行される。
なお、提案した同じ機能について、実行することが一定回数(例えば2回)を超えた場合、提案なしでマクロに含めて自動的に実行されるようにしてもよい。
・コンテキストを指示するだけでクラスタ内の全機能を実行する例
例えば、ユーザが「このゲーム始める時の設定をまとめてやって」の発話を行った場合、ユーザ操作ログ上の、該当ゲームの開始時の操作に関するクラスタに記録されている、パーティー招待、BGM再生、配信などの全ての機能がマクロとして実行されるようにしてもよい。
「寝る準備して」、「おやすみ」などの発話を行った場合、ユーザ操作ログ上の、就寝時間帯の操作に関するクラスタに記録されている、電気を消す、テレビを消す、アラーム設定などの全ての機能がマクロとして実行されるようにしてもよい。
これにより、ユーザは、自身に特有の習慣的な操作をまとめて実行することが可能となる。
<その他の例>
・情報処理システムの構成
ユーザの操作に応じたマクロを実行する処理が、情報処理端末1と情報処理サーバ2により実現されるものとしたが、情報処理端末1単体で実現されるようにしてもよい。この場合、図7に示す情報処理サーバ2の構成が情報処理端末1に設けられることになる。
図7に示す情報処理サーバ2の全ての構成が情報処理端末1に設けられるのではなく、一部の構成が情報処理端末1に設けられ、他の構成については情報処理サーバ2などの他の装置に設けられるようにしてもよい。
・ユーザ操作ログの記録内容の例
複数の機能からなる機能シーケンスがコンテキストと対応付けて記録されるものとしたが、1つの機能に関する情報が、その機能を実行するための操作が行われた時のコンテキストと対応付けてユーザ操作ログに記録されるようにしてもよい。
・観測コンテキストのバリエーション
以下のコンテキストが観測され、観測コンテキストとして記録されるようにしてもよい。
・ゲームでの特定シーンのクリア(成功体験)
・ゲームオーバー・ゲームでのミッション失敗(失敗体験)
・食事中に何を食べているか
・ユーザが「眠い時の音楽で覚えて」の発話が行われた場合、“眠い”を観測コンテキストとして記録。
・うなずく等の所定のジェスチャとともに、「これをした時の音楽で覚えて」の発話が行われた場合、ジェスチャを観測コンテキストとして記録。この場合、ジェスチャしながら「これの時の音楽」の発話が行われた場合、そのジェスチャを表す観測コンテキストが対応付けて記録されている音楽が再生される。
・生成コンテキストのバリエーション
以下のコンテキストが生成コンテキストとして生成され、記録されるようにしてもよい。
・音楽や効果音を出力させる。
・匂いを発生させる。この場合、ユーザは、「○○の匂い」といった、嗅覚で知覚した内容をエピソード記憶の付随情報として記憶することになる。
・コントローラなどのユーザが触れるデバイスに対して、振動を発生、痛みを生じさせる、温度を変化させる。この場合、ユーザは、触覚で知覚した内容を付随情報として記憶することになる。
・システム応答に用いた合成音声の話者声質(男女、大人/子供など)
・フィードバック
機能の内容をユーザ操作ログに記録する際、何のコンテキストと対応付けて記録するのかをユーザに提示するようにしてもよい。例えば、コンテキストの内容を表すテキストが画面上に表示されようにしてもよいし、「食事中の音楽として覚えます」といったような合成音声が出力されるようにしてもよい。
指示語Entityを用いたマクロの実行時に、ユーザが発話した指示語Entityが、マクロの検索に用いられるコンテキストを指し示す対象として情報処理システムにおいて管理されている場合、効果音が出力され、そのことがユーザに提示されるようにしてもよい。
・セキュリティ
ユーザ操作ログが個人毎に管理されるようにしてもよい。指示語Entityを含む発話が行われた場合において、発話を行ったユーザの周りに他の人がいるとき、メッセージの内容などの、プライバシーにかかわる機能の実行が制限され、内容が提示されないようにしてもよい。
・おすすめマクロの提示
性別、年齢、地域などのユーザの属性毎に、ユーザ操作ログに記録されているコンテキストの統計を収集しておき、統計に基づいて、コンテキストに応じたおすすめのマクロがユーザに提示されるようにしてもよい。
<コンピュータの構成例>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる図6に示されるリムーバブルメディア211に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
<構成の組み合わせ例>
本技術は、以下のような構成をとることもできる。
(1)
ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索する検索部と、
検索された前記機能を実行し、前記ユーザに対する応答を出力させる応答制御部と
を備える情報処理装置。
(2)
前記ユーザによる前記操作に応じて実行した前記機能をクラスタリングすることによって、複数の前記機能からなるシーケンスを生成し、前記シーケンスと前記コンテキストとを対応付けて前記操作ログに記録する記録制御部をさらに備える
前記(1)に記載の情報処理装置。
(3)
前記ユーザの状況を含む前記コンテキストを認識する認識処理部をさらに備える
前記(1)または(2)に記載の情報処理装置。
(4)
前記認識処理部は、前記ユーザの状況として、日時、場所、前記ユーザが行っているタスク、前記ユーザの感情、前記ユーザの周辺の環境の雰囲気、および、前記ユーザの行動のうちの少なくともいずれかを認識する
前記(3)に記載の情報処理装置。
(5)
所定の出来事を前記ユーザに体験させるための処理を実行し、前記コンテキストを生成するコンテキスト生成部をさらに備える
前記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)
前記コンテキスト生成部は、前記操作が行われることに応じて、前記コンテキストを生成する
前記(5)に記載の情報処理装置。
(7)
前記コンテキスト生成部は、前記ユーザが行っているタスク上のイベントを発生するための処理を行い、前記イベントに関する情報を前記コンテキストとして記録させる
前記(5)または(6)に記載の情報処理装置。
(8)
前記コンテキスト生成部は、前記ユーザがコミュニケーションをとっている対象の行動を変化させるための処理を行い、前記行動に関する情報を前記コンテキストとして記録させる
前記(5)または(6)に記載の情報処理装置。
(9)
前記検索部は、前記シーケンスを定義した複数のテンプレートのうち、前記ユーザによる入力の意図に応じた前記テンプレートに定義された前記シーケンスと同じ前記シーケンスであって、前記指示語が指し示す前記コンテキストと対応付けて記録された前記シーケンスを検索する
前記(2)に記載の情報処理装置。
(10)
前記検索部は、検索結果の前記シーケンスが複数ある場合、それぞれの前記シーケンスに関する情報を提示し、
前記応答制御部は、前記ユーザにより指定された前記シーケンスを構成する複数の前記機能を実行する
前記(9)に記載の情報処理装置。
(11)
前記検索部は、前記シーケンスに関する情報として、それぞれの前記コンテキストの差分を表す情報を提示する
前記(10)に記載の情報処理装置。
(12)
前記応答制御部は、前記コンテキストと対応付けて記録された前記シーケンスを構成する複数の前記機能を実行する
前記(2)、(9)乃至(11)のいずれかに記載の情報処理装置。
(13)
前記ユーザによる前記操作は、音声により行われる
前記(1)乃至(12)のいずれかに記載の情報処理装置。
(14)
情報処理装置が、
ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索し、
検索した前記機能を実行し、前記ユーザに対する応答を出力させる
情報処理方法。
(15)
コンピュータに、
ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索し、
検索した前記機能を実行し、前記ユーザに対する応答を出力させる
処理を実行させるためのプログラム。
1 情報処理端末, 2 情報処理サーバ, 251 音声認識処理部, 252 発話意図理解処理部, 253 指示語EntityDB, 254 画像認識処理部, 255 センサデータ認識処理部, 256 操作記録検索処理部, 257 マクロ抽出テンプレートDB, 258 ユーザ操作ログDB, 259 応答生成部, 260 音声合成処理部, 261 表示画像処理部, 271 ユーザ操作ログ記録制御部, 272 コンテキスト生成部, 273 マクロ抽出部, 274 応答制御部

Claims (15)

  1. ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索する検索部と、
    検索された前記機能を実行し、前記ユーザに対する応答を出力させる応答制御部と
    を備える情報処理装置。
  2. 前記ユーザによる前記操作に応じて実行した前記機能をクラスタリングすることによって、複数の前記機能からなるシーケンスを生成し、前記シーケンスと前記コンテキストとを対応付けて前記操作ログに記録する記録制御部をさらに備える
    請求項1に記載の情報処理装置。
  3. 前記ユーザの状況を含む前記コンテキストを認識する認識処理部をさらに備える
    請求項1に記載の情報処理装置。
  4. 前記認識処理部は、前記ユーザの状況として、日時、場所、前記ユーザが行っているタスク、前記ユーザの感情、前記ユーザの周辺の環境の雰囲気、および、前記ユーザの行動のうちの少なくともいずれかを認識する
    請求項3に記載の情報処理装置。
  5. 所定の出来事を前記ユーザに体験させるための処理を実行し、前記コンテキストを生成するコンテキスト生成部をさらに備える
    請求項1に記載の情報処理装置。
  6. 前記コンテキスト生成部は、前記操作が行われることに応じて、前記コンテキストを生成する
    請求項5に記載の情報処理装置。
  7. 前記コンテキスト生成部は、前記ユーザが行っているタスク上のイベントを発生するための処理を行い、前記イベントに関する情報を前記コンテキストとして記録させる
    請求項5に記載の情報処理装置。
  8. 前記コンテキスト生成部は、前記ユーザがコミュニケーションをとっている対象の行動を変化させるための処理を行い、前記行動に関する情報を前記コンテキストとして記録させる
    請求項5に記載の情報処理装置。
  9. 前記検索部は、前記シーケンスを定義した複数のテンプレートのうち、前記ユーザによる入力の意図に応じた前記テンプレートに定義された前記シーケンスと同じ前記シーケンスであって、前記指示語が指し示す前記コンテキストと対応付けて記録された前記シーケンスを検索する
    請求項2に記載の情報処理装置。
  10. 前記検索部は、検索結果の前記シーケンスが複数ある場合、それぞれの前記シーケンスに関する情報を提示し、
    前記応答制御部は、前記ユーザにより指定された前記シーケンスを構成する複数の前記機能を実行する
    請求項9に記載の情報処理装置。
  11. 前記検索部は、前記シーケンスに関する情報として、それぞれの前記コンテキストの差分を表す情報を提示する
    請求項10に記載の情報処理装置。
  12. 前記応答制御部は、前記コンテキストと対応付けて記録された前記シーケンスを構成する複数の前記機能を実行する
    請求項2に記載の情報処理装置。
  13. 前記ユーザによる前記操作は、音声により行われる
    請求項1に記載の情報処理装置。
  14. 情報処理装置が、
    ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索し、
    検索した前記機能を実行し、前記ユーザに対する応答を出力させる
    情報処理方法。
  15. コンピュータに、
    ユーザによる操作に応じて実行した機能と、前記操作が行われた時のコンテキストとを対応付けて記録した操作ログに基づいて、前記ユーザにより入力された指示語が指し示す前記コンテキストと対応付けて記録された前記機能を検索し、
    検索した前記機能を実行し、前記ユーザに対する応答を出力させる
    処理を実行させるためのプログラム。
JP2020533404A 2018-07-31 2019-07-17 情報処理装置、情報処理方法、およびプログラム Active JP7290154B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018143252 2018-07-31
JP2018143252 2018-07-31
PCT/JP2019/028009 WO2020026799A1 (ja) 2018-07-31 2019-07-17 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020026799A1 true JPWO2020026799A1 (ja) 2021-08-19
JP7290154B2 JP7290154B2 (ja) 2023-06-13

Family

ID=69230925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020533404A Active JP7290154B2 (ja) 2018-07-31 2019-07-17 情報処理装置、情報処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US20210295836A1 (ja)
JP (1) JP7290154B2 (ja)
WO (1) WO2020026799A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022161078A (ja) * 2021-04-08 2022-10-21 京セラドキュメントソリューションズ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US12014547B2 (en) * 2021-09-07 2024-06-18 Nvidia Corporation Event information extraction from game logs using natural language processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021857A (ja) * 2002-06-19 2004-01-22 Ricoh Co Ltd グループウェアにおけるユーザの対話支援装置
WO2016067765A1 (ja) * 2014-10-27 2016-05-06 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
WO2016190126A1 (ja) * 2015-05-28 2016-12-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2017535823A (ja) * 2014-10-01 2017-11-30 エクスブレイン・インコーポレーテッド 音声および接続プラットフォーム
JP2018502358A (ja) * 2014-11-06 2018-01-25 マイクロソフト テクノロジー ライセンシング,エルエルシー ボイスユーザインタフェースにおけるコンテキストベースアクション

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115456A1 (en) * 2012-09-28 2014-04-24 Oracle International Corporation System for accessing software functionality
US9754591B1 (en) * 2013-11-18 2017-09-05 Amazon Technologies, Inc. Dialog management context sharing
JP6683127B2 (ja) * 2014-08-01 2020-04-15 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US10418032B1 (en) * 2015-04-10 2019-09-17 Soundhound, Inc. System and methods for a virtual assistant to manage and use context in a natural language dialog
WO2018009844A1 (en) * 2016-07-07 2018-01-11 Google Llc Methods and apparatus to determine objects to present in virtual reality environments
US20180336045A1 (en) * 2017-05-17 2018-11-22 Google Inc. Determining agents for performing actions based at least in part on image data
US10553204B2 (en) * 2017-12-21 2020-02-04 International Business Machines Corporation Personalization of conversational agents through macro recording

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021857A (ja) * 2002-06-19 2004-01-22 Ricoh Co Ltd グループウェアにおけるユーザの対話支援装置
JP2017535823A (ja) * 2014-10-01 2017-11-30 エクスブレイン・インコーポレーテッド 音声および接続プラットフォーム
WO2016067765A1 (ja) * 2014-10-27 2016-05-06 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
JP2018502358A (ja) * 2014-11-06 2018-01-25 マイクロソフト テクノロジー ライセンシング,エルエルシー ボイスユーザインタフェースにおけるコンテキストベースアクション
WO2016190126A1 (ja) * 2015-05-28 2016-12-01 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
US20210295836A1 (en) 2021-09-23
JP7290154B2 (ja) 2023-06-13
WO2020026799A1 (ja) 2020-02-06

Similar Documents

Publication Publication Date Title
KR102306624B1 (ko) 지속적 컴패니언 디바이스 구성 및 전개 플랫폼
US20170206064A1 (en) Persistent companion device configuration and deployment platform
US20160171979A1 (en) Tiled grammar for phrase spotting with a persistent companion device
US11043216B2 (en) Voice feedback for user interface of media playback device
US10127226B2 (en) Method for dialogue between a machine, such as a humanoid robot, and a human interlocutor utilizing a plurality of dialog variables and a computer program product and humanoid robot for implementing such a method
US20210280172A1 (en) Voice Response Method and Device, and Smart Device
CN108228132A (zh) 促进用户录制的音频的创建和回放
JP2004527809A (ja) 個人のインタラクションをシミュレートする環境反応型ユーザインタフェース/エンタテインメントデバイス
EP3803632A1 (en) Systems and methods for operating an output device
WO2016011159A9 (en) Apparatus and methods for providing a persistent companion device
US11267121B2 (en) Conversation output system, conversation output method, and non-transitory recording medium
CN108140030A (zh) 对话系统、终端、控制对话的方法及使计算机发挥对话系统功能的程序
JP7290154B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN111404808B (zh) 一种歌曲的处理方法
US20220246135A1 (en) Information processing system, information processing method, and recording medium
US20050288820A1 (en) Novel method to enhance the computer using and online surfing/shopping experience and methods to implement it
WO2020039702A1 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US11275554B2 (en) Information processing apparatus, information processing method, and program
CN109460548B (zh) 一种面向智能机器人的故事数据处理方法及系统
US20200204874A1 (en) Information processing apparatus, information processing method, and program
US20220270162A1 (en) Computing devices and systems for sending and receiving a digital gift using a voice interface
Platz Design Beyond Devices: Creating Multimodal, Cross-device Experiences
JP2005189846A (ja) 音声制御スクリーンシステム
JP7142403B1 (ja) 会話処理プログラム、会話処理システムおよび会話型ロボット
US20230154498A1 (en) System and method for providing advanced content interactivity features

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220526

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230515

R151 Written notification of patent or utility model registration

Ref document number: 7290154

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151