JP6995566B2 - ロボット対話システム及びロボット対話システムの制御方法 - Google Patents

ロボット対話システム及びロボット対話システムの制御方法 Download PDF

Info

Publication number
JP6995566B2
JP6995566B2 JP2017212761A JP2017212761A JP6995566B2 JP 6995566 B2 JP6995566 B2 JP 6995566B2 JP 2017212761 A JP2017212761 A JP 2017212761A JP 2017212761 A JP2017212761 A JP 2017212761A JP 6995566 B2 JP6995566 B2 JP 6995566B2
Authority
JP
Japan
Prior art keywords
robot
cost
action
difference
certainty
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.)
Active
Application number
JP2017212761A
Other languages
English (en)
Other versions
JP2019084598A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017212761A priority Critical patent/JP6995566B2/ja
Priority to CN201811256088.8A priority patent/CN109754794A/zh
Priority to EP18203092.4A priority patent/EP3480814A1/en
Priority to US16/174,592 priority patent/US20190126488A1/en
Publication of JP2019084598A publication Critical patent/JP2019084598A/ja
Application granted granted Critical
Publication of JP6995566B2 publication Critical patent/JP6995566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • 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/26Speech to text systems
    • 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/28Constructional details of speech recognition systems
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Description

本発明は、利用者とコミュニケーションを取りながらサービスを提供するロボットの対話システムに関する。
近年、人間と同じ空間に存在し、様々なサービスを提供するサービスロボットが広く開発されている。サービスロボットに行わせるサービスを開発する者(以下、サービス開発者)は、サービスロボットのメーカから提供される開発環境やシナリオ生成ツールを用いて開発を行うことが多い。
サービスロボットに詳しいサービス開発者に対しては、より低水準なAPIが提供される。一方で、サービスロボットに詳しくないサービス開発者であっても簡単な言語やGUIでサービスを記述できるシナリオ生成ツールが提供される。サービスロボットの普及にあたり、サービス開発の容易さは重要なファクターである。
一方で、サービスロボットが音声認識の誤り等によりユーザの意図を誤解し、それに基づき行動することにより大きな不便をユーザに強いる可能性がありうる。サービスロボットはサービス開発者の意図に沿った行動を行うと同時に、そのような不便な状況をできるだけ作り出さないように行動しなければならない。
例えば特許文献1では、会話の内容から状況を推定し、その状況を出力する自動対話生成方法が開示されている。
例えば特許文献2では、ユーザやエージェントの状態を推定し、状態に即した応答文を生成する会話文生成方法が開示されている。
特開2006-172280号公報 国際公開第2014/073612号 国際公開第2014/073613号
サービスロボットに詳しくないサービス開発者が、シナリオ生成ツールを用いてサービス開発を行う場合、サービスロボットがユーザの意図を間違って認識してしまい、ユーザに不便をかけるケースを十分に想定することが難しい。
例えば、ユーザが案内してほしい場所をサービスロボットが聞き間違うことで、間違った場所に案内してしまうことは、ユーザにとって大きな負担である。また、ユーザに負担をかけるケースに気づいたとしても、ユーザの負担を回避するサービスロボットのシナリオをシナリオ生成ツールを用いて実装することは困難である。
前述した特許文献1では、会話の内容から推定した状況を出力する自動対話生成方法が開示されているが、サービスロボットが行う発話の内容とロボットのおかれた環境の状況を照らし合わせて適切な行動をとる方法は提供されていない。
また、特許文献2では、ユーザやエージェントの内部状態を推定して応答文の生成を行っているが、サービスロボットが取得しようとする情報とサービスロボットのおかれた環境の状況に基づいて行動の制御を行うという方法は提供されていない。
そこで本発明は、上記問題点に鑑みてなされたもので、サービスロボットのおかれた環境に基づいてサービスロボットの行動を制御することを目的とする。
本発明は、プロセッサと記憶装置を有して利用者と対話するロボットと、プロセッサと記憶装置を有して前記ロボットを制御する対話サーバと、前記対話サーバと前記ロボットを接続するネットワークと、を含むロボット対話システムであって、前記ロボットは、音声情報によって前記利用者と対話を行う音声情報対話部と、移動先を受け付けて、当該移動先へロボットを移動させる移動装置と、前記音声情報対話部が受け付けた発話内容と、前記発話内容から算出した確信度を前記対話サーバへ送信し、当該発話内容に対する行動を前記対話サーバから受信して、前記音声情報対話部と前記移動装置を制御する制御部と、を有し、前記対話サーバは、前記ロボットに実行させる前記行動を前記発話内容に応じて予め設定したシナリオ情報と、前記行動の種類に応じて前記ロボットのコストを予め設定したコスト情報と、前記ロボットから受信した前記発話内容のうち、発話の種類を格納する項目名と、前記発話内容に対応する前記行動を格納する候補値と、前記発話内容に対応する確信度する状態情報と、前記ロボットから前記発話内容と前記確信度を受け付けて、前記ロボットに実行させる前記行動を決定して前記ロボットに指令するロボット制御部と、前記コスト情報と前記状態情報に基づいて前記ロボットの前記行動のコストを算出するコスト計算部と、を有し、前記ロボット制御部は、前記ロボットから受信した前記発話内容に対応する前記発話の種類を前記項目名に格納し、前記発話内容に対応する前記行動を前記候補値に格納し、前記発話内容に対応する確信度を前記状態情報の前記確信度に格納し、前記状態情報から前記項目名の種類が異なる前記候補値の組み合わせを第1の候補値と第2の候補値として選択し、前記第1の候補値の確信度と前記第2の候補値の確信度の積を当該組み合わせの確信度Rとして算出し、前記確信度Rが最も前記候補値の組み合わせを新たな第1の行動として選択し、現在の前記ロボットの状態で前記新たな第1の行動を実行した場合のコストを差異コストC1として前記コスト計算部に算出させ、前記状態情報から前記項目名の種類が異なる前記候補値の組み合わせの前記確信度Rが最も前記第1の候補値と前記第2の候補値の組み合わせを除いた前記状態情報について、前記項目名の種類が異なる前記候補値の組み合わせを第3の候補値と第4の候補値として選択し、前記第3の候補値の確信度と第4の候補値の確信度の積を当該組み合わせの前記確信度Rとして算出し、前記算出した前記組み合わせの前記確信度Rが最も前記候補値の組み合わせを新たな第2の行動として選択し、現在の前記ロボットの状態で前記新たな前記第2の行動を実行した場合のコストを差異コストC2として前記コスト計算部に算出させ、前記差異コストC1と前記差異コストC2のうちコストが最小となる候補値の組み合わせを新たな行動として選択する。
本発明によれば、ユーザの意図を誤解した判定に基づいてサービスロボットが行動を起こす前に、当該行動により生じる可能性のあるコストを削減する他の行動を自動的に実施するシナリオを生成する。これにより、サービスロボットのおかれた環境に基づいてサービスロボットの行動を制御することができる。また、サービス開発者が生成したシナリオに基づいてコストを削減可能なシナリオを自動的に生成するので、ユーザにかかる負担を抑制でき、ユーザの不満を抑えるサービスロボットの提供が可能となる。
本発明の実施例を示し、移動ロボット対話システムの一例を示す図である。 本発明の実施例を示し、サービスロボットの構成の一例を示すブロック図である。 本発明の実施例を示し、サービスロボットのメインプログラムの一例を示すフローチャートである。 本発明の実施例を示し、サービスロボットの音声認識プログラムの一例を示すフローチャートである。 本発明の実施例を示し、サービスロボットの音声合成プログラムの一例を示すフローチャートである。 本発明の実施例を示し、サービスロボットの移動プログラムの一例を示すフローチャートである。 本発明の実施例を示し、ロボット対話サーバの構成の一例を示すブロック図である。 本発明の実施例を示し、ロボット制御プログラムの一例を示すフローチャートである。 本発明の実施例を示し、コスト計算プログラムの一例を示すフローチャートである。 本発明の実施例を示し、状態テーブルの一例を示す図である。 本発明の実施例を示し、状態テーブルの一例を示す図である。 本発明の実施例を示し、シナリオ生成装の構成の一例を示すブロック図である。 本発明の実施例を示し、シナリオ生成装置によって生成されるメインシナリオの一例を示す図である。 本発明の実施例を示し、シナリオ生成装置によって生成されるサブシナリオの一例を示す図である。 本発明の実施例を示し、シナリオ生成装置によって生成されるサブシナリオの一例を示す図である。 本発明の実施例を示し、コストテーブルの一例を示す図である。 本発明の実施例を示し、シナリオ生成プログラムの一例を示すフローチャートである。 本発明の実施例を示し、シナリオ生成装置が提供するユーザインタフェースの一例を示す図である。 本発明の実施例を示し、シナリオの一例を示す図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は本発明の実施例を示し、移動ロボット対話システムの一例を示す図である。
本実施例では、サービスを行う環境として、通路11a、通路11b、階段12、トイレ13a、トイレ13bを含む。サービスロボット20aと、サービスロボット20bと、ロボット対話サーバ30が上記環境に配置され、ユーザ(利用者)40に対して所定のサービスを提供する。
ロボット対話サーバ30は、開発環境1内に設置されたシナリオ生成装置50に接続される。シナリオ生成装置50は、サービス開発者60によって利用される。サービスロボット20a、20bとロボット対話サーバ30は無線のIPネットワーク15によって接続され、ロボット対話サーバ30とシナリオ生成装置50は有線のIPネットワーク(図示省略)によって接続され、データ転送が可能な状態である。
図2はサービスロボット20の構成の一例を示すブロック図である。なお、サービスロボット20a、20bは同一の構成であるので、以下では符号20を用いて説明する。
バス210は記憶装置220と、CPU221と、NIF(Network Interface)222と、マイク223と、スピーカ224と、カメラ225と、LIDAR(Light Detection and Ranging)226と、移動装置227を相互に接続しデータ信号を中継するもので、汎用のPCで用いられる規格(PCIeなど)を用いることができる。
記憶装置220は後述するプログラムやデータを格納するもので、例えば、DRAMやHDDやSSDを用いることができる。
CPU221はプログラムに従い、記憶装置220、NIF222、マイク223、スピーカ224、カメラ225、LIDAR226、移動装置227を制御するもので、汎用のCPU(例えばSHー4プロセッサ)やチップコントローラを用いることができる。
NIF222は他の装置との通信を行うネットワークインタフェースであり、汎用の拡張ボードを用いることができる。
マイク223はサービスロボット20の周辺の音声を収録するもので、例えば、コンデンサマイクとA/Dコンバータを用いることができる。スピーカ224は電気信号を音声に変換する。
カメラ225は、サービスロボット20の周囲の画像を撮影する装置である。例えば、CCDとレンズなどを含んで構成される。
LIDAR226は可視光線などの電磁波を放射し、その反射波を計測することで、観測平面上の各方向の障害物(または物体)までの距離を測定する装置である。移動装置227は、環境内を移動するための動力と駆動装置を含む。
記憶装置220には、サービスロボット20を制御するメインプログラム231と、マイク223からの音声をテキストに変換する音声認識プログラム232と、テキストデータを音声に変換してスピーカ224から出力する音声合成プログラム233と、移動装置227を制御してサービスロボット20を移動させる移動プログラム234がロードされて、CPU221によって実行される。
CPU221は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、CPU221は、音声認識プログラム232に従って処理することで音声認識部として機能する。他のプログラムについても同様である。さらに、CPU221は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
サービスロボット20の各機能を実現するプログラム、テーブル等の情報は、ストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
なお、音声認識プログラム232と音声合成プログラム233を合わせて、音声情報対話部としてもよい。
図3はサービスロボット20のメインプログラム231の一例を示すフローチャートである。なお、以下の説明では、プログラムを処理の主体として説明するが、サービスロボット20を処理の主体として読み替えてもよい。
メインプログラム231は、サービスロボット20の起動時に実行され、音声認識プログラム232と、音声合成プログラム233と、移動プログラム234をそれぞれ立ちあげた後に、終了する(S101~S105)。
図4はサービスロボット20で実行される音声認識プログラム232の一例を示すフローチャートである。
音声認識プログラム232は、マイク223から音声を取得する(S202)。
音声認識プログラム232は、取得した音声に対して、音声認識を行う(S203)。音声認識プログラム232の音声認識処理については、周知または公知の技術を適用すれば良いので、詳述しない。
音声認識プログラム232は、音声認識結果であるテキストと確信度をサービスロボット20のイベント(音声認識イベント)として、NIF222経由でロボット対話サーバ30に送信する(S204)。なお、音声認識の結果の確信度の算出については、周知または公知の技術を適用すれば良いので、本実施例では詳述しない。
音声認識プログラム232は、所定の終了条件を満たしていれば処理を終了しそうでなければステップS202へ戻って上記処理を繰り返す(S205)。なお、所定の終了条件は、例えば、サービスロボット20の電源遮断あるいはスリープなどである。
上記処理によって、サービスロボット20がユーザ40から受け付けた発話をテキストに変換してロボット対話サーバ30へ送信する。
図5はサービスロボット20で実行される音声合成プログラム233の一例を示すフローチャートである。
音声合成プログラム233は、NIF222経由でロボット対話サーバ30からテキストを受信する(S302)。
次に音声合成プログラム233は、受信したテキストの音声を合成する(S303)。
音声合成プログラム233の音声合成処理については、周知または公知の技術を適用すれば良いので、詳述しない。
次に、音声合成プログラム233は、合成した音声をスピーカ224から出力する(S304)。
音声合成プログラム233は、所定の終了条件を満たしていれば処理を終了し、そうでなければステップS302へ戻って上記処理を繰り返す(S305)。なお、所定の終了条件は、例えば、サービスロボット20の電源遮断あるいはスリープなどである。
上記処理によって、サービスロボット20はロボット対話サーバ30から受け付けたテキストを音声に変換してスピーカ224から出力し、ユーザ40と対話を行う。
図6はサービスロボット20で実行される移動プログラム234の一例を示すフローチャートである。
移動プログラムは234、NIF222経由でロボット対話サーバ30からテキストを受信し、受信したテキストに記載された目的地を設定する(S402)。ロボット対話サーバ30から受け付けるテキストには、音声に変換するテキストと、目的地を設定するテキストを識別する情報が付加されても良い。あるいは、ロボット対話サーバ30から音声変換コマンドや目的地設定コマンドを受け付けて、サービスロボット20がテキストの変換を識別してもよい。
移動プログラム234は、目的地への移動命令を移動装置227に送信する。移動プログラム234は、移動が完了するまでステップS403の処理を繰り返す(S403、S404)。
移動プログラム234は、移動装置227による移動が完了したら、移動完了イベントをNIF222経由でロボット対話サーバ30に送信する(S405)。
移動プログラム234は、所定の終了条件を満たしていれば処理を終了し、そうでなければステップS402へ戻って上記処理を繰り返す(S406)。なお、所定の終了条件は、例えば、サービスロボット20の電源遮断あるいはスリープなどである。
上記処理によって、サービスロボット20はロボット対話サーバ30から受け付けたテキストを目的地に設定し、移動装置227によって指定された目的地まで移動する。
図7はロボット対話サーバ30の構成の一例を示すブロック図である。
バス310は記憶装置320と、CPU321と、NIF322を相互に接続しデータ信号を中継するもので、汎用のPCで用いられる規格(PCIeなど)を用いることができる。
記憶装置320は後述するプログラムやデータを格納するもので、例えばDRAMやHDDやSSDを用いることができる。
CPU321はプログラムに従い、記憶装置320、NIF322を制御するもので、汎用のCPU(例えばSHー4プロセッサ)やチップコントローラを用いることができる。
NIF322は他の装置との通信を行うネットワークインタフェースであり、汎用の拡張ボードを用いることができる。
記憶装置220には、サービスロボット20を制御するロボット制御プログラム331と、サービスロボット20の行動に関するコストを計算するコスト計算プログラム332がロードされて、CPU321によって実行される。
また、記憶装置220には、上記プログラムが使用するデータとして、状態テーブル(状態情報)341と、コストテーブル342と、シナリオ343が格納される。
CPU321は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、CPU321は、ロボット制御プログラム331に従って処理することでロボット制御部として機能する。他のプログラムについても同様である。さらに、CPU321は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
ロボット対話サーバ30の各機能を実現するプログラム、テーブル等の情報は、ストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図8は、ロボット制御プログラム331の一例を示すフローチャートである。なお、以下の説明では、プログラムを処理の主体として説明するが、ロボット対話サーバ30を処理の主体として読み替えてもよい。
まず、ロボット制御プログラム331は、サービスロボット20からイベント(テキスト)を受け付ける(S502)。
ロボット制御プログラム331は、サービスロボット20の音声認識プログラム232が発行した音声認識イベントの場合、サービスロボット20から受け付けた音声認識の結果(テキスト及び確信度)を状態テーブル341に書き込む(S503、S505)。ロボット制御プログラム331は、状態テーブル341を生成して受信したテキスト(発話内容)を候補値3412に格納し、確信度を確信度3413に格納する。
ロボット制御プログラム331は、サービスロボット20の移動プログラム234が発行した移動終了イベントを受け付けた場合、当該移動結果(移動終了イベント)を状態テーブル341に書き込む(S504、S505)。
次に、ロボット制御プログラム331は、ステップS506~S510のループ(Rループ)処理を実行する。
ロボット制御プログラム331は、シナリオ343を参照して現在位置を開始状態とするすべての状態遷移ルールについて、受信したイベントがマッチするか否かを判定する(S507)。
ロボット制御プログラム331は、受信したイベントが状態遷移ルールにマッチした場合、現在状態をその状態遷移ルールの遷移先状態に更新し、その状態に記述されたアクションを実行する(S508)。
ロボット制御プログラム331は、アクションがSAYの場合、サービスロボット20の音声合成プログラム233にテキストを送信する。また、ロボット制御プログラム331は、アクションの内容がMOVETOの場合、サービスロボット20の移動プログラム234にテキストを送信する(S509)。また、ロボット制御プログラム331は、アクションの内容がコスト計算の場合、後述するコスト計算プログラム322を呼び出す。
ロボット制御プログラム331は、所定の終了条件を満たしていれば処理を終了し、そうでなければステップS506へ戻って上記処理を繰り返す(S510)。なお、所定の終了条件は、例えば、ロボット対話サーバ30の電源遮断あるいはスリープなどである。
上記処理によって、ロボット対話サーバ30は、サービスロボット20から受け付けたイベントに基づいてアクションを決定し、アクションの内容を含むテキストをサービスロボット20に送信し、サービスロボット20の制御を行う。
図9はコスト計算プログラム332の一例を示すフローチャートである。
まず、コスト計算プログラム332は、ステップS602~S604のループ(Xループ)処理を実行し、状態テーブル341(図10A、図10B参照)における各項目名3411の種類毎に候補値3412の組み合わせについて確信度R(3413)および差異コストCを計算する。
コスト計算プログラム332は、状態テーブル341の各項目名3411について差異コストCと確信度Rの算出が完了するとステップS605へ進み、そうでなければステップS602へ戻って上記処理を繰り返す(S604)。
コスト計算プログラム332は、音声認識の結果の確信度Rを、各項目名3411の各候補値3412の確信度の積として求める。
例えば、図10(A)において、確信度R(目的=案内、場所=トイレ)=0.95*0.7=0.665となる。
例えば、図10(B)において、確信度R(目的=概要、場所=食事)=0.7*0.5=0.35となる。
差異コストCは、各項目名3411の候補値3412の組み合わせが実施されたときの、状態テーブル341の差異コストの期待値Cavgとなる。差異コストの期待値Cavgは、次式にて算出する。次式のXは各項目名3411の候補値3412の組み合わせの集合である。
Figure 0006995566000001
状態テーブル341の差異コストCは、最大確信度argmaxRの候補値3412の組み合わせが実施されたときの状態テーブル341と、当該組み合わせが実施されたときの状態テーブル341の差異について、コスト計算プログラム332が、コストテーブル342に記述されたコストの総和から計算する。
なお、最大確信度argmaxRは、状態テーブル341の確信度3413のうち、項目名3411毎に最大となる値を示す。
なお、状態テーブル341は、サービスロボット20のセッション(接続)毎にロボット対話サーバ30が生成し、状態テーブル341の差異は、例えば、状態テーブル341の前回値と現在値の差分とすることができる。
例えば、図10(A)において、項目名3411毎の最大確信度argmaxRの候補値3412の組み合わせは「目的=案内、場所=トイレ」となり、このときの差異コストC(目的=案内、場所=トイレ)=0となる。すなわち、図14のコストテーブル541において、場所=POSITIONが同一で、目的=SAY(発話の内容)が同一であるので、差異はない。
一方、図10(A)において、目的と場所を図10(B)の組み合わせを実施する場合では差異コストC(目的=概要、場所=食事)=100+1=101となる。図14のコストテーブル541において、場所=POSITIONが異なるのでコスト5412=100、目的=SAY(発話の内容)が異なるのでコスト5412=1となる。
例えば図10(B)において、最大確信度の候補値3412の組み合わせは、「目的=概要、場所=食事」であり、このとき差異コストC(目的=概要、場所=トイレ)=1となる。図14のコストテーブル541において、場所=POSITIONが同一で、目的=SAY(発話の内容)のみが異なるのでコスト5412=1となる。
期待値コストCexpは、次式のように、最大確信度argmaxR以外のコストの和として算出することができる(S605)。
Figure 0006995566000002
コスト計算プログラム332は、期待値コストが所定の閾値を上回るかを判断し、その結果を本プログラムの結果として返す(S606)。なお、コスト計算プログラム332は、期待値コストCexpと閾値の比較を行わずに、目的と場所の組み合わせについて、現在の状態テーブル341との差異コストCの算出結果をロボット制御プログラム331に出力してもよい。
上記処理によって、コスト計算プログラム332は、サービスロボット20の状態を反映する状態テーブル341、コストCと確信度Rを算出し、さらに期待値コストCexpを算出する。そして、コスト計算プログラム332は、期待値コストCexpが所定の閾値を上回ったか否か(または、目的と場所の組み合わせと、現在の状態テーブル341の差異コストCの算出結果)をロボット制御プログラム331に通知する。
なお、コスト計算プログラム332は、サービスロボット20がシナリオ343に基づいて、ユーザ40に発言するときの文章の文言(例:文章の文字列としての距離)や内容の違い(例:文章を意味空間に写像したときの距離など)を基準としてコストを計算してもよい。
なお、文章の文言としては、例えば、編集距離(レーベンシュタイン距離ともいう)に基づく距離を使用することができる。編集距離の計算は、周知または公知の手法で行えば良い。具体的には次のように計算できる。
L(A,B)=min(S(A,B)+I(A,B)+D(A,B))
ただし、S(A,B),I(A,B),D(A,B)はそれぞれ、AをBに変更する文字置換コスト、文字挿入コスト、文字削除コストである。
また、内容の違いとしては、例えば、文章から抽出される素性(単語や単語列、品詞など)に基づく多次元素性ベクトルを、予め定義した多次元空間にマッピングする。そして、この空間における文書ごとの距離(直線距離など)を用いることができる。
図10A、図10Bは状態テーブル341の一例を示す図である。
状態テーブル341は、項目名3411、候補値3412、確信度3413のカラムを含んで、サービスロボット20の状態を示す情報を保持する。なお、状態テーブル341は、サービスロボット20a、20bのそれぞれについて、セッション毎に生成される。
項目名3411に対して、候補値3412は、項目名3411がとりうる値を示し、確信度3413は、項目名3411がその候補値3412であると確信している度合いを表す数値を示す。
状態テーブル341は、サービスロボット20が把握している自身の状態や、ユーザ40との対話などにより得られたユーザの状態が、確信度3413とともに保存されている。なお、状態テーブル341は、上述のように、サービスロボット20a、20bのそれぞれのセッション毎に生成される。
図11はシナリオ生成装置50の構成の一例を示すブロック図である。
バス510は記憶装置520と、CPU521と、NIF522と、ディスプレイ523と、キーボード524と、マウス525を相互に接続してデータ信号を中継するもので、汎用のPCで用いられる規格(PCIeなど)を用いることができる。
記憶装置520は、後述するプログラムやデータを格納するもので、例えば、DRAMやHDDやSSDを用いることができる。
CPU521はプログラムに従い、記憶装置520、NIF522を制御するもので、汎用のCPU(例えばSH-4プロセッサ)やチップコントローラを用いることができる。
NIF522は他の装置との通信を行うネットワークインタフェースであり、汎用の拡張ボードを用いることができる。
ディスプレイ523は、フラットパネルディスプレイ等で構成される出力装置である。キーボード524、マウス525は入力装置である。
記憶装置520には、シナリオ生成プログラム531がロードされて、CPU521によって実行される。また、記憶装置520には、シナリオ生成プログラム531が利用するコストテーブル541と、シナリオ542が格納される。なお、コストテーブル541と、シナリオ542は、ロボット対話サーバ30のコストテーブル342と、シナリオ343と同様の構成である。
図12はシナリオ生成装置50により生成されるメインシナリオ550の一例を示す図である。なお、図12のメインシナリオ550と、図13A、図13Bのサブシナリオ560は、シナリオ542(343)に含まれる。
メインシナリオ550は状態遷移図で表現される。状態遷移図は、複数の状態と、状態遷移ルールからなる。状態遷移ルールは移動元状態と移動先状態とルールからなり、移動元状態においてルールに合致するイベントが発生した際に、移動先状態に遷移することを示す。
図12のメインシナリオ550は、待機ノードN10と、対話ノードN11と、案内開始ノードN12と、案内終了通知ノードN13と、帰還ノードN14の5つのノードから構成された例を示す。対話ノードN11は、一連の処理を設定したサブシナリオ560を含むことができる。
メインシナリオ550は、待機ノードN10ではサービスロボット20がユーザ40からの問い合わせを待ち受ける。サービスロボット20は、ユーザ40からの発話を受け付けて音声認識を実行し、ロボット制御プログラム331は、発話の内容に応じて状態の遷移先(遷移先状態)へ遷移する。例えば、音声認識の結果が「トイレへ案内してください」の場合は、ロボット制御プログラム331が所定のルール(S52)に基づいて、案内開始ノードN12へ遷移して、ユーザ40をトイレ13aに案内するようサービスロボット20に指令する。
また、音声認識の結果が「トイレはどこですか?」という問い合わせの場合、ロボット制御プログラム331は、所定のルール(S51)に基づいて、対話ノードN11へ遷移して、ユーザ40にトイレ13aの場所を音声合成にて案内するようサービスロボット20に指令する。対話ノードN11での音声認識の結果、ユーザ40がトイレ13aまでの案内を要求した場合、ロボット制御プログラム331は、案内開始ノードN12へ遷移して、サービスロボット20に指令してユーザ40をトイレ13aまで案内させる(S54)。
サービスロボット20は、目的地への案内が終了するとロボット対話サーバ30へ案内終了通知を送信し、ロボット制御プログラム331は案内終了通知ノードN13に遷移する。ロボット制御プログラム331は、所定の時間内にユーザ40からの問い合わせを受け付けない場合にはタイムアウト(S56)して帰還ノードN14へ遷移する。帰還ノードN14では、ロボット制御プログラム331がサービスロボット20を所定の位置に移動させて帰還を終了させ(S57)、待機ノードN10に復帰させる。
なお、対話ノードN11においても、所定の時間内にユーザ40からの問い合わせを受け付けない場合にはタイムアウト(S55)して待機ノードN10へ復帰する。
図13A、図13Bは、シナリオ生成装置50により生成されるサブシナリオ560の一例を示す図である。
サブシナリオ560はメインシナリオ550のうち対話ノードN11の処理の内容を定義したものである。図13Aは、編集されたサブシナリオ560の一例を示す。図13Bは、シナリオ生成プログラム531によって、対話終了ノードの直前にコスト計算ノードが追加された例を示す。
図13Aは、図12に示した対話ノードN11の詳細な処理を定義したサブシナリオ560で、サービス開発者60が編集を完了した状態を示している。
サブシナリオ560は、対話の目的が案内か否かを判定する判定ノードN112と、対話の目的が案内でない場合に目的を尋ねる問い合わせノードN113と、ユーザ40が問い合わせた場所が分かったか否かを判定する判定ノードN114と、場所が分からなかった場合に、ユーザ40へ場所を問い合わせる問い合わせノードN115と、対話終了ノードN120で構成される。
判定ノードN112では、ロボット制御プログラム331が、音声認識の結果が案内で、かつ、場所に関する音声認識の結果があれば、音声認識の結果に応じた場所とアクションをシナリオ343から選択する。目的が不明な場合には、問い合わせノードN113に進んで、目的を問い合わせるようサービスロボット20に指令する。
判定ノードN114では、音声認識の結果の場所が確定していれば、ロボット制御プログラム331は対話終了ノードN120に進み、音声認識の結果に応じた場所とアクションをサービスロボット20に実行させる。
一方、音声認識の結果の場所が確定していなければ、ロボット制御プログラム331は問い合わせノードN115に進んで、場所を問い合わせるようサービスロボット20に指令する。
ロボット制御プログラム331は、上記サブシナリオ560の処理を目的と場所が確定するまで実行することで、音声認識の結果に応じた場所とアクションを確定し、サービスロボット20に実行させることができる。
図13Bは、図13Aに示したサブシナリオ560を、シナリオ生成プログラム531の処理によって、コスト計算ノードを自動的に追加した例を示す。シナリオ生成プログラム531は、サブシナリオ560のノードを順次探索して対話終了ノードN120を検出する。
シナリオ生成プログラム531は、検出された対話終了ノードN120の直前にコスト計算ノードN116を追加し、さらにコスト計算ノードN116から呼び出される問い合わせノードN117を追加する。
コスト計算ノードN116では、現在のサービスロボット20の状態と、現在選択可能なアクションを実行した場合のコストが上記図9で示したように計算され、差異コストCや期待値コストCexpに応じて、問い合わせノードN117または対話終了ノードN120のいずれかに一方に進む判定が行われる。
図13Bのサブシナリオ560を実行するロボット制御プログラム331は、判定ノードN114で確定した目的と場所及びアクションについて、現在のサービスロボット20の状態を示す状態テーブル341(図10A、図10B)との差異コストC1をコスト計算プログラム332で算出させる。
すなわち、図13Bのサブシナリオ560を実行するロボット制御プログラム331は、状態テーブル341の各項目名3411のそれぞれについて、確信度3413の最も高い候補値3412の組み合わせを新たな行動として選択する。
例えば、音声認識の結果が図10Aの場合、ロボット制御プログラム331は、項目名3411が「目的」と「場所」のそれぞれについて、候補値3412から最も確信度が高い「案内」と「トイレ」を、新たな行動の組み合わせとして選択し、コスト計算プログラム332に現在の状態との差異コストC1を算出させる。
コスト計算プログラム332は、さらに、最も確信度が高い候補値3412を除いた候補値の組み合わせを、新たな行動の候補として選択し、現在のサービスロボット20状態との差異コストC2を算出する。なお、コスト計算プログラム332は、複数の候補値3412の組み合わせを行動の候補として複数の差異コストC2を算出することができる。
ロボット制御プログラム331は、新たな行動の組み合わせの差異コストC1と、新たな行動の候補の組み合わせの差異コストC2と比較して、差異コストが小さい方を新たな行動として出力することで、サービスロボット20のコストを削減できる。
そして、ロボット制御プログラム331は対話終了ノードN120へ進んでサブシナリオ560の処理を終了する。
ロボット制御プログラム331は、差異コストが小さくなる候補がない場合には、問い合わせノードN117へ進んで、場所または目的等の新たな行動の候補を音声対話によって問い合わせるようサービスロボット20に指令する。ロボット制御プログラム331は、音声対話によってサービスロボット20の利用者から新たな行動の候補を受け付けることができる。
そして、ロボット制御プログラム331は、上記判定ノードN112~コスト計算ノードN116の処理を繰り返して、コストを削減可能な行動を探索する。
ただし、ロボット制御プログラム331は、問い合わせノードN117の実行が所定回数(例えば、3回)を超えてループするのを禁止し、現時点で選択されている行動を新たな行動として選択して対話終了ノードN120に進み、問い合わせノードN117の実行が過大となるのを抑制する。
このように、ロボット制御プログラム331は、サービスロボット20から音声認識結果のテキストと確信度を受信すると、状態テーブル341を生成し、発話内容に対応する候補値3412と確信度を格納し、確信度3413の最も高い候補値3412の組み合わせを新たな行動として選択する。
そして、コスト計算プログラム332は、現在のサービスロボット20の状態(場所など)と新たな行動の差異コストC1を算出する。また、コスト計算プログラム332は、最も確信度が高い候補値3412を除いた候補値の組み合わせを、新たな行動の候補として選択し、現在のサービスロボット20状態との差異コストCを算出する。ロボット制御プログラム331は、差異コストC1と差異コストC2のうち、差異コストが最小となる行動を新たな行動として選択し、サービスロボット20に指令することができる。
なお、コスト計算プログラム332は、差異コストCとしては、サービスロボット20の現在の位置と、新たな行動の目的地の距離に基づいて差異コストCを算出することができる。また、コスト計算プログラム332は、差異コストCとしては、サービスロボット20a、20bの個体の違いに基づいて差異コストCを算出することができる。
なお、コスト計算ノードN116において、ロボット制御プログラム331は、期待値コストCexpと所定の閾値を比較して、新たな行動を決定するようにしても良い。また、フローチャートと状態遷移図は相互に容易に変換できる。
図14はコストテーブル541(342)の一例を示す図である。
コストテーブル541は、コスト種別5411とコスト5412のカラムを含む。コスト種別5411は、図中「POSITION」は、サービスロボット20の位置の違いを示し、図中「SAY」は、サービスロボット20の発話の違いを示し、図中「ROBOT」は、異なるサービスロボット20を示す。
コスト5412は、各コスト種別5411を実行した場合のコスト(処理の負荷や処理に要する時間)を示す指標で、予め設定された値である。
図15は、シナリオ生成プログラム531の一例を示すフローチャートである。この処理は、生成するシナリオ542の各サブシナリオの対話終了の直前にコスト計算処理を追加する。
まず、シナリオ生成プログラム531は、サービス開発者60が操作するキーボード524からシナリオ542の編集の要求を受け付けたか否かを判定する(S702)。シナリオ生成プログラム531は、編集の要求を受け付けた場合は、受け付けた内容に基づきシナリオ542の編集処理を行う(S703)。
具体的には、サービス開発者60がメインシナリオやサブシナリオに、ノードやアークの追加等の編集処理を行う。
次に、シナリオ生成プログラム531は、シナリオ542の保存要求を受け付けたか否かを判定し、受け付けた場合にはステップS705へ進み、受け付けていなければステップS702へ戻って上記処理を繰り返す(S704)。
シナリオ生成プログラム531は、シナリオ542の保存要求があった場合、現在編集中のメインシナリオに含まれるサブシナリオについて順次処理するループ(Sループ)処理(S705~S710)と、各サブシナリオに含まれるノードについて順次処理するループ(Nループ)処理(S706~S709)を実行する。
シナリオ生成プログラム531は、現在処理中のノードがサブシナリオ内の対話終了ノードであるか否かを判定する。対話終了ノードであればステップS708へ進み、そうでなければステップS709へ進んで次のノードの処理を実施する。
シナリオ生成プログラム531は、サブシナリオの対話終了のノード(N)の直前にコスト計算処理のノードを追加する(S708)。
シナリオ生成プログラム531は、サブシナリオのループ(Sループ)処理とサブシナリオ内のノードのループ(Nループ)処理が完了すると、ステップS711で編集したメインシナリオ及びサブシナリオをシナリオ542へ格納して処理を終了する。
上記処理によって編集が完了したサブシナリオ内の対話終了ノードの直前にはコスト計算プログラム332でコストの計算を行うことができる。
図16は、シナリオ生成装置50のシナリオ生成プログラム531がディスプレイ523に表示するユーザインタフェース5230の一例を示す図案ある。ユーザインタフェース5230はシナリオ生成装置50のディスプレイ523に表示される。
シナリオ生成プログラム531は、ユーザインタフェース5230画面の上部にシナリオ(メインシナリオ542)を表示し、画面の下部コストテーブル541を表示し、シナリオ及びコストテーブル541を編集することができる。
ユーザインタフェース5230の画面の下部には、保存ボタン5231が表示され、当該ボタンをクリックすることにより、シナリオ生成プログラム531にシナリオの保存要求を指令することができる。
図17は、生成されたシナリオ343(542)の一例を示す図である。シナリオ343(542)は、図12で示したようなメインシナリオ550に対応するメインシナリオテーブル3431と、図13A及び図13Bで示したようなサブシナリオ560に対応するサブシナリオテーブル3435を含む。
メインシナリオテーブル3431は、サービスロボット20の遷移前の位置(ノード)を格納する現在状態3432と、サービスロボット20の遷移先の位置(ノード)を格納する遷移先状態3433と、状態を遷移させるルールを格納する状態遷移ルール3434を一つのエントリに含む。
サブシナリオテーブル3435は、サービスロボット20の位置(ノード)を格納する状態3436と、サービスロボット20の処理を格納するアクション3437を一つのエントリに含む。
サービスロボット20は、シナリオ343(542)に基づいて図12のメインシナリオ550や図13A及び図13Bで示したサブシナリオ560を実施することが可能となる。
以上により説明した構成でロボット対話システムを構成すれば、ユーザ40の意図を誤解した音声認識の結果に基づいてサービスロボット20が行動を起こす前に、予定される行動により生じる可能性のあるコストを低減する行動を自動的に取得するサブシナリオ560を、シナリオ生成プログラム531がサービス開発者によって生成されたシナリオに基づき自動的に生成する。そして、ロボット制御プログラム331は、コストを低減する行動を取得するサブシナリオ560を実行することで、ユーザ40の不満を低減するロボットサービスの提供が可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
10 移動ロボット対話システム
20a、20b サービスロボット
30 ロボット対話サーバ
50 シナリオ生成装置
231 メインプログラム
232 音声認識プログラム
233 音声合成プログラム
234 移動プログラム
331 ロボット制御プログラム
332 コスト計算プログラム
341 状態テーブル
342、541 コストテーブル
343、542 シナリオ
531 シナリオ生成プログラム

Claims (10)

  1. プロセッサと記憶装置を有して利用者と対話するロボットと、
    プロセッサと記憶装置を有して前記ロボットを制御する対話サーバと、
    前記対話サーバと前記ロボットを接続するネットワークと、
    を含むロボット対話システムであって、
    前記ロボットは、
    音声情報によって前記利用者と対話を行う音声情報対話部と、
    移動先を受け付けて、当該移動先へロボットを移動させる移動装置と、
    前記音声情報対話部が受け付けた発話内容と、前記発話内容から算出した確信度を前記対話サーバへ送信し、当該発話内容に対する行動を前記対話サーバから受信して、前記音声情報対話部と前記移動装置を制御する制御部と、を有し、
    前記対話サーバは、
    前記ロボットに実行させる前記行動を前記発話内容に応じて予め設定したシナリオ情報と、
    前記行動の種類に応じて前記ロボットのコストを予め設定したコスト情報と、
    前記ロボットから受信した前記発話内容のうち、発話の種類を格納する項目名と、前記発話内容に対応する前記行動を格納する候補値と、前記発話内容に対応する確信度する状態情報と、
    前記ロボットから前記発話内容と前記確信度を受け付けて、前記ロボットに実行させる前記行動を決定して前記ロボットに指令するロボット制御部と、
    前記コスト情報と前記状態情報に基づいて前記ロボットの前記行動のコストを算出するコスト計算部と、を有し、
    前記ロボット制御部は、
    前記ロボットから受信した前記発話内容に対応する前記発話の種類を前記項目名に格納し、前記発話内容に対応する前記行動を前記候補値に格納し、前記発話内容に対応する確信度を前記状態情報の前記確信度に格納し、
    前記状態情報から前記項目名の種類が異なる前記候補値の組み合わせを第1の候補値と第2の候補値として選択し、前記第1の候補値の確信度と前記第2の候補値の確信度の積を当該組み合わせの確信度Rとして算出し、前記確信度Rが最も前記候補値の組み合わせを新たな第1の行動として選択し、現在の前記ロボットの状態で前記新たな第1の行動を実行した場合のコストを差異コストC1として前記コスト計算部に算出させ、
    前記状態情報から前記項目名の種類が異なる前記候補値の組み合わせの前記確信度Rが最も前記第1の候補値と前記第2の候補値の組み合わせを除いた前記状態情報について、前記項目名の種類が異なる前記候補値の組み合わせを第3の候補値と第4の候補値として選択し、前記第3の候補値の確信度と第4の候補値の確信度の積を当該組み合わせの前記確信度Rとして算出し、前記算出した前記組み合わせの前記確信度Rが最も前記候補値の組み合わせを新たな第2の行動として選択し、現在の前記ロボットの状態で前記新たな前記第2の行動を実行した場合のコストを差異コストC2として前記コスト計算部に算出させ、
    前記差異コストC1と前記差異コストC2のうちコストが最小となる候補値の組み合わせを新たな行動として選択することを特徴とするロボット対話システム。
  2. 請求項1に記載のロボット対話システムであって、
    前記コスト計算部は、
    前記ロボットの位置と前記第1の行動の目的地の距離に基づいて前記差異コストC1を計算し、前記ロボットの位置と前記第2の行動の目的地の距離に基づいて前記差異コストC2を計算することを特徴とするロボット対話システム。
  3. 請求項1に記載のロボット対話システムであって、
    前記コスト計算部は、
    前記ロボットが前記利用者に対して発言する文章の文言と内容の違いを基準として前記差異コストC1と前記差異コストC2を計算することを特徴とするロボット対話システム。
  4. 請求項1に記載のロボット対話システムであって、
    前記コスト計算部は、
    前記ロボットの個体の違いを基準として前記差異コストC1と前記差異コストC2を計算することを特徴とするロボット対話システム。
  5. 請求項1に記載のロボット対話システムであって、
    前記シナリオ情報を生成するシナリオ生成装置をさらに有し、
    前記シナリオ生成装置は、
    生成された前記シナリオ情報に対して前記コスト計算部にコストを計算させる指示を自動的に挿入することを特徴とするロボット対話システム。
  6. プロセッサと記憶装置を有して利用者と対話するロボットと、プロセッサと記憶装置を有して前記ロボットを制御する対話サーバを含むロボット対話システムの制御方法であって、
    前記ロボットが、前記利用者の問い合わせから音声認識により発話内容と確信度を算出し、前記対話サーバに送信する第1のステップと、
    前記対話サーバが、前記ロボットから前記発話内容と前記確信度を受け付けて、項目名と候補値と確信度を有する状態情報に、前記発話内容から取得した発話の種類を前記項目名に格納し、前記発話内容から取得した行動を前記候補値に格納し、前記発話内容に対応する確信度を前記状態情報の確信度に格納する第2のステップと、
    前記対話サーバが、前記状態情報から前記項目名の種類が異なる候補値の組み合わせを第1の候補値と第2の候補値として選択し、前記第1の候補値と前記第2の候補値の確信度の積を当該組み合わせの確信度Rとして算出し、前記確信度Rが最も高い前記候補値の組み合わせを新たな第1の行動として選択し、現在の前記ロボットの状態で前記新たな第1の行動を実行した場合のコストを差異コストC1として算出する第3のステップと、
    前記対話サーバが、前記状態情報から前記項目名の種類が異なる前記候補値の組み合わせの前記確信度Rが最も高い前記第1の候補値と前記第2の候補値の組み合わせを除いた前記状態情報について、前記項目名の種類が異なる前記候補値の組み合わせを第3の候補値と第4の候補値として選択して、前記第3の候補値と第4の候補値の確信度の積を当該組み合わせの確信度Rとして算出し、前記算出した前記組み合わせの前記確信度Rが最も高い前記候補値の組み合わせを新たな第2の行動として選択し、現在の前記ロボットの状態で前記新たな前記第2の行動を実行した場合のコストを差異コストC2として算出する第4のステップと、
    前記対話サーバが、前記差異コストC1と、前記差異コストC2のうちコストが最小となる候補値の組み合わせを新たな行動として選択する第5のステップと、
    を含むことを特徴とするロボット対話システムの制御方法。
  7. 請求項6に記載のロボット対話システムの制御方法であって、
    前記第3のステップは、
    前記ロボットの位置と前記第1の行動の目的地の距離に基づいて前記差異コストC1を計算し、
    前記第4のステップは、
    前記ロボットの位置と前記第2の行動の目的地の距離に基づいて前記差異コストC2を計算することを特徴とするロボット対話システムの制御方法。
  8. 請求項6に記載のロボット対話システムの制御方法であって、
    前記第3のステップは、
    前記ロボットが前記利用者に対して発言する文章の文言と内容の違いを基準として前記差異コストC1を計算し、
    前記第4のステップは、
    前記ロボットが前記利用者に対して発言する文章の文言と内容の違いを基準として前記差異コストC2を計算することを特徴とするロボット対話システムの制御方法。
  9. 請求項6に記載のロボット対話システムの制御方法であって、
    前記第3のステップは、
    前記ロボットの個体の違いを基準として前記差異コストC1を計算し、
    前記第4のステップは、
    前記ロボットの個体の違いを基準として前記差異コストC2を計算することを特徴とするロボット対話システムの制御方法。
  10. 請求項6に記載のロボット対話システムの制御方法であって、
    シナリオ情報を生成するシナリオ生成装置が、生成された前記シナリオ情報に対してコストを計算させる指示を自動的に挿入するステップをさらに含むことを特徴とするロボット対話システムの制御方法。
JP2017212761A 2017-11-02 2017-11-02 ロボット対話システム及びロボット対話システムの制御方法 Active JP6995566B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017212761A JP6995566B2 (ja) 2017-11-02 2017-11-02 ロボット対話システム及びロボット対話システムの制御方法
CN201811256088.8A CN109754794A (zh) 2017-11-02 2018-10-26 机器人对话系统和机器人对话系统的控制方法
EP18203092.4A EP3480814A1 (en) 2017-11-02 2018-10-29 Robot dialogue system and control method of robot dialogue system
US16/174,592 US20190126488A1 (en) 2017-11-02 2018-10-30 Robot dialogue system and control method of robot dialogue system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017212761A JP6995566B2 (ja) 2017-11-02 2017-11-02 ロボット対話システム及びロボット対話システムの制御方法

Publications (2)

Publication Number Publication Date
JP2019084598A JP2019084598A (ja) 2019-06-06
JP6995566B2 true JP6995566B2 (ja) 2022-02-04

Family

ID=64082941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017212761A Active JP6995566B2 (ja) 2017-11-02 2017-11-02 ロボット対話システム及びロボット対話システムの制御方法

Country Status (4)

Country Link
US (1) US20190126488A1 (ja)
EP (1) EP3480814A1 (ja)
JP (1) JP6995566B2 (ja)
CN (1) CN109754794A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866783B2 (en) * 2011-08-21 2020-12-15 Transenterix Europe S.A.R.L. Vocally activated surgical control system
KR20210113488A (ko) * 2020-03-05 2021-09-16 삼성전자주식회사 사용 로그 분석에 의한 보이스 에이전트의 새 기능을 자동적으로 추출하는 방법 및 장치
KR20230111061A (ko) * 2022-01-17 2023-07-25 삼성전자주식회사 로봇 및 이의 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227237A (ja) 2010-04-19 2011-11-10 Honda Motor Co Ltd コミュニケーションロボット
WO2014087495A1 (ja) 2012-12-05 2014-06-12 株式会社日立製作所 音声対話ロボット、音声対話ロボットシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101137205B1 (ko) * 2002-03-15 2012-07-06 소니 주식회사 로봇의 행동 제어 시스템 및 행동 제어 방법, 및 로봇 장치
JP2006172280A (ja) 2004-12-17 2006-06-29 Keywalker Inc 自動対話その他の自動応答出力作成方法及び自動対話その他の自動応答出力作成装置
JP5695199B2 (ja) * 2010-08-30 2015-04-01 本田技研工業株式会社 対話システムにおける思考追跡および行動選択
US9570064B2 (en) 2012-11-08 2017-02-14 Nec Corporation Conversation-sentence generation device, conversation-sentence generation method, and conversation-sentence generation program
WO2014073613A1 (ja) 2012-11-08 2014-05-15 日本電気株式会社 会話文生成装置、会話文生成方法及び会話文生成プログラム
CN104008160A (zh) * 2014-05-29 2014-08-27 吴春尧 一种实现并行话题控制的模糊推理聊天机器人方法和系统
JP6391386B2 (ja) * 2014-09-22 2018-09-19 シャープ株式会社 サーバ、サーバの制御方法およびサーバ制御プログラム
CN105563484B (zh) * 2015-12-08 2018-04-10 深圳达闼科技控股有限公司 一种云机器人系统、机器人和机器人云平台
CN105788593B (zh) * 2016-02-29 2019-12-10 中国科学院声学研究所 生成对话策略的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227237A (ja) 2010-04-19 2011-11-10 Honda Motor Co Ltd コミュニケーションロボット
WO2014087495A1 (ja) 2012-12-05 2014-06-12 株式会社日立製作所 音声対話ロボット、音声対話ロボットシステム

Also Published As

Publication number Publication date
US20190126488A1 (en) 2019-05-02
JP2019084598A (ja) 2019-06-06
EP3480814A1 (en) 2019-05-08
CN109754794A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
JP6995566B2 (ja) ロボット対話システム及びロボット対話システムの制御方法
JP6616473B2 (ja) ページを制御する方法および装置
KR101949497B1 (ko) 사용자 발화의 표현법을 파악하여 기기의 동작이나 컨텐츠 제공 범위를 조정하여 제공하는 사용자 명령 처리 방법 및 시스템
US7533025B2 (en) Method and apparatus for dynamic modification of command weights in a natural language understanding system
KR20190042098A (ko) 디바이스 토폴로지에 기초한 음성 명령 프로세싱
US20060123358A1 (en) Method and system for generating input grammars for multi-modal dialog systems
US20060155546A1 (en) Method and system for controlling input modalities in a multimodal dialog system
US20090287488A1 (en) Text display, text display method, and program
US10152298B1 (en) Confidence estimation based on frequency
WO2015163068A1 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
US10540973B2 (en) Electronic device for performing operation corresponding to voice input
AU2019201441B2 (en) Electronic device for processing user voice input
JPWO2012105231A1 (ja) モデル適応化装置、モデル適応化方法およびモデル適応化用プログラム
JP4581441B2 (ja) 家電機器システム、家電機器および音声認識方法
CN111460117B (zh) 对话机器人意图语料生成方法、装置、介质及电子设备
JP2005266192A5 (ja)
US11373648B2 (en) Control device, control system, and non-transitory computer readable medium
US20210035575A1 (en) Electronic apparatus, and method of controlling to execute function according to voice command thereof
US20200050670A1 (en) Dialogue method, dialogue system, and program
JPWO2017051627A1 (ja) 音声発話装置、音声発話方法及びプログラム
US20210241771A1 (en) Electronic device and method for controlling the electronic device thereof
JP4521631B2 (ja) 木構造辞書を記録した記憶媒体、及び木構造辞書の言語スコアテーブル作成プログラム
JP2018174416A (ja) 多言語振分装置、多言語振分方法、及びプログラム
CN114386432A (zh) 语义识别方法、装置、机器人和智能设备
KR102283196B1 (ko) 항공기용 음성 인식 기반 처리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210511

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: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211215

R150 Certificate of patent or registration of utility model

Ref document number: 6995566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150