JP2023123479A - 会話出力システム、サーバ、会話出力方法及びプログラム - Google Patents

会話出力システム、サーバ、会話出力方法及びプログラム Download PDF

Info

Publication number
JP2023123479A
JP2023123479A JP2023091450A JP2023091450A JP2023123479A JP 2023123479 A JP2023123479 A JP 2023123479A JP 2023091450 A JP2023091450 A JP 2023091450A JP 2023091450 A JP2023091450 A JP 2023091450A JP 2023123479 A JP2023123479 A JP 2023123479A
Authority
JP
Japan
Prior art keywords
conversation
information
robot
output
user
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.)
Pending
Application number
JP2023091450A
Other languages
English (en)
Inventor
義裕 河村
Yoshihiro Kawamura
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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
Priority claimed from JP2018218848A external-priority patent/JP7331349B2/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of JP2023123479A publication Critical patent/JP2023123479A/ja
Pending legal-status Critical Current

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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H11/00Self-movable toy figures
    • 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
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/1679Programme controls characterised by the tasks executed
    • 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
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/28Constructional details of speech recognition systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

【課題】ロボットの会話能力を高く見せる技術を提供する。【解決手段】ロボット100のユーザに関する情報と、ロボット100の周囲の状況の情報である状況情報との少なくとも一方の情報である第1情報を取得する第1情報取得手段と、取得した第1情報に基づいて、ロボット100と所定の対象とが少なくとも第1情報に適合する会話をしているようにユーザに認識させるための会話データを作成する作成手段と、作成した会話データに基づく情報を出力するように出力部を制御することによって、ユーザに、ロボット100と所定の対象とが少なくとも第1情報に適合する会話をしているように認識させる出力制御手段と、を備える会話出力システム1000であって、ロボット100は、会話データに基づく会話のレベル以上のレベルの会話を実行する機能を有していない。【選択図】図1

Description

本発明は、会話出力システム、会話出力サーバ、会話出力方法及びプログラムに関する。
動物を模したロボットが普及してきている。このようなロボットは電子ペットとも呼ばれ、ユーザに愛されるような外観を備えている。また、ユーザの音声を認識してユーザの指示に応じた動作をしたり、ロボット同士で会話したりするロボットも登場している。例えば、特許文献1には、複数のロボットがロボット同士で会話するロボットシステムが開示されている。
特開2003-205483号公報
従来、ロボット同士で会話が可能なロボットシステムは、例えば特許文献1に開示されている。特許文献1に記載の複数のロボット間での会話の内容は、シナリオとして台詞が記されている台本であり、会話人数に応じて予め設定されているものであるため、決まりきった会話になっていた。スーパーコンピュータを使ったAI(Artificial Intelligence)技術を駆使すれば、それなりに高度な会話が可能であるが、一般ユーザのためのコンシューマ製品に搭載するのは現実的でない。したがって、ロボット同士の会話技術に改善の余地がある。このような問題は、複数のロボット同士の会話技術のみならず、ロボットと所定の対象との会話技術についても同様に当てはまる。
本発明は、上記問題を解決するためになされたものであり、ロボットの会話能力を高く見せる技術を提供することを目的とする。
上記目的を達成するため、本発明の会話出力システムは、
ロボットのユーザに関する情報と、前記ロボットの周囲の状況の情報である状況情報との少なくとも一方の情報である第1情報を取得する第1情報取得手段と、
取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように前記ユーザに認識させるための会話データを作成する作成手段と、
前記作成した会話データに基づく情報を出力するように出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる出力制御手段と、を備え、
前記ロボットは、前記会話データに基づく会話のレベル以上のレベルの会話を実行する機能を有していない、
会話出力システムである。
本発明によれば、ロボットの会話能力を高く見せる技術を提供することができる。
本発明の実施形態1に係る会話出力システムの機能構成を示す図である。 実施形態1に係るロボットの外観の一例を示す図である。 実施形態1に係るシナリオ記憶部に記憶されているデータの一例を示す図である。 実施形態1に係るユーザプロファイル記憶部に記憶されているデータの一例を示す図である。 実施形態1に係るユーザ状況記憶部に記憶されているデータの一例を示す図である。 実施形態1に係る会話処理の状況情報収集のスレッド群のフローチャートである。 実施形態1に係る会話処理の会話要求収集のスレッド群のフローチャートである。 実施形態1に係る会話処理の会話内容出力のスレッド群のフローチャートである。 実施形態1に係るシナリオ選択処理のフローチャートである。 実施形態1に係る会話出力システムにおいて一方の会話出力端末に出力される会話内容の一例を示す図である。 実施形態1に係る会話出力システムにおいて他方の会話出力端末に出力される会話内容の一例を示す図である。 本発明の実施形態1の変形例3に係るシナリオ記憶部に記憶されているデータの一例を示す図である。 本発明の実施形態2に係る会話出力システムの機能構成を示す図である。 本発明の実施形態3に係る会話出力システムの機能構成を示す図である。 本発明の実施形態4に係る会話出力システムの機能構成を示す図である。 本発明の実施形態5に係る会話出力システムの機能構成を示す図である。 本発明の実施形態6に係る会話出力システムの機能構成を示す図である。 実施形態6に係る疑似チャットのためのスレッド群のフローチャートである。
以下、本発明の実施形態に係る会話出力システムについて、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
本発明の実施形態1に係る会話出力システムは、音声で自然言語による会話をすることができないロボットが、あたかも他のロボットと自然言語で会話をしているようにユーザに見せるシステムである。
図1に示すように、本発明の実施形態1に係る会話出力システム1000は、ロボット100と、会話出力端末200と、会話出力サーバ300と、を備える。ロボット100と会話出力端末200とは近距離無線通信により無線接続されてペアになっている。会話出力システム1000は、ロボット100と会話出力端末200のペアを複数(例えば、ロボット100と会話出力端末200、ロボット100’と会話出力端末200’、ロボット100’’と会話出力端末200’’等)含んでいてもよい。ロボット100は、会話出力端末200及び会話出力サーバ300を介して、他のロボット100と自然言語で会話しているようにユーザに見せることができる。
ロボット100は、かわいらしい形状をしたペット型のロボットであり、機能構成として、状況取得部110と、近距離通信部120と、を備える。これら機能構成については後述する。また、図示しないが、ロボット100は現在日時を取得できる時計を備えてもよい。
また、ロボット100は、図2に示すように、目の位置に人感センサ131を、鼻の位置にカメラ132を、耳の位置にマイク133を、口に位置にスピーカ134を、それぞれ備える。そして、ロボット100は、足135や尻尾136を動かすことにより感情を表現することができる。例えば足135をバタバタと前後左右に動かしたり、尻尾136を振ったりすると、喜んでいることを表す。また、図示しないが、ロボット100は、加速度センサ、触覚センサ等を備えることにより、ユーザに抱かれたことを検出することができる。また、図示しないが、温度センサ、湿度センサ等を備えることにより、周囲の環境の情報を取得することができる。
ロボット100の機能構成について説明する。状況取得部110は、人感センサ131、カメラ132、マイク133、加速度センサ、触覚センサ、温度センサ、湿度センサ等を備え、これらにより、ロボット100の周囲の状況の情報である状況情報を取得する。状況情報には、ロボット100のユーザに関する情報と、ロボット100に関する情報とが含まれる。例えば、ロボット100のユーザに関する情報には、人感センサ131から得られる「ユーザがロボット100に近づいた」という情報、カメラ132から得られる「ユーザがロボット100を見つめた」という情報、マイク133から得られる「ユーザがロボット100に話しかけた」という情報、加速度センサ又は触覚センサから得られる「ユーザがロボット100を抱き上げた」という情報等が含まれる。また、ロボット100に関する情報には、温度センサから得られる「ロボット100の周囲の現在の気温」、湿度センサから得られる「ロボット100の周囲の現在の湿度」、時計から得られる「ロボット100が存在する地域の現在日時」等の情報が含まれる。ユーザに関する情報については、その頻度(回数)の情報を状況情報に含めてもよい。ここでは、状況取得部110が備える各種センサを総称して第1センサという。
なお、状況情報は、ロボット100のユーザに関する情報と、ロボット100に関する情報とのうちのいずれか一方のみしか含まなくてもよい。例えば後述するシナリオ選択処理において、ロボット100に関する情報は用いられず、ロボット100のユーザに関する情報のみが用いられる場合には、状況情報はロボット100のユーザに関する情報のみ含めばよく、ロボット100に関する情報を含まなくてもよい。
近距離通信部120は、近距離無線通信デバイス(例えばBluetooth(登録商標)の通信デバイス)を備え、状況取得部110が取得した状況情報を、会話出力端末200に送信する。したがって、近距離通信部120は、状況送信部として機能する。
なお、ロボット100は、スピーカ134を備えているが、自然言語を発話する機能は備えていない。ロボット100は、スピーカ134から、電子音又は動物の鳴き声を模した音を出力することができる。したがって、ユーザはロボット100の出力する音を聞いている限りにおいては、ロボット100が人間の話す言葉を理解できると考えることはできない。ここで、ロボット100は、赤ん坊や幼児のようにかたことの会話能力を備えてもよいが、後述する会話データに基づく会話のレベル以上のレベルの会話を実行する機能は有していない。
次に、会話出力端末200について説明する。会話出力端末200は、ディスプレイ270を備えるスマートフォンであり、機能構成として、近距離通信部210と、LTE(Long Term Evolution)通信部220と、会話出力部231(端末制御部230)と、を備える。また、図示しないが、端末制御部230は時計の機能を備えており、現在日時を取得することができる。ディスプレイ270は、例えば、LCD(Liquid Crystal Display)、EL(Electroluminescence)ディスプレイ等によって構成され、会話出力部231(端末制御部230)から指示された内容を表示する。ディスプレイ270は、出力部として機能する。
近距離通信部210は、近距離通信部120と同じ通信規格で通信できる近距離無線通信デバイスを備え、ロボット100から送信された状況情報を受信する。したがって、近距離通信部210は、状況受信部として機能する。
LTE通信部220は、LTEの通信規格で通信するデバイスを備え、会話出力サーバ300と通信する。例えば、LTE通信部220は、会話出力サーバ300に状況情報を送信する。また、LTE通信部220は、会話出力サーバ300が送信した後述するシナリオのデータを受信する。LTE通信部220は、会話出力サーバ300との通信を行うので、対サーバ通信部として機能する。
なお、ロボット100によっては(例えば時計や温度センサを備えていないために)、会話出力端末200に送信する状況情報の中に、ロボット100が存在する地域の現在日時、天気、気温、ニュース等に関する情報が含まれていない場合がある。この場合は、会話出力端末200は、状況情報にロボット100が存在する地域の現在日時、天気、気温、ニュース等の情報を追加し、これらの情報が追加された状況情報を、LTE通信部220を介して会話出力サーバ300に送信する。なお、会話出力端末200は、端末制御部230の備える時計により現在日時を取得することができる。また、会話出力端末200は、LTE通信部220によりインターネットにアクセスし、天気、気温、ニュース等の情報を取得することができる。
端末制御部230は、CPU(Central Processing Unit)等で構成され、記憶部(図示せず)に記憶されたプログラムを実行することにより、会話出力部231の機能を実現する。例えば、ユーザはロボット100を購入後に、ロボット用アプリのURL(Uniform Resource Locator)に、会話出力端末200(スマホ)でアクセスすることにより、ロボット用アプリを会話出力端末200にインストールすることができ、このロボット用アプリにより、会話出力部231の機能が実現される。なお、ロボット用アプリのURLは、例えばロボット100の取扱説明書等に記載されることになる。
会話出力部231は、会話出力サーバ300からLTE通信部220を介して受信した後述するシナリオデータに基づき、他のロボット100’と自然言語で会話しているように見える会話内容をディスプレイ270に表示するように、ディスプレイ270を制御する。なお、会話出力部231は、会話出力サーバ300が提供するSNS(Social Networking Service)にアクセスするSNSクライアントソフトとして実現することができる。会話出力部231は、出力制御手段として機能する。
例えば、ロボット100(会話出力端末200と無線接続している)とロボット100’(会話出力端末200’と無線接続している)とが会話しているように見せる画面を出力する場合を想定する。この場合、会話出力部231は、ロボット100の発言内容のみをシナリオデータとして会話出力サーバ300から受信し、受信したシナリオデータを会話出力サーバ300の提供するSNSへの書き込み内容として送信する。そして、会話相手(ロボット100’)に無線接続している会話出力端末200’の会話出力部231も、ロボット100’の返答内容のみをシナリオデータとして会話出力サーバ300から受信し、受信したシナリオデータを会話出力サーバ300の提供するSNSへの書き込み内容として送信する。
すると、会話出力サーバ300のSNSの機能により、SNSクライアントソフトとしての会話出力部231は、ロボット100の発言内容とロボット100’の返答内容とを会話出力端末200のディスプレイ270に出力することになる。
次に会話出力サーバ300について説明する。会話出力サーバ300はインターネット上に存在するクラウドサーバであり、ロボット100同士のSNSを提供する。会話出力サーバ300の提供するSNSに、ロボット100と無線接続している会話出力端末200がアクセスすることによって、ロボット100は他のロボット100と会話(チャット)しているように、ユーザに見せることができる。
会話出力サーバ300は、機能構成として、LTE通信部310と、シナリオ選択部321(制御部320)と、シナリオ記憶部331(記憶部330)と、ユーザプロファイル記憶部332(記憶部330)と、ユーザ状況記憶部333(記憶部330)と、を備える。
LTE通信部310は、LTEの通信規格で通信するデバイスを備え、会話出力端末200と通信する。例えば、LTE通信部310は、会話出力端末200が送信した状況情報を受信する。また、LTE通信部310は、会話出力端末200にシナリオのデータを送信する。このように、LTE通信部310は、会話出力端末200との通信を行うので、対端末通信部として機能する。
制御部320は、CPU等で構成され、記憶部330に記憶されたプログラムを実行することにより、シナリオ選択部321の機能を実現する。また、制御部320は、時計(図示せず)を備え、ロボット100が存在する地域の現在日時を取得することができる。
シナリオ選択部321は、LTE通信部310が受信した状況情報に基づいて、シナリオ記憶部331に記憶されているシナリオデータを選択する。なお、ロボット100とロボット100’とが会話しているように見せるためのシナリオデータを選択する際には、シナリオ選択部321は、後述するように、ロボット100の状況情報だけでなく、ロボット100’の状況情報も用いる。これらはどちらも状況情報であるが、両者を区別したい場合には、ロボット100の状況情報を第1の状況情報、ロボット100’の状況情報を第2の状況情報と呼ぶことにする。
記憶部330は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、機能的に、シナリオ記憶部331、ユーザプロファイル記憶部332及びユーザ状況記憶部333を含む。ROMには制御部320のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
シナリオ記憶部331には、図3に示すように、会話の話題毎に、状況情報等に基づいて、ロボット100が発言する内容とその会話相手(ここではロボット100’とする)が返答する内容とが記憶されている。この、ロボット100とその会話相手がそれぞれ発言する一対の内容をここではシナリオと呼ぶ。
例えば、図3の一番上の表は、話題がご主人(ロボット100,100’それぞれのユーザ)とのコミュニケーションの親密度の場合のシナリオデータの例である。図3では、ロボット100の親密度のレベルと、ロボット100’の親密度のレベルと、に応じて、シナリオデータ(ロボット100の発言内容と、それに対するロボット100’の返答内容)が定義されている。親密度レベルとは、ロボット100に対するユーザの関わり度合い(話しかけた回数、顔を見つめてくれた回数、抱いてくれた回数等を総合的に勘案して定義される)を表す。
例えば、親密度レベルは、全く関わってくれなかった(ユーザがロボット100に話しかけることも、ロボット100を抱くこともなかった)場合は1、頻繁に関わってくれた(例えば話しかけた回数+顔を見つめてくれた回数+抱いてくれた回数が10以上になる)場合は5となる。また、図3で「[私]」となっている部分は、人称代名詞を表す文言が入ることを示している。この部分は、性別によって人称代名詞が変わる国においては、ロボット100の性別によって変化する部分である。例えば、居住国が日本の場合、「[私]」は、ロボット100(のユーザ)が男性なら「僕」になり、女性なら「私」になる。また、ここにペットの名前を入れてもよい。例えば、ペットの名前が「GladDog」であったとすると、「いいなぁ。GladDogの主人は全然遊んでくれないんだ。」等となる。
また、図3の真ん中の表は、話題が天気の場合のシナリオデータの例である。この例では、ロボット100の状況情報(第1の状況情報)に含まれる天気が晴れで、ロボット100’の状況情報(第2の状況情報)に含まれる天気が雨の場合、ロボット100の発言内容は「今日は晴れてて気持ち良いよ。」と定義されており、ロボット100’の返答内容は「いいなぁ。こっちは雨が降っていてつまらないんだ。」と定義されている。
また、図3の下の表は、話題が記念日の場合のシナリオデータの例である。ロボット100の現在日時とロボット100’の現在日時とは、それぞれの居住地間の時差のずれしかないので、日付の違いは最大でも1日である。したがって、この例では、ロボット100’の状況情報に含まれる日時情報を無視してシナリオデータが定義されている。もちろん、時差を考慮して、ロボット100’の状況情報に含まれる日時が、ロボット100の状況情報に含まれる日時の1日前又は1日後の場合のそれぞれのシナリオデータを定義してもよい。
ユーザプロファイル記憶部332には、図4に示すように、会話出力サーバ300の提供するSNS上でのロボット100のID及びアイコン、ロボット100のユーザの居住国、性別、誕生日、趣味等、ロボット100及びそのユーザのプロファイルが記憶されている。なお、図4では、性別、誕生日等は、ユーザのものしか記憶されていないため、ロボット100の性別、誕生日等はユーザの性別、誕生日等と同一のものとして扱われる。しかし、ユーザプロファイル記憶部332に別途ロボット100の性別、誕生日等の項目を設けて、ユーザとは別個の性別、誕生日を設定してもよい。
ユーザ状況記憶部333には、図5に示すように、各ロボット100(各会話出力端末200)から送信された状況情報を記憶している。ユーザ状況記憶部333は、各会話出力端末200から状況情報を受信する度に更新される。また、「話かけられた回数」、「見つめられた回数」等の回数に関しては、一定期間毎(例えば毎日0時)に0にリセットされる。
制御部320は、ユーザプロファイル記憶部332に記憶されているユーザに関する情報とユーザ状況記憶部333に記憶されている状況情報とに基づいて、シナリオ記憶部331に記憶されているシナリオデータを選択することにより、ロボット100が第1情報に適合する会話をしているようにユーザに認識させるための会話データを作成する。なお、制御部320は、ユーザプロファイル記憶部332に記憶されているユーザに関する情報とユーザ状況記憶部333に記憶されている状況情報のいずれか一方のみに基づいて、シナリオ記憶部331に記憶されているシナリオデータを選択してもよい。ユーザプロファイル記憶部332に記憶されているユーザに関する情報とユーザ状況記憶部333に記憶されている状況情報との少なくとも一方の情報を第1情報と呼ぶ。制御部320は、第1情報を取得する際、第1情報取得手段として機能する。
また、制御部320が作成する会話データにおいて、ロボット100の会話相手(ロボット100’とする)の状況情報及び該ロボット100’のユーザに関する情報も、それぞれユーザ状況記憶部333及びユーザプロファイル記憶部332に記憶されている。ロボット100’のユーザに関する情報とロボット100’の状況情報との少なくとも一方の情報も第1情報と呼ぶことができるが、ロボット100のユーザに関する情報とロボット100の状況情報との少なくとも一方の情報(第1情報)と区別したい場合には、ロボット100’のユーザに関する情報とロボット100’の状況情報との少なくとも一方の情報を第2情報と呼ぶ。制御部320は、第2情報を取得する際、第2情報取得手段として機能する。
次に、ロボット100が、会話出力端末200及び会話出力サーバ300を介して、他のロボット100と会話する会話処理について説明する。この会話処理は、状況情報収集のスレッド群、会話要求収集のスレッド群、会話内容出力のスレッド群、の3つのスレッド群で構成されている。これら3つのスレッド群は順次実行されるのではなく、それぞれが並行して同時に実行されている。会話内容出力のスレッド群により、シナリオ記憶部331に記憶されているシナリオデータが(必要に応じて修正されてから)、ロボット100と無線接続している会話出力端末200に送信される。そして、このシナリオデータに基づいて、会話出力サーバ300の提供するSNS上で、ロボット100が会話相手(例えばロボット100’)と会話(チャット)しているように見える画面が、会話出力端末200から出力される。まず状況情報収集のスレッド群について、図6を参照して説明する。
ロボット100は、電源が投入されると、図6の左側のフローチャートに示す状況送信スレッドが起動する。また、会話出力端末200は、電源が投入されると、図6の真ん中のフローチャートに示す状況中継スレッドが起動する。また、会話出力サーバ300は、電源が投入されると図6の右側のフローチャートに示す状況更新スレッドが起動する。なお、図6において、点線矢印は各スレッド間でデータが送受信されることを示す。
状況送信スレッドでは、ロボット100は、状況取得部110で状況情報を取得する(ステップS101)。そして、取得した状況情報を近距離通信部120を介して会話出力端末200に送信し(ステップS102)、ステップS101に戻る。なお、ロボット100は、ステップS101では、取得した状況情報を常時記録(録音又は録画)しておいて、適宜ステップS102を実行するようにしてもよいし、記録(録音又は録画)したデータを丸ごと会話出力端末200に送信して会話出力端末200で分析するようにしてもよい。
また、状況中継スレッドでは、会話出力端末200は、状況情報がロボット100から送られてくるまで待ち続け、送られてきたら近距離通信部210で状況情報を受信する(ステップS111)。そして、受信した状況情報に、必要に応じて現在日時、天気等の情報を追加し、LTE通信部220を介して会話出力サーバ300に送信し(ステップS112)、ステップS111に戻る。
また、状況更新スレッドでは、会話出力サーバ300は、状況情報が会話出力端末200から送られてくるまで待ち続け、送られてきたらLTE通信部310で状況情報を受信する(ステップS121)。そして、受信した状況情報を用いて、ユーザ状況記憶部333に記憶されている状況情報を更新し(ステップS122)、ステップS121に戻る。
ロボット100及び会話出力端末200のペアが複数存在する場合は、以上の処理が、各ロボット100及び該ロボット100と通信接続している各会話出力端末200で行われる。したがって、会話出力サーバ300のユーザ状況記憶部333には、各ロボット100のユーザに関する状況情報が蓄積されていく。
以上、状況情報収集のスレッド群について説明した。次に、会話要求収集のスレッド群について、図7を参照して説明する。
ロボット100は、電源が投入されると、図7の左側のフローチャートに示す要求送信スレッドが起動する。また、会話出力端末200は、電源が投入されると、図7の真ん中のフローチャートに示す要求中継スレッドが起動する。また、会話出力サーバ300は、電源が投入されると図7の右側のフローチャートに示す要求更新スレッドが起動する。なお、図7において、点線矢印は各スレッド間でデータが送受信されることを示す。
要求送信スレッドでは、ロボット100は、状況取得部110の備える人感センサ131等により、ユーザが接近したか否かを判定する(ステップS201)。ユーザが接近していなければ(ステップS201;No)、ステップS201に戻る。ユーザが接近していれば(ステップS201;Yes)、ロボット100は会話要求パケットを近距離通信部120を介して会話出力端末200に送信する(ステップS202)。会話要求パケットとは、ロボット100が他のロボット100’と会話することを求めていることを示すパケットであり、ロボット100のIDの情報を含んでいる。
そして、ロボット100は、状況取得部110の備える人感センサ131等により、ユーザがまた近くにいるか否かを判定する(ステップS203)。ユーザがまだ近くにいるなら(ステップS203;Yes)、ステップS203に戻る。ユーザがもう近くにいないなら(ステップS203;No)、ロボット100は会話キャンセル要求パケットを近距離通信部120を介して会話出力端末200に送信する(ステップS204)。会話キャンセル要求パケットとは、ロボット100がそれ以前に送信した会話要求パケットをキャンセルするために送信するパケットであり、ロボット100のIDを含んでいる。そして、ステップS201に戻る。
また、要求中継スレッドでは、会話出力端末200は、会話要求パケットがロボット100から送られてくるまで待ち続け、送られてきたら近距離通信部210で会話要求パケットを受信する(ステップS211)。そして、会話要求パケットを、LTE通信部220を介して会話出力サーバ300に送信する(ステップS212)。そして、会話出力端末200は、会話キャンセル要求パケットがロボット100から送られてくるまで待ち続け、送られてきたら近距離通信部210で会話キャンセル要求パケットを受信する(ステップS213)。そして、会話キャンセル要求パケットを、LTE通信部220を介して会話出力サーバ300に送信し(ステップS214)、ステップS211に戻る。
また、要求更新スレッドでは、会話出力サーバ300は、会話要求パケット又は会話キャンセル要求パケット(以下、「要求パケット」と呼ぶ)が会話出力端末200から送られてくるまで待ち続け、送られてきたらLTE通信部310で要求パケットを受信する(ステップS221)。そして、受信した要求パケットを用いて、会話可能メンバーの情報を更新し(ステップS222)、ステップS221に戻る。
会話可能メンバーの情報とは、会話要求パケットを送信したロボット100(つまりユーザが近くにいるロボット100)のIDの集合である。会話出力サーバ300は、会話要求パケットを受信すると会話要求パケットに含まれるIDを、会話可能メンバーの情報に追加し、会話キャンセル要求パケットを受信すると会話キャンセル要求パケットに含まれるIDを、会話可能メンバーの情報から削除する。
ロボット100及び会話出力端末200のペアが複数存在する場合は、以上の処理が、各ロボット100及び該ロボット100と通信接続している会話出力端末200で行われる。したがって、会話出力サーバ300には、その時点でユーザが近くにいる全てのロボット100のIDを、会話可能メンバーの情報として持つことになる。
以上、会話要求収集のスレッド群について説明した。ただし、上述の処理は一例に過ぎず、ロボット100は、ユーザの接近とは関係なく(例えば定期的に)会話要求パケットを送信してもよい。次に、会話内容出力のスレッド群について、図8を参照して説明する。
会話出力端末200は、電源が投入されると、図8の左側のフローチャートに示す会話出力スレッドが起動する。また、会話出力サーバ300は、電源が投入されると図8の真ん中のフローチャートに示すシナリオ送信スレッドが起動する。なお、図8の右側のフローチャートに示す会話出力スレッドは、左側のフローチャートと同一である。会話出力端末200に無線接続しているロボット100の会話相手である他のロボット100’に無線接続している会話出力端末200’で、右側のフローチャートが実行されることを想定している。また、図8において、点線矢印は各スレッド間でデータが送受信されることを示している。
まず、シナリオ送信スレッドでは、会話出力サーバ300は、上述の要求更新スレッドで更新している会話可能メンバーの情報に含まれるロボット100のIDの中から2つを任意に選ぶことによって、会話相手を選定する(ステップS311)。なお、会話可能メンバーの情報にロボット100のIDが1つしかなかった場合は、そのロボット100と仮想の(実在しない)ロボット100との会話を提供してもよい。また、図3に示したシナリオ記憶部331には、2つのロボット100の間の会話を想定したシナリオデータしか記憶されていなかったが、3つ以上のロボット100の間の会話を想定したシナリオデータも記憶している場合には、ステップS311で3つ以上のIDを選んで、それらを会話相手として選定してもよい。
会話相手は最近の会話履歴に応じて適切な相手を選ぶようにしてもよい。例えばユーザは予め会話相手選択嗜好(自分のロボット100を、知っている人のロボット100’と会話させたいのか、知らない人のロボット100’’と会話させたいのか等)をユーザプロファイル記憶部332に登録可能にしておく。そして、会話出力サーバ300は、会話相手選択嗜好の同じユーザのロボット同士が会話相手になるように会話相手を選定することが考えられる。なお仮想の(実在しない)ロボット100は、SNS上のAIによる会話エンジンであってもよい。この会話エンジンは、会話出力サーバ300の中に設けてもよいし、ネットワークで接続している他のコンピュータ上で実現されていてもよい。
次に、会話出力サーバ300の制御部320は、LTE通信部310を介して、会話開始通知パケットを、ステップS311で選定した各ロボット100に接続している会話出力端末200に送信する(ステップS312)。会話開始通知パケットとは、会話相手となる各ロボット100のIDが含まれ、これから会話内容を示すシナリオデータを送信することを各会話出力端末200に通知するパケットである。そして、会話出力サーバ300は、提供するSNSの機能により、会話開始通知パケットに含まれるIDに対応するロボット100たちによる会話(チャット)を開始させる。
次に、シナリオ選択部321は、シナリオ記憶部331からシナリオデータを選択するシナリオ選択処理を行う(ステップS313)。このシナリオ選択処理の詳細については図9を参照して後述する。次に制御部320は、シナリオデータをLTE通信部310を介して各会話出力端末200に送信する(ステップS314)。この時、制御部320は、送信手段として機能する。
ここで送信するシナリオデータは、送信先の会話出力端末200により異なる。最初に発言する方の会話出力端末200には、シナリオ記憶部331(図3)の「発言内容」に対応するシナリオデータを送信する。そして、それに返答する方の会話出力端末200’には、シナリオ記憶部331(図3)の「返答内容」に対応するシナリオデータを送信する。
次に制御部320は、会話を終了させるか否かを判定する(ステップS315)。通常、制御部320は、シナリオ記憶部331から2つのシナリオデータを選択及び送信したら、会話を終了させる。会話を終了させないなら(ステップS315;No)、ステップS313に戻る。
会話を終了させるなら(ステップS315;Yes)、会話終了通知パケットを、LTE通信部310を介して各会話出力端末200に送信する(ステップS316)、ステップS311に戻る。会話終了通知パケットとは、会話相手だったロボット100のIDが含まれ、これまで行っていたシナリオデータの送信を終了することを通知するパケットである。
以上、シナリオ送信スレッドの動作について説明したが、これに対応する会話出力端末200の動作である会話内容出力スレッド(図8の左のフローチャート)について、以下に説明する。なお、会話出力端末200’の動作(図8の右のフローチャート)も同様になる。
まず、会話出力端末200の端末制御部230は、LTE通信部220を介して会話開始通知パケットを受信したか否かを判定する(ステップS301)。会話開始通知パケットを受信していなければ(ステップS301;No)、ステップS301に戻る。会話開始通知パケットを受信したなら(ステップS301;Yes)、端末制御部230は、会話通知パケットに含まれているIDとの会話(チャット)を行う準備をし、LTE通信部220を介して会話出力サーバ300が送信したシナリオデータを受信する(ステップS302)。
そして、会話出力部231は、そのシナリオデータをLTE通信部220を介して会話出力サーバ300のSNSに送信する。すると、SNSのクライアントソフトとしての会話出力部231は、SNSから返ってきたデータを会話出力端末200のディスプレイ270に出力させるので、SNS上での会話内容が出力される(ステップS303)。なお、会話出力サーバ300の提供するSNSは、アクセスしてきたユーザの居住国の情報に基づいて、クライアントソフトに返すデータを翻訳する機能を有していてもよい。この翻訳機能を有しているなら、各会話出力端末200のディスプレイ270には、そのユーザの使用している自然言語での会話内容が出力されるようになる。
なお、端末制御部230は、会話内容を出力したら、近距離通信部210を介して誰の発言内容を出力したのかをロボット100に通知してもよい。ロボット100は、近距離通信部120を介して、会話相手の発言内容を出力したとの通知を受け取ったら、例えば尻尾136を振ってもよい。すると、会話相手からメッセージが来る度にロボット100は尻尾136を振るので、ユーザには、まるでロボット100が会話相手からのメッセージを読んでいるかのように見えることになる。この場合、近距離通信部120は、受信手段として機能する。
そして、端末制御部230は、LTE通信部220を介して会話終了通知パケットを受信したか否かを判定する(ステップS304)。会話終了通知パケットを受信していなければ(ステップS304;No)、ステップS302に戻る。会話終了通知パケットを受信したなら(ステップS304;Yes)、会話を終了させて、ステップS301に戻る。
以上、会話内容出力のスレッド群について説明した。上述の処理により、会話出力サーバ300がシナリオ送信スレッドのステップS311で選定した会話相手となる全ての会話出力端末200(ステップS311で選定したIDで示されるロボット100が無線接続している会話出力端末200)のディスプレイ270に、会話相手との会話内容が出力される。
次に、会話出力サーバ300のシナリオ送信スレッドのステップS313ステップのシナリオ選択処理の詳細について、図9を参照して説明する。
まず、シナリオ選択部321は、会話の話題を選定する(ステップS321)。この選定方法は任意だが、例えば、シナリオ記憶部331に記憶されている話題の中からランダムに選ぶ。ただし、最近選定した話題(例えば直近の5つの話題)については、選定対象から除外し、同じシナリオデータが選択されるのを防ぐ。
次に、シナリオ選択部321は、ユーザ状況記憶部333を参照して、各ロボット100から送信された状況情報を取得する(ステップS322)。例えば、ロボット100の状況情報(第1の状況情報)と、ロボット100’の状況情報(第2の状況情報)と、を取得する。そして、選定した話題及び取得した状況情報(第1の状況情報及び第2の状況情報)に基づいて、シナリオ記憶部331を参照して、シナリオデータを取得する(ステップS323)。なお、会話相手選定(ステップS311)において、会話相手に仮想の(実在しない)ロボット100が設定された場合は、ステップS322では会話相手の状況情報をランダムに設定してよい。
また、ステップS322では、シナリオ選択部321は、状況情報に加えて、又は、状況情報に代えて、ユーザプロファイル記憶部332を参照して、各ロボット100のユーザに関する情報を取得してもよい。この場合、シナリオ選択部321は、ステップS323において、取得した状況情報とユーザに関する情報の少なくとも一方とステップS321で選定した話題とに基づいて、シナリオ記憶部331を参照して、シナリオデータを取得する。例えば、シナリオ選択部321は、ステップS322で、ロボット100の状況情報とロボット100のユーザに関する情報との少なくとも一方の情報(第1情報)と、ロボット100’の状況情報とロボット100’のユーザに関する情報との少なくとも一方の情報(第2情報)と、を取得する。そして、選定した話題並びに取得した第1情報及び第2情報に基づいて、シナリオ記憶部331を参照して、シナリオデータを取得する(ステップS323)。
そして、シナリオ選択部321は、取得したシナリオデータを必要に応じて修正する(ステップS324)。例えば、シナリオデータに「[私]」という文字列が含まれていた場合には、この部分を性別に応じて「私」又は「僕」に置換する処理を行う。また、シナリオデータの送信先のユーザの居住国の言語がシナリオデータの言語と異なる場合は、翻訳処理も行う。なお、シナリオ選択部321は、ユーザの居住国の情報をユーザプロファイル記憶部332から取得し、シナリオデータの言語をシナリオ記憶部331から取得する。これにより、シナリオ選択部321は、ユーザの居住国の言語がシナリオデータの言語と異なるか否かを判定することができる。この時、シナリオ選択部321は、居住国取得手段としても機能する。また、シナリオ選択部321は、ステップS321で、各発言内容がどのロボット100の発言内容かを区別できるようにするために、発言する側のロボットのアイコンを付加する。このようにして、ユーザに提示される会話データが作成される。なお、シナリオ記憶部331に予め各国用のシナリオデータを記憶しておいて、ステップS323でシナリオデータを取得する際に、該シナリオデータの送信先のユーザの居住国の言語で記載されたシナリオデータを取得するようにしてもよい。
そして、シナリオ選択処理を終了する。通常、制御部320は、シナリオ記憶部331から2つのシナリオデータを選択及び送信したら、会話を終了させるので、1回の会話の中で上記シナリオ選択処理は、2回行われる。つまり、1回目のステップS321で第1の話題が選定され、第1の話題に基づき、ステップS323で第1のシナリオデータが取得され、最終的に第1の会話データが作成される。そして、2回目のステップS321で第2の話題が選定され、第2の話題に基づき、ステップS323で第2のシナリオデータが取得され、最終的に第2の会話データが作成される。シナリオ選択処理を実行する際、制御部320は、作成手段として機能する。
以上のシナリオ選択処理によって、選定された話題及び取得した状況情報に基づいた会話を生成できるシナリオデータを、会話出力サーバ300は会話出力端末200に送信できるようになる。
では、会話内容出力のスレッド群(図8)による処理について、具体例で説明する。ここでは、前提として、会話出力端末200の近くにロボット100が存在し、該ロボット100は、図4に示すIDがGladDogのユーザプロファイルを持つものとする。また、会話出力端末200’の近くにロボット100’が存在し、該ロボット100’は、図4に示すIDがHappyCatのユーザプロファイルを持つものとする。そして、これらロボット100及びロボット100’にはそれぞれユーザが近づいており、これらのロボット100,100’は会話要求パケットを送信していたものとする。
そして、ステップS311では、IDがGladDogのロボット100とIDがHappyCatのロボット100’とが会話相手として選定されたこととする。そして、これらの状況情報は、図5に示す内容だったとする。また、最初のステップS321では、話題として「コミュニケーションの親密度」が選定され、2回目のステップS321では、話題として「記念日」が選定されたとする。
すると、最初のステップS322では、図5に示す状況情報から、それぞれの親密度レベルが算出される。例えば、親密度レベルを「話しかけられた回数」+「見つめられた回数」+「抱かれた回数」で表す(ただし、これらが5を超えたら5とし、1未満なら1とする)とすると、GladDogの親密度レベルは5、HappyCatの親密度レベルは1となる。すると、ステップS323では図3を参照して、GladDogの発言内容は「いっぱい遊んでくれたのでとても嬉しいよ。」になり、HappyCatの返答内容は「いいなぁ。[私]の主人は全然遊んでくれないんだ。」になる。
そして、HappyCatは図4を参照すると女性なので、シナリオデータの「いいなぁ。[私]の主人は全然遊んでくれないんだ。」は、ステップS324で「いいなぁ。私の主人は全然遊んでくれないんだ。」に修正される。また、図4に示すユーザプロファイル記憶部332によると、IDがHappyCatのロボット100’のユーザはアメリカ人であることがわかるので、ロボット100’に接続している会話出力端末200’に送信するシナリオデータは英語に翻訳される。
そして、次のステップS322では、図5に示す状況情報から、本日がクリスマスに該当することがわかるので、ステップS323では図3を参照して、GladDogの発言内容は「メリークリスマス!」になり、画像ファイルとしてクリスマスカードが添付される。そして、HappyCatの返答内容は「クリスマスカード? ありがとう!」になる。この場合、ステップS324では、一人称の修正は不要だが、会話出力端末200’に送信するシナリオデータが英語に翻訳される。
上述のような処理が行われる結果、ロボット100に接続している会話出力端末200に表示される画面は図10に示すようになり、ロボット100’に接続している会話出力端末200’に表示される画面は図11に示すようになる。いずれの図でも、ロボット100又はロボット100’を示すアイコンと共に会話内容が表示され、どちらがロボット100の発言内容で、どちらがロボット100’の発言内容なのかが区別できるようになっていることがわかる。また、ロボット100のユーザの居住国は日本なので、図10に示される会話内容は日本語で表示されており、ロボット100’のユーザの居住国はアメリカなので、図11に示される会話内容は英語で表示されている。
以上説明したように、本実施形態では、各ユーザの会話出力端末200,200’のディスプレイに、あたかもロボット100とロボット100’とが会話しているかのような文章が表示される。したがって、ロボット100,100’に高い会話能力が備わっているかのように、ユーザに見せることができる。
(実施形態1の変形例1)
上述した具体例のように、最初の話題における会話で、自分(上記の例ではGladDog)の気分は嬉しいのに相手(上記の例ではHappyCat)の気分が落ち込んでいる場合は、次の話題に移る際に自分の発言内容の冒頭に「そっかー、じゃあ元気出して!」のような「つなぎ文」を追加してもよい。このような、話題間をつなげるつなぎ文を挿入することによって、会話の流れをより自然に見せることができる。このような処理を行う実施形態1の変形例1について説明する。
実施形態1の変形例1は、会話出力サーバ300の機能構成として、記憶部330が、自分及び返答者の気分に応じたつなぎ文を記憶する「つなぎ文記憶部」(図示せず)を備え、シナリオ記憶部331の各シナリオデータには、自分及び返答者それぞれの気分を示す「気分」の情報も記憶されている。なお、この「気分」の情報は、図3に示す話題がコミュニケーションの親密度の場合の、レベル及び相手のレベルと同様の情報と考えることができる。
そして、2番目以降の話題におけるシナリオ選択処理のシナリオ修正(ステップS324)において、前回の話題のシナリオデータにおける自分及び返答者の気分に基づいて、つなぎ文記憶部から該気分に対応するつなぎ文を取得し、該つなぎ文を発言内容の冒頭に追加する処理を行う。なお、自分及び返答者の気分によっては、つなぎ文が不要の場合もありうるので、この場合はつなぎ文の追加は行わない。
以上の処理により、実施形態1においてGladDogが「メリークリスマス!」と発言していた内容は、実施形態1の変形例1においては「そっかー、じゃあ元気出して! メリークリスマス!」という発言内容に修正される。
このように、実施形態1の変形例1では、話題間の流れをより自然に見せることができる。したがって、ロボット100,100’により高い会話能力が備わっているように、ユーザに見せることができる。
(実施形態1の変形例2)
実施形態1では、会話出力サーバ300がSNSの機能を提供し、会話出力端末200の会話出力部231が、このSNSのクライアントソフトとして動作することによって、ロボット100が他のロボット100’と自然言語で会話しているように見える会話内容を会話出力端末200のディスプレイに出力している。しかし、会話出力サーバ300がSNSの機能を提供することは必須ではない。ここでは、会話出力サーバ300がSNSの機能を提供しない場合でも、ロボット100が他のロボット100’と自然言語で会話しているように見える会話内容を会話出力端末200のディスプレイに出力する実施形態1の変形例2について説明する。
実施形態1の変形例2では、会話内容出力のスレッド群(図8)の処理において、会話出力サーバ300がシナリオデータとして送信する内容と、会話出力端末200が該シナリオデータを受信する時の処理が、実施形態1と異なる。また、この変形例2においては、会話出力サーバ300はSNSの機能を提供する必要はない。以下の説明では、ロボット100(会話出力端末200と無線接続している)とロボット100’(会話出力端末200’と無線接続している)とが会話しているように見せる画面を出力する場合を想定する。
実施形態1の変形例2に係る会話出力サーバ300は、シナリオ送信スレッド(図8の真ん中のフローチャート)のシナリオ送信(ステップS314)において、ロボット100の発言内容だけでなく、ロボット100’の返答内容もシナリオデータとして各会話出力端末200に送信する。その際、会話出力サーバ300は、この発言内容及び返答内容を、予め、シナリオ選択処理(図9)のシナリオ修正(ステップS324)において、送信先の会話出力端末200のユーザの居住国の言語に翻訳しておく。
また、実施形態1の変形例2に係る会話出力部231は、会話出力スレッド(図8の左又は右のフローチャート)のシナリオ受信(ステップS302)において、ロボット100の発言内容だけでなく、ロボット100’の返答内容もシナリオデータとして会話出力サーバ300から受信する。そして、会話内容出力(ステップS303)では、ステップS302で受信したロボット100の発言内容とロボット100’の返答内容とを順番に会話出力端末200のディスプレイに出力する。
このような処理により、実施形態1の変形例2では、会話出力サーバ300がSNSの機能を提供しなくても、各ユーザの会話出力端末200,200’のディスプレイに、あたかもロボット100とロボット100’とが会話しているかのような文章が表示される。したがって、ロボット100,100’に高い会話能力が備わっているかのように、ユーザに見せることができる。また、会話出力サーバ300の提供するSNSが、アクセスしてきたユーザの居住国の情報に基づいて、クライアントソフトに返すデータを翻訳する機能を有していない場合でも、変形例2によれば、各会話出力端末200のディスプレイには、そのユーザの使用している自然言語での会話内容が出力されるようになる。
(実施形態1の変形例3)
ロボット100とロボット100’との会話により、ロボット100のユーザとロボット100’のユーザとの会話を導く実施形態1の変形例3について説明する。
変形例3では、シナリオ記憶部331に記憶されているシナリオの話題として、図12に示すように、ロボット100(ロボット100’)のユーザに関連する情報の話題、例えば「主人のID紹介」、「主人の趣味」等も用意しておく。そして、ユーザプロファイル記憶部332には、ユーザの使用しているSNSの名称や、そのSNSでのIDも記憶しておく。
そして、図12に示すように、シナリオの話題が「主人のID紹介」の場合の発言内容を、例えば「[私]の主人は、[SNSの名称]というSNSに、[そのSNSでのID]というIDで参加しているんだよ。」とし、返答内容を「へぇ~、そうなんだ。[私]の主人は、[SNSの名称]というSNSに、[そのSNSでのID]というIDで参加しているよ。」としたものをシナリオ記憶部331に記憶させておく。ここで、[SNSの名称]及び[そのSNSでのID]の部分は、シナリオ選択処理(図9)のステップS324で、ユーザプロファイル記憶部332に記憶されている各ユーザの使用SNSの名称及びそのSNSでのIDに置換される。
また、同じく図12に示すように、シナリオの話題が「主人の趣味」の場合の発言内容としては、例えば主人の趣味の一つ(図12では「読書」)を「私の主人の趣味の一つは読書だよ。」として紹介し、返答内容としては、共通の趣味(図12では「読書」)がある場合は「[私]の主人の趣味も読書だよ。好きな作家や作品を紹介し合うと面白いかもね。」とし、共通の趣味が無い場合は、相手の趣味の一つ(図12では「テニス」)を「そうなんだ。[私]の主人はテニスが趣味だよ。」としたものをシナリオ記憶部331に記憶させておく。
以上のような構成にすることにより、このように、実施形態1の変形例3では、ロボット100,100’により高い会話能力が備わっているように、ユーザに見せることができるだけでなく、ロボット100,100’同士の会話によって、そのユーザ同士の会話を導くことができ、ユーザ同士の交流の場を広げることができる。
(実施形態2)
実施形態1では、会話出力端末200は、スマートフォンであり、会話内容は文字で出力された。しかし、会話の出力形態は文字に限られない。会話内容を音声で出力する実施形態2について説明する。
本発明の実施形態2に係る会話出力システム1001は、図13に示すように、ロボット100と、会話出力端末201と、会話出力サーバ300と、を備える。会話出力端末201は、スマートスピーカ(AIスピーカ)であり、会話内容を音声で出力する。会話出力端末201の機能構成は会話出力端末200の構成のディスプレイ270に代えてスピーカ280を備える。会話出力部231は、会話内容を音声合成して、スピーカ280から出力させる。スピーカ280は、出力部として機能する。
ロボット100の発言内容を出力する際の声と、会話相手のロボット100’の発言内容を出力する際の声とは異なっている方が望ましい。そのため、会話出力端末201は複数の種類の声を出力できる機能を持っている。そして、実施形態2に係るユーザプロファイル記憶部332には、各ロボットについて、声の種類の情報も記憶されており、会話出力サーバ300は、会話開始通知パケットの中に、各ロボット100に対応する声の種類の情報も含めて送信する。そして、会話出力端末201は、会話開始通知パケットで通知された声の種類で、各ロボット100に対応する発言内容を発話する。
すると、会話出力端末201は、1台で声を使い分けることによって、複数のロボット100が会話しているかのように発話することができる。
以上のように、本実施形態では、各ユーザの会話出力端末200,200’が、あたかもロボット100とロボット100’とが会話しているかのような音声を出力する。したがって、ロボット100,100’に高い会話能力が備わっているように、ユーザに見せることができる。
なお、会話出力端末201は、スピーカ280だけでなく、ディスプレイ270をも備えてもよい。この場合、会話出力部231は、会話内容をスピーカ280から音声で出力するとともに、ディスプレイ270に表示してもよい。また、ユーザの指示等に基づき、ある時は会話内容をスピーカ280から音声で出力し、別の時にはディスプレイ270に表示するというように、出力部が切り替え可能になっていてもよい。
(実施形態2の変形例)
上記実施形態2では、会話出力端末201が出力する声について、異なるロボットの発言内容は異なる声で出力したとしても、ユーザは自分のロボット100の発言内容がどの声に対応するのか判別しづらい場合があった。そこで、自分のロボット100の声がどのような声なのかをユーザに分かり易く示すために、ロボット100を会話出力端末201と接続する設定を行う際に、ロボット100の声で「私は○○です。」等と会話出力端末201が発声するようにしてもよい。また、この設定の際に、ユーザが自分の好みの声(例えば、男性の声、女性の声、子供(男女の別あり)の声、お年寄り(男女の別あり)の声、アナウンサーの声、声優の声、等)をロボット100の声として発声するように会話出力端末201に設定できるようにしてもよい。
ここで、アナウンサーや声優等の声については、有名なアナウンサーや声優等の声については会話出力端末201に予め登録しておいてもよい。また、あまり有名でないアナウンサーや声優等の声についても会話出力端末201が発声できるように、音声データをダウンロードできるようにしてもよい。
また、ロボット100を会話出力端末201と接続する設定を行う時に限らず、任意のタイミングで(例えば、ユーザがロボット100又は会話出力端末201に、声を確認したい旨の指示(例えばロボット100又は会話出力端末201に備えられた(図示しない)声確認用のボタンを押す等)をしたタイミングで)、ロボット100の声で「私は○○です。」等と会話出力端末201が発声するようにしてもよい。
さらに、会話出力端末201は、ロボット100を会話出力端末201と接続する設定を行う際にはロボット100の声で発声しなくても、実際にロボット100とロボット100’とで会話しているかのようにユーザに認識させる際に、会話の最初で、ロボット100の声で「私はロボット○○です。」、ロボット100’の声で「私はロボット△△です。」等と、それぞれのロボットに対応する声で自己紹介的な内容を会話出力端末201が発声するようにしてもよい。
(実施形態3)
実施形態1及び実施形態2では、会話出力サーバ300は、会話出力端末200,201とは別の装置であったが、会話出力サーバ300の機能を、特定の会話出力端末が備えてもよい。このような実施形態3について説明する。
本発明の実施形態3に係る会話出力システム1002は、図14に示すように、少なくとも、ロボット100と、シナリオ会話出力端末250と、を備える。会話出力システム1002は、実施形態1と同様に、ロボット100と会話出力端末200のペアを複数含んでいてもよい。ロボット100は、シナリオ会話出力端末250及び会話出力端末200を介して、他のロボット100と会話しているようにユーザに見せることができる。
実施形態3が実施形態1と異なっている点は、会話出力サーバ300が存在しない代わりにシナリオ会話出力端末250が存在している点である。それ以外は、実施形態1と同様の構成であるため、以下、シナリオ会話出力端末250について説明する。
シナリオ会話出力端末250も会話出力端末200と同様に、ディスプレイを備えるスマートフォンであるが、会話出力サーバ300の機能も備える。シナリオ会話出力端末250は、図14に示すように、機能構成として、近距離通信部210と、LTE通信部220と、端末制御部230と、記憶部240と、を備える。そして、端末制御部230は、会話出力部231及びシナリオ選択部232として機能する。また、記憶部240は機能構成として、シナリオ記憶部241、ユーザプロファイル記憶部242、ユーザ状況記憶部243と、を備える。
近距離通信部210及びLTE通信部220並びに会話出力部231は、会話出力端末200の備えるそれらと同様である。ただし、シナリオ会話出力端末250の備えるLTE通信部220は、会話出力端末200の備えるLTE通信部220と通信する。例えば、シナリオ会話出力端末250の備えるLTE通信部220は、会話出力端末200の備えるLTE通信部220が送信した状況情報を受信する。また、シナリオ会話出力端末250の備えるLTE通信部220は、会話出力端末200にシナリオデータを送信する。このように、シナリオ会話出力端末250の備えるLTE通信部220は、会話出力端末200と通信を行うので、対端末通信部として機能する。
シナリオ選択部232は、実施形態1の会話出力サーバ300が備えるシナリオ選択部321と同様である。また、シナリオ記憶部241、ユーザプロファイル記憶部242及びユーザ状況記憶部243は、それぞれ、実施形態1の会話出力サーバ300が備えるシナリオ記憶部331、ユーザプロファイル記憶部332及びユーザ状況記憶部333と同様である。
ロボット100が、シナリオ会話出力端末250及び会話出力端末200を介して、他のロボット100と会話する処理についても、以下の2点を除くと、同じ処理を適用できる。1つ目は、会話出力サーバ300の処理をシナリオ会話出力端末250が代わりに行う点である。また、2つ目は、シナリオ会話出力端末250に接続しているロボット100が会話相手に選定された場合には、シナリオ会話出力端末250は、会話出力端末200と会話出力サーバ300の処理を並行して別スレッドで行う点である。この場合、シナリオ会話出力端末250で行われる状況中継スレッドと状況更新スレッドとの間の通信は、スレッド間通信によって行われる(LTE通信部220は使われない)。同様に、シナリオ会話出力端末250で行われる、要求中継スレッドと要求更新スレッドとの間の通信、及び、会話出力スレッドとシナリオ送信スレッドとの間の通信も、スレッド間通信によって行われる(LTE通信部220は使われない)。
以上の構成及び処理内容により、実施形態3では、会話出力サーバ300を用意しなくても、シナリオ会話出力端末250は、各ロボット100から受信した状況情報に基づいたシナリオデータを各会話出力端末200に送信することができる。このため、本実施形態では、会話出力サーバ300を用意しなくても、各ユーザのシナリオ会話出力端末250及び会話出力端末200のディスプレイに、あたかもロボット100とロボット100’とが会話しているかのような文章が表示される。したがって、ロボット100,100’に高い会話能力が備わっているかのように、ユーザに見せることができる。
(実施形態4)
上記実施形態では、主にSNS機能を利用して、ロボットと他のロボットのコミュニケーションを可能としている。そして、ユーザは、自分の保有するロボットが、図10や図11に示すような流暢な会話のやり取りをしているのを見て、「このロボットは音声会話機能が無いか又は不十分なロボットなのに、こんな流暢な会話ができるのか」と感心するとともに、その会話のやり取りを見て楽しむことができる。各ロボットにはそれぞれユーザがいるので、ロボット100のユーザはロボット100の会話相手であるロボット100’等のロボットのユーザがどんなユーザなのか気になってくることが考えられる。
そのような場合に、ユーザ同士の交流を可能にするために、実施形態1の変形例3では、シナリオ記憶部331に記憶されているシナリオの話題として、ロボット100及びロボット100’の各々のユーザの「主人のID紹介」、「主人の趣味」等も用意し、また、ユーザプロファイル記憶部332には、ユーザの使用しているSNSの名称や、そのSNSでのIDも記憶しておくこととした。これによって、ロボット100のユーザとロボット100’のユーザである他のユーザのコミュニケーションをはかることを可能にした。
しかし、実施形態1の変形例3では、シナリオの話題は会話出力サーバ300が勝手に選定するため、ユーザが知りたい時に知りたい内容の会話が行われるとは限らない。また、ユーザによっては、自分の個人情報を他人に知られたくない場合も考えられる。そこで、ユーザが他のユーザと交流したいと思った時にだけ、個人情報の公開を行うことを可能にする実施形態4について、説明する。
本発明の実施形態4に係る会話出力システム1003は、図15に示すように、ロボット101と、会話出力端末202と、会話出力サーバ301と、を備える。ロボット101は、ユーザ意向取得部130を備える。ユーザ意向取得部130は、ユーザが自分の個人情報(自分が参加しているSNSやID、自分の趣味等)を公開したいと考えているか否か示す情報(ユーザ意向情報)を取得する。ユーザ意向取得部130は例えば単なるスイッチでもよい(ユーザが個人情報を公開したい場合はON、公開したくない場合はOFFに設定する)。ユーザ意向取得部130は、ユーザ意向情報取得手段として機能する。また、ロボット101は、音声認識によってユーザ意向情報を取得するようにしてもよい。この場合、ユーザ意向取得部130は、マイク133と音声認識部(図示せず)とによって構成されることになる。
ロボット101は、ユーザ意向取得部130が取得したユーザ意向情報を、近距離通信部120を介して、会話出力端末202に送信する。そして、会話出力端末202は、ロボット101から受信したユーザ意向情報を会話出力サーバ301に送信する。そして、会話出力サーバ301は、受信したユーザ意向情報に基づき、シナリオを選択する。
例えば、ロボット101とロボット101’とが会話相手として選定している場合を考える。そして、ロボット101から送信されたユーザ意向情報とロボット101’から送信されたユーザ意向情報とが両方とも「個人情報公開不可」の場合は、シナリオを選択する際に、「主人のID紹介」、「主人の趣味」等、個人情報が公開されてしまう話題からはシナリオを選択しないようにする。逆に、ユーザ意向情報が両方とも「個人情報公開可能」の場合は、シナリオを選択する際に、「主人のID紹介」、「主人の趣味」等、個人情報が公開される話題のシナリオを頻繁に選択するようにする。
また、会話しているロボット101のうち一方のユーザ意向情報だけが「個人情報公開不可」の場合は、会話出力サーバ301は、「[私]の主人は個人情報を交換したがっているだけど、だめかな?」等の発言内容を会話出力端末202に送信することによって、「個人情報公開不可」に設定しているユーザが、個人情報の公開を許可する機会を与える。なお、会話出力サーバ301は、「個人情報公開不可」に設定している(ロボット101のユーザ意向取得部130で取得されるユーザ意向情報が「個人情報を公開したくない」である)ユーザに個人情報の公開を許可する機会を与えずに、「個人情報公開可能」としている(ロボット101のユーザ意向取得部130で取得されるユーザ意向情報が「個人情報を公開したい」である)ユーザの個人情報だけが公開されるシナリオを選択するようにしてもよい。
また、会話出力端末202は、ユーザ入力部260を備える。ユーザ入力部260は、ユーザが入力した発言内容(文章)を受け付け、会話出力端末202は、それを会話出力サーバ301が提供するSNSに投稿する。これにより、ロボット101のユーザは、ロボット101と他のロボット101’とが会話しているSNSに入って、他のロボット101’のユーザと会話することができる。
例えば、以下のような会話例(シナリオ例)が考えられる。
GladDog:いっぱい遊んでくれたので、とても楽しいよ。
HappyCat:よかったね。実は[私]の主人もいっぱい遊んでくれたんだ。
GladDog:[私]の主人の趣味はテニスだよ。
HappyCat:そうなんだ。[私]の主人の趣味もテニスだよ。 今度一緒にテニスしたら楽しいかもね。
ここで、図12に示すシナリオには予め趣味の組合せを想定したシナリオが用意されている。しかしこれに限られない。例えば、シナリオ選択処理(図9)において、会話相手の趣味が一致するか否かを判断する判断ステップを追加し、一致する場合には、そのことをお互いに言い合うシナリオを生成するようにしてもよい。上記会話の場合は、趣味がテニスで一致するので、例えば、以下のようなシナリオが生成されてもよい。
GladDog:趣味が同じだね!
HappyCat:そうだね。同じだね。
この会話を見たロボット101のユーザが相手のロボット101’のユーザと交流を持ちたいと思った場合は、ロボット101のユーザ意向取得部に、個人情報を公開したい旨を伝える(例えば、個人情報を公開してもよいことを示すスイッチをONにする)。すると、このユーザ意向情報は会話出力端末202を介して会話出力サーバ301に送信される。ロボット101の会話相手のロボット101’のユーザも同じく個人情報を公開したくなったら、ロボット101’のユーザ意向取得部130は、個人情報を公開したいというユーザ意向情報を取得することになり、このユーザ意向情報は会話出力サーバ301に送信される。
すると、ユーザ意向情報とが両方とも「個人情報公開可能」となるので、会話出力サーバ301は、シナリオを選択する際に、「主人のID紹介」、「主人の趣味」等、個人情報が公開される話題のシナリオを頻繁に選択するようになる。例えば、「主人の住所」という話題が選択されると、以下のような会話が行われる。
GladDog:[あなた]の主人はどこに住んでいるの? [私]の主人は東京に住んでいるよ。
HappyCat:[私]の主人はシアトルに住んでいるよ。
また、例えば、「主人のメールアドレス」という話題が選択されると、以下のような会話が行われる。
GladDog:[あなた]の主人のメールアドレスは何? [私]の主人のメールアドレスは、name@ne.jpだよ。
HappyCat:[私]の主人のメールアドレスは、name@netだよ。
ここでは、ロボット同士の会話でユーザの情報がやりとりされているが、ユーザがロボット101同士の会話のやり取りを見ていて、相手のロボット101’のユーザに興味を持ったとき、会話出力端末202からSNSを通じて、ユーザ自身が相手のロボット101’のユーザと会話するようにしてもよい。
例えば、以下のような会話も考えられる。
GladDog:いっぱい遊んでくれたので、とても楽しいよ。
HappyCat:よかったね。実は[私]の主人もいっぱい遊んでくれたんだ。
GladDog:[私]の主人の趣味はテニスだよ。
HappyCat:そうなんだ。[私]の主人の趣味もテニスだよ。 今度一緒にテニスしたら楽しいかもね。
このような会話がロボット101同士で行われた後、ユーザ同士が直接以下のように会話することもできる。
Tarou:はじめまして。GladDogのユーザのTarouと申します。直接ご連絡してもよろしいでしょうか?
Lily:はじめまして。構いませんよ。Tarou:ありがとうございます。テニスがご趣味なんですね。私もテニスが趣味なんです。
Lily:それは奇遇ですね。
このように、ロボット101の会話を通じてユーザ同士がコミュニケーションを図ることができる。
なお、実施形態4の変形例として、ユーザ意向取得部130をロボット101ではなく、会話出力端末202が備えてもよい。この場合、ユーザは会話出力端末202が備えるタッチパネル等を操作して、個人情報の公開可否を入力することができ、ユーザ意向取得部130は該タッチパネル等からユーザ意向情報を取得する。
(実施形態5)
上記実施形態1では、ロボット100は、LTE通信部を備えていないため、状況取得部110で取得した状況情報を近距離通信部120により会話出力端末200に送信し、会話出力端末200が当該状況情報をLTE通信部220により会話出力サーバ300に送信していた。しかし、ロボットがLTE通信部を備えているなら、状況情報を直接会話出力サーバ300に送信することが可能になる。また、実施形態1では、状況情報はロボット100が備える状況取得部110が取得していたが、ロボットとは別個に設けたセンサでも状況情報を取得できるようにすれば、ロボットが備えていないセンサによる状況情報を利用することができるようになる。このような実施形態5について説明する。
本発明の実施形態5に係る会話出力システム1004は、図16に示すように、ロボット102と、会話出力端末200と、会話出力サーバ300と、センサ装置400と、を備える。センサ装置400は、通常、ロボット102に装着され、ロボット102の状況取得部110の機能を補う。ただし、センサ装置400は、ロボット102の周囲の状況の情報を取得可能であれば、必ずしもロボット102に装着される必要はない。ロボット102、会話出力端末200及びセンサ装置400は、近距離無線通信により無線接続して三つ組を形成している。会話出力システム1004は、ロボット102、会話出力端末200及びセンサ装置400による三つ組を複数(例えば、ロボット102と会話出力端末200とセンサ装置400、ロボット102’と会話出力端末200’とセンサ装置400’等)含んでいてもよい。
センサ装置400は、状況取得部410と、近距離通信部420と、を備え、状況取得部410が取得した状況情報をロボット102に送信する。
状況取得部410は、センサ装置400が備える各種センサ(温度センサ、湿度センサ、照度センサ、人感センサ等)から、ロボット102の周囲の状況の情報である状況情報を取得する。
近距離通信部420は、近距離無線通信デバイス(例えばBluetooth(登録商標)の通信デバイス)を備え、状況取得部410が取得した状況情報をロボット102に送信する。なお、図16では示していないが、近距離通信部420が会話出力端末200の近距離通信部210と通信して、状況取得部410が取得した状況情報を会話出力端末200に送信するようにしてもよい。
なお、図示しないが、センサ装置400がLTE通信部を備え、状況取得部410が取得した状況情報を直接会話出力サーバ300に送信できるようにしてもよい。
また、センサ装置400は複数存在してもよい。例えば、センサとして、温度センサのみを備えたセンサ装置400A、湿度センサのみを備えたセンサ装置400B、照度センサのみを備えたセンサ装置400C、が存在し、各センサ装置400A、400B、400Cが、それぞれ自身の備えるセンサで取得した状況情報をロボット102に送信してもよい。
ロボット102は、実施形態1に係るロボット100の構成に加えて、LTE通信部140を備える。LTE通信部140は、LTEの通信規格で通信するデバイスを備え、会話出力サーバ300と通信する。例えば、LTE通信部140は、会話出力サーバ300に状況情報を送信する。
また、ロボット102の近距離通信部120は、会話出力端末200の近距離通信部210だけでなく、センサ装置400の近距離通信部420とも通信し、センサ装置400からセンサ装置400が取得した状況情報を受信する。
なお、ロボット102は、状況取得部110を備えなくてもよい。この場合、ロボット102の周囲の状況の情報である状況情報は、全てセンサ装置400で取得されることになる。
会話出力端末200及び会話出力サーバ300の構成は実施形態1と同じであるので、説明を省略する。また、ロボット102、会話出力端末200及び会話出力サーバ300が実行する各種スレッドの処理内容も実施形態1と共通する部分が多いため、以下では異なる部分を中心に説明する。
実施形態5に係るロボット102は、状況送信スレッド(図6の左)のステップS101において、状況取得部110で取得した状況情報だけでなく、センサ装置400の状況取得部410が取得した状況情報も近距離通信部120を介して取得する。
また、実施形態5に係るロボット102は、状況送信スレッド(図6の左)のステップS102において、ステップS101で取得した状況情報をLTE通信部140を介して会話出力サーバ300に送信してもよい。このような処理にする場合、会話出力端末200は、状況中継スレッド(図6の真ん中)を実行しなくてもよく、会話出力サーバ300は、状況更新スレッド(図6の右)のステップS121において、状況情報がロボット102から送られてくるまで待ち続け、送られてきたらLTE通信部310で状況情報を受信する。
また、実施形態5に係るロボット102は、センサ装置400がロボット102に装着されている場合には、要求送信スレッド(図7の左)のステップS201やステップS203において、センサ装置400から得られる状況情報も用いてユーザが接近したか否かの判定やユーザがまだ近くにいるか否かの判定を行ってもよい。
上記の処理以外の処理については、実施形態1と共通であるため、説明を省略する。実施形態5では、ロボット102が直接会話出力サーバ300に状況情報を送信するので、会話出力端末の負荷を低下させることができる。
また、実施形態5では、センサ装置400が取得する状況情報も利用可能になるので、シナリオに用いることができる状況情報の幅が広がり、シナリオのバリエーションを広げることができる。例えば、ロボット102はコストを下げるために最低限のセンサしか搭載していないことも考えられるが、この場合でも、ユーザは後からセンサ装置400を買い足すことにより、よりバリエーションの広がった会話を楽しむことができるようになる。
なお、実施形態5において、ロボット102が状況情報を直接会話出力サーバ300に送信しなくてもよい場合(会話出力端末200を経由して状況情報を送信する場合)には、ロボット102は、LTE通信部140を備えなくてもよい。また、実施形態5において、状況情報のバリエーションを広げる必要が無い場合には、会話出力システム1004は、センサ装置400を備えなくてもよい。
(実施形態6)
上記実施形態では、状況情報に基づいて会話出力サーバ300がシナリオデータを選択し、それを会話出力端末200が出力することによって、ロボット100に高い会話能力が備わっているかのように、ユーザに見せることができた。しかし、シナリオデータによらずとも、ロボット100に高い会話能力が備わっているかのように、ユーザに見せることはできる。このような実施形態6について説明する。
本発明の実施形態6に係る会話出力システム1005は、図17に示すように、ロボット103と、会話出力端末203と、会話出力サーバ302と、を備える。
ロボット103は、実施形態1のロボット100の構成に加えて、自己診断部150を備える。自己診断部150は、ロボット103自身の診断を行い、異常が見つかったら、当該異常に関する情報を状況情報として近距離通信部120を介して会話出力端末203に送信する。例えば、足135や尻尾136を動かすことができなくなったり、これらの動きが悪くなったりしたら、そのことを示す情報を状況情報として会話出力端末203に送信する。
会話出力端末203は、実施形態4の会話出力端末202の構成に加えて、端末制御部230が状況通知作成部233を備える。また、会話出力端末203は、ロボット103の修理等を請け負うサービスセンターの連絡先の情報を記憶しており、LTE通信部220を介してサービスセンターにメッセージを通知することができる。
会話出力端末203においては、近距離通信部210がロボット103からロボット103の異常に関する状況情報を受信すると、状況通知作成部233が当該状況情報を通知するための自然言語のメッセージを作成する。例えば、足135を動かすことができない旨の状況情報を受信したら、状況通知作成部233は、「私は型番○○、製造番号△△のロボットですが、今朝急に足を動かすことができなくなりました。どうすれば良いでしょうか。」のようなメッセージを作成する。
そして、会話出力端末203は、状況通知作成部233が作成したメッセージを、LTE通信部220を介してサービスセンターに通知するとともに、当該メッセージによるサービスセンターとのやり取りを会話出力部231で出力する。
このようなメッセージによるサービスセンターとのやり取りを出力することにより、会話出力システム1005は、ユーザにあたかもロボット103がサービスセンターにいる担当者(人物)と会話をしているように見せることができる。なお、このように、会話出力端末203は、ユーザ入力部260を用いることなく、ユーザにあたかもロボット103がサービスセンターにいる担当者と会話をしているように見せることができるので、この機能を提供するだけであれば、会話出力端末203はユーザ入力部260を備えなくてよい。
会話出力サーバ302は、実施形態1の会話出力サーバ300の構成に加えて、文作成部322を備える。なお、会話出力サーバ302において、シナリオ送信スレッド(図8)の処理を行わない場合は、会話出力サーバ302は、シナリオ選択部321やシナリオ記憶部331を備えなくてもよい。
文作成部322は、発言文(ユーザ等から入力された文)が与えられると、その発言に返答しているかのように見える返答文を作成する。返答文の作成方法は任意だが、例えば、以下のような処理を行うことが考えられる。
予め、LTE通信部310を介して、インターネット等から公開されているSNSの会話のやり取りを大量に取得して記憶部330に保存しておく。そして、発言文が与えられたら、記憶部330に記憶されている会話のやり取りの中から、発言文に最も近い文を検索し、当該やり取りにおいて、その発言文に最も近い文の返答として用いられている文を返答文とする。発言文に最も近い文を検索する処理においては、厳密に最も近い文を検索する必要はなく、例えば「発言文に含まれる何らかのキーワードを含む文を検索し、その文に対する返答として用いられている文を返答文とする」というような処理を行うことにしてもよい。
そして、会話出力サーバ302は、文作成部322が作成した文をLTE通信部310を介して会話出力端末203に送信し、会話出力端末203は、当該文を会話出力部231で出力する。このようにすることにより、ユーザはロボット103と擬似的なチャットを楽しむことができるようになる。この疑似チャットのためのスレッド群について、図18を参照して説明する。
会話出力端末203は、電源が投入されると、図18の左側のフローチャートに示す文入出力スレッドが起動する。また、会話出力サーバ302は、電源が投入されると図18の真ん中のフローチャートに示す文送信スレッドが起動する。なお、図18の右側のフローチャートに示す文入出力スレッドは、左側のフローチャートと同一である。会話出力端末203に無線接続しているロボット103の会話相手である他のロボット103’に無線接続している会話出力端末203’で、右側のフローチャートが実行されることを想定している。また、図18において、点線矢印は各スレッド間でデータが送受信されることを示している。
文入出力スレッドと文送信スレッドは、会話出力サーバ302がシナリオ選択部321やシナリオ記憶部331を備える場合には、図8を参照して説明した会話内容出力のスレッド群と並行に動作する。その場合でも、会話開始通知受信判定(ステップS301)及び会話終了通知受信判定(ステップS304)に関しては、文入出力スレッド(図18)と会話出力スレッド(図8)とで共通の処理になる。また、会話相手選定(ステップS311)、会話開始通知送信(ステップS312)、会話終了判定(ステップS315)及び会話終了通知送信(ステップS316)に関しては、文入出力スレッド(図18)と会話出力スレッド(図8)とで共通の処理になる。
従って、会話出力サーバ302がシナリオ選択部321やシナリオ記憶部331を備える場合、文入出力スレッドのステップS331~ステップS337が、シナリオ受信(ステップS302)及び会話内容出力(ステップS303)と並行して動作し、文送信スレッドのステップS341~ステップS344が、シナリオ選定処理(ステップS313)及びシナリオ送信(ステップS314)と並行して動作することになる。会話出力サーバ302がシナリオ選択部321及びシナリオ記憶部331を備える場合も備えない場合も、図18で図8と符号が共通するステップの処理は、図8で説明した処理と同じなので、以下、図8で説明した処理と異なる部分の処理について説明する。
まず、入出力スレッドでは、会話開始通知パケットを受信したら(ステップS301;Yes)、端末制御部230は、ユーザ入力部260から発言文が入力されているか又はLTE通信部220から発言文を受信しているか否かを判定する(ステップS331)。発言文の入力も受信もなければ(ステップS331;No)、ステップS331に戻る。
ユーザ入力部260から発言文が入力されているか又はLTE通信部220から発言文を受信しているなら(ステップS331;Yes)、端末制御部230は、ユーザ入力部260から発言文が入力されているか否かを判定する(ステップS332)。ユーザ入力部260から発言文が入力されていないなら(ステップS332;No)、ステップS334に進む。
ユーザ入力部260から発言文が入力されているなら(ステップS332;Yes)、端末制御部230は、ユーザ入力部260から入力された発言文をLTE通信部220を介して、会話出力サーバ302に送信する(ステップS333)。すると、会話出力サーバ302の文送信スレッドでは、制御部320がLTE通信部310を介して、会話出力端末203から送信された発言文を受信し(ステップS341)、発言文の送信元も含め会話相手となっている全ての会話出力端末203に、受信した発言文を送信する(ステップS342)。
そして、文送信スレッドでは、文作成部322が、該発言文に対する返答文を作成し(ステップS343)、会話相手となっている全ての会話出力端末203に、作成した返答文を送信する(ステップS344)。
一方、文入出力スレッドでは、端末制御部230がLTE通信部220を介して会話出力サーバ302から送信された発言文を受信し(ステップS334)、受信した発言文を会話出力部231が出力する(ステップS335)。
そして、端末制御部230がLTE通信部220を介して会話出力サーバ302から送信された返答文を受信し(ステップS336)、受信した返答文を会話出力部231が出力する(ステップS337)。この他の処理は、図8を参照して説明した(同一符号で示した)各ステップの処理と同じなので、説明を省略する。
以上、図18に示す処理を行うことにより、会話出力端末203は、ユーザ等が入力した発言文に対して、例えばSNSで実際に行われた会話に基づく返答を出力することができるので、会話出力システム1005は、ロボット103が自然言語で会話をしているようにユーザに認識させることができる。
なお、上述の実施形態では、LTE通信部140,220,310は、LTEの通信規格で通信するデバイスを備えるものとして説明したが、LTE通信部140,220,310は、LTEの通信規格に限定されるものではない。各LTE通信部140,220,310間で通信可能なデバイスであれば、任意のデバイスを利用することができる。
また、上述の実施形態では、データ通信を無線で行うこととして説明したが、データ通信の一部又は全部を無線に代えて有線で行ってもよい。特に、実施形態3においては、上述したように、シナリオ会話出力端末250で行われる状況中継スレッドと状況更新スレッドとの間の通信、要求中継スレッドと要求更新スレッドとの間の通信、及び、会話出力スレッドとシナリオ送信スレッドとの間の通信は、スレッド間通信によって行われ、該通信ではLTE通信部220は使われない。
(実施形態の効果)
ユーザが、自分の保有するロボットが、会話出力端末に文字で表示されたり、会話出力端末で音声で発声されたりする流暢な会話のやり取りを見たり聞いたりして、音声会話機能が無いか又は不十分なロボットであっても、あたかも優れた会話能力を有しているように感じることができる。また、ユーザは、そのロボット同士の会話のやり取りを見て楽しむことができる。更には、ユーザは、その会話を通じて他のユーザとのコミュニケーションを図ることができる。そして、ユーザの知らない間にロボット同士が友達になっているかのような会話が出力されるので、ユーザもロボット同士の会話に触発されて、コミュニケーションの輪を広げることができる。
なお、会話出力端末200,201,202、シナリオ会話出力端末250及び会話出力サーバ300,301の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、会話出力端末200,201,202、及びシナリオ会話出力端末250の端末制御部230並びに会話出力サーバ300,301の制御部320が実行するプログラムが、記憶部240,330のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)及びMO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
また、上記実施の形態では、ロボット100と100’の1対1の会話を例にとって説明したが、LINE(登録商標)のグループ機能のように、複数のロボットが会話するようにしてもよい。この場合、シナリオデータは複雑且つ容量が大きくなるが、基本的にはパターンが増えるだけである。
また、シナリオデータは予め用意されているものとして説明したが、学習機能やAIによって、逐次更新又は新規作成されていくようにすることもできる。
また、上記実施の形態では、ロボット100とロボット100’の情報を同じ会話出力サーバが両方とも管理しているので、会話出力サーバがロボット100の発言もロボット100’の発言も生成することになり、シナリオに沿ってつじつまが合うように会話文を作成することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
ロボットのユーザに関する情報と、前記ロボットの周囲の状況の情報である状況情報との少なくとも一方の情報である第1情報を取得する第1情報取得手段と、
取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように前記ユーザに認識させるための会話データを作成する作成手段と、
前記作成した会話データに基づく情報を出力するように出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる出力制御手段と、を備え、
前記ロボットは、前記会話データに基づく会話のレベル以上のレベルの会話を実行する機能を有していない、
会話出力システム。
(付記2)
前記ロボットは、
前記第1情報としての前記状況情報を取得する第1センサと、
前記第1センサが取得した前記第1情報としての前記状況情報を前記会話出力システムに送信する状況送信部と、を備え、
前記会話出力システムは、会話出力サーバ及び会話出力端末を備え、
前記会話出力サーバは、対端末通信部と、前記第1情報取得手段と、前記作成手段と、を有し、
前記会話出力端末は、前記出力制御手段と、前記出力部と、状況受信部と、対サーバ通信部と、を有し、
前記会話出力端末の前記出力制御手段は、前記状況受信部を介して、前記ロボットの前記状況送信部が送信した前記第1情報としての前記状況情報を受信することにより取得し、前記対サーバ通信部を介して、前記受信した前記第1情報としての前記状況情報を前記会話出力サーバの前記対端末通信部に送信し、
前記会話出力サーバの前記第1情報取得手段は、前記対端末通信部を介して、前記送信された前記第1情報を、受信することにより取得し、前記作成手段により作成した前記会話データを、前記対端末通信部を介して、前記会話出力端末の前記対サーバ通信部に送信し、
前記会話出力端末の前記出力制御手段は、前記対サーバ通信部を介して、前記会話出力サーバが送信した前記会話データを受信することにより取得し、前記取得した会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
付記1に記載の会話出力システム。
(付記3)
前記会話出力サーバは、SNS(Social Networking Service)を提供可能に構成され、
前記会話出力端末の前記出力制御手段は、
前記会話出力サーバが提供する前記SNSにアクセスするSNSクライアントソフトとして機能し、
前記取得した会話データを、前記SNSへの書き込み内容として、前記対サーバ通信部を介して、前記会話出力サーバの前記対端末通信部に送信し、
前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記SNS上で前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
付記2に記載の会話出力システム。
(付記4)
前記作成手段は、
会話の話題を選定し、
少なくとも前記選定した話題と前記第1情報とに基づいて前記会話データを作成する、
付記1から3のいずれか1つに記載の会話出力システム。
(付記5)
前記作成手段は、
会話の第1の話題を選定し、
前記選定した第1の話題と前記第1情報とに基づいて第1の会話データを作成し、
前記出力制御手段によって前記第1の会話データに基づく情報を出力するように前記出力部が制御された後に、前記選定した第1の話題とは異なる第2の話題を選定し、
前記選定した第2の話題と前記第1情報とに基づいて第2の会話データを作成する、
付記4に記載の会話出力システム。
(付記6)
前記作成手段は、
前記第1の会話データと前記第2の会話データとの間をつなぐ文章であるつなぎ文を取得し、
前記作成した第2の会話データの前に前記取得したつなぎ文を追加する、
付記5に記載の会話出力システム。
(付記7)
前記ユーザの居住国を取得する居住国取得手段をさらに備え、
前記作成手段は、前記会話データを、前記取得した居住国の言語に翻訳する、
付記1から6のいずれか1つに記載の会話出力システム。
(付記8)
前記所定の対象は、前記ユーザ、前記ロボット以外の他のロボット、又は、前記ユーザ以外の人物である、
付記1から7のいずれか1つに記載の会話出力システム。
(付記9)
前記所定の対象は、前記ロボットとは別個に設けられ、前記ユーザとは異なる他のユーザに属する他のロボットであり、
前記他のユーザに関する情報と、前記他のロボットの周囲の状況の情報である状況情報との少なくとも一方の情報である第2情報を取得する第2情報取得手段をさらに備え、
前記作成手段は、前記取得した前記第1及び第2情報に基づいて、前記会話データとして、前記ロボットと前記他のロボットとが前記第1情報及び前記第2情報に適合する会話をしているように前記ユーザに認識させるためのデータを作成し、
前記出力制御手段は、前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記他のロボットとが前記第1及び第2情報に適合する会話をしているように認識させる、
付記1から7のいずれか1つに記載の会話出力システム。
(付記10)
前記所定の対象は仮想のロボットであり、
前記作成手段は、前記仮想のロボットに関する第2情報を設定し、前記第1情報及び前記設定した前記第2情報に基づいて、前記会話データとして、前記ロボットと前記仮想のロボットとが前記第1及び第2情報に適合する会話をしているように前記ユーザに認識させるためのデータを作成し、
前記出力制御手段は、前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記仮想のロボットとが前記第1及び第2情報に適合する会話をしているように認識させる、
付記1から7のいずれか1つに記載の会話出力システム。
(付記11)
前記ユーザから当該ユーザが個人情報を公開したいと考えているか否かを示すユーザ意向情報を取得するユーザ意向情報取得手段をさらに備え、
前記作成手段は、前記取得した前記ユーザ意向情報により前記ユーザが個人情報を公開したいと考えていることが示されている場合に、前記ユーザに関する情報を含めた前記第1情報に基づいて、前記会話データを作成する、
付記1から10のいずれか1つに記載の会話出力システム。
(付記12)
前記ロボットは、会話する機能を有していない、
付記1から11のいずれか1つに記載の会話出力システム。
(付記13)
前記出力部としてディスプレイを備え、
前記出力制御手段は、前記作成手段が作成した会話データを前記ディスプレイに表示することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
付記1から12のいずれか1つに記載の会話出力システム。
(付記14)
前記出力部としてスピーカを備え、
前記出力制御手段は、前記作成手段が作成した会話データを音声合成して、前記スピーカから出力させることによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
付記1から13のいずれか1つに記載の会話出力システム。
(付記15)
ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得する情報取得手段と、
前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように、前記ロボットのユーザに認識させるための会話データを作成する作成手段と、
当該作成した前記会話データを、前記ロボットとは別個に設けられた会話出力端末に送信する送信手段と、を備える、
会話出力サーバ。
(付記16)
会話出力システムによって実行される会話出力方法であって、
ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得するステップと、
前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように、前記ユーザに認識させるための会話データを作成するステップと、
前記作成した会話データに基づく情報を出力するように、前記ロボットとは別個に設けられた出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させるためのステップと、
を含む会話出力方法。
(付記17)
会話出力サーバのコンピュータに、
ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得する処理と、
前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように前記ロボットのユーザに認識させるための会話データを作成する処理と、
前記作成した会話データに基づく情報を出力するように、前記ロボットとは別個に設けられた出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させるための処理と、
を実行させる、
プログラム。
100,100’,100’’,101,101’,101’’,102,102’,103,103’,103’’…ロボット、110,410…状況取得部、120,210,420…近距離通信部、130…ユーザ意向取得部、131…人感センサ、132…カメラ、133…マイク、134,280…スピーカ、135…足、136…尻尾、140,220,310…LTE通信部、150…自己診断部、200,200’,200’’,201,202,202’,202’’,203,203’,203’’…会話出力端末、230…端末制御部、231…会話出力部、232,321…シナリオ選択部、233…状況通知作成部、240,330…記憶部、241,331…シナリオ記憶部、242,332…ユーザプロファイル記憶部、243,333…ユーザ状況記憶部、250…シナリオ会話出力端末、260…ユーザ入力部、270…ディスプレイ、300,301,302…会話出力サーバ、320…制御部、322…文作成部、400,400A,400B,400C,400’…センサ装置、1000,1001,1002,1003,1004,1005…会話出力システム
本発明は、会話出力システム、サーバ、会話出力方法及びプログラムに関する。
上記目的を達成するため、本発明の会話出力システムは、
ロボットを使用するユーザに関する情報と、前記ユーザが所有する端末の周囲の状況の情報である状況情報との少なくとも一方の情報である第1情報を取得する情報取得手段と、
前記情報取得手段によって取得された前記第1情報を外部のサーバへ送信する情報送信手段と、を備える端末と、
前記情報送信手段によって送信された第1情報を受信する情報受信手段と、前記情報受信手段によって受信された前記第1情報に基づいて、前記端末が制御するロボットと所定の対象とによる前記第1情報に適合する会話を示す会話データを作成する作成手段と、前記作成手段によって作成された会話データを前記端末へ送信するデータ送信手段と、を備えるサーバと、
を含み、
前記端末は更に、前記データ送信手段によって送信された会話データを受信するデータ受信手段と、
前記データ受信手段によって受信された前記会話データのみに基づいて、前記ロボットと前記所定の対象とによる前記第1情報に適合する会話を前記ロボットに出力させるよう制御する制御手段と、
を備える

Claims (17)

  1. ロボットのユーザに関する情報と、前記ロボットの周囲の状況の情報である状況情報との少なくとも一方の情報である第1情報を取得する第1情報取得手段と、
    取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように前記ユーザに認識させるための会話データを作成する作成手段と、
    前記作成した会話データに基づく情報を出力するように出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる出力制御手段と、を備え、
    前記ロボットは、前記会話データに基づく会話のレベル以上のレベルの会話を実行する機能を有していない、
    会話出力システム。
  2. 前記ロボットは、
    前記第1情報としての前記状況情報を取得する第1センサと、
    前記第1センサが取得した前記第1情報としての前記状況情報を前記会話出力システムに送信する状況送信部と、を備え、
    前記会話出力システムは、会話出力サーバ及び会話出力端末を備え、
    前記会話出力サーバは、対端末通信部と、前記第1情報取得手段と、前記作成手段と、を有し、
    前記会話出力端末は、前記出力制御手段と、前記出力部と、状況受信部と、対サーバ通信部と、を有し、
    前記会話出力端末の前記出力制御手段は、前記状況受信部を介して、前記ロボットの前記状況送信部が送信した前記第1情報としての前記状況情報を受信することにより取得し、前記対サーバ通信部を介して、前記受信した前記第1情報としての前記状況情報を前記会話出力サーバの前記対端末通信部に送信し、
    前記会話出力サーバの前記第1情報取得手段は、前記対端末通信部を介して、前記送信された前記第1情報を、受信することにより取得し、前記作成手段により作成した前記会話データを、前記対端末通信部を介して、前記会話出力端末の前記対サーバ通信部に送信し、
    前記会話出力端末の前記出力制御手段は、前記対サーバ通信部を介して、前記会話出力サーバが送信した前記会話データを受信することにより取得し、前記取得した会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
    請求項1に記載の会話出力システム。
  3. 前記会話出力サーバは、SNS(Social Networking Service)を提供可能に構成され、
    前記会話出力端末の前記出力制御手段は、
    前記会話出力サーバが提供する前記SNSにアクセスするSNSクライアントソフトとして機能し、
    前記取得した会話データを、前記SNSへの書き込み内容として、前記対サーバ通信部を介して、前記会話出力サーバの前記対端末通信部に送信し、
    前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記SNS上で前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
    請求項2に記載の会話出力システム。
  4. 前記作成手段は、
    会話の話題を選定し、
    少なくとも前記選定した話題と前記第1情報とに基づいて前記会話データを作成する、
    請求項1から3のいずれか1項に記載の会話出力システム。
  5. 前記作成手段は、
    会話の第1の話題を選定し、
    前記選定した第1の話題と前記第1情報とに基づいて第1の会話データを作成し、
    前記出力制御手段によって前記第1の会話データに基づく情報を出力するように前記出力部が制御された後に、前記選定した第1の話題とは異なる第2の話題を選定し、
    前記選定した第2の話題と前記第1情報とに基づいて第2の会話データを作成する、
    請求項4に記載の会話出力システム。
  6. 前記作成手段は、
    前記第1の会話データと前記第2の会話データとの間をつなぐ文章であるつなぎ文を取得し、
    前記作成した第2の会話データの前に前記取得したつなぎ文を追加する、
    請求項5に記載の会話出力システム。
  7. 前記ユーザの居住国を取得する居住国取得手段をさらに備え、
    前記作成手段は、前記会話データを、前記取得した居住国の言語に翻訳する、
    請求項1から6のいずれか1項に記載の会話出力システム。
  8. 前記所定の対象は、前記ユーザ、前記ロボット以外の他のロボット、又は、前記ユーザ以外の人物である、
    請求項1から7のいずれか1項に記載の会話出力システム。
  9. 前記所定の対象は、前記ロボットとは別個に設けられ、前記ユーザとは異なる他のユーザに属する他のロボットであり、
    前記他のユーザに関する情報と、前記他のロボットの周囲の状況の情報である状況情報との少なくとも一方の情報である第2情報を取得する第2情報取得手段をさらに備え、
    前記作成手段は、前記取得した前記第1及び第2情報に基づいて、前記会話データとして、前記ロボットと前記他のロボットとが前記第1情報及び前記第2情報に適合する会話をしているように前記ユーザに認識させるためのデータを作成し、
    前記出力制御手段は、前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記他のロボットとが前記第1及び第2情報に適合する会話をしているように認識させる、
    請求項1から7のいずれか1項に記載の会話出力システム。
  10. 前記所定の対象は仮想のロボットであり、
    前記作成手段は、前記仮想のロボットに関する第2情報を設定し、前記第1情報及び前記設定した前記第2情報に基づいて、前記会話データとして、前記ロボットと前記仮想のロボットとが前記第1及び第2情報に適合する会話をしているように前記ユーザに認識させるためのデータを作成し、
    前記出力制御手段は、前記会話データに基づく情報を出力するように前記出力部を制御することによって、前記ユーザに、前記ロボットと前記仮想のロボットとが前記第1及び第2情報に適合する会話をしているように認識させる、
    請求項1から7のいずれか1項に記載の会話出力システム。
  11. 前記ユーザから当該ユーザが個人情報を公開したいと考えているか否かを示すユーザ意向情報を取得するユーザ意向情報取得手段をさらに備え、
    前記作成手段は、前記取得した前記ユーザ意向情報により前記ユーザが個人情報を公開したいと考えていることが示されている場合に、前記ユーザに関する情報を含めた前記第1情報に基づいて、前記会話データを作成する、
    請求項1から10のいずれか1項に記載の会話出力システム。
  12. 前記ロボットは、会話する機能を有していない、
    請求項1から11のいずれか1項に記載の会話出力システム。
  13. 前記出力部としてディスプレイを備え、
    前記出力制御手段は、前記作成手段が作成した会話データを前記ディスプレイに表示することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
    請求項1から12のいずれか1項に記載の会話出力システム。
  14. 前記出力部としてスピーカを備え、
    前記出力制御手段は、前記作成手段が作成した会話データを音声合成して、前記スピーカから出力させることによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させる、
    請求項1から13のいずれか1項に記載の会話出力システム。
  15. ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得する情報取得手段と、
    前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように、前記ロボットのユーザに認識させるための会話データを作成する作成手段と、
    当該作成した前記会話データを、前記ロボットとは別個に設けられた会話出力端末に送信する送信手段と、を備える、
    会話出力サーバ。
  16. 会話出力システムによって実行される会話出力方法であって、
    ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得するステップと、
    前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように、前記ユーザに認識させるための会話データを作成するステップと、
    前記作成した会話データに基づく情報を出力するように、前記ロボットとは別個に設けられた出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させるためのステップと、
    を含む会話出力方法。
  17. 会話出力サーバのコンピュータに、
    ロボットのユーザに関する情報、及び、前記ロボットの周囲の状況の情報である状況情報の少なくとも一方の情報である第1情報を取得する処理と、
    前記取得した前記第1情報に基づいて、前記ロボットと所定の対象とが少なくとも前記第1情報に適合する会話をしているように前記ロボットのユーザに認識させるための会話データを作成する処理と、
    前記作成した会話データに基づく情報を出力するように、前記ロボットとは別個に設けられた出力部を制御することによって、前記ユーザに、前記ロボットと前記所定の対象とが少なくとも前記第1情報に適合する会話をしているように認識させるための処理と、
    を実行させる、
    プログラム。
JP2023091450A 2018-02-13 2023-06-02 会話出力システム、サーバ、会話出力方法及びプログラム Pending JP2023123479A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018022982 2018-02-13
JP2018022982 2018-02-13
JP2018218848A JP7331349B2 (ja) 2018-02-13 2018-11-22 会話出力システム、サーバ、会話出力方法及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018218848A Division JP7331349B2 (ja) 2018-02-13 2018-11-22 会話出力システム、サーバ、会話出力方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023123479A true JP2023123479A (ja) 2023-09-05

Family

ID=67541966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023091450A Pending JP2023123479A (ja) 2018-02-13 2023-06-02 会話出力システム、サーバ、会話出力方法及びプログラム

Country Status (3)

Country Link
US (1) US11267121B2 (ja)
JP (1) JP2023123479A (ja)
CN (1) CN110152314B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020070923A1 (ja) * 2018-10-05 2020-04-09 日本電信電話株式会社 対話装置、その方法、およびプログラム
US11301629B2 (en) * 2019-08-21 2022-04-12 International Business Machines Corporation Interleaved conversation concept flow enhancement
CN110815238A (zh) * 2019-10-28 2020-02-21 和美(深圳)信息技术股份有限公司 机器人表情实现方法、装置、计算机设备和存储介质
KR20210078207A (ko) * 2019-12-18 2021-06-28 엘지전자 주식회사 로봇 및 로봇 시스템
CN112497217B (zh) * 2020-12-02 2022-12-13 深圳市香蕉智能科技有限公司 一种机器人的交互方法、装置、终端设备及可读存储介质
WO2022123817A1 (ja) * 2020-12-10 2022-06-16 パナソニックIpマネジメント株式会社 ロボット制御方法及び情報提供方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963712A (en) * 1996-07-08 1999-10-05 Sony Corporation Selectively configurable robot apparatus
JP2002307354A (ja) * 2000-11-07 2002-10-23 Sega Toys:Kk 電子玩具
JP2003205483A (ja) 2001-11-07 2003-07-22 Sony Corp ロボットシステム及びロボット装置の制御方法
GB2425490A (en) * 2005-04-26 2006-11-01 Steven Lipman Wireless communication toy
EP2106653B1 (en) * 2007-01-25 2014-04-09 Eliza Corporation Systems and techniques for producing spoken voice prompts
JP2009061547A (ja) * 2007-09-06 2009-03-26 Olympus Corp ロボット制御システム、ロボット、プログラム及び情報記憶媒体
JP5215098B2 (ja) * 2008-09-17 2013-06-19 オリンパス株式会社 情報処理システム、プログラム及び情報記憶媒体
US9259842B2 (en) * 2011-06-10 2016-02-16 Microsoft Technology Licensing, Llc Interactive robot initialization
KR20130139137A (ko) * 2012-06-12 2013-12-20 윤재민 센서입력에 반응하는 대화인형 및 그 운용 방법
CN106794383B (zh) * 2014-06-16 2019-12-10 克利萨·沃瑞 基于云的互动玩具
CN204134197U (zh) * 2014-08-07 2015-02-04 深圳市捷通语音电子有限公司 智能玩具系统
CN106292730A (zh) 2015-05-29 2017-01-04 鸿富锦精密工业(深圳)有限公司 情感交互式机器人
CN107053191B (zh) * 2016-12-31 2020-05-08 华为技术有限公司 一种机器人,服务器及人机互动方法
CN107294837A (zh) * 2017-05-22 2017-10-24 北京光年无限科技有限公司 采用虚拟机器人进行对话交互的方法和系统

Also Published As

Publication number Publication date
US11267121B2 (en) 2022-03-08
US20190248001A1 (en) 2019-08-15
CN110152314B (zh) 2021-09-10
CN110152314A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
JP2023123479A (ja) 会話出力システム、サーバ、会話出力方法及びプログラム
US20220284896A1 (en) Electronic personal interactive device
US20220254343A1 (en) System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
CN110609620B (zh) 基于虚拟形象的人机交互方法、装置及电子设备
JP7396396B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US6907571B2 (en) Adjunct use of instant messenger software to enable communications to or between chatterbots or other software agents
US11222633B2 (en) Dialogue method, dialogue system, dialogue apparatus and program
US20190206407A1 (en) System and method for personalizing dialogue based on user's appearances
CN111801730A (zh) 用于人工智能驱动的自动伴侣的系统和方法
JP2019521449A (ja) 永続的コンパニオンデバイス構成及び配備プラットフォーム
CN107000210A (zh) 用于提供持久伙伴装置的设备和方法
WO2017200076A1 (ja) 対話方法、対話システム、対話装置、およびプログラム
CN109643550A (zh) 对话机器人及对话系统、以及对话程序
CN112262024A (zh) 用于增强数字体验的动态机器人配置的系统和方法
US20230351661A1 (en) Artificial intelligence character models with goal-oriented behavior
JP7331349B2 (ja) 会話出力システム、サーバ、会話出力方法及びプログラム
KR102063389B1 (ko) 인공지능 기반의 캐릭터 표시 장치 및 그 표시 방법
US20230351216A1 (en) Artificial intelligence character models with modifiable behavioral characteristics
US20230351142A1 (en) Relationship graphs for artificial intelligence character models
US12020361B1 (en) Real-time animation of artificial intelligence characters
Kamiwada et al. Service robot platform technologies that enhance customer contact points
Ebner Alexa, Siri and more: The impact of speech recognition on social behaviour and our responsibility as its creators
CN117171370A (zh) 互动故事的生成方法及相关装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230703