JP2010020273A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2010020273A
JP2010020273A JP2008307076A JP2008307076A JP2010020273A JP 2010020273 A JP2010020273 A JP 2010020273A JP 2008307076 A JP2008307076 A JP 2008307076A JP 2008307076 A JP2008307076 A JP 2008307076A JP 2010020273 A JP2010020273 A JP 2010020273A
Authority
JP
Japan
Prior art keywords
information
grounding
user
state
observation
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.)
Abandoned
Application number
JP2008307076A
Other languages
English (en)
Inventor
Di Profio Ugo
プロフィオ ウゴ ディ
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
Original Assignee
Sony 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 filed Critical Sony Corp
Priority to JP2008307076A priority Critical patent/JP2010020273A/ja
Priority to PCT/JP2008/072061 priority patent/WO2009072567A1/ja
Priority to CN2008801185101A priority patent/CN101884064B/zh
Priority to US12/745,464 priority patent/US20100312561A1/en
Publication of JP2010020273A publication Critical patent/JP2010020273A/ja
Abandoned legal-status Critical Current

Links

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
    • 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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】POMDPを適用したグラウンディング処理を実行する装置および方法を実現する。
【解決手段】ユーザ発話を入力して言語解析を実行する言語解析部の解析情報と、タスクを実行するタスク管理部からのタスク実現性情報とを含む実体的情報などの観測情報を設定した部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ発話によるユーザ要求の理解処理としてのグラウンディング処理を実行する構成としたので、効率的な理解が可能となり、迅速かつ正確なユーザ要求の把握およびユーザ要求に基づくタスク実行が可能となる。
【選択図】図4

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。例えばユーザとテレビなどの情報処理装置とのコミュニケーションによって処理を実行する構成、具体的にはユーザの発する言葉を情報処理装置が解釈してユーザ要求に従ったタスクを実行する構成に適用される情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
さらに、本発明は、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、システムがユーザの意思を正確に把握するためのグラウンディング処理を行なう情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
例えば、テレビなどのシステムに対してリモコンの操作を行なうことなくユーザの発する言葉をシステムが解釈して処理を実行するといった構成について様々な研究がなされている。システムがユーザの言葉を理解して正確な処理を実行するためには、ユーザとシステムの共通理解が必要となる。
例えば、システムがユーザの要求を理解できない場合に、ユーザに対して疑問を解決するための質問を行い、ユーザからの応答などによって問題を解決してユーザの意思を正しく理解するといった処理が必要とされる。
このようなユーザとのコミュニケーションを行なうシステムの実行する処理は、大きく分けて2つの処理に分類できる。
1つは、ユーザの要求に応じてシステム内で実行する処理、例えばシステムがテレビであれば、ユーザ要求に応じてチャンネルを切り換えるといったシステム内部での処理を行なう処理である。このような処理はドメインタスク(domain task)と呼ばれる。
もう1つは、例えばユーザの要求が理解できない場合などに、システムがユーザに質問をしてユーザの応答を確認するなどの会話処理を行いシステムとユーザ間の相互理解を深める処理である。この処理は会話タスク(conversational task)と呼ばれる。
例えば、人と人との会話において、会話を行なっている複数の会話者が相互理解を行なうための処理はグラウンディング(Grounding)と呼ばれる。このグラウンディングにおいて行なうべき処理には以下の2つの処理がある。
(1)相互理解がなされているかの確認処理
(2)相互理解のために実行する処理
(1)相互理解の確認のためには、理解しているか否かを判断するための基準が必要であり、例えば理解の確信度や、満足度を計る指標が必要と考えられる。また発話者と聴取者各々において、相互に理解していると判断するレベルが一致しているといったことも要求される。
(2)相互理解のために実行する処理、すなわち、グラウディング処理の実行に際しては、ユーザ間で、どのような会話や、やり取りが有効であるかといった指標や、グラウンディング行為(Act)の規格化といったことが重要であると考えられる。
相互理解を行なうための処理、すなわちグラウンディング処理について記述した従来技術として非特許文献1(David R. Traum and James F. Allen. A speech acts approach to grounding in conversation. In Proceedings 2nd International Conference on Spoken Language Processing (ICSLP−92), pages 137−40,October 1992)がある。
この非特許文献に示された構成について、図1、図2を参照して説明する。この文献では、例えば複数の人の間で行なわれるコミュニケーション処理において図1に示すような状態遷移構成を示している。図1に示す7つの状態、すなわち、
S.初期状態
1.開始直後状態
2.システム困惑状態
3.要確認状態
4.ユーザ困惑状態
F.グラウンディング状態
D.キャンセル状態
コミュニケーション処理においては、これらの7つの状態の遷移が発生すると想定している。
非特許文献1では、この状態遷移に対応する現在の状態と、状態遷移を発生させるアクションとの対応関係を図2に示す表のように定義している。図2は、現在の状態(S〜D)にあるときに、表に示す次のアクション(Initiate(I)〜cancel(R))を実行した場合に遷移する可能性のある次の状態を示している。次のアクションに示す(I)はアクション開始者(Initiater)、(R)は応答者(Responder)のアクションであることを示している。
例えば、初期状態(S)において、アクション開始者(Initiater)が何らかのアクション、例えばアクション開始者(Initiater)を第1ユーザとした場合、第1ユーザが発話した場合、状態は(S)から(1)に遷移する。さらに、状態(1)において、アクション開始者(Initiater)が発話を継続(continue)した場合、状態は(1)に留まるか、あるいは状態(4)に遷移する。
F.グラウンディング状態に進めば、会話を実行している複数のユーザは相互理解した状態に至ったと判断される。
D.キャンセルは相互理解に失敗した状態である。
この非特許文献1では、主として、人と人とのコミュニケーション処理における相互理解のプロセス、すなわちグラウンディングプロセスを解析している。このような相互理解(グラウンディング)処理は、人とシステム間のコミュニケーションにおいても必要となると考えられる。すなわち、ユーザがテレビなどのシステムに対して処理要求を行なう場合、ユーザとシステムとの間でも相互理解がなされることが正しい処理を実行するために必要であると考えられる。
David R. Traum and James F. Allen. A speech acts approach to grounding in conversation. In Proceedings 2nd International Conference on Spoken Language Processing (ICSLP−92), pages 137−40,October 1992
本発明は、上述の問題点に鑑みてなされたものであり、システムとユーザ間のコミュニケーションにおいて相互理解を行い、効率的にシステムに正しい処理を実行させることを可能とする情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
さらに、本発明は、例えばユーザの発する言葉を、テレビなどのシステムが解釈して処理を実行する構成において、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、システムがユーザの意思を正確に把握して処理を行なうことを可能とする情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
ユーザの発話を入力して解析する情報処理装置であり、
ユーザ発話を入力し言語解析を実行するユーザインタフェースと、
前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行する会話管理部と、
前記会話管理部のグラウンディング処理結果情報に基づいてタスクを実行するタスク管理部を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記会話管理部の実行するグラウンディング処理においてユーザに対するシステムアクションの表示を実行する表示部を有することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、ユーザ発話に対応して生成される言語意味解析情報と、前記タスク管理部のタスク実現性を含む情報に基づいて生成される実体的情報を観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値とその他の観測情報から算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、前記ユーザの発話を含むユーザアクションを観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記会話管理部は、前記ユーザアクションを観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
ユーザの発話を入力して解析する情報処理装置における情報処理方法であり、
ユーザインタフェースが、ユーザ発話を入力し言語解析を実行する言語入力解析ステップと、
会話管理部が、前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行する会話管理ステップと、
タスク管理部が、前記会話管理ステップにおけるグラウンディング処理結果情報に基づいてタスクを実行するタスク管理ステップを有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、表示部が、前記会話管理ステップにおけるグラウンディング処理においてユーザに対するシステムアクションの表示を実行するステップを有することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、ユーザ発話に対応して生成される言語意味解析情報と、前記タスク管理部のタスク実現性を含む情報に基づいて生成される実体的情報を観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値とその他の観測情報から算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記ユーザの発話を含むユーザアクションを観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記ユーザアクションを観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記ユーザアクションを観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記グラウンディング処理における実行アクションとして、処理開始(Initiate)、継続処理(continue)、確認処理(repair)、確認要求処理(ReqRepair)、理解確認応答(ack)、理解確認応答要求(Reqack)、キャンセル(cancel)の各処理を定義したグラウンディングモデルを適用した処理を実行するステップである。
さらに、本発明の情報処理方法の一実施態様において、前記会話管理ステップは、前記グラウンディング処理における実行アクションとして、処理開始(Initiate)、理解確認応答(ack)、キャンセル(cancel)の各処理を定義したグラウンディングモデルを適用した処理を実行するステップである。
さらに、本発明の第3の側面は、
情報処理装置において、ユーザの発話を入力して解析する情報処理を実行させるコンピュータ・プログラムであり、
ユーザインタフェースに、ユーザ発話を入力し言語解析を実行させる言語入力解析ステップと、
会話管理部に、前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行させる会話管理ステップと、
タスク管理部に、前記会話管理ステップにおけるグラウンディング処理結果情報に基づいてタスクを実行させるタスク管理ステップを有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成によれば、ユーザ発話を入力して言語解析を実行する言語解析部の解析情報と、タスクを実行するタスク管理部からのタスク実現性を含む実体的情報などの観測情報を設定した部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ発話によるユーザ要求の理解処理としてのグラウンディング処理を実行する構成としたので、効率的な理解が可能となり、迅速かつ正確なユーザ要求の把握およびユーザ要求に基づくタスク実行が可能となる。
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の項目に従って行う。
(1)本発明の情報処理装置の実行する処理の概要
(2)本発明の情報処理装置の構成例および処理の詳細
(3)会話管理部の実行するグラウンディング処理の詳細
(4)POMDPを適用したグラウンディング処理の具体例
(5)本発明の情報処理装置のハードウェア構成例
[(1)本発明の情報処理装置の実行する処理の概要]
本発明の情報処理装置は、例えばテレビなどのシステムであり、ユーザの発する言葉によって様々な処理、例えばチャンネルの切り替えなどの処理を行なう装置である。すなわちシステムとユーザとのコミュニケーションによって、ユーザの意図に従った処理を実行する。より正しいユーザの意図を得るために情報処理装置は、ユーザとの相互理解をえるための処理、すなわちグラウンディング(Grounding)処理を行なう。
本発明の一実施例に係る情報処理装置は、この相互理解(グラウンディング)処理において、
(1)ベイジアンネットワーク(BN:Bayesian Network)
(2)部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)
これらを利用する。
ベイジアンネットワーク(BN:Bayesian Network)は、複数ノードからなり、各ノード間の関連性を定義したネットワークである。ベイジアンネットワークの生成処理、利用処理については、例えばUS公開特許2004/0220892、US公開特許2002/0103793などに記載されている。これらの文献はノード間の関連性を正しく設定した信頼度の高いベイジアンネットワークを生成するための処理について記載している。本発明の情報処理装置は、相互理解の推定やトラッキングを行なうためにベイジアンネットワークを利用する。例えば、ユーザの言葉に対する音声認識、言語処理、意味理解、内容把握といった様々なレベルでのデータを利用した処理を行なう。
部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)は、状態予測や行動決定手法の1つとして知られている。部分観測マルコフ決定過程(以下POMDP)の概要について説明する。
POMDPは、以下の情報を適用した状態予測や行動決定を行なう手法である。
(a)状態情報(State space):S
(b)行動情報(Action space):A
(c)観測情報(Observation space):O
(d)報酬情報(Reward space):R
これらの各情報が、時間(t)の経過に伴って推移するものとし、
例えば状態遷移確率の算出関数や、報酬の算出関数、ある観測状態の発生確率を算出する関数などを定義して、取得可能な情報と、定義関数に基づいて状態予測や行動決定を実行する。
関数としては、例えば、時間T=(t−1)の状態S=st−1と行動A=at−1から、次の時間T=(t)の状態S=sへの状態遷移確率を算出する状態遷移確率算出関数:T(s,at−1,st−1)=P(s|at−1,st−1
時間T=(t)の状態S=sと行動A=aからの報酬(Reward)を算出する報酬関数:R(s,a
時間T=(t−1)の行動A=at−1と、時間T=(t)の状態S=sとから時間T=(t)の観測状態の発生確率を算出する観測状態確率関数:O(s,at−1,ot−1)=P(o|at−1,s
などが定義され、利用されることになる。
POMDPは、上記の各種の情報や関数を適用した状態予測や行動決定処理を行なう手法である。例えば、取得可能な少ない情報から最適と判断される行動(Action)を決定する処理などに適用され、具体的には、ロボットの行動を決定する処理や、計算機を使用したシミュレーションや、データ処理、さらには、事業経営などにおける最適なアクションの決定処理など、様々な行動の決定に適用可能である。
上記の各情報を適用したPOMDPによる状態予測や行動決定処理について図3を参照して説明する。図3には時間T=t−1における状態st−1,行動at−1、報酬Rt−1、観測ot−1と、その後の時間T=tにおける状態s,行動a、報酬R、観測oとを示している。各ブロックを結ぶ矢印は、相互の影響を示している。矢印の出力元(parent)の情報や状態が矢印の出力先(child)の状態や情報に変化を及ぼす可能性があることを示している。
例えば、時間T=t−1において、
報酬Rt−1は、時間T=t−1の状態st−1,行動at−1に基づいて、上述したように、報酬関数:R(st−1,at−1)で求められる。
また、観測情報ot−1は、例えば、状態st−1の変化に伴って変化する観察可能な情報である。
これらの関係は、いずれの時間T=t−1,t,t+1,・・・においても同様となる。
さらに、異なる時間の関係において、時間T=tにおける状態sと、時間T=t−1における状態st−1および行動at−1との関係は、上述した状態遷移確率算出関数:T(s,at−1,st−1)=P(s|at−1,st−1)によって対応付けられている。すなわち、時間T=tにおける状態sとなる確率は、前の時間T=t−1における、状態st−1および行動at−1とから算出される。この関係は、連続する事象観測時間の間において、すべて成立する。
このように、POMDPでは不確実性を含む対象領域において様々な情報(状態、行動、報酬、観測)を定義し、これらの情報に関連性に基づいて、不確実性を含む対象領域における状態遷移の予測や、自己の行動を決定する。行動の決定処理に際しては、例えば報酬が最も高く算出される行動を最善の行動として決定する処理を行なう。
なお、POMDPの構築処理においては、情報(状態、行動、報酬、観測)間の関連性を正しく設定することが重要であり、このような処理にベイジアンネットワーク(BN:Bayesian Network)が利用される。
本発明の一実施例に係る情報処理装置では、例えば、ユーザや装置の実行する発話レベルでのグラウンディングプロセスのモデリングやトラッキング処理、すなわち具体的なグラウンディングプロセスの構築のためにPOMDPを利用する。
その他、本発明の一実施例に係る情報処理装置では、会話レベルでのグラウンディング実行のためのルールを利用する。例えばユーザからの指示に対して明確な理解を得るための質問の生成などのルールである。
具体的には、
ユーザ:I need a flight to London
このようなリクエストに対して、システムが相互理解を得るための確認処理として、
システム:Did you say "to London"?
このような確認のための質問を実行し、この質問に対してユーザから、
ユーザ:Yes
このような答えを取得することで、理解の確信度:Pを高めるといったプロセスである。
目的地がロンドンであることについての[確信度(P)]は、をユーザ応答(yes)によって高められることになる。
この場合の確信度Pは、
P(Destination=London|Evidence=Yes)
として示される。
[(2)本発明の情報処理装置の構成例および処理の詳細]
本発明の情報処理装置の一構成例を図4に示す。ここでは、例えばチャンネル切り替えなどの処理を実行するテレビシステムを例として示している。テレビ装置の中に、ユーザとのコミュニケーションを実行するデータ処理部が構成されており、データ処理部において、POMDPやベイジアンネットワークを利用した相互理解処理、すなわちグラウンディング処理を実行する。
図4に示す情報処理装置100は、会話管理部(Discourse Manager)101、表示部(Display)102、タスク管理部(Task Manager)103、ユーザインタフェース(GUI Front−End)104を有する。ユーザインタフェース(GUI Front−End)104には、言語解析部(Semantic Parser Emulator)105、グラウンディング処理解析部(Grounding Act Emulator)106が含まれる。会話管理部(Discourse Manager)101にはPOMDP実行部200が含まれる。POMDP実行部200は、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用したグラウンディング処理を実行する。
ユーザ20の発生した言葉は、ユーザインタフェース(GUI Front−End)104における言語解析部(Semantic Parser Emulator)105において既存の音声認識や意味解析が実行され言葉の意味の把握などが実行される。解釈された言葉は、会話管理部(Discourse Manager)101に出力される。
また、グラウンディング処理の実行時には、ユーザの発した言葉はグラウンディング処理解析部(Grounding Act Emulator)106にも入力され、グラウンディング処理、すなわちユーザ20と情報処理装置100との相互理解処理において実行されたユーザの行動や発話情報がグラウンディングアクト情報(Grounding Act)として抽出され、ユーザの発話情報とともに会話管理部(Discourse Manager)101に出力される。
ユーザの言葉の意味が言語解析部(Semantic Parser Emulator)105において十分に把握された場合、会話管理部(Discourse Manager)101は、タスク管理部(Task Manager)103に対してタスク実行要求を出力する。具体的には、例えばチャンネル切り替え指示情報や番組表(EPG)表示要求などの言語情報(Semantic Element)を出力する。タスク管理部(Task Manager)103は、会話管理部(Discourse Manager)101から入力される要求に応じたタスクを実行する。タスクの実行結果は、例えば表示部(Display)102に出力される。
なお、タスク管理部(Task Manager)103は、会話管理部(Discourse Manager)101に対して許容されるタスク情報などについてのタスク情報を通知する。
一方、ユーザの言葉の意味が言語解析部(Semantic Parser Emulator)105において十分に把握されなかった場合などにおいて実行されるグラウンディング処理の実行時には、グラウンディング処理解析部(Grounding Act Emulator)106において、ユーザの行動や発話情報がグラウンディングアクト情報(Grounding Act)として抽出され、ユーザの発話情報とともに会話管理部(Discourse Manager)101に出力される。
会話管理部(Discourse Manager)101は、グラウンディング処理解析部(Grounding Act Emulator)106からの情報入力に応じてグラウンディング処理、すなわち、ユーザとの相互理解を行なうためのグラウンディング処理を行なう。このグラウンディング処理に際しては、POMDPが利用される。
グラウンディング処理では、例えば、表示部(Display)102に対する質問の表示などを実行し、その質問に対するユーザ20からの回答をユーザインタフェース(GUI Front−End)104を介して入力し、言語解析部(Semantic Parser Emulator)105における音声認識や意味解析などを含む言語解析、グラウンディング処理解析部(Grounding Act Emulator)106におけるグラウンディングアクトの抽出などが実行され、その結果情報が会話管理部(Discourse Manager)101に入力される。グラウンディング処理においては、この処理が繰り返し実行されることになる。
会話管理部(Discourse Manager)101におけるPOMDPを利用したグラウンディング処理によって、最終的にユーザの発した言葉の意味が確認された場合は、会話管理部(Discourse Manager)101は、タスク管理部(Task Manager)103に対してタスク実行要求を出力する。具体的には、例えばチャンネル切り替え指示情報や番組表(EPG)表示要求などの言語情報(Semantic Element)を出力する。タスク管理部(Task Manager)103は、会話管理部(Discourse Manager)101から入力される要求に応じたタスクを実行する。タスクの実行結果は、例えば表示部(Display)102に出力される。
[(3)会話管理部の実行するグラウンディング処理の詳細]
会話管理部(Discourse Manager)101の実行するグラウンディング処理の詳細シーケンスについて、図5〜図7に示すフローチャートを参照して説明する。
図5は、会話管理部(Discourse Manager)101の実行するグラウンディング処理の全体シーケンスを示すフローチャートである。
図6は、図5に示すステップS102の処理、すなわち、ユーザ発話に基づいてPOMDPに適用する観測値(observations ID)を生成する処理の詳細シーケンスを示すフローチャートである。
図7は、図5に示すステップS104の処理、すなわち、POMDP実行部200におけるグラウンディング処理の詳細シーケンスを示すフローチャートである。POMDP実行部200は、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用したグラウンディング処理が実行される。
図5に示すフローチャートの各ステップの処理について説明する。
まず、ステップS101においてユーザ発話が実行される。このユーザの発話情報は、図4に示すユーザインタフェース104を介して会話管理部(Discourse Manager)101に入力される。
次に、会話管理部101はステップS102において、ユーザ発話に基づいてPOMDPに適用する観測値(observations ID)を生成する。
このステップS102の処理の詳細について、図6に示すフローチャートを参照して説明する。
会話管理部101は、ステップS201において、図4に示すユーザインタフェース104を介して入力したユーザ発話に対する理解確信度(Belief of Understanding)を算出する。この時点では、言語解析処理に基づく情報(セマンティック情報)のみからの理解確信度を算出する。言語解析処理に基づく情報(セマンティック情報)のみからの言語意味的確信度[SemConf]の算出式を以下に示す。
SemConf=f(Semantic Confidence from language Processeing)
なお、上記式において、f()は、会話管理部101が保持している言語意味的確信度[SemConf]算出のための関数である。
次に、会話管理部101は、ステップS202において、ユーザインタフェース104を介して入力したユーザ発話の言語解析結果の妥当性(relevance)の有無をタスク管理部(Task Manager)103に問い合わせる。タスク管理部103は、ユーザ発話の言語解析結果の妥当性(relevance)の有無を会話管理部101に通知する。
例えば、この処理がテレビシステムにおいて実行されている場合、チャンネル切り替えなどテレビの操作に関するユーザ発話が認識されていれば、タスク管理部103は、妥当性ありの判定結果を返し、テレビの操作に関係のない言葉、例えば「疲れた」等のユーザ発話が認識されていれば、タスク管理部103は、妥当性なしの判定結果を返す。なお、タスク管理部103はこの判定を行うためのプログラムを保持しており、そのプログラムに従って判定処理を行う。
次に、会話管理部101は、ステップS203において、ユーザインタフェース104を介して入力したユーザ発話の一貫性(consistency)の有無をタスク管理部103に問い合わせる。タスク管理部103は、ユーザ発話の一貫性(consistency)の有無を会話管理部101に通知する。
例えば、タスク管理部103が、すでに何らかのユーザからの要求に応じた処理を実行している場合などにおいて、その次の指示として入力されたユーザ発話が、現在の処理に矛盾のない一貫性を有するものであるか否かについてタスク管理部103が判定する。なお、タスク管理部103は、ユーザ発話の言語解析結果の妥当性(relevance)や一貫性(consistency)の判定を行うためのプログラムを保持しており、そのプログラムに従って判定処理を行う。
次に、会話管理部101は、ステップS204において、タスク管理部103から受領した情報、すなわち実体的情報(Pragmatic Opinion)に基づいて、実体的情報に対応した理解確信度を算出する。この実体的情報からの理解確信度である実体的確信度[PragConf]の算出式を以下に示す。
PragConf=g(relevance,consistency)
なお、上記式において、g()は、会話管理部101が保持している実体的確信度[PragConf]算出のための関数である。
次に、ステップS205において、会話管理部101は、ステップS201で算出した言語解析処理に基づく情報(セマンティック情報)のみからの理解確信度である言語意味的確信度[SemConf]と、ステップS204で算出した実体的情報からの理解確信度である実体的確信度[PragConf]の双方を加味した総合的確信度[OverallConf]を算出する。総合的確信度[OverallConf]の算出式を以下に示す。
OverallConf=h(semantic,pragmatic)
なお、上記式において、h()は、会話管理部101が保持している総合的確信度[OverallConf]算出のための関数である。
次に、ステップS206において、会話管理部101は、ユーザインタフェース104を介して入力したユーザ発話のグラウンディングアクト(Grounding Act)の種類(カテゴリ)をタスク管理部103に問い合わせる。すなわち、ユーザ発話が、図2に示すInitiate(I)〜cancel(R)のいずれに相当するかについて問い合わせる。タスク管理部103は、ユーザ発話のアクションを予め保持するプログラムに従って解析し、解析結果としてユーザ発話がどのグラウンディングアクト(Grounding Act)であるかを会話管理部101に通知する。
ステップS207において、会話管理部101はPOMDPに適用する観測値(observations ID)を生成する。入力したユーザ発話に対応する観測値である。この観測値(observations ID)は、以下の各値に基づいて算出される。
(a)ステップS201で算出した言語解析処理に基づく情報(セマンティック情報)のみからの言語意味的確信度[SemConf]
(b)ステップS204で算出した実体的情報からの実体的確信度[PragConf]
(c)ステップS205で算出した総合的確信度[OverallConf]
(d)ステップS206でタスク管理部103から取得したユーザ発話のグラウンディングアクト(Grounding Act)情報
これらの情報に基づいて、予め定めた算出プログラムに従って観測値(observations ID)を決定する。
観測値(observations ID)の決定式は以下のように示される。
observations ID=z(semantic,pragmatic,overall,grounding act)
なお、上記式において、z()は、会話管理部101が保持している観測値(observations ID)算出のための関数である。
例えば、言語意味的確信度[SemConf]や、実体的確信度[PragConf]や、総合的確信度[OverallConf]は、
確信度の高い[H(High)]、
確信度の低い[L(Low)]
中間的な確信度[A(Ambiguous)]
これらの3種類の値のいずれかに設定される。
また、ユーザ発話のグラウンディングアクト(Grounding Act)は、図2に示すInitiate(I)〜cancel(R)のいずれか(図2に示す例では13種類)である。
結果として3×3×3×13の異なる組み合わせパターンが存在することになる。
会話管理部101は、これらの組み合わせパターンの各々に対応する観測値(observations ID)との対応データを保持し、この対応データに基づいて観測値(observations ID)を算出する。
このように、図6に示すフローのステップS201〜S207の処理によって、会話管理部101はPOMDPに適用する観測値(observations ID)を生成する。入力したユーザ発話に対応する観測値である。
図5に戻り、会話管理部101の全体処理シーケンスについての説明を続ける。ステップS102において、会話管理部101は、図6に示すフローのステップS201〜S207の処理に従って、ユーザ発話に対応する観測値(observations ID)を生成する。
次にステップS103において、ユーザ発話に対応する観測値(observations ID)をPOMDP実行部200に出力する。次のステップS104の処理は、POMDP実行部200の実行するグラウンディング処理である。このPOMDP実行部200の実行するグラウンディング処理の詳細について図7に示すフローチャートを参照して説明する。
ステップS301において、POMDP実行部200は、ユーザ発話に対応する観測値(observations ID)を受領する。次にステップS302において、ユーザ発話に対応する観測値(observations ID)に基づいて理解確信度(belief status)の更新処理を実行する。
先に説明したように、POMDPでは、理解確信度(belief status)は、観測値(observations ID)に基づいて更新される。例えば前述したように、
ユーザ:I need a flight to London
このようなリクエストに対して、システムが相互理解を得るための確認処理として、
システム:Did you say "to London"?
このような質問を実行し、この質問に対してユーザから、
ユーザ:Yes
このような答えを取得することで、理解の確信度:Pを高めるといったプロセスである。
目的地がロンドンであることについての[確信度(P)]は、をユーザ応答(yes)によって高められることになる。
この場合の確信度Pは、
P(Destination=London|Evidence=Yes)
として示される。
ステップS302においては、上記処理と同様の処理を行い、ユーザ発話に対応する観測値(observations ID)に基づいて理解確信度(belief status)の更新処理を実行する。
次にステップS303において、装置からユーザに対して次に実行するアクションを決定する。このアクションは、例えば図2に示すInitiate(I)〜cancel(R)のいずれか(図2に示す例では13種類)である。
先に説明したように、POMDPは、以下の情報を適用した状態予測や行動決定を行なう手法である。
(a)状態情報(State space):S
(b)行動情報(Action space):A
(c)観測情報(Observation space):O
(d)報酬情報(Reward space):R
これらの各情報が、時間(t)の経過に伴って推移するものとし、
例えば状態遷移確率の算出関数や、報酬の算出関数、ある観測状態の発生確率を算出する関数などを定義して、取得可能な情報と、定義関数に基づいて状態予測や行動決定を実行する。
ここでは、ステップS301において、ユーザ発話に対応する新たな観測値(observations ID)が取得され、この観測値に基づいて予め規定されたアルゴリズムに従って、次の行動(アクション)を決定する。例えば図2に示すInitiate(I)〜cancel(R)の各々を行った場合の報酬(Reward)を算出する。なお、この場合の報酬(Reward)は例えば理解確信度に相当する。
ステップS304では、ステップS303において算出した各アクション対応の報酬(Reward)(=理解確信度)のを比較して、最も高い値を示すアクションを実行アクションとして決定し、POMDP実行部200が装置側のアクションとして実行する。
次に、POMDP実行部200は、ステップS305において、実行アクションの識別子であるアクションIDを会話管理部(Discourse Manager)101に通知する。
図5に戻り、会話管理部101の全体処理シーケンスについての説明を続ける。ステップS104において、POMDP実行部200は、図7に示すフローのステップS301〜S307の処理に従ってグラウンディング処理を行う。すなわち装置側のアクションを決定し実行し、装置側の実行したアクションIDが会話管理部101に通知される。
会話管理部101は、ステップS105において、装置側の実行したアクションIDにより、グラウンディング、すなわち相互理解の達成状況を解析する。具体的には、装置側の実行アクションが、
(a)理解確認応答を意味する[Ack]、または
(b)タスク管理部(Task Manager)への処理要求を意味する[Send to TM]
これらのいずれかである場合は、グラウンディング、すなわち相互理解が達成された(Grounded)と判定する。
一方、装置側の実行アクションが、上記の(a)[Ack]、(b)[Send to TM]、これら以外のアクションである場合には、グラウンディング、すなわち相互理解が達成されなかった(Not Grounded)と判定する。
グラウンディング、すなわち相互理解が達成された(Grounded)と判定した場合は、ステップS106の判定がYesとなり、ステップS108に進む。
ステップS108では、グラウンディング・アクト(Grounding Act)のリセットを行い、ステップS109において、タスク管理部(TM)に対する通知(タスク依頼)を実行する。
一方、グラウンディング、すなわち相互理解が達成されなかった(Not Grounded)と判定した場合は、ステップS106の判定がNoとなり、ステップS107に進む。
ステップS107では、グラウンディング・アクト(Grounding Act)の結果、すなわち相互理解が得られていないことを例えば装置のディスプレイなどに表示してユーザに通知する処理を行う。その後、さらに継続してグラウンディング処理が行われることになる。
なお、図5に示す処理は、例えばグラウンディング処理の実行期間において継続的に繰り返し実行され、ステップS106において相互理解の達成が確認されるか、あるいは、グラウンディングフェーズが終了するまで繰り返し実行される。
次に、会話管理部(Discourse Manager)101のPOMDP実行部200の実行する処理、すなわち、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用した処理について図8を参照して説明する。
POMDP実行部200は、POMDPを適用した処理として、以下の2つの処理を行なう。
(A)ユーザ発話がグラウンディング(理解)されたかの管理処理
(B)グラウンディングの状態(フェーズ)遷移の管理処理
これらの2種類の処理を実行する。
図8に、これら(A),(B)2つの処理についてPOMDPにおける管理情報、すなわち、先に図3を参照して説明した以下の情報
(a)状態情報(State space):S
(b)行動情報(Action space):A
(c)観測情報(Observation space):O
(d)報酬情報(Reward space):R
を示す。
なお、このPOMDPは、観測情報(Observation)を末端ノードとしたベイジアンネットワーク(Bayesian Network)によって構築されている。ベイジアンネットワークは、確率変数の依存関係を有向グラフの形式で表現したネットワークであり、例えば、事象をノード、各事象間の因果関係をリンクにより記述した有向グラフである。学習サンプルデータを用いた学習によって、ベイジアンネットワークを構成するノードについて、個別の条件に基づいて発生する確率をまとめたテーブルとしてのコンディショナル確率テーブル(CPT:Conditional Probability Tables)を得ることができる。
ベイジアンネットワークおよびコンディショナル確率テーブル(CPT)について、図9を参照して説明する。ベイジアンネットワークは確率推論を行なうために適用され、特に、一部の事象のみしか観察できない不確実性を含む対象領域における予測や意思決定を定量的に取り扱うことができる。このアルゴリズムの基本は、複数の事象をノードとして設定しノード間の依存関係をモデル化するものである。
図9に示す例では、ノードとして、[Cloudy(曇り)]、[Sprinkler(噴水)]、[Rain(雨)]、[WetGlass(濡れ芝)]の4つの事象ノードを設定した例を示している。各ノードを結ぶ矢印は、矢印の出力元(親ノード)が、矢印の出力先(子ノード)の状態に影響を及ぼすことを示す。
図に示す例では、ノード[Cloudy(曇り)]が、
真(True)の確率=0.5
偽(False)の確率=0.5
であるとする。
この場合、ノード[Cloudy(曇り)]を親ノードとする子ノード[Sprinkler(噴水)]において、Sprinkler(噴水)が動作する(True)確率と、動作しない(False)確率を、親ノード[Cloudy(曇り)]の状態に応じたコンディショナル確率テーブル(CPT:Conditional Probability Tables)として得ることができる。図9に示すCPT301である。
CPT301は、
親ノード[Cloudy(曇り)]=F(False)の場合、
子ノード[Sprinkler(噴水)]が、
動作しない(False)確率=0.5
動作する(True)確率=0.5
であり、
親ノード[Cloudy(曇り)]=T(True)の場合、
子ノード[Sprinkler(噴水)]が、
動作しない(False)確率=0.9
動作する(True)確率=0.1
であることを示している。
CPT301において、P(S=F)は、子ノード[Sprinkler(噴水)]が偽(False)である確率(Possibility)を示し、P(S=T)は、子ノード[Sprinkler(噴水)]が真(True)である確率(Possibility)を示している。
また、ノード[Cloudy(曇り)]を親ノードとする子ノード[Rain(雨)]において、Rain(雨)である(True)確率と、Rain(雨)でない(False)確率を、親ノード[Cloudy(曇り)]の状態に応じたコンディショナル確率テーブル(CPT:Conditional Probability Tables)として得ることができる。図9に示すCPT302である。
CPT302は、
親ノード[Cloudy(曇り)]=F(False)の場合、
子ノード[Rain(雨)]が、
雨でない(False)確率=0.8
雨である(True)確率=0.2
であり、
親ノード[Cloudy(曇り)]=T(True)の場合、
子ノード[Rain(雨)]が、
雨でない(False)確率=0.2
雨である(True)確率=0.8
であることを示している。
さらに、ノード[Sprinkler(噴水)]と、ノード[Rain(雨)]を親ノードとする子ノード[WetGlass(濡れ芝)]において、芝が濡れている(True)確率と、芝が濡れていない(False)確率を、親ノードノード[Sprinkler(噴水)]と[Rain(雨)]の状態に応じたコンディショナル確率テーブル(CPT:Conditional Probability Tables)として得ることができる。図9に示すCPT303である。
CPT303は、
親ノード[Sprinkler(噴水)]=F(False)
親ノード[Rain(雨)]=F(False)の場合、
子ノード[WetGlass(濡れ芝)]が、
芝が濡れていない(False)確率=1.0
芝が濡れている(True)確率=0.0
であり、
親ノード[Sprinkler(噴水)]=T(True)
親ノード[Rain(雨)]=F(False)の場合、
子ノード[WetGlass(濡れ芝)]が、
芝が濡れていない(False)確率=0.1
芝が濡れている(True)確率=0.9
であり、
親ノード[Sprinkler(噴水)]=F(False)
親ノード[Rain(雨)]=T(True)の場合、
子ノード[WetGlass(濡れ芝)]が、
芝が濡れていない(False)確率=0.1
芝が濡れている(True)確率=0.9
であり、
親ノード[Sprinkler(噴水)]=T(True)
親ノード[Rain(雨)]=T(True)場合、
子ノード[WetGlass(濡れ芝)]が、
芝が濡れていない(False)確率=0.01
芝が濡れている(True)確率=0.99
であることを示している。
このように子ノードでのそれぞれの結果が生じる確率を親ノードのコンディションの確率に依存した分布を示すテーブルとして設定したテーブルが、コンディショナル確率テーブル(CPT:Conditional Probability Tables)である。このようにベイジアンネットワークを適用することで、ある原因が生じたという条件のもとである結果が得られる条件付確率の表としてのCPTを取得することができる。
本発明の構成では、先に図3を参照して説明した以下の情報
(a)状態情報(State space):S
(b)行動情報(Action space):A
(c)観測情報(Observation space):O
(d)報酬情報(Reward space):R
これらの各情報に含まれる要素の依存関係を、ベイジアンネットワークを利用して表現し、図8に示すPOMDPを設定している。POMDP実行部200は、ベイジアンネットワークを利用したPOMDP処理として、以下の2つの処理を個別のベイジアンネットワークを設定して実行する。
(A)ユーザ発話がグラウンディング(理解)されたかの管理処理
(B)グラウンディングの状態(フェーズ)遷移の管理処理
これらの2種類の処理を実行する。
図8に示す各ノードの情報について説明する。
(A)ユーザ発話がグラウンディング(理解)されたかの管理処理において、
観測情報(Observation space)は、
実体的情報(Pragmatic Evidence)221
全体観察情報(Overall Understanding)222
言語意味解析情報(Semantic Evidence)223
これら3つの観測情報によって構成される。
状態情報(State space)は、
実体的状態(Pragmatic)231
意味解析状態(Semantic)232
理解完了状態(Grounded)233
これら3つの状態情報によって構成される。
さらに、報酬情報(Reward space)として、
グラウンディングコスト(Grounding Cost)241
が設定される。
観測情報(Observation space)に含まれる実体的情報(Pragmatic Evidence)221は、例えば先に説明した図6のフローにおけるステップS202〜S203においてタスク管理部103から得られるタスクの実現性などに基づいて得られる情報である。
例えば先に説明したように、確信度の高い[H(High)]、確信度の低い[L(Low)]、中間的な確信度[A(Ambiguous)]これらの情報が得られる。なお、情報の取得態様は様々な設定が可能であり、タスクの実現性の有無に応じた(Yes,No)の2つの観測情報が得るような設定でもよい。
また、観測情報(Observation space)に含まれる全体観察情報(Overall Understanding)222は、観測情報241,243から得られる観測情報以外の様々な情報が含まれる。例えば発話を実行したユーザの会話状況、システムの出力した質問に応答した/しないといった状況や、ユーザが存在するか否かといった各種の情報についての観察情報などが含まれる。
各観測情報に応じて、上述した[H(High)]、[L(Low)]、[A(Ambiguous)]、あるいは、(Yes,No)等の観測情報が得られる。
さらに、観測情報(Observation space)に含まれる言語意味解析情報(Semantic Evidence)223は、ユーザの発した言葉の音声認識、意味解析結果の情報である。
例えば意味解析成功か否かに応じた[H(High)]、[L(Low)]、[A(Ambiguous)]、あるいは、(Yes,No)等の観測情報が得られる。
状態情報(State space)に含まれるタスク実現性を含む実体的状態(Pragmatic)231は、観測情報(Observation space)に含まれる実体的情報(Pragmatic Evidence)221の解析情報に基づく状態値が設定される。
例えば、例えばタスクの実現性の有無に応じて[H(High)]、[L(Low)]、[A(Ambiguous)]、あるいは、(Yes,No)等の各状態が確率値として設定される。(Yes,No)の2状態を適用した場合には、例えばYesの確率[0.8]、Noの確率[0.2]などの確率値データが設定される。
図10(1)に実体的解析状態(Pragmatic)231の持つ時間経過に従った状態値データの推移例を示す。[Yes]の確率値と、[No]の確率値が観測情報(実体的情報(Pragmatic Evidence)221)の入力に従った時間経過に伴って変化する。
また、状態情報(State space)に含まれる意味解析状態(Semantic)232は、観測情報(Observation space)に含まれる言語意味解析情報(Semantic Evidence)223の解析情報に基づく状態が設定される。
例えば、意味解析成功か否かの観測情報に応じて(Yes,No)の2つの状態が確率値として設定される。具体的には、Yesの確率[0.9]、Noの確率[0.1]などの確率値データである。
図10(2)に意味解析状態(Semantic)232の持つ時間経過に従った状態値データの推移例を示す。[Yes]の確率値と、[No]の確率値が観測情報(言語意味解析情報(Semantic Evidence)223)の入力に従った時間経過に伴って変化する。
さらに、状態情報(State space)に含まれる理解完了状態(Grounded)233は、状態情報(State space)に含まれるタスク実現性などを含む実体的状態(Pragmatic)231と、意味解析状態(Semantic)232の情報と、その他の観測情報である全体観察情報(Overall Understanding)222によって取得される観測情報、例えば発話を実行したユーザの会話状況、システムの出力した質問に応答した/しないといった状況や、ユーザが存在するか否かといった各種の情報についての観察情報などに基づく総合的な状態値が設定される。
例えば、理解が完了したか否かの(Yes,No)の2つの状態が確率値として設定される。具体的には、Yesの確率[0.7]、Noの確率[0.3]などの確率値データである。
図10(3)に理解完了状態(Grounded)233の持つ時間経過に従った状態値データの推移例を示す。[Yes]の確率値と、[No]の確率値が、タスク実現性情報などによって生成される実体的状態(Pragmatic)231と、意味解析状態(Semantic)232の情報と、その他の観測情報である全体観察情報(Overall Understanding)222の入力に従った時間経過に伴って変化する。
報酬情報(Reward space)として設定されるグラウンディングコスト(Grounding Cost)241は、状態情報(State space)に含まれる理解完了状態(Grounded)233の実行のコストに相当する。例えば、グラウンディング処理によって十分な理解が得られて正しい処理が可能となった場合や、結果として理解が得られず時間の浪費となった場合にコストに差が生じる設定とされる。
また、(B)グラウンディングの状態(フェーズ)遷移の管理処理において、
観測情報(Observation space)は、
ユーザグラウンディングアクション(User Grounding Act)251
この情報によって構成される。
状態情報(State space)は、
事前プロセス(Process previous state)261
プロセス(process)262
これら2つの状態情報によって構成される。
行動情報(Action space)は、
情報処理装置の実行するシステムグラウンディングアクション(System Grounding Action)271
によって構成される。
さらに、報酬情報(Reward space)として、
プロセスコスト(Process Costs)281
アクションコスト(Action Costs)282
これらの2つの報酬情報が設定される。
観測情報(Observation space)に含まれるユーザグラウンディングアクション(User Grounding Act)251は、グラウンディング処理において実行するユーザのアクション情報である。具体的には、例えば、先に図1、図2を参照して説明したグラウンディングモデルを適用する場合、ユーザのアクションとして、
発話開始処理(Initiate)
継続処理(continue)
確認処理(repair)
確認要求処理(ReqRepair)
理解確認応答(ack)
理解確認応答要求(Reqack)
キャンセル(cancel)
これらの観測情報が得られることになる。
状態情報(State space)に含まれる事前プロセス(Process previous state)261、およびプロセス(process)262は、グラウンディングアクションにおける時系列の2つの実行プロセス状態に相当する。例えば、先に図1、図2を参照して説明したグラウンディングモデルを適用する場合、これらの事前プロセス261、およびプロセス262の状態値は、S,1,2,3,4,F,D、すなわち、
S:初期状態、
1:開始直後、
2.システム困惑、
3.要確認
4.ユーザ困惑、
D.キャンセル
F.グラウンディング完了
これらの7状態のそれぞれに対する確率値が設定される。S〜Fのそれぞれの確率値の総計が[1]になるように、S〜F対応の確率値が設定される。
図11にプロセス(process)262の持つ時間経過に従った状態値データの推移例を示す。S〜F対応の確率値が観測情報(ユーザグラウンディングアクション(User Grounding Act)251)の入力に従った時間経過に伴って変化する。
行動情報(Action space)に含まれるシステムグラウンディングアクション(System Grounding Action)271は、情報処理装置の実行する相互理解のためのグラウンディングアクションである。これは、システム側の実行する処理であり、先に図1、図2を参照して説明したグラウンディングモデルを適用する場合、システムの実行アクションとして、
処理開始(Initiate)
継続処理(continue)
確認処理(repair)
確認要求処理(ReqRepair)
理解確認応答(ack)
理解確認応答要求(Reqack)
キャンセル(cancel)
これらの処理が行なわれることになる。
報酬情報(Reward space)として設定されるプロセスコスト(Process Costs)281は、状態情報(State space)に含まれるプロセス(Process)262の実行のコストに相当する。例えば、プロセスに要する時間や、処理負荷などに応じてコストに差が生じる設定とされる。
報酬情報(Reward space)として設定されるアクションコスト(Action Costs)282は、行動情報(Action space)に含まれるシステムグラウンディングアクション(System Grounding Action)271の実行のコストに相当する。例えば、グラウンディング処理に要する時間や、処理負荷などに応じてコストに差が生じる設定とされる。
図8に示すシステムグラウンディングアクション(System Grounding Action)271は、POMDPにおける行動情報(Action space)に対応する。システムグラウンディングアクション(System Grounding Action)271は、情報処理装置の実行する相互理解のためのグラウンディングアクションである。
先に図1、図2を参照して説明したグラウンディングモデルを適用する場合、システムの実行アクションは、
処理開始(Initiate)
継続処理(continue)
確認処理(repair)
確認要求処理(ReqRepair)
理解確認応答(ack)
理解確認応答要求(Reqack)
キャンセル(cancel)
これらの処理のいずれかとなる。これらの処理のいずれを実行するかについては、POMDPにおいて設定されたコスト算出アルゴリズムに従って算出されたコストに応じて決定される。
先に図1、図2を参照して説明したグラウンディングモデルを適用する場合、システムの実行アクションは上記の7種類のアクション[処理開始(Initiate)〜キャンセル(cancel)]のいずれかとなる。しかし、先に説明したように、図1,2に示すグラウンディングモデルは一例であり、他の形態のグラウンディングモデルを適用することも可能である。
例えば、システムやユーザの実行アクションとして、
処理開始(Initiate)
理解確認応答(ack)
キャンセル(cancel)
これらの3つのみのアクションのみを定義した簡略化したグラウンディングモデルを適用してもよい。
例えば図1に示すグラウンディングモデルから、処理開始(Initiate)、理解確認応答(ack)、キャンセル(cancel)、これらの3つのアクションのみを残して、他のアクションを省略したグラウンディングモデルが利用できる。なお、図1に示すグラウンディングフェーズS,1,2,3,4,F,D、これらのフェーズも一部省略した設定としてもよい。
処理開始(Initiate)、理解確認応答(ack)、キャンセル(cancel)、これらの3つのアクションのみを定義した簡略化したグラウンディングモデルを適用した場合の処理例について説明する。
例えば、POMDPに従ったグラウンディング処理を実行する装置がテレビを持つ装置であり、ユーザがテレビのチャンネル変更を要求した場合についての具体例について説明する。
ユーザが「チャンネルを1にして下さい。」と装置側に要求した場合、まず、ユーザの言葉の意味を図4に示す言語解析部(Semantic Parser Emulator)105が解析する。
言語解析部(Semantic Parser Emulator)105においてユーザの発話が十分に把握されなかった場合などに、グラウンディング処理が実行される。この場合、グラウンディング処理解析部(Grounding Act Emulator)106において、ユーザの行動や発話情報がグラウンディングアクト情報(Grounding Act)として抽出され、ユーザの発話情報とともに会話管理部(Discourse Manager)101に出力される。
会話管理部(Discourse Manager)101は、グラウンディング処理解析部(Grounding Act Emulator)106からの情報入力に応じてグラウンディング処理、すなわち、ユーザとの相互理解を行なうためのグラウンディング処理を行なう。このグラウンディング処理に際しては、POMDPが利用される。
グラウンディング処理では、例えば、表示部(Display)102に対する質問の表示などを実行し、その質問に対するユーザ20からの回答をユーザインタフェース(GUI Front−End)104を介して入力し、言語解析部(Semantic Parser Emulator)105における音声認識や意味解析などを含む言語解析、グラウンディング処理解析部(Grounding Act Emulator)106におけるグラウンディングアクトの抽出などが実行され、その結果情報が会話管理部(Discourse Manager)101に入力される。グラウンディング処理においては、この処理が繰り返し実行されることになる。
ユーザが「チャンネルを1にして下さい。」と装置側に要求した場合、会話管理部(Discourse Manager)101は、ユーザとの相互理解を行なうためのグラウンディング処理として、表示部(Display)102に対して、例えば、以下の質問の表示を行う。
「チャンネルは1チャンネルでよろしいですか」
この質問に対するユーザ応答は、
(a)はい(Yes)、
(b)いいえ(No)、
(c)その他(Else)、
これら(a)〜(c)の3種類であることが想定される。
会話管理部(Discourse Manager)101は、上記の3種類のユーザ応答に応じて、実行アクションを決定する。
例えば、
(A)ユーザ応答がはい(Yes)の場合は、実行アクション(GroundingAct)=理解確認応答(ack)とする。
(B)ユーザ応答がいいえ(No)の場合は、実行アクション(GroundingAct)=キャンセル(cancel)とする。
(C)ユーザ応答がその他(Else)の場合は、実行アクション(GroundingAct)=処理開始(Initiate)とする。
上記の実行アクション(GroundingAct)決定アルゴリズムは以下のように示すことができる。
If Answer is YesNoAnswer
If Answer is Negative
GroundingAct=Cancel
Else
GroundingAct=Ack
Else
GroundingAct=Initiate
このように示すことができる。
なお、実行アクション(GroundingAct)=処理開始(Initiate)の場合には、さらなるユーザ発話を入力して新たなグラウンディング処理を開始するといった設定である。このようにアクション数を限定(上記例では3つ)として、簡略化したグラウンディングモデルを適用して処理を行ってもよい。
このように、本発明のグラウンディング処理は、様々な形態のグラウンディングモデルを利用して、またPOMDPを適用したプロセスを実行することで、ユーザと情報処理装置間の相互理解を効率的に進めることができる。
[(4)POMDPを適用したグラウンディング処理の具体例]
図12以下を参照して、本発明のPOMDPを適用したグラウンディング処理についての評価データについて説明する。図12、図13は、本発明のPOMDPを適用したグラウンディング処理と、POMDPを利用しないグラウンディング処理の処理結果の比較を示す図である。
まず、タスクとしてユーザが情報処理装置としてのシステム(テレビ)に対してある番組の表示要求を行なうものとする。例えばユーザが「スポーツが見たい」といった要求を行なって会話を開始、目的のスポーツ番組を表示するまでの処理を比較した。
比較対象は、
(1)believe:システムがユーザの言葉を全て信頼する処理
(2)confirm:システムがユーザの言葉を入力した際、必ず確認を行なう処理
(3)POMDP:上述の本発明に従ったPOMDPを利用した処理
これらの3つの処理態様である。
評価は、2つの指標、すなわち、
(A)タスク達成率:目的の番組の選択に成功した割合、
(B)所要ターン数:目的の番組を選択するまでに要したユーザの発話数、
これらの指標を採用した。
4人のユーザが各々10番組を選択する処理を行い、計40回の処理を上記(1)〜(3)の処理を実行して得られた評価結果(A)、(B)を図12、図13に示す。なお、それぞれ言語処理の精度が低精度のシステムと高精度のシステムの2通りのシステムを適用した場合の処理結果を示している。
図12は、
(A)タスク達成率:目的の番組の選択に成功した割合、
について、
(1)believe:システムがユーザの言葉を全て信頼する処理
(2)confirm:システムがユーザの言葉を入力した際、必ず確認を行なう処理
(3)POMDP:上述の本発明に従ったPOMDPを利用した処理
これらの3つの処理態様の各々の結果データを示している。図から理解されるように、POMDPを適用した処理が、最もタスク達成率が高くなっており、他の処理態様に比較して優れた結果が得られている。
図13は、
(B)所要ターン数:目的の番組を選択するまでに要したユーザの発話数、
について、
(1)believe:システムがユーザの言葉を全て信頼する処理
(2)confirm:システムがユーザの言葉を入力した際、必ず確認を行なう処理
(3)POMDP:上述の本発明に従ったPOMDPを利用した処理
これらの3つの処理態様の各々の結果データを示している。図から理解されるように、[believe]、すなわち、システムがユーザの言葉を全て信頼する処理は、ターン数が最も少ないが、POMDPを適用した処理も[believe]と同レベルのターン数で処理が完了している。
[believe]すなわち、システムがユーザの言葉を全て信頼する処理は図12に示すタスク達成率が低く、タスク達成率と、所要ターン数を考慮した総合的な評価として本発明に従ったPOMDPを適用した処理が優れている結論づけることができる。
次に、図14〜図17を参照して、POMDPを利用したグラウンディング所の具体的な処理例について説明する。図14〜図17の例は、それぞれ以下の処理例である。
(1)ユーザとシステム間のコミュニケーションが良好に行なわれた場合(図14)
(2)ユーザからの要求が曖昧(低信頼度)である場合(図15)
(3)ユーザからの要求をシステムが間違って理解した場合(図16)
(4)ユーザとシステム間のコミュニケーションが長い場合(図17)
これらの処理例である。
図14〜図17には、それぞれ、
ユーザとシステム(情報処理装置)との質問シーケンスと、
(A)グラウンディング状態遷移
(B)グラウンディング完了状態遷移
をユーザからの発話入力に対応する遷移データとして示している。
(A)グラウンディング状態遷移は、図8に示すPOMDPにおけるプロセス(Process)262の状態遷移に相当し、
(B)グラウンディング完了状態遷移は、図8に示すPOMDPにおける理解完了(Grounded)233、タスク実現性などの情報によって生成される実体的解析(Pragmatic)231、意味解析(Semantic)232各々における[Yes]の確率値に対応する。
以下、図14〜図17の各々について説明する。
(1)ユーザとシステム間のコミュニケーションが良好に行なわれた場合
図14は、ユーザとシステム間のコミュニケーションが良好に行なわれた場合である。
この場合、例えば、(A)グラウンディング状態遷移は、
S(初期状態)→1(開始直後)→F(グラウンディング)
と順調に推移してグラウンディング、すなわちユーザとシステム間の相互理解が行なわれたことを示している。
(B)グラウンディング完了状態遷移については、理解完了(Grounded)233、実体的解析(Pragmatic)231、意味解析(Semantic)232各々における[Yes]の確率値が、2回目の発話入力時点で、[Yes]の確信度が高くなり、ほぼユーザの要求が理解されたことが確信された状態であることが示されている。
(2)ユーザからの要求が曖昧(低信頼度)である場合
図15は、ユーザからの要求が曖昧(低信頼度)である場合である。ユーザからの2番目の発話入力、
[スポーツが見たい]
この発話がシステム側ではっきり聞き取れないなどの問題が発生したものであり、システム側では、
[アニメで間違いないでしょうか]
という確認を求める質問を行なった例である。
この場合、例えば、(A)グラウンディング状態遷移は、
S(初期状態)→1(開始直後)→(1(開始直後)≒0.6,2(システム困惑)≒0.1,4(ユーザ困惑)≒0.3)→F(グラウンディング)
といった推移になっており、ユーザグラウンディング、すなわちユーザとシステム間の理解がユーザ発話2〜3において困惑した状態が発生したことを示している。
(B)グラウンディング完了状態遷移については、理解完了(Grounded)233、実体的む解析(Pragmatic)231、意味解析(Semantic)232各々における[Yes]の確率値が、2回目の発話入力時点で、[Yes]の確信度が一旦、低くなり、3回目の発話入力時点で、[Yes]の確信度が低くなり、ほぼユーザの要求が理解されたことが確信された状態であることが示されている。
(3)ユーザからの要求をシステムが間違って理解した場合
図16は、ユーザからの要求をシステムが間違って理解した場合である。ユーザからの2番目の発話入力、
[スポーツが見たい]
この発話がシステム側ではっきり聞き取れないなどの問題が発生したものであり、システム側では、
[アニメで間違いないでしょうか]
という確認を求める質問を行ない、さらに、この質問をユーザが聞き取れず、3番目の発話入力、
[何て言いましたか]
このユーザ発話があり、さらにシステムが、
[アニメが見たいのですか]
と質問して、結果として、ユーザから否定応答、
[違います]
と入力された場合の処理である。
この場合、例えば、(A)グラウンディング状態遷移は、
S(初期状態)→1(開始直後)→(2(システム困惑)≒0.2,4(ユーザ困惑)≒0.8)→(3(要確認)≒0.2,D(キャンセル)≒0.8)
といった推移になっており、ユーザグラウンディング、すなわちユーザとシステム間の理解が実現されず、キャンセル状態に至ったことを示している。
(B)グラウンディング完了状態遷移については、理解完了(Grounded)233、実体的解析(Pragmatic)231、意味解析(Semantic)232各々における[Yes]の確率値が、2回目の発話入力時点で、[Yes]の確信度が低くなっているが、その後回復しており、解析情報については、大きな問題が発生していないことを示している。
(4)ユーザとシステム間のコミュニケーションが長い場合
図17は、ユーザとシステム間のコミュニケーションが長い場合の例であり、ユーザ発話1〜5の入力によってグラウンディングされた例である。
この場合、例えば、(A)グラウンディング状態遷移は、
S(初期状態)→1(開始直後)→・・・・→F(グラウンディング)
といったユーザ発話回数に応じて、複数の状態を経過した後グラウンディング状態に至る推移になっており、最終的にユーザグラウンディング、すなわちユーザとシステム間の理解状態に至ったことを示している。
(B)グラウンディング完了状態遷移については、理解完了(Grounded)233、実体的解析(Pragmatic)231、意味解析(Semantic)232各々における[Yes]の確率値が、2回目の発話入力時点で、[Yes]の確信度が高くなり、この解析情報については、何ら問題が発生していないことを示している。
[(5)本発明の情報処理装置のハードウェア構成例]
次に、上述したPOMDPを利用したグラウンディング処理を実行する情報処理装置の構成例について、図18を参照して説明する。情報処理装置450は例えば、プログラム実行機能を備えた情報処理装置、例えば一般的なPCやプログラム実行部としてのCPUを備えたテレビなど様々な装置によって実現される。なお、ハードウェア構成の具体例については、後段で説明する。
情報処理装置450は、ユーザインタフェース451、POMDPを適用したグラウンディング処理などを実行する会話管理部452、タスク管理部453、表示部454、記憶部455、データベース456を有する。ユーザインタフェース451、会話管理部452、タスク管理部453、表示部454の各々は、先に図4を参照して説明した各構成に対応する。
例えば、ユーザインタフェース451を介してユーザ発話が入力されると、会話管理部452においてPOMDPを適用したグラウンディング処理が実行される。会話管理部452は、先に図4〜図8等を参照して説明したPOMDPによるグラウンディング処理を実行する。タスク管理部452は、情報処理装置450において実行するタスクの管理を実行する。詳細は、先に図4を参照して説明した通りである。
なお、データベース456には、POMDPに適用するプログラム、コスト算出アルゴリズム、POMDPに適用される状態遷移確率の算出関数や、報酬の算出関数、ある観測状態の発生確率を算出する関数などの情報、質問ルールなどのデータを格納している。記憶部454は、各種データ処理に適用するパラメータ、プログラムの格納領域、ワーク領域などに用いられるメモリである。
最後に、上述した処理を実行する情報処理装置のハードウェア構成例について、図19を参照して説明する。CPU(Central Processing Unit)501は、OS(Operating System)に対応する処理、上述の実施例において説明したデータ処理部の実行主体として機能する。具体的には、POMDPを適用したグラウンディング処理、タスク管理処理などを実行する。これらの処理は、各情報処理装置のROM、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
ROM(Read Only Memory)502は、CPU501が使用するプログラム、POMDP生成処理プログラムや演算パラメータ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス504により相互に接続されている。
ホストバス504は、ブリッジ505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス506に接続されている。
音声入力部508はユーザの発話を入力する。入力部509はユーザにより操作される入力デバイスである。ディスプレイ510は、液晶表示装置またはCRT(Cathode Ray Tube)などから成る。
HDD(Hard Disk Drive)511は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU501によって実行するプログラムや情報を記録または再生させる。ハードディスクは、例えばPOMDP生成に適用するルールなどの格納手段などに利用され、さらに、データ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体521に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース507、外部バス506、ブリッジ505、およびホストバス504を介して接続されているRAM503に供給する。
接続ポート514は、外部接続機器522を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート514は、インタフェース507、および外部バス506、ブリッジ505、ホストバス504等を介してCPU501等に接続されている。通信部515は、ネットワークに接続されている。
なお、図19に示す情報処理装置のハードウェア構成例は、PCを適用して構成した装置の一例であり、図19に示す構成に限らず、上述した実施例において説明した処理を実行可能な様々な装置が適用可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、ユーザ発話を入力して言語解析を実行する言語解析部の解析情報と、タスクを実行するタスク管理部からのタスク実現性情報とを含む実体的情報などの観測情報を設定した部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ発話によるユーザ要求の理解処理としてのグラウンディング処理を実行する構成としたので、効率的な理解が可能となり、迅速かつ正確なユーザ要求の把握およびユーザ要求に基づくタスク実行が可能となる。
グラウンディングプロセスにおける状態遷移の一例について説明する図である。 グラウンディングプロセスにおけるアクションと状態遷移の対応例について説明する図である。 部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)の適用処理例について説明する図である。 本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。 本発明の一実施例に係る情報処理装置の会話管理部の処理について説明するフローチャートを示す図である。 本発明の一実施例に係る情報処理装置の会話管理部の処理について説明するフローチャートを示す図である。 本発明の一実施例に係る情報処理装置の会話管理部のPOMDP実行部の処理について説明するフローチャートを示す図である。 本発明の一実施例に係る情報処理装置の会話管理部の実行するPOMDP適用処理について説明する図である。 ベイジアンネットワークおよびコンディショナル確率テーブル(CPT)について説明する図である。 POMDPにおいて設定される状態情報の時間経過に従った状態値データの推移例を示す図である。 POMDPにおいて設定される状態情報の時間経過に従った状態値データの推移例を示す図である。 本発明の情報処理装置の実行するPOMDP適用処理およびその他の処理におけるグラウンディング処理の比較結果について説明する図である。 本発明の情報処理装置の実行するPOMDP適用処理およびその他の処理におけるグラウンディング処理の比較結果について説明する図である。 本発明の情報処理装置の実行するPOMDPを適用したグラウンディング処理例について説明する図である。 本発明の情報処理装置の実行するPOMDPを適用したグラウンディング処理例について説明する図である。 本発明の情報処理装置の実行するPOMDPを適用したグラウンディング処理例について説明する図である。 本発明の情報処理装置の実行するPOMDPを適用したグラウンディング処理例について説明する図である。 本発明の情報処理装置の構成例について説明する図である。 本発明の情報処理装置のハードウェア構成例について説明する図である。
符号の説明
20 ユーザ
100 情報処理装置
101 会話管理部(Discourse Manager)
102 表示部(Display)
103 タスク管理部(Task Manager)
104 ユーザインタフェース(GUI Front−End)
105 言語解析部(Semantic Parser Emulator)
106 グラウンディング処理解析部(Grounding Act Emulator)
200 POMDP実行部
221 実体的情報(Pragmatic Evidence)
222 全体観察情報(Overall Understanding)
223 言語意味解析情報(Semantic Evidence)
231 タスク実現性解析状態(Pragmatic)
232 意味解析状態(Semantic)
233 理解完了状態(Grounded)
241 グラウンディングコスト(Grounding Cost)
251 ユーザグラウンディングアクション(User Grounding Act)
261 事前プロセス(Process previous state)
262 プロセス(process)
271 システムグラウンディングアクション(System Grounding Action)
281 プロセスコスト(Process Costs
282 アクションコスト(Action Costs)
301〜303 CPT(Conditional Probability Tables)
450 情報処理装置
451 ユーザインタフェース
452 会話管理部
453 タスク管理部
454 表示部
455 記憶部
456 データベース
501 CPU(Central Processing Unit)
502 ROM(Read−Only−Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 音声入力部
509 入力部
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器

Claims (20)

  1. ユーザの発話を入力して解析する情報処理装置であり、
    ユーザ発話を入力し言語解析を実行するユーザインタフェースと、
    前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行する会話管理部と、
    前記会話管理部のグラウンディング処理結果情報に基づいてタスクを実行するタスク管理部を有することを特徴とする情報処理装置。
  2. 前記情報処理装置は、さらに、
    前記会話管理部の実行するグラウンディング処理においてユーザに対するシステムアクションの表示を実行する表示部を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記会話管理部は、
    ユーザ発話に対応して生成される言語意味解析情報と、前記タスク管理部のタスク実現性を含む情報に基づいて生成される実体的情報を観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記会話管理部は、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項3に記載の情報処理装置。
  5. 前記会話管理部は、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値とその他の観測情報から算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項3に記載の情報処理装置。
  6. 前記会話管理部は、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項3に記載の情報処理装置。
  7. 前記会話管理部は、
    前記ユーザの発話を含むユーザアクションを観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  8. 前記会話管理部は、
    前記ユーザアクションを観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行する構成であることを特徴とする請求項7に記載の情報処理装置。
  9. ユーザの発話を入力して解析する情報処理装置における情報処理方法であり、
    ユーザインタフェースが、ユーザ発話を入力し言語解析を実行する言語入力解析ステップと、
    会話管理部が、前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行する会話管理ステップと、
    タスク管理部が、前記会話管理ステップにおけるグラウンディング処理結果情報に基づいてタスクを実行するタスク管理ステップを有することを特徴とする情報処理方法。
  10. 前記情報処理方法は、さらに、
    表示部が、前記会話管理ステップにおけるグラウンディング処理においてユーザに対するシステムアクションの表示を実行するステップを有することを特徴とする請求項9に記載の情報処理方法。
  11. 前記会話管理ステップは、
    ユーザ発話に対応して生成される言語意味解析情報と、前記タスク管理部のタスク実現性を含む情報に基づいて生成される実体的情報を観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項9に記載の情報処理方法。
  12. 前記会話管理ステップは、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項11に記載の情報処理方法。
  13. 前記会話管理ステップは、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値とその他の観測情報から算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項11に記載の情報処理方法。
  14. 前記会話管理ステップは、
    前記言語意味解析情報を観測情報として算出される状態値と、前記実体的情報を観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項11に記載の情報処理方法。
  15. 前記会話管理ステップは、
    前記ユーザの発話を含むユーザアクションを観測情報(Observation space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項9に記載の情報処理方法。
  16. 前記会話管理ステップは、
    前記ユーザアクションを観測情報として算出される状態値を状態情報(State space)として設定したPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項15に記載の情報処理方法。
  17. 前記会話管理ステップは、
    前記ユーザアクションを観測情報として算出される状態値を含む状態情報(State space)に基づいてコストを算出する構成を持つPOMDPを適用したグラウンディング処理を実行するステップであることを特徴とする請求項15に記載の情報処理方法。
  18. 前記会話管理ステップは、
    前記グラウンディング処理における実行アクションとして、処理開始(Initiate)、継続処理(continue)、確認処理(repair)、確認要求処理(ReqRepair)、理解確認応答(ack)、理解確認応答要求(Reqack)、キャンセル(cancel)の各処理を定義したグラウンディングモデルを適用した処理を実行するステップである請求項9に記載の情報処理方法。
  19. 前記会話管理ステップは、
    前記グラウンディング処理における実行アクションとして、処理開始(Initiate)、理解確認応答(ack)、キャンセル(cancel)の各処理を定義したグラウンディングモデルを適用した処理を実行するステップである請求項9に記載の情報処理方法。
  20. 情報処理装置において、ユーザの発話を入力して解析する情報処理を実行させるコンピュータ・プログラムであり、
    ユーザインタフェースに、ユーザ発話を入力し言語解析を実行させる言語入力解析ステップと、
    会話管理部に、前記ユーザインタフェースを介して入力するユーザ発話情報の認識結果を入力し、部分観測マルコフ決定過程(POMDP:Partially Observable Markov Decision Process)を適用して、ユーザ要求を理解するグラウンディング処理を実行させる会話管理ステップと、
    タスク管理部に、前記会話管理ステップにおけるグラウンディング処理結果情報に基づいてタスクを実行させるタスク管理ステップを有することを特徴とするコンピュータ・プログラム。
JP2008307076A 2007-12-07 2008-12-02 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Abandoned JP2010020273A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008307076A JP2010020273A (ja) 2007-12-07 2008-12-02 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
PCT/JP2008/072061 WO2009072567A1 (ja) 2007-12-07 2008-12-04 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN2008801185101A CN101884064B (zh) 2007-12-07 2008-12-04 信息处理设备和信息处理方法
US12/745,464 US20100312561A1 (en) 2007-12-07 2008-12-04 Information Processing Apparatus, Information Processing Method, and Computer Program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007317713 2007-12-07
JP2008153482 2008-06-11
JP2008307076A JP2010020273A (ja) 2007-12-07 2008-12-02 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2010020273A true JP2010020273A (ja) 2010-01-28

Family

ID=40717744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008307076A Abandoned JP2010020273A (ja) 2007-12-07 2008-12-02 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (4)

Country Link
US (1) US20100312561A1 (ja)
JP (1) JP2010020273A (ja)
CN (1) CN101884064B (ja)
WO (1) WO2009072567A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9142212B2 (en) 2010-08-03 2015-09-22 Chi-youn PARK Apparatus and method for recognizing voice command
JP2018124922A (ja) * 2017-02-03 2018-08-09 株式会社デンソーアイティーラボラトリ 情報処理装置、情報処理方法、およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130325482A1 (en) * 2012-05-29 2013-12-05 GM Global Technology Operations LLC Estimating congnitive-load in human-machine interaction
US9837075B2 (en) * 2014-02-10 2017-12-05 Mitsubishi Electric Research Laboratories, Inc. Statistical voice dialog system and method
JP2019106054A (ja) * 2017-12-13 2019-06-27 株式会社東芝 対話システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727124A (en) * 1994-06-21 1998-03-10 Lucent Technologies, Inc. Method of and apparatus for signal recognition that compensates for mismatching
CN1151488C (zh) * 1998-10-02 2004-05-26 国际商业机器公司 通过一般分层对象进行有效语音导航的结构框架
US6490698B1 (en) * 1999-06-04 2002-12-03 Microsoft Corporation Multi-level decision-analytic approach to failure and repair in human-computer interactions
JP2001273473A (ja) * 2000-03-24 2001-10-05 Atr Media Integration & Communications Res Lab 会話用エージェントおよびそれを用いる会話システム
CN1828723B (zh) * 2005-03-03 2011-07-06 台达电子工业股份有限公司 分散式语言处理系统及其所使用的输出中介信息的方法
US20090030683A1 (en) * 2007-07-26 2009-01-29 At&T Labs, Inc System and method for tracking dialogue states using particle filters
US8660844B2 (en) * 2007-10-24 2014-02-25 At&T Intellectual Property I, L.P. System and method of evaluating user simulations in a spoken dialog system with a diversion metric

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9142212B2 (en) 2010-08-03 2015-09-22 Chi-youn PARK Apparatus and method for recognizing voice command
JP2018124922A (ja) * 2017-02-03 2018-08-09 株式会社デンソーアイティーラボラトリ 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
WO2009072567A1 (ja) 2009-06-11
CN101884064A (zh) 2010-11-10
US20100312561A1 (en) 2010-12-09
CN101884064B (zh) 2012-04-25

Similar Documents

Publication Publication Date Title
Uc-Cetina et al. Survey on reinforcement learning for language processing
Thomson et al. Bayesian update of dialogue state: A POMDP framework for spoken dialogue systems
JP6228260B2 (ja) 音声対話システムのためのデバイスおよび方法
US10019984B2 (en) Speech recognition error diagnosis
CN105788593B (zh) 生成对话策略的方法及系统
Müller et al. Recognizing time pressure and cognitive load on the basis of speech: An experimental study
TWI377561B (en) Natural language business system and method based on unisolated performance metric
JP6611053B2 (ja) 主題推定システム、主題推定方法およびプログラム
KR20120079344A (ko) 결합기반의 음성명령 인식 장치 및 그 방법
JP2019086679A (ja) 対話システム、対話方法および対話プログラム
CN111159364B (zh) 对话系统、对话装置、对话方法以及存储介质
EP3647936A1 (en) Electronic apparatus and control method thereof
JP2010020273A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
Frampton et al. Recent research advances in reinforcement learning in spoken dialogue systems
KR20210119338A (ko) 대화 생성 방법, 장치, 전자 기기 및 매체
KR20190062982A (ko) 전자 장치 및 전자 장치의 동작 방법
CN108053826B (zh) 用于人机交互的方法、装置、电子设备及存储介质
Kim et al. Sequential labeling for tracking dynamic dialog states
Young et al. Evaluation of statistical pomdp-based dialogue systems in noisy environments
Horvitz et al. Deeplistener: harnessing expected utility to guide clarification dialog in spoken language systems.
CN117709339A (zh) 一种基于直播间用户行为网络的语言模型增强方法及系统
Chinaei et al. An inverse reinforcement learning algorithm for partially observable domains with application on healthcare dialogue management
JP2009157905A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR102613365B1 (ko) 인공지능 기반 클라우드 서비스 서버 결정 장치 및 방법
KR20200071821A (ko) 신경망 상의 문법 변형을 이용한 가짜뉴스 탐색 방법, 이를 수행하기 위한 기록매체 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111027

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20130415