JP2020034601A - 制御システムおよび制御方法 - Google Patents

制御システムおよび制御方法 Download PDF

Info

Publication number
JP2020034601A
JP2020034601A JP2018158421A JP2018158421A JP2020034601A JP 2020034601 A JP2020034601 A JP 2020034601A JP 2018158421 A JP2018158421 A JP 2018158421A JP 2018158421 A JP2018158421 A JP 2018158421A JP 2020034601 A JP2020034601 A JP 2020034601A
Authority
JP
Japan
Prior art keywords
external data
external
data
control system
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.)
Ceased
Application number
JP2018158421A
Other languages
English (en)
Inventor
育美 井上
Ikumi Inoue
育美 井上
正志 光野
Masashi Kono
正志 光野
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 JP2018158421A priority Critical patent/JP2020034601A/ja
Priority to US16/535,178 priority patent/US20200064793A1/en
Publication of JP2020034601A publication Critical patent/JP2020034601A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Robotics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Manipulator (AREA)

Abstract

【課題】適切な情報共有を図ること。【解決手段】制御システムは、入力音声、入力映像、入力テキスト、または前記入力音声や映像から変換されたテキストに関する第1外部データを外部装置から取得すると、第1外部データに対する第1応答データを、外部装置に出力する。制御システムのプロセッサは、第1外部データの共有可否に関する属性情報を第1外部データに付与し、属性情報に基づいて、第1外部データの選択容易性の指標となる重みを第1外部データに設定して記憶デバイスに格納し、外部装置または他の外部装置から第2外部データが受信されると、第1外部データの選択容易性の指標となる重みに基づいて、第1外部データを記憶デバイスから選択し、選択した第1外部データに基づいて、第2外部データに対する第2応答データを生成し、第2応答データを第2外部データの送信元の外部装置に送信する。【選択図】図1

Description

本発明は、外部装置を制御する制御システムおよび制御方法に関する。
あらゆる機器をインターネットに接続し、種々のサービスを提供するInternet of Things(IoT)技術が普及しつつある。インターネットに接続される機器の数が急速に増加する中、インターネットに接続される複数の電子機器における情報を知識として管理する要求がある。
ここで、電子機器における情報はデータである。知識とは、「事象または事柄」と「内容」のセットであり、本明細書では特に、電子機器が知識を獲得することを、「1つの情報」に対して「1つ以上の意味情報」の組を1つのデータセットを持つこととする。さらに、インターネットに接続される電子機器が普及する中で、1つの機器単体だけでなく、複数台の情報を管理する要求がある。
その一例としてコミュニケーションを用いて人間に種々のサービスを提供するロボットシステムの技術開発が挙げられる。ロボットが人間とコミュニケーションをとるにあたり、ロボットの知識を充実させる必要がある。また、それらのロボットが普及する中で、ロボット単体だけでなく、複数台の情報を管理する要求がある。
これに対して、特許文献1は、ロボット管理装置を開示する。このロボット管理装置は、データセットを知識セットと定義し、複数のロボットとネットワークを介して通信するための通信部と、前記複数のロボットに知識セットを割り当て、前記複数のロボットがそれぞれ収集した知識情報を、各ロボットに割り当てられた知識セットに対応づけて管理する管理部と、前記複数のロボットのいずれかから、そのロボットの周辺環境に関する環境情報を受け付け、そのロボットに割り当てられた知識セットを利用して、前記環境情報に所定の処理を施すことにより、そのロボットの制御に必要な制御情報を生成する知能部と、前記制御情報を前記ロボットに前記ネットワークを介して提供する提供部と、を備える。
特開2005‐111603号公報
特許文献1のロボット管理装置は、複数台のロボットの情報を管理する。しかしながら、他のロボットから得られた情報を一括管理して共有することで、他のロボットから情報を得たロボットが不適切な発話や行動をする可能性がある。
本発明は、他の機器から得た情報を利用する場合においても、ある機器が、適切な動作を行うための情報選択が可能な知識管理を行うことを目的とする。
本願において開示される発明の一側面となる制御システムおよび制御方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、音声または映像を入出力可能な外部装置と通信可能な通信インタフェースと、を有し、入力音声、入力映像、入力テキスト、または前記入力音声や映像から変換されたテキストに関する第1外部データを前記外部装置から取得すると、前記第1外部データに対する第1応答データを、前記外部装置に出力する制御システムおよび制御方法であって、前記プロセッサは、前記第1外部データの共有可否に関する属性情報を前記第1外部データに付与し、前記属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、ことを特徴とする。
本発明の代表的な実施の形態によれば、適切な情報共有を行うことができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、管理システムのシステム構成例を示す説明図である。 図2は、コンピュータ(運用管理サーバおよびアプリケーションサーバ)のハードウェア構成例を示すブロック図である。 図3は、ロボットRのハードウェア構成例を示すブロック図である。 図4は、辞書テーブルの記憶内容例を示す説明図である。 図5は、属性情報の一例を示す説明図である。 図6は、ロボット管理テーブルの記憶内容例を示す説明図である。 図7は、マスタ辞書テーブルの記憶内容例を示す説明図である。 図8は、重み情報テーブルの記憶内容例を示す説明図である。 図9は、契約者情報テーブルの記憶内容例を示す説明図である。 図10は、相関テーブルの記憶内容例を示す説明図である。 図11は、学習データセットの登録シーケンス例を示すシーケンス図である。 図12は、確認リスト生成処理(ステップS1103)の詳細な処理手順例を示すフローチャートである。 図13は、確認リストの一例を示す説明図である。 図14は、学習リスト生成処理(ステップS1104)の詳細な処理手順例を示すフローチャートである。 図15は、学習リストの一例を示す説明図である。 図16は、図11に示したマスタ辞書テーブル更新処理(ステップS1106)の詳細な処理手順例を示すフローチャートである。 図17は、図16に示した更新リスト生成処理(ステップS1606)の詳細な処理手順例を示すフローチャートである。 図18は、更新リストの一例を示す説明図である。 図19は、運用管理サーバにおける契約者の追加があった場合の重み更新処理手順例を示すフローチャートである。 図20は、アプリケーションサーバにおける重みリスト反映処理手順例を示すフローチャートである。 図21は、学習データセットの有用性再判定シーケンス例を示すシーケンス図である。 図22は、図21に示した活用頻度測定処理(ステップS2103)の詳細な処理手順例を示すフローチャートである。 図23は、図21に示した重み更新処理(ステップS2106)の詳細な処理手順例を示すフローチャートである。
以下、本発明の実施例を図面に基づいて詳細に説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることや、各実施例を組み合わせ得ることは当業者であれば容易に理解される。
なお、以下の実施例において、説明の便宜上必要があるときは、複数のセクションまたは実施例に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部又は全部の変形例、詳細、補足説明などの関係にある。
また、以下の実施例において、要素の数など(個数、数値、量、範囲などを含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよいものとする。
さらに、以下の実施例において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではないことは言うまでもない。
<システム構成例>
図1は、管理システムのシステム構成例を示す説明図である。管理システム100は、運用管理センタである制御システム101と、1以上(図1ではm(mはm≧1の整数)個)のサービス拠点B1〜Bmと、を有する。サービス拠点B1〜Bmを区別しない場合は、単に、「サービス拠点B」と表記する。制御システム101とサービス拠点Bとは、インターネット、Local Area Network(LAN)、Wide Area Network(WAN)などのネットワークNW0に通信可能に接続される。制御システム101は、サービス拠点Bでのサービスの運用を管理する。
制御システム101は、運用管理サーバ110と、1以上(図1ではm(≧1)個)のアプリケーションサーバ111−1〜111−mと、を有する。アプリケーションサーバ111−1〜111−mを区別しない場合は、単に、「アプリケーションサーバ111」と表記する。アプリケーションサーバ111は、サービス拠点B内に存在してもよい。アプリケーションサーバ111の台数は、サービス拠点Bと同数でなくてもよい。運用管理サーバ110とアプリケーションサーバ111とは、インターネット、LAN、WANなどのセンタ内ネットワークNW1に通信可能に接続され、また、ネットワークNW0を介してサービス拠点B1〜Bmと通信可能に接続される。
運用管理サーバ110は、アプリケーションサーバ111によるサービス拠点Bの運用を管理する。運用管理サーバ110は、マスタ辞書テーブル121と、重み情報テーブル122と、契約者情報テーブル123と、相関テーブル124と、を有する。マスタ辞書テーブル121は、データの種類(音声データ、テキストデータ、映像データ)ごとに存在する。
アプリケーションサーバ111は、担当するサービス拠点Bを制御する。本例では、アプリケーションサーバ111−1がサービス拠点B1を制御し、…、アプリケーションサーバ111−mがサービス拠点Bmを制御する。アプリケーションサーバ111−1〜111−mは、辞書テーブル131−1〜131−mと、ロボット管理テーブル132−1〜132−mとを有する。辞書テーブル131−1〜131−mを区別しない場合は、単に、「辞書テーブル131」と表記する。ロボット管理テーブル132−1〜132−mを区別しない場合は、単に、「ロボット管理テーブル132」と表記する。辞書テーブル131は、データの種類(音声データ、テキストデータ、映像データ)ごとに存在する。
サービス拠点B1は、1以上(図1ではn(nはn≧1の整数)台)のロボットR11〜R1nおよび拠点ネットワークNW21を有し、…、サービス拠点Bmは、1以上(図1ではn(≧1)台)のロボットRm1〜Rmnおよび拠点ネットワークNW2mを有する。各サービス拠点Bにおいて、ロボットR11〜R1n、…、Rm1〜Rmnを区別しない場合は、単に、ロボットR1、…、Rmと表記する。全サービス拠点B1〜Bmにおいて、ロボットR11〜R1n、…、Rm1〜Rmnを区別しない場合は、単に、ロボットRと表記する。また、サービス拠点BのロボットRの台数は、他のサービス拠点BのロボットRの台数と同数でなくてもよい。全サービス拠点B1〜Bmにおいて、拠点ネットワークNW21〜NW2mを区別しない場合は、単に、拠点ネットワークNW2と表記する。
ロボットRは所属するサービス拠点B内で利用者に対して特定のサービスを実行する。特定のサービスとは、たとえば、窓口業務や、窓口業務への案内である。金融機関であれば、ロボットRは、来店したロボットRの使用者に対して要件を伺い、預金や支払などの窓口に案内する。また、窓口業務をおこなうロボットRは、来店したロボットRの使用者に対して、預金や支払などの窓口業務を実行する。また、ロボットRは、移動式でもよく固定式でもよい。ロボットRは、あらかじめ設定されたシナリオに従ってロボットRの使用者と対話し、ロボットRの使用者の音声や画像(動画含む)データなどの外部データを、担当するアプリケーションサーバ111に送信する。
ロボットRからの外部データは、教師データとしてアプリケーションサーバ111に蓄積され、教師有り学習が実行される。アプリケーションサーバ111は、外部データを受信すると、教師有り学習で得られた学習パラメータを逐次更新し、かつ、学習パラメータに基づいて適切なデータを選択してロボットRに出力する。ロボットRは、アプリケーションサーバ111からのデータにより、ロボットR自身の動作を制御したり、発話したりする。
なお、運用管理サーバ110およびアプリケーションサーバ111は、各々異なるコンピュータとしたが、運用管理サーバ110および少なくとも一部のアプリケーションサーバ111は、一体型のコンピュータでもよい。
<コンピュータのハードウェア構成例>
図2は、コンピュータ(運用管理サーバ110およびアプリケーションサーバ111)のハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インタフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。プロセッサ201は、プログラムを実行する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタがある。通信IF205は、センタ内ネットワークNW0と接続し、データを送受信する。
<ロボットRのハードウェア構成例>
図3は、ロボットRのハードウェア構成例を示すブロック図である。ロボットRは、プロセッサ301と、記憶デバイス302と、機構303と、通信IF304と、マイク305と、スピーカ306と、カメラ307と、Laser Imaging Detection and Ranging(LIDAR)308と、ディスプレイ309と、を有する。プロセッサ301、記憶デバイス302、機構303、通信IF304、マイク305、スピーカ306、カメラ307、LIDAR308、およびディスプレイ309は、バス310により接続される。プロセッサ301は、ロボットRを制御する。プロセッサ301は、プログラムを実行する。記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM、RAM、HDD、フラッシュメモリがある。通信IF304は、拠点ネットワークと接続し、データを送受信する。
機構303は、ロボットRを動かす構造である。機構303は、たとえば、ロボットRの腕、脚、その他関節である。機構303は、車輪や車輪を回転駆動させる駆動機構を有してもよい。マイク305は、ロボットRの外部環境の音声を入力するデバイスである。マイク305は、マイク305はたとえばアレイ状に構成され、音源からの方向も検出することができる。スピーカ306は、アプリケーションサーバ111からの音声データを外部環境に出力するデバイスである。カメラ307は、ロボットRの外部環境を撮像するデバイスである。LIDAR308は、可視光線などの電磁波を障害物に放射し、その反射波を計測することで、観測平面上の各方向の障害物までの距離を測定するデバイスである。本実施例では、一例として、観測平面は地面と平行であり、方向分解能は1度とする。ディスプレイ309は、画像を表示するデバイスである。
<各種テーブルの記憶内容例>
図4は、辞書テーブル131の記憶内容例を示す説明図である。辞書テーブル131は、アプリケーションサーバ111が有するテーブルである。辞書テーブル131は、学習データセットを記憶する。学習データセットは、ロボットRの知識の実体である。辞書テーブル131は、図2に示した記憶デバイス202により実現される。
辞書テーブル131は、フィールドとして、学習ID401と、キー情報402と、意味情報403と、属性情報404と、情報源プロパティ405と、重み406と、活用頻度407と、を有し、各フィールド401〜407の値の組み合わせにより、学習データセットとなるエントリを規定する。
学習ID401は、学習データセットを一意に特定する識別情報である。キー情報402は、ロボットRから入力された外部データの核となる情報である。具体的には、たとえば、キー情報402は、マイク305から音声入力された音声データ、音声データを音声認識でテキスト化したテキストデータ、カメラ307から映像入力された映像データ(静止画、動画含む)である。マイク305からの入力音声は、ロボットRと対話する人間の音声のほか、ロボットR自身が発話した音声を含んでもよい。キー情報402は、音声データ、テキストデータおよび画像データが記憶されたアドレスであってもよい。
たとえば、子供がロボットRに『おもちゃの飛行機はどこに売っていますか?』と尋ねた場合、マイク305から入力された音声データまたはテキストデータの「おもちゃ」、「飛行機」といった用語(名詞)や、カメラ307から入力された当該子供の顔の画像データがキー情報402となり得る。どの情報をキー情報402にするかは、ロボットRが判断してもよく、アプリケーションサーバ111が判断してもよい。
意味情報403は、キー情報402の意味を示す用語や関連する用語を示す。たとえば、キー情報402が「ねこ」であれば、意味情報403は、「動物」、「かわいい」などが記憶される。意味情報403は、外部のサーバからの検索によりヒットした情報またはそれらをアプリケーションサーバ111の利用者が修正した情報である。キー情報402が同一であっても、意味情報403が異なれば、異なるエントリとなる。
属性情報404は、キー情報402の属性を示す。属性としては、たとえば、秘匿性の有無、契約者依存の有無、業種依存の有無、地域依存の有無、不要語理由に該当などがある。契約者依存の有無とは、キー情報402が契約者に依存するか否かを示す属性である。契約者に依存するキー情報402とは、たとえば、当該キー情報402が契約者の社内用語の場合が挙げられる。
業種依存の有無とは、キー情報402が契約者の業種603に依存するか否かを示す属性である。業種603に依存するキー情報402とは、たとえば、当該キー情報402が契約者の業種603に固有な用語(たとえば、業界用語)の場合が挙げられる。地域依存の有無とは、キー情報402が契約者の地域602に依存するか否かを示す属性である。
地域602に依存するキー情報402とは、たとえば、当該キー情報402が契約者の地域602に固有な用語(たとえば、方言や標準語とは異なる地域に特有な用語)の場合が挙げられる。属性情報404は、アプリケーションサーバ111の利用者により付与される。属性情報404の詳細については図5で説明する。
情報源プロパティ405は、キー情報402を出力した情報源の特徴を示す情報である。キー情報402を出力した情報源とは、厳密には、たとえば、音声を発したり、映像として映されたりした利用者であるが、ここでは、そのような音声または映像から音声データ、テキストデータ、映像データを生成したロボットR、より具体的には、そのロボットRとの使用契約をした契約者である。情報源プロパティ405は、具体的には、たとえば、サブフィールドとして、契約者IDと、地域と、業種と、生物属性と、性格属性と、配置場所と、知識訂正担当者と、を有する。
契約者IDは、契約者を一意に特定する識別情報である。契約者は、管理システム100の管理者からサービス拠点BでのロボットRの使用を契約した者すなわち、ロボットRの使用者である。なお、ロボットRと対話する人は、サービス拠点Bで契約者からサービスの提供を受ける利用者である。地域は、ロボットRの配属先となるエリアである。業種は、ロボットRが実行するサービス業務の種類を示す。
生物属性は、ロボットRを生物に例えた場合の種類(たとえば、男性、女性、老人、成人、子供など)を示す。ロボットRは、生物属性に応じた音声や抑揚で発話する。性格属性は、言葉使いなどのロボットRの性格を示す。ロボットRは、性格属性に応じた音声や抑揚で発話する。配置場所は、地域内でロボットRが配置される場所を示す。知識訂正担当者は、当該エントリの内容を訂正する担当者を示す。
重み406は、当該エントリである学習データセットの選択容易性の指標となる重要度を示す。重み406の値が大きいほど重要であることを示す。重み406の値が大きいほど、ロボットRに返す応答データの生成元として選択されやすくなる。活用頻度407は、当該エントリのキー情報402が活用された頻度を示す。活用頻度407が増加すれば重み406も増加し、活用頻度407が減少すれば、重み406も減少する。
<属性情報404の一例>
図5は、属性情報404の一例を示す説明図である。(A)は、7種類の属性の組み合わせを示す。属性の値が「1」であれば「有」、属性の値が「0」であれば「無」である。属性値の組み合わせのビット列(2進数または10進数)が属性情報404である。「不要語理由に該当」とは、キー情報402が(B)の不要語に該当すれば、値が「1」。該当しなければ値が「0」となる。(B)は、7種類の属性のうち不要語理由の具体例を示す。(C)は、7種類の属性のうち、契約者依存の有無、業種依存の有無、および地域依存の有無のビット列により特定される依存関係を示す。
(C)において、たとえば、当該ビット列が「100」である場合、キー情報402が、契約者に依存する用語や社内用語(社外秘ではないが一般的ではない言葉)であることを示す。当該ビット列が「010」である場合、キー情報402が、業界業種にのみ依存する用語や専門用語または隠語であることを示す。当該ビット列が「001」である場合、キー情報402が、地域にのみ依存する用語や方言や建物名であることを示す。
当該ビット列が「110」である場合、キー情報402が、業種かつ契約者に依存する用語であることを示す。当該ビット列が「011」である場合、キー情報402が、業種かつ地域に依存する用語であることを示す。当該ビット列が「101」である場合、キー情報402が、契約者かつ地域に依存する用語であることを示す。当該ビット列が「111」である場合、キー情報402が、契約者かつ業種かつ地域に依存する用語であることを示す。
(A)の属性値の7ビット列は、アプリケーションサーバ111の利用者(たとえば、契約者)の操作入力によりキー情報402毎に設定され、たとえば、2進数または10進数(図4では10進数)の属性情報404として辞書テーブル131の属性情報404に格納される。
図6は、ロボット管理テーブル132の記憶内容例を示す説明図である。ロボット管理テーブル132は、アプリケーションサーバ111が保有するテーブルである。ロボット管理テーブル132は、図2に示した記憶デバイス202により実現される。ロボット管理テーブル132は、ロボットRを管理するテーブルである。ロボット管理テーブル132は、フィールドとして、契約者ID601と、地域602と、業種603と、生物属性604と、性格属性605と、配置場所606と、知識訂正担当者607と、ロボットID608と、を有し、各フィールド601〜608の値の組み合わせにより、ロボット管理情報となるエントリを規定する。
契約者ID601は、契約者を一意に特定する識別情報である。契約者は、管理システム100の管理者からサービス拠点BでのロボットRの使用を契約した者すなわち、ロボットRの使用者である。地域602は、ロボットRの配属先を示す。業種603は、ロボットRが実行するサービス業務の種類を示す。
生物属性604は、ロボットRを生物に例えた場合の種類(たとえば、男性、女性、老人、成人、子供など)を示す。ロボットRは、生物属性604に応じた音声や抑揚で発話する。性格属性605は、言葉使いなどのロボットRの性格を示す。ロボットRは、性格属性605に応じた音声や抑揚で発話する。配置場所606は、地域602内でロボットRが配置される場所を示す。知識訂正担当者607は、当該エントリの内容を訂正する担当者を示す。
ロボットID608は、当該エントリで割り当てられるロボットRを一意に特定する識別情報である。契約者ID601、地域602、業種603、生物属性604、性格属性605、配置場所606、および知識訂正担当者607は、上述した辞書テーブル131において情報源プロパティ405として記憶される。
図7は、マスタ辞書テーブル121の記憶内容例を示す説明図である。マスタ辞書テーブル121は、辞書テーブル131を統合したテーブルである。マスタ辞書テーブル121は、運用管理サーバ110が保有するテーブルである。マスタ辞書テーブル121は、図2に示した記憶デバイス202により実現される。マスタ辞書テーブル121は、フィールドとして、学習ID401と、キー情報402と、意味情報403と、属性情報404と、情報源プロパティ405と、を有する。
図8は、重み情報テーブル122の記憶内容例を示す説明図である。重み情報テーブル122は、運用管理サーバ110が保有するテーブルである。重み情報テーブル122は、図2に示した記憶デバイス202により実現される。重み情報テーブル122は、フィールドとして、学習ID401と、重みリスト801と、を有する。重みリスト801は、学習ID401ごとに、各契約者ID601における重み406である。
図9は、契約者情報テーブル123の記憶内容例を示す説明図である。契約者情報テーブル123は、運用管理サーバ110が保有するテーブルである。契約者情報テーブル123は、図2に示した記憶デバイス202により実現される。契約者情報テーブル123は、フィールドとして、契約者ID601と、契約者901と、地域602と、アプリケーションサーバID902と、業種603と、を有し、各フィールド601〜603,901,902の値の組み合わせにより、契約者情報となるエントリを規定する。
契約者901は、管理システム100の管理者と契約した者、すなわち、ロボットRの使用者を示す。地域602は、契約者901のサービス拠点Bであり、ロボットRの配属先を示す。アプリケーションサーバID902は、地域602で特定されるサービス拠点Bを担当するアプリケーションサーバ111を一意に特定する識別情報である。
図10は、相関テーブル124の記憶内容例を示す説明図である。属性に対応して3種類の相関テーブル124が用意される。相関テーブル124は、運用管理サーバ110が保有するテーブルである。相関テーブル124は、図2に示した記憶デバイス202により実現される。(A)は、契約者相関テーブル1001であり、(B)は業種相関テーブル1002であり、(C)は地域相関テーブル1003である。各相関テーブル124の値は固定である。
また、各相関テーブル124において、「情報源」は、外部データに基づいてアプリケーションサーバ111で作成される学習リストの情報源プロパティ405内の契約者ID601で特定される契約者である。また、「配信先」は、契約者情報テーブル123の該当フィールドの値である。たとえば、契約者相関テーブル1001であれば契約者901の該当する値、業種相関テーブル1002であれば業種603603の該当する値、地域相関テーブル1003であれば地域602902の該当する値である。
契約者相関テーブル1001は、契約者間の相関値を有する。相関値は0.0〜1.0の間で、1に近いほど情報共有したときの有効性が高いことを示す。たとえば、B社(配信先)にとっての有効性は、A社(情報源)から得た情報(相関値0.2)よりもC社(情報源)から得た情報(相関値0.9)のほうが高いことがわかる。また、業種相関テーブル1002は、契約者相関テーブル1001と同様に、業種603間の相関値を有し、地域相関テーブル1003は、契約者相関テーブル1001と同様に、地域602間の相関値を有する。
<学習データセットの登録シーケンス例>
図11は、学習データセットの登録シーケンス例を示すシーケンス図である。図11に示すロボットRの処理は、ロボットRの記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。図11に示すアプリケーションサーバ111および運用管理サーバ110の各処理は、アプリケーションサーバ111および運用管理サーバ110の各々の記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
また、図11では、確認リストや学習リストの生成元のアプリケーションサーバ111を、一例としてアプリケーションサーバ111−1とし、更新リストの配信先を、アプリケーションサーバ111−1を利用する契約者とは異なる契約者のサービス拠点Bを担当するアプリケーションサーバ111とする。
ロボットRは、マイク305やカメラ307から音声または映像の入力を受け付けて(ステップS1101)、外部データを生成する。外部データは、入力データと、生成元のロボットRのロボットID608と、を含む。入力データとは、たとえば、音声データ、音声認識で生成されたテキストデータ、映像処理された映像データ(静止画、動画含む)である。ロボットRは、外部データを、拠点ネットワークNW2、ネットワークNW0、およびセンタ内ネットワークNW0を経由して、担当するアプリケーションサーバ111に送信する(ステップS1102)。
アプリケーションサーバ111は、確認リスト生成処理を実行する(ステップS1103)。確認リスト生成処理(ステップS1103)は、外部データから新規なキー情報402を取得して確認リストを生成する処理であり、図12および図13で後述する。
アプリケーションサーバ111は、学習リスト生成処理を実行する(ステップS1104)。学習リスト生成処理(ステップS1104)は、確認リストから学習リストを生成する処理であり、図14および図15で後述する。
アプリケーションサーバ111は、学習リストを運用管理サーバ110に送信する(ステップS1105)。運用管理サーバ110は、学習リストを受信すると、マスタ辞書テーブル更新処理を実行する(ステップS1106)。マスタ辞書テーブル更新処理(ステップS1106)は、学習リストの内容でマスタ辞書テーブル121を更新する処理であり、図16および図17で後述する。
運用管理サーバ110は、更新リストを、学習リストの送信元のアプリケーションサーバ111−1以外の他のアプリケーションサーバ111に配信する(ステップS1107)。当該他のアプリケーションサーバ111は、更新リストを辞書テーブル131に反映する(ステップS1108)。
<確認リスト生成処理(ステップS1103)>
図12は、確認リスト生成処理(ステップS1103)の詳細な処理手順例を示すフローチャートである。アプリケーションサーバ111は、外部データに含まれている入力データの種類(音声データ、テキストデータ、映像データ)を特定する(ステップS1201)。アプリケーションサーバ111は、特定した種類の辞書テーブル131に当該入力データがあるか否かを判断する(ステップS1202)。
特定した種類の辞書テーブル131に当該入力データがある場合(ステップS1202:Yes)、当該入力データは新規なデータではないため、アプリケーションサーバ111は、確認リスト生成処理(ステップS1103)を終了する。この場合、後続の学習リスト生成処理(ステップS1104)は実行されない。
一方、特定した種類の辞書テーブル131に当該入力データがない場合(ステップS1202:No)、当該入力データは新規なデータであるため、アプリケーションサーバ111は、当該入力データをキー情報402として保持する(ステップS1203)。
ここで、音声データ(またはテキストデータ)からのキー情報402の例を挙げる。ロボットRが受付業務を担当しているケースを想定する。
ユーザ:「1時から、企画部の山田さんと待ち合わせなのですが。」
ロボットR@受付:「弊社企画部の山田ですね、お調べしております。現在山田は外出中で、予定表では13:30に1C40に到着する予定です。お待たせして大変申し訳ありません。本館となりのB館2階にwifi接続可能な休憩室がございますので、しばらくそちらでお待ちください。」
この対話の場合、たとえば、ユーザが発話した「企画部」、「山田」、「待ち合わせ」が新規な入力データであればキー情報402になる。
同様に、たとえば、ロボットRが発話した「弊社企画部」、「外出中」、「予定表」、「1C40」、「本館」、「B館2階」が新規な入力データであればキー情報402になる。
アプリケーションサーバ111は、キー情報402の意味情報403を、付与情報参照テーブルから取得して、キー情報402に関連付ける(ステップS1204)。付与情報参照テーブルとは、ネットワークNW0から取得した用語と当該用語に関連する用語とを保持するテーブルである。付与情報参照テーブルは、あらかじめ用意されたテーブルでもよく、アプリケーションサーバ111が定期的にネットワークNW0から情報を取得して更新してもよい。アプリケーションサーバ111は、キー情報402に関連する用語を意味情報403として付与情報参照テーブルから取得する。
アプリケーションサーバ111は、キー情報402、意味情報403、および外部データに含まれるロボットID608からなる学習データセットをキー情報402ごとに生成して、確認リストに追加する(ステップS1205)。そして、アプリケーションサーバ111は、確認リストを出力して(ステップS1206)、確認リスト生成処理(ステップS1103)を終了する。
図13は、確認リストの一例を示す説明図である。確認リスト1300は、学習ID401、キー情報402、意味情報403、およびロボットID608を含む。学習データセット1301は、ロボットID608が「R11」、すなわち、ロボットR11から取得されたキー情報402を含む。学習データセット1302は、ロボットID608がR12、すなわち、ロボットR12から取得されたキー情報402を含む。学習データセット1303,1304は、ロボットID608がR13、すなわち、ロボットR13から取得されたキー情報402を含む。学習データセット1301〜1305はほぼ同時期にアプリケーションサーバ111−1で生成されたデータであるため、1つの確認リスト1300に格納されている。
<学習リスト生成処理(ステップS1104)>
図14は、学習リスト生成処理(ステップS1104)の詳細な処理手順例を示すフローチャートである。アプリケーションサーバ111は、確認リスト1300を入力し(ステップS1401)、利用者から意味情報403の修正入力を待ち受ける(ステップS1402)。意味情報403の修正入力がない場合(ステップS1402:No)、ステップS1404に移行する。
意味情報403の修正入力があった場合(ステップS1402:Yes)、アプリケーションサーバ111は、意味情報403を修正した内容に反映し(ステップS1403)、ステップS1404に移行する。ステップS1404では、アプリケーションサーバ111は、学習リストに学習データセットを追加する(ステップS1404)。
学習データセットとは、確認リスト1300内の学習データセットの各々に、属性情報404、重み406の初期値(たとえば、100)、および情報源プロパティ405を追加したデータである。属性情報404は利用者の入力で追加される。重み406の値が大きいほど重要性が高いことを意味する。情報源プロパティ405は、確認リスト1300内の学習データセットに含まれるロボットID608のエントリにおける契約者ID601、地域602、業種603、生物属性604、性格属性605、および配置場所606である。
そして、アプリケーションサーバ111は、学習リスト内の学習データセットを辞書テーブル131に追加する(ステップS1405)。そして、アプリケーションサーバ111は、追加した学習データセットを他のアプリケーションサーバ111と共有するか否かを判断する(ステップS1406)。具体的には、たとえば、アプリケーションサーバ111は、学習リスト内の各学習データセットについて属性情報404の「秘匿性の有無」の値が「1」(秘匿性有り)か「0」(秘匿性無し)であるかを判断する。
学習リスト内の全学習データセットについて「秘匿性の有無」の値が「1」(秘匿性有り)である場合(ステップS1406:Yes)、ステップS1408に移行する。「秘匿性の有無」の値が「0」(秘匿性無し)の学習データセットがある場合(ステップS1406:No)、他のアプリケーションサーバ111と共有してはいけないため、アプリケーションサーバ111は、該当する学習データセットを学習リストから削除して(ステップS1407)、ステップS1408に移行する。ステップS1408では、アプリケーションサーバ111は、学習リストを出力して(ステップS1408)、学習リスト生成処理(ステップS1104)を終了する。
図15は、学習リストの一例を示す説明図である。学習リスト1500は、学習ID401、キー情報402、意味情報403、属性情報404、情報源プロパティ405および重み406を含む。学習データセット1501〜1505のうち、学習データセット1503の属性情報404の値は「96」であるため、秘匿性の有無の値は「1」である。したがって、学習データセット1503は、ステップS1407で学習リスト1500から削除される。
<マスタ辞書テーブル更新処理(ステップS1106)>
図16は、図11に示したマスタ辞書テーブル更新処理(ステップS1106)の詳細な処理手順例を示すフローチャートである。運用管理サーバ110は、学習リスト1500をアプリケーションサーバ111から受信し(ステップS1601)、学習データセットの種類(音声データ、テキストデータ、映像データ)を特定する(ステップS1602)。そして、運用管理サーバ110は、特定した種類のマスタ辞書テーブル121から学習データセットを検索する(ステップS1603)。
該当するエントリがマスタ辞書テーブル121に存在する場合(ステップS1604:Yes)、運用管理サーバ110は、重み情報テーブル122において、該当エントリの重み406を、一致した学習データセットの重み406(初期値の100となっている)に更新する(ステップS1605)。
具体的には、たとえば、学習データセットの学習ID401が「L1」であり、かつ、学習データセットの情報源プロパティ405で特定される契約者ID601が「C1」である場合、運用管理サーバ110は、重み406の値W11を初期値の100に更新する。
一方、該当するエントリがマスタ辞書テーブル121に存在しない場合(ステップS1604:No)については、運用管理サーバ110は、更新リスト生成処理を実行する(ステップS1606)。更新リスト生成処理(ステップS1606)は、学習リスト1500のうちマスタ辞書テーブル121に該当しない学習データセットから更新リストを生成する処理であり、図17で後述する。
図17は、図16に示した更新リスト生成処理(ステップS1606)の詳細な処理手順例を示すフローチャートである。運用管理サーバ110は、ステップS1605で該当しなかった学習データセットをマスタ辞書テーブル121に追加する(ステップS1701)。運用管理サーバ110は、当該追加分のエントリについて未選択の契約者ID601があるか否かを判断する(ステップS1702)。
未選択の契約者ID601がある場合(ステップS1702:Yes)、運用管理サーバ110は、未選択の契約者ID601のエントリを契約者情報テーブル123から選択する(ステップS1703)。そして、運用管理サーバ110は、選択したエントリの契約者(選択契約者)以外の他の契約者に対し学習データセットを共有するか否かを判断する(ステップS1704)。
具体的には、たとえば、運用管理サーバ110は、追加した学習データセットの各々について、属性情報404を参照し、当該属性情報404から契約者依存の有無、業種依存の有無、地域依存の有無を特定する。
契約者依存の有無の値が「1」(有)の場合、運用管理サーバ110は、学習データセットの情報源プロパティ405から特定される選択契約者と他の契約者とが一致すれば、学習データセットの共有が可能である。具体的には、たとえば、学習データセットの情報源プロパティ405で特定される選択契約者の契約者ID601が「C2」である場合、他の契約者の契約者ID601が「C2」であれば、契約者同一であるため、ステップS1704:Yesに遷移し、他の契約者の契約者ID601が「C2」でなければ、契約者同一でないため、ステップS1704:Noに遷移する。契約者依存の有無の値が「0」(無)の場合、契約者の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「100」である場合、上記のように処理される。
業種依存の有無の値が「1」(有)の場合、運用管理サーバ110は、学習データセットの情報源プロパティ405から特定される業種603と他の契約者の業種603とが一致すれば、学習データセットの共有が可能である。具体的には、たとえば、学習データセットの情報源プロパティ405で特定される業種603が「銀行」である場合、他の契約者の業種603が「銀行」であれば、業種同一であるため、ステップS1704:Yesに遷移し、他の契約者の業種603が「銀行」でなければ、業種同一でないため、ステップS1704:Noに遷移する。業種依存の有無の値が「0」(無)の場合、業種603の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「010」である場合、上記のように処理される。
地域依存の有無の値が「1」(有)の場合、運用管理サーバ110は、学習データセットの情報源プロパティ405から特定される地域602と他の契約者の地域602とが一致すれば、学習データセットの共有が可能である。具体的には、たとえば、学習データセットの情報源プロパティ405で特定される地域602が「A」である場合、他の契約者の地域602が「A」であれば、地域同一であるため、ステップS1704:Yesに遷移し、他の契約者の地域602が「A」でなければ、地域同一でないため、ステップS1704:Noに遷移する。地域依存の有無の値が「0」(無)の場合、地域602の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「001」である場合、上記のように処理される。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「110」である場合、契約者同一でかつ業種同一に限り、当該学習データセットの共有が認められ、ステップS1704:Yesに遷移する。
同様に、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「101」である場合、契約者同一でかつ地域同一に限り、当該学習データセットの共有が認められ、ステップS1704:Yesに遷移する。
同様に、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「011」である場合、業種同一でかつ地域同一に限り、当該学習データセットの共有が認められ、ステップS1704:Yesに遷移する。
同様に、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「111」である場合、契約者同一でかつ業種同一でかつ地域同一に限り、当該学習データセットの共有が認められ、ステップS1704:Yesに遷移する。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「000」である場合、当該学習データセットの共有が無条件に認められ、ステップS1704:Yesに遷移する。
つぎに、運用管理サーバ110は、共有可能な追加分の学習データセットの各々について、非依存属性を特定する(ステップS1705)。非依存属性とは、契約者依存の有無、業種依存の有無、地域依存の有無のビット列のうち、依存しないことを示す値「0」の属性である。具体的には、たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「100」の場合、非依存属性は、業種603および地域602である。
つぎに、運用管理サーバ110は、特定した非依存属性の相関テーブル124を用いて相関値を特定する(ステップS1706)。運用管理サーバ110は、特定した非依存属性が契約者依存であれば契約者相関テーブル1001を参照し、特定した非依存属性が業種依存であれば業種相関テーブル1002を参照し、特定した非依存属性が地域依存であれば地域相関テーブル1003を参照する。
具体的には、たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「100」の場合、非依存属性は、業種依存および地域依存であるため、運用管理サーバ110は、業種相関テーブル1002および地域相関テーブル1003を参照する。
運用管理サーバ110は、参照先の相関テーブル124について、選択契約者を「情報源」とし、他の契約者を「配信先」とする。具体的には、たとえば、参照先の相関テーブル124が契約者相関テーブル1001の場合、運用管理サーバ110は、情報源から選択契約者の契約者ID601を特定し、情報源とは異なる配信先から他の契約者の契約者ID601を特定する。たとえば、運用管理サーバ110は、情報源が「C1」の場合、情報源とは異なる配信先の各々について、配信先「C2」との相関値「0.2」を取得し、配信先「C3」との相関値「0.5」を取得し、配信先「C4」との相関値「0.7」を取得する。
参照先の相関テーブル124が業種相関テーブル1002の場合、運用管理サーバ110は、情報源から選択契約者の業種603を特定し、情報源とは異なる配信先から配信先の業種603を特定する。たとえば、運用管理サーバ110は、情報源の業種603が「郵政」の場合、情報源とは異なる配信先の各々について、配信先の業種603「銀行」との相関値「0.9」を取得し、配信先の業種603「小売」との相関値「0.5」を取得し、配信先の業種603「ビル運営」との相関値「0.1」を取得し、配信先の業種603「病院」との相関値「0.6」を取得する。
参照先の相関テーブル124が地域相関テーブル1003の場合、運用管理サーバ110は、情報源から選択契約者の地域602を特定し、情報源とは異なる配信先から配信先の地域602を特定する。たとえば、運用管理サーバ110は、情報源の地域602が「A」の場合、情報源とは異なる配信先の各々について、配信先の地域602「B」との相関値「0.2」を取得し、配信先の地域602「C」との相関値「0.5」を取得し、配信先の地域602「D」との相関値「0.7」を取得する。
より具体的に説明する。たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「011」の場合、非依存属性は契約者依存であるため、契約者相関テーブル1001が参照される。選択契約者の契約者ID601が「C1」である場合、運用管理サーバ110は、契約者相関テーブル1001から、配信先「C2」との相関値「0.2」を取得し、配信先「C3」との相関値「0.5」を取得し、配信先「C4」との相関値「0.7」を取得する。
そして、運用管理サーバ110は、配信先ごとに、選択契約者の重み406の値を算出し、重み情報テーブル122を更新する(ステップS1707)。具体的には、運用管理サーバ110は、配信先ごとに、相関値に重み406の初期値(100)を乗算して、配信先ごとの重み406を算出する。この例では、配信先「C2」との相関を考慮した情報源「C1」の重み406の値W12は、W12=20(=0.2×100)となる。同様に、配信先「C3」との相関を考慮した情報源「C1」の重み406の値W13は、W13=50(=0.5×100)となる。同様に、配信先「C4」との相関を考慮した情報源「C1」の重み406の値W14は、W14=70(=0.7×100)となる。
また、たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「100」の場合、非依存属性は業種依存および地域依存であるため、業種相関テーブル1002および地域相関テーブル1003が参照される。選択契約者の契約者ID601を「C1」とし、「C1」の業種603を「銀行」とし、「C1」の地域602を「D」とする。また、配信先「C2」の業種603を「ビル運営」とし、地域602を「A」とする。
運用管理サーバ110は、業種相関テーブル1002から、配信先「C2」の業種603「ビル運営」との相関値「0.1」を取得し、地域相関テーブル1003から、配信先「C2」の地域602「A」との相関値「0.7」を取得する。この場合、配信先「C2」の業種603および地域602との相関を考慮した情報源「C1」の重み406の値W12は、W12=80(=(0.1+0.7)×100)となる。運用管理サーバ110は、他の配信先C3、C4についても同様な計算処理により重み406の値W13、W14を算出する。
すなわち、学習データセットを他の契約者と共有する場合には、運用管理サーバ110は、非依存属性を考慮して重み406を算出する。したがって、非依存属性の数が多いほど、相関値の値が大きいほど、重み406の値は大きくなる。重み406が大きいほど、その重み406のエントリのキー情報402は、ロボットRからの出力対象のデータに選択されやすくなる。
このあと、運用管理サーバ110は、当該学習データセットおよび算出した選択契約者の重み406の値を更新リストに追加して(ステップS1708)、ステップS1702に戻る。ステップS1702において、追加分について未選択の契約者ID601がない場合(ステップS1702:No)、運用管理サーバ110は、更新リスト生成処理(ステップS1606)を終了する。このあと、図11に示したように、運用管理サーバ110は、算出した重み406の値を含む更新リストを他のアプリケーションサーバ111に送信し(ステップS1107)、他のアプリケーションサーバ111は、更新リスト内の重み406を反映する(ステップS1108)。これにより、他のアプリケーションサーバ111の重み406が最新の値となる。
図18は、更新リストの一例を示す説明図である。更新リスト1800は、学習リスト1500のように重み406の値が一律に100ではなく、更新リスト生成処理(ステップS1606)で計算された値となる。
図19は、運用管理サーバ110における契約者の追加があった場合の重み更新処理手順例を示すフローチャートである。図19に示す運用管理サーバ110の各処理は、アプリケーションサーバ111および運用管理サーバ110の各々の記憶デバイスに記憶されたプログラムをプロセッサに実行させることにより実現される。
なお、契約者の追加があった場合は、運用管理サーバ110の管理者の操作入力により、契約者相関テーブル1001の情報源および配信先にも契約者が追加されるものとする。また、契約者の追加により、業種603や地域602も新規追加される場合は、運用管理サーバ110の管理者の操作入力により、業種相関テーブル1002の情報源および配信先にも新規業種603が追加され、地域相関テーブル1003の情報源および配信先にも新規地域602が追加されるものとする。
運用管理サーバ110は、管理者からの契約者を追加する操作入力を待ち受ける(ステップS1901:No)。管理者からの契約者を追加する操作入力があった場合(ステップS1901:Yes)、契約者情報テーブル123を更新する(ステップS1902)。これにより、新規に追加された契約者の契約者情報がエントリとして契約者情報テーブル123に登録される。ここでは、例として、契約者ID601:C4を追加契約者の契約者ID601とする。
また、契約者情報テーブル123の更新(ステップS1902)に伴い、運用管理サーバ110は、重み情報テーブル122の重みリストに、追加契約者の契約者ID601の列を追加する。以降の処理で、追加契約者の契約者ID601の列に、学習ID401で特定される学習データセットについての重み406が登録される。
つぎに、運用管理サーバ110は、契約者情報テーブル123の更新を契機として、未選択のエントリがマスタ辞書テーブル121にあるか否かを判断する(ステップS1903)。未選択のエントリがある場合(ステップS1903:Yes)、運用管理サーバ110は、未選択のエントリをマスタ辞書テーブル121から選択する(ステップS1904)。
運用管理サーバ110は、追加契約者に対し選択エントリを共有するか否かを判断する(ステップS1905)。具体的には、たとえば、運用管理サーバ110は、図17のステップS1704と同様、選択エントリである学習データセットについて属性情報404を参照し、当該属性情報404から契約者依存の有無、業種依存の有無、地域依存の有無を特定する。
契約者依存の有無の値が「1」(有)の場合、運用管理サーバ110は、学習データセットの情報源プロパティ405から特定される契約者と追加契約者とは一致しないため、追加契約者に対し学習データセットの共有が不可能である。したがって、契約者同一でないため、ステップS1905:Noに遷移する。契約者依存の有無の値が「0」(無)の場合、契約者の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「100」である場合、上記のように処理される。
業種依存の有無の値が「1」(有)の場合、運用管理サーバ110は、追加契約者の業種603が、学習データセットの情報源プロパティ405から特定される業種603と一致すれば、追加契約者に対し学習データセットの共有が可能である。具体的には、たとえば、学習データセットの情報源プロパティ405で特定される業種603が「銀行」である場合、追加契約者の業種603が「銀行」であれば、業種同一であるため、ステップS1905:Yesに遷移し、追加契約者の業種603が「銀行」でなければ、業種同一でないため、ステップS1905:Noに遷移する。業種依存の有無の値が「0」(無)の場合、業種603の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「010」である場合、上記のように処理される。
地域依存の有無の値が「1」(有)の場合、運用管理サーバ110は、追加契約者の地域602が、学習データセットの情報源プロパティ405から特定される地域602と一致すれば、追加契約者に対し学習データセットの共有が可能である。具体的には、たとえば、学習データセットの情報源プロパティ405で特定される地域602が「A」である場合、追加契約者の地域602が「A」であれば、地域同一であるため、ステップS1905:Yesに遷移し、他の契約者の地域602が「A」でなければ、地域同一でないため、ステップS1905:Noに遷移する。地域依存の有無の値が「0」(無)の場合、地域602の異同は考慮されない。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「001」である場合、上記のように処理される。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「110」「101」「111」である場合、契約者同一はありえないため、追加契約者との当該学習データセットの共有が認められず、ステップS1905:Noに遷移する。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「011」である場合、業種同一でかつ地域同一に限り、追加契約者との当該学習データセットの共有が認められ、ステップS1905:Yesに遷移する。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「000」である場合、当該学習データセットの共有が無条件に認められ、ステップS1905:Yesに遷移する。
つぎに、運用管理サーバ110は、ステップS1705と同様、追加契約者と共有可能な学習データセット(選択エントリ)について、非依存属性を特定する(ステップS1906)。ステップS1906の場合、非依存属性には、かならず、契約者依存が含まれる。
具体的には、たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「011」である場合、非依存属性は、契約者依存である。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「001」である場合、非依存属性は、契約者依存および業種依存である。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「010」である場合、非依存属性は、契約者依存および地域依存である。契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「000」である場合、非依存属性は、契約者依存、業種依存および地域依存である。
つぎに、運用管理サーバ110は、ステップS1706と同様、ステップS1906で特定した非依存属性の相関テーブル124を用いて、相関値を特定する(ステップS1907)。運用管理サーバ110は、特定した非依存属性が契約者依存であれば契約者相関テーブル1001を参照し、特定した非依存属性が業種依存であれば業種相関テーブル1002を参照し、特定した非依存属性が地域依存であれば地域相関テーブル1003を参照する。
運用管理サーバ110は、参照先の相関テーブル124について、学習データセット(選択エントリ)の情報源プロパティ405の契約者ID601で特定される契約者を「情報源」とし、追加契約者を「配信先」とする。具体的には、たとえば、参照先の相関テーブル124が契約者相関テーブル1001の場合、運用管理サーバ110は、情報源から学習データセット(選択エントリ)の情報源プロパティ405の契約者ID601を特定し、配信先から追加契約者の契約者ID601を特定する。たとえば、運用管理サーバ110は、情報源が「C1」で配信先が「C4」の場合、情報源「C1」と配信先「C4」との相関値「0.7」を取得する。
参照先の相関テーブル124が業種相関テーブル1002の場合、運用管理サーバ110は、情報源から学習データセット(選択エントリ)の情報源プロパティ405の業種603を特定し、配信先から追加契約者の業種603を特定する。たとえば、運用管理サーバ110は、情報源の業種603が「郵政」で配信先の業種603が「銀行」の場合、情報源「郵政」と配信先「銀行」との相関値「0.9」を取得する。
参照先の相関テーブル124が地域相関テーブル1003の場合、運用管理サーバ110は、情報源から学習データセット(選択エントリ)の情報源プロパティ405の地域602を特定し、配信先から追加契約者の地域602を特定する。たとえば、運用管理サーバ110は、情報源の地域602が「A」で配信先の地域602が「D」の場合、情報源「A」と配信先「D」との相関値「0.7」を取得する。
つぎに、運用管理サーバ110は、選択エントリについての追加契約者の重み406を算出し、重み情報テーブル122を更新する(ステップS1908)。具体的には、たとえば、運用管理サーバ110は、相関値に重み406の初期値(100)を乗算して、配信先ごとの重み406を算出する。
具体的には、たとえば、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「011」である場合、非依存属性は、契約者依存のみである。したがって、情報源が「C1」で配信先が「C4」であれば、運用管理サーバ110は、情報源「C1」と配信先「C4」との相関値「0.7」を契約者相関テーブル1001から取得する。この場合、追加契約者である配信先「C4」との相関を考慮した選択エントリの情報源「C1」の重み406の値W14は、W14=70(=0.7×100)となる。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「001」である場合、非依存属性は、契約者依存および業種依存である。したがって、情報源が「C1」で配信先が「C4」であれば、運用管理サーバ110は、情報源「C1」と配信先「C4」との相関値「0.7」を契約者相関テーブル1001から取得し、情報源の業種603が「郵政」で配信先の業種603が「銀行」であれば、情報源「郵政」と配信先「銀行」との相関値「0.9」を業種相関テーブル1002から取得する。この場合、追加契約者である配信先「C4」との相関を考慮した選択エントリの情報源「C1」の重み406の値W14は、W14=160(=(0.7+0.9)×100)となる。
また、契約者依存の有無、業種依存の有無、地域依存の有無のビット列が「000」である場合、非依存属性は、契約者依存、業種依存および地域依存である。したがって、情報源が「C1」で配信先が「C4」であれば、運用管理サーバ110は、情報源「C1」と配信先「C4」との相関値「0.7」を契約者相関テーブル1001から取得し、情報源の業種603が「郵政」で配信先の業種603が「銀行」であれば、情報源「郵政」と配信先「銀行」との相関値「0.9」を業種相関テーブル1002から取得し、情報源の地域602が「A」で配信先の地域602が「D」であれば、情報源「A」と配信先「D」との相関値「0.7」を地域相関テーブル1003から取得する。この場合、追加契約者である配信先「C4」との相関を考慮した選択エントリの情報源「C1」の重み406の値W14は、W14=230(=(0.7+0.9+0.7)×100)となる。
このようにして、選択エントリにおける追加契約者(契約者ID601:C4)の重み406の値W14が重み情報テーブル122に追加され、ステップS1903に戻る。ステップS1903において、未選択のエントリがない場合(ステップS1903:No)、マスタ辞書テーブル121の全エントリについて追加契約者(契約者ID601:C4)の重み406の値W14、W24、W34、W44、…が追加されたことになる。学習ID401の列(L1、L2、L3、L4、…)と追加契約者(契約者ID601:C4)の重み406の列(W14、W24、W34、W44、…)との組み合わせを重みリストと称す。
そして、運用管理サーバ110は、追加契約者の重みリストを全アプリケーションサーバ111に送信する(ステップS1908)。これにより、一連の処理を終了する。
図20は、アプリケーションサーバ111における重みリスト反映処理手順例を示すフローチャートである。図20に示すアプリケーションサーバ111の各処理は、アプリケーションサーバ111および運用管理サーバ110の各々の記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。
アプリケーションサーバ111は、運用管理サーバ110からの重みリストを待ち受ける(ステップS2001:No)。重みリストが受信された場合(ステップS2001:Yes)、アプリケーションサーバ111は、未選択の学習ID401があるか否かを判断する(ステップS2002)。未選択の学習ID401がある場合(ステップS2002:Yes)、アプリケーションサーバ111は、未選択の学習ID401とその重み406を選択する(ステップS2003)。
アプリケーションサーバ111は、辞書テーブル131から選択学習ID401のエントリを特定し(ステップS2004)、特定したエントリに選択重み406を追加して(ステップS2005)、ステップS2002に戻る。未選択の学習ID401がない場合(ステップS2002:No)、一連の処理を終了する。
<学習データセットの有用性再判定シーケンス例>
図21は、学習データセットの有用性再判定シーケンス例を示すシーケンス図である。図21に示すロボットRの処理は、ロボットRの記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される。図21に示すアプリケーションサーバ111および運用管理サーバ110の各処理は、アプリケーションサーバ111および運用管理サーバ110の各々の記憶デバイス202に記憶されたプログラムをプロセッサ201に実行させることにより実現される。なお、図11と同一処理には同一ステップ番号を付し、その説明を省略する。
アプリケーションサーバ111は、ロボットRから外部データを受信すると、活用頻度測定処理を実行する(ステップS2103)。活用頻度測定処理(ステップS2103)は、キー情報402の活用頻度407を測定し、ロボットRと対話するユーザに対しロボットRからの応答データを生成してロボットRに与える処理である。活用頻度測定処理(ステップS2103)の詳細については、図22で後述する。これにより、学習データセットの有用性を再判定することができる。
アプリケーションサーバ111は、応答データをロボットRに送信する(ステップS2104)。ロボットRは、応答データを適用して、発話、映像表示、機構303の動作など、応答データの指示通りに対応する(ステップS2105)。
また、アプリケーションサーバ111は、活用頻度測定処理(ステップS2103)により活用頻度407が出力されると、重み更新処理を実行する(ステップS2106)。重み更新処理(ステップS2106)は、活用頻度407に応じて重み406を更新する処理である。重み更新処理(ステップS2106)の詳細については、図23で後述する。
アプリケーションサーバ111は、重み更新処理(ステップS2106)で生成された学習リスト1500を運用管理サーバ110に送信する(ステップS2107)。運用管理サーバ110は、学習リスト1500を受信すると、図11に示したマスタ辞書テーブル更新処理を実行する(ステップS1106)。これにより、重み更新処理(ステップS2106)で更新された重み406をマスタ辞書テーブル121に反映することができる。
<活用頻度測定処理(ステップS2103)>
図22は、図21に示した活用頻度測定処理(ステップS2103)の詳細な処理手順例を示すフローチャートである。アプリケーションサーバ111は、外部データを取得し(ステップS2201)、ユーザ対応を判断する(ステップS2202)。ユーザ対応が継続の場合(ステップS2202:継続)、ステップ2203に移行し、ユーザ対応が終了の場合(ステップS2202:終了)、ステップS2207に移行する。ユーザ対応が継続する場合とは、たとえば、ロボットRとユーザとの対話のシナリオが終了していない場合であり、ユーザ対応が終了する場合とは、たとえば、ロボットRとユーザとの対話のシナリオが終了した場合やユーザがロボットRから所定距離以上離れた場合である。シナリオの終了の有無は、ロボットRが判断して、外部データとともにアプリケーションサーバ111にその旨を送信する。
ユーザ対応が継続の場合(ステップS2202:継続)、アプリケーションサーバ111は、音声認識や画像解析などのアプリケーション処理を実行する(ステップS2203)。そして、アプリケーションサーバ111は、キー情報402の活用頻度407を増減する(ステップS2204)。たとえば、入力データに「違う」や「そうじゃない」などの否定語が含まれていたり、画像解析結果でユーザが困った顔をしていると判定した場合、ユーザからの音声についての入力データは適切ではない。
したがって、アプリケーションサーバ111は、キー情報402となる入力データの活用頻度407を所定量減少させる。一方、入力データに肯定的な言葉が含まれていたり、画像解析結果でユーザが喜んだ顔をしていると判定した場合、ユーザからの音声についての入力データは適切である。したがって、アプリケーションサーバ111は、キー情報402となる入力データの活用頻度407を所定量増加させる。
また、ロボットRへの応答データを生成するため、アプリケーションサーバ111は、辞書テーブル131を参照して、重み406の値が最大となるキー情報402を選択する(ステップS2205)。具体的には、たとえば、アプリケーションサーバ111は、ロボットRのシナリオに応じてあらかじめ利用可能なキー情報402を選別し、選別したキー情報402の中で重み406が最大のキー情報402を選択する。
たとえば、ステップS2201で取得された外部データを、「飛行機って何?」というテキストデータとする。この場合、「飛行機」がキー情報402となる。アプリケーションサーバ111は、辞書テーブル131においてキー情報402が「飛行機」であるエントリを特定する。ここでは、学習ID401が「L4」のエントリと「L5」のエントリが特定される。そして、アプリケーションサーバ111は、両エントリの重み406の値W41、W51を比較して大きい方のエントリを選択する。ここでは、たとえば、W41<W51とし、学習ID401が「L5」のエントリが選択されたとする。
そして、アプリケーションサーバ111は、ステップS2201の外部データに対する返答になるようデータ整形して、応答データを生成する(ステップS2206)。上記の例では、アプリケーションサーバ111は、学習ID401が「L5」の選択エントリのキー情報402の値「飛行機」と意味情報403の値「atおもちゃ売り場 is子供用玩具」とを用いて、「飛行機は子供用玩具なのでおもちゃ売り場にあります」などの応答データを生成する。これにより、アプリケーションサーバ111は、応答データをロボットRに送信する(ステップS2104)。
一方、ステップS2202でユーザ対応が終了の場合(ステップS2202:終了)、アプリケーションサーバ111は、活用頻度407を出力して(ステップS2207)、一連の処理を終了する。活用頻度407とは、活用頻度407の値が変更されたキー情報402の学習ID401と、変更された活用頻度407と、の組み合わせである。
<重み更新処理(ステップS2106)>
図23は、図21に示した重み更新処理(ステップS2106)の詳細な処理手順例を示すフローチャートである。アプリケーションサーバ111は、活用頻度407を取得する(ステップS2301)。運用管理サーバ110は、活用頻度407に対応する学習ID401のエントリをマスタ辞書テーブル121から特定し、当該エントリの重み406を活用頻度407を用いて更新する(ステップS2302)。アプリケーションサーバ111は、たとえば、活用頻度407の大きさに応じて重み406を増加させる。たとえば、アプリケーションサーバ111は、活用頻度407が+10であれば、重み406を1加算して更新し、活用頻度407が−10であれば、重み406を1減算して更新する。重み406の増減分と活用頻度407の増減分との対応関係は、任意に設定される。
そして、アプリケーションサーバ111は、重み406が更新されたエントリの学習データセットで学習リスト1500を生成し(ステップS2303)、生成した学習リスト1500を運用管理サーバ110に送信する(ステップS2304)。
(1)このように、本実施例の制御システム101は、プログラムを実行するプロセッサ201と、プログラムを記憶する記憶デバイス202と、音声または映像を入出力可能な外部装置の一例であるロボットRと通信可能な通信IF205と、を有する。制御システム101は、入力音声、入力音声から変換されたテキストまたは入力映像に関する第1外部データ(たとえば、キー情報402)をロボットRから取得すると、第1外部データに対する第1応答データを、ロボットRに出力する。
そして、プロセッサ201は、第1外部データの共有可否に関する属性情報404を、たとえば、管理者の操作入力で第1外部データに付与する。プロセッサ201は、属性情報404に基づいて、第1外部データの選択容易性の指標となる重み406を第1外部データに設定して記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)に格納する。プロセッサ201は、ロボットRまたは他のロボットRから第2外部データが受信されると、第1外部データの選択容易性の指標となる重み406に基づいて、第1外部データを記憶デバイス202(マスタ辞書テーブル121)から選択する。プロセッサ201は、選択した第1外部データに基づいて、第2外部データに対する第2応答データを生成し、第2応答データを第2外部データの送信元のロボットRに送信する。
これにより、ある契約者が使用するロボットRで得られた外部データを、その契約者が使用する他地域のロボットRや他の契約者が使用するロボットRと共有することができる。したがって、各ロボットRが適切な発話や行動をしやすくなる。
(2)上記(1)において、属性情報404は、第1外部データを秘匿性するか否かを示す第1属性情報(秘匿性の有無)を含んでもよい。この場合、プロセッサ201は、第1属性情報に基づいて、第1外部データの記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)への格納または非格納を決定する。具体的には、たとえば、秘匿性有りの場合、プロセッサ201は、第1外部データを記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)へ格納しない。これにより、秘匿性のある外部データの他の契約者に対する共有を拒否することができ、外部データの漏洩防止を図ることができる。
(3)上記(1)において、属性情報404は、第1外部データがロボットRの使用者(契約者)に依存するか否かを示す第2属性情報(契約者依存の有無)を含んでもよい。この場合、プロセッサ201は、第2属性情報に基づいて、第1外部データの選択容易性の指標となる重み406を第1外部データに設定して記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)に格納する。
これにより、同一契約者であれば、同一または他地域のロボットRに対し、第1外部データの共有を図ることができる。換言すれば、同一契約者が使用するロボットRの利用者に対して、第1外部データの共有を図ることにより、当該ロボットRの発話や行動に関するサービスが向上する。一方で、異なる契約者が使用するロボットRについては、第1外部データを共有しないことで、異なる契約者が使用するロボットRの発話や行動に関するサービスの低下を抑制する。
(4)上記(3)において、プロセッサ201は、第2属性情報が前記使用者に依存することを示す場合、第1外部データの送信元のロボットRの使用者と第2外部データの送信先の他のロボットRの使用者との同一性に基づいて、第1外部データの選択容易性の指標となる重み406の設定または非設定を決定する。
これにより、第1外部データの送信元のロボットRの使用者と第2外部データの送信先の他のロボットRの使用者とが同一契約者であれば、重み406が設定され、異なる契約者であれば、重み406が設定されない。したがって、同一契約者であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されやすくなり、異なる契約者であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されにくくなる。
(5)上記(4)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者と第2外部データとなる他のロボットRの使用者とが同一である場合、第2外部データとなる他のロボットRの使用者についての第1外部データの選択容易性の指標となる重み406を設定する。
これにより、同一と判断された使用者についての当該キー情報402の重み406の値を優先的に増加させることが可能となる。
(6)上記(5)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者との第2属性情報以外の他の属性情報の相関に基づいて、第1外部データの選択容易性の指標となる重み406を設定する。
これにより、他の属性情報、たとえば、業種依存の有無や地域依存の有無の相関により、重み406の値の大きさを決めることができる。すなわち、他の相関情報について、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者とに関連性があれば重み406は高くなり、関連性がなければ重み406は低くなる。
(7)上記(1)において、属性情報404は、第1外部データがロボットRの使用者(契約者)の業種に依存するか否かを示す第3属性情報(業種依存の有無)を含んでもよい。この場合、プロセッサ201は、第3属性情報に基づいて、第1外部データの選択容易性の指標となる重み406を第1外部データに設定して記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)に格納する。
これにより、同一業種であれば、同一または他の契約者、同一または他地域のロボットRに対し、第1外部データの共有を図ることができる。換言すれば、同一業種の契約者が使用するロボットRの利用者に対して、第1外部データの共有を図ることにより、当該ロボットRの発話や行動に関する当該業種のサービスが向上する。一方で、異なる業種の契約者が使用するロボットRについては、第1外部データを共有しないことで、異なる契約者が使用するロボットRの発話や行動に関する当該異なる業種のサービスの低下を抑制する。
(8)上記(7)において、プロセッサ201は、第3属性情報が業種に依存することを示す場合、第1外部データの送信元のロボットRの使用者の業種と第2外部データの送信先となる他のロボットRの使用者の業種との同一性に基づいて、第1外部データの選択容易性の指標となる重み406の設定または非設定を決定する。
これにより、第1外部データの送信元のロボットRの使用者と第2外部データの送信先の他のロボットRの使用者とが同一業種であれば、重み406が設定され、異なる業種であれば、重み406が設定されない。したがって、同一業種であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されやすくなり、異なる業種であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されにくくなる。
(9)上記(8)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者の業種と第2外部データとなる他のロボットRの使用者の業種とが同一である場合、当該業種についての第1外部データの選択容易性の指標となる重み406を設定する。
これにより、業種が同一と判断された使用者についての当該キー情報402の重み406の値を優先的に増加させることが可能となる。
(10)上記(9)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者との第3属性情報以外の他の属性情報の相関に基づいて、第1外部データの選択容易性の指標となる重み406を設定する。
これにより、他の属性情報、たとえば、使用者依存の有無や地域依存の有無の相関により、重み406の値の大きさを決めることができる。すなわち、他の相関情報について、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者とに関連性があれば重み406は高くなり、関連性がなければ重み406は低くなる。
(11)上記(1)において、属性情報404は、第1外部データがロボットRの使用者(契約者)がロボットRでサービスを提供する地域に依存するか否かを示す第4属性情報(地域依存の有無)を含んでもよい。この場合、プロセッサ201は、第4属性情報に基づいて、第1外部データの選択容易性の指標となる重み406を第1外部データに設定して記憶デバイス202(辞書テーブル131、マスタ辞書テーブル121)に格納する。
これにより、同一地域であれば、同一または他の契約者、同一または他業種のロボットRに対し、第1外部データの共有を図ることができる。換言すれば、同一地域の契約者が使用するロボットRの利用者に対して、第1外部データの共有を図ることにより、当該ロボットRの発話や行動に関する当該地域でのサービスが向上する。一方で、異なる地域の契約者が使用するロボットRについては、第1外部データを共有しないことで、異なる契約者が使用するロボットRの発話や行動に関する当該異なる地域でのサービスの低下を抑制する。
なお、地域602の同一性は、たとえば、地域Aが地域Bの全域を包含する場合、地域Bは地域Aと同一地域となる。地域Aが地域Bの一部と重複する場合、管理者の操作入力により地域A、Bは同一地域としてもよく、異なる地域としてもよい。
(12)上記(11)において、プロセッサ201は、第4属性情報が地域に依存することを示す場合、第1外部データの送信元のロボットRの使用者の地域と第2外部データの送信先となる他のロボットRの使用者の地域との同一性に基づいて、第1外部データの選択容易性の指標となる重み406の設定または非設定を決定する。
これにより、第1外部データの送信元のロボットRの使用者と第2外部データの送信先の他のロボットRの使用者とが同一地域であれば、重み406が設定され、異なる地域であれば、重み406が設定されない。したがって、同一地域であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されやすくなり、異なる地域であれば、第1外部データは、第2外部データに対する第2応答データの生成元として選択されにくくなる。
なお、同一地域とは、第1外部データの送信元のロボットRの使用者に関する地域602と第2外部データの送信先の他のロボットRの使用者に関する地域602とが同一であることを意味する。たとえば、ロボットRの使用者の地域602がA,B,C,Dであり、他のロボットRの使用者の地域602がB,C,D,Eである場合、B,C,Dが重複するため、同一地域と判断される。また、重複する地域の数が重複しない地域の数よりも多い場合に両使用者は同一地域と判断してもよい。この例では、重複地域がB,C,Dの3地域であり、非重複地域がA,Eの2地域であるため、両使用者は同一地域と判断される。同数の場合は、初期設定により、同一地域と判断するように設定してもよい。
また、同一地域とは、第1外部データの送信元のロボットRの配属先と第2外部データの送信先の他のロボットRの配属先とが同一地域であることとしてもよい。この場合、ロボットRの配属先がA地域で、他のロボットRの配属先がA地域であれば、同一地域と判断され、他のロボットRの配属先がC地域であれば、異なる地域と判断される。
(13)上記(12)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者の地域と第2外部データとなる他のロボットRの使用者の地域とが同一である場合、第2外部データとなる他のロボットRの使用者についての第1外部データの選択容易性の指標となる重み406を設定する。
これにより、他の属性情報、たとえば、使用者依存の有無や業種依存の有無の相関により、重み406の値の大きさを決めることができる。すなわち、他の相関情報について、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者とに関連性があれば重み406は高くなり、関連性がなければ重み406は低くなる。
(14)上記(13)において、プロセッサ201は、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者との第4属性情報以外の他の属性情報の相関に基づいて、第1外部データの選択容易性の指標となる重み406を設定する。
これにより、他の属性情報、たとえば、使用者依存の有無や業種依存の有無の相関により、重み406の値の大きさを決めることができる。すなわち、他の相関情報について、第1外部データの送信元のロボットRの使用者と第2外部データの送信先となる他のロボットRの使用者とに関連性があれば重み406は高くなり、関連性がなければ重み406は低くなる。
(15)上記(1)において、プロセッサ201は、第1外部データの内容に基づいて、第1外部データの活用頻度407を増減し、活用頻度407に基づいて、第1外部データの選択容易性の指標となる重み406を更新する。これにより、たとえば、第1外部データの内容が肯定的な内容であれば、活用頻度407が増加し、これに伴って重み406も増加して、第2外部データに対する第2応答データの生成元として選択されやすくなる。一方、第1外部データの内容が否定的な内容であれば、活用頻度407が減少し、これに伴って重み406も減少して、第2外部データに対する第2応答データの生成元として選択されにくくなる。
なお、上述した実施例において、属性情報404内の「不要語に該当」のビット値が「1」であるキー情報402については、秘匿性有りと同様、アプリケーションサーバ111は、辞書テーブル131への当該学習データセットの格納をしないようにしてもよい。または、アプリケーションサーバ111は、当該キー情報402については、辞書テーブル131への当該学習データセットを格納するが、重み406の値を初期値である100ではなく、それよりも低い値(たとえば、50)に設定してもよい。
また、「不要語に該当」の属性は3種類あるため、アプリケーションサーバ111は、ビット値が「1」の数が多いほど、設定される重み406の値をより低く設定してもよい。たとえば、アプリケーションサーバ111は、「不要語に該当」の属性のビット列が「100」「010」「001」のいずれかの場合は当該キー情報の重み406の値を「50」に、「不要語に該当」の属性のビット列が「110」「101」「011」のいずれかの場合は当該キー情報の重み406の値を「25」に、「不要語に該当」の属性のビット列が「111」の場合は当該キー情報の重み406の値を「0」に設定してもよい。
このように、不要語であるほど、重み406の初期値が低くなるため、そのようなキー情報402は、第2外部データに対する第2応答データの生成元として選択されにくくなる。ただし、(11)で説明したように、肯定的な内容であれば、活用頻度が増加するため、キー情報402は、第2外部データに対する第2応答データの生成元として選択されやすくなる。このように、使用状況に応じて、重み406が変動するため、融通性の高いデータ共有を図ることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
100 管理システム
101 制御システム
110 運用管理サーバ
111 アプリケーションサーバ
121 マスタ辞書テーブル
122 重み情報テーブル
123 契約者情報テーブル
124 相関テーブル
131 辞書テーブル
132 ロボット管理テーブル
201 プロセッサ
202 記憶デバイス
402 キー情報
404 属性情報
405 情報源プロパティ
406 重み
407 活用頻度
602 地域
603 業種
1001 契約者相関テーブル
1002 業種相関テーブル
1003 地域相関テーブル

Claims (18)

  1. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、音声または映像を入出力可能な外部装置と通信可能な通信インタフェースと、を有し、入力音声、入力映像、入力テキスト、または前記入力音声や映像から変換されたテキストに関する第1外部データを前記外部装置から取得すると、前記第1外部データに対する第1応答データを、前記外部装置に出力する制御システムであって、
    前記プロセッサは、
    前記第1外部データの共有可否の指標となる属性情報を前記第1外部データに付与し、
    前記属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、
    ことを特徴とする制御システム。
  2. 請求項1に記載の制御システムであって、
    前記プロセッサは、
    前記外部装置または前記他の外部装置から第2外部データが受信されると、前記第1外部データの選択容易性の指標となる重みに基づいて、前記第1外部データを前記記憶デバイスから選択し、
    選択した前記第1外部データに基づいて、前記第2外部データに対する第2応答データを生成し、
    前記第2応答データを前記第2外部データの送信元の外部装置に送信する、
    ことを特徴とする制御システム。
  3. 請求項2に記載の制御システムであって、
    前記属性情報は、前記第1外部データを秘匿性するか否かを示す第1属性情報を含み、
    前記プロセッサは、
    前記第1属性情報に基づいて、前記第1外部データの前記記憶デバイスへの格納または非格納を決定する、
    ことを特徴とする制御システム。
  4. 請求項2に記載の制御システムであって、
    前記属性情報は、前記第1外部データが前記外部装置の使用者に依存するか否かを示す第2属性情報を含み、
    前記プロセッサは、
    前記第2属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、
    ことを特徴とする制御システム。
  5. 請求項4に記載の制御システムであって、
    前記プロセッサは、
    前記第2属性情報が前記使用者に依存することを示す場合、前記第1外部データの送信元の外部装置の使用者と前記第2外部データの送信先の前記他の外部装置の使用者との同一性に基づいて、前記第1外部データの選択容易性の指標となる重みの設定または非設定を決定する、
    ことを特徴とする制御システム。
  6. 請求項5に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者と前記第2外部データとなる前記他の外部装置の使用者とが同一である場合、当該使用者についての前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  7. 請求項6に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者と前記第2外部データの送信先となる前記他の外部装置の使用者との前記第2属性情報以外の他の属性情報の相関に基づいて、当該使用者についての前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  8. 請求項2に記載の制御システムであって、
    前記属性情報は、前記第1外部データが前記外部装置の使用者の業種に依存するか否かを示す第3属性情報を含み、
    前記プロセッサは、
    前記第3属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、
    ことを特徴とする制御システム。
  9. 請求項8に記載の制御システムであって、
    前記プロセッサは、
    前記第3属性情報が前記業種に依存することを示す場合、前記第1外部データの送信元の外部装置の使用者の業種と前記第2外部データの送信先となる前記他の外部装置の使用者の業種との同一性に基づいて、前記第1外部データの選択容易性の指標となる重みの設定または非設定を決定する、
    ことを特徴とする制御システム。
  10. 請求項9に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者の業種と前記第2外部データとなる前記他の外部装置の使用者の業種とが同一である場合、前記第2外部データとなる前記他の外部装置の使用者についての前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  11. 請求項10に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者と前記第2外部データの送信先となる前記他の外部装置の使用者との前記第3属性情報以外の他の属性情報の相関に基づいて、前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  12. 請求項2に記載の制御システムであって、
    前記属性情報は、前記第1外部データが前記外部装置の使用者が前記外部装置でサービスを提供する地域に依存するか否かを示す第4属性情報を含み、
    前記プロセッサは、
    前記第4属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、
    ことを特徴とする制御システム。
  13. 請求項12に記載の制御システムであって、
    前記プロセッサは、
    前記第4属性情報が前記地域に依存することを示す場合、前記第1外部データの送信元の外部装置の使用者の地域と前記第2外部データの送信先となる前記他の外部装置の使用者の地域との同一性に基づいて、前記第1外部データの選択容易性の指標となる重みの設定または非設定を決定する、
    ことを特徴とする制御システム。
  14. 請求項13に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者の地域と前記第2外部データとなる前記他の外部装置の使用者の地域とが同一である場合、前記第2外部データとなる前記他の外部装置の使用者についての前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  15. 請求項14に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの送信元の外部装置の使用者と前記第2外部データの送信先となる前記他の外部装置の使用者との前記第4属性情報以外の他の属性情報の相関に基づいて、前記第1外部データの選択容易性の指標となる重みを設定する、
    ことを特徴とする制御システム。
  16. 請求項2に記載の制御システムであって、
    前記プロセッサは、
    前記第1外部データの内容に基づいて、前記第1外部データの活用頻度を増減し、
    前記活用頻度に基づいて、前記第1外部データの選択容易性の指標となる重みを更新する、
    ことを特徴とする制御システム。
  17. プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、音声または映像を入出力可能な外部装置と通信可能な通信インタフェースと、を有し、入力音声、入力映像、入力テキスト、または前記入力音声や映像から変換されたテキストに関する第1外部データを前記外部装置から取得すると、前記第1外部データに対する第1応答データを、前記外部装置に出力する制御システムによる制御方法であって、
    前記プロセッサは、
    前記第1外部データの共有可否に関する属性情報を前記第1外部データに付与し、
    前記属性情報に基づいて、前記第1外部データの選択容易性の指標となる重みを前記第1外部データに設定して前記記憶デバイスに格納する、
    ことを特徴とする制御方法。
  18. 請求項17に記載の制御方法であって、
    前記外部装置または前記他の外部装置から第2外部データが受信されると、前記第1外部データの選択容易性の指標となる重みに基づいて、前記第1外部データを前記記憶デバイスから選択し、
    選択した前記第1外部データに基づいて、前記第2外部データに対する第2応答データを生成し、
    前記第2応答データを前記第2外部データの送信元の外部装置に送信する、
    ことを特徴とする制御方法。
JP2018158421A 2018-08-27 2018-08-27 制御システムおよび制御方法 Ceased JP2020034601A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018158421A JP2020034601A (ja) 2018-08-27 2018-08-27 制御システムおよび制御方法
US16/535,178 US20200064793A1 (en) 2018-08-27 2019-08-08 Control system and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018158421A JP2020034601A (ja) 2018-08-27 2018-08-27 制御システムおよび制御方法

Publications (1)

Publication Number Publication Date
JP2020034601A true JP2020034601A (ja) 2020-03-05

Family

ID=69587015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018158421A Ceased JP2020034601A (ja) 2018-08-27 2018-08-27 制御システムおよび制御方法

Country Status (2)

Country Link
US (1) US20200064793A1 (ja)
JP (1) JP2020034601A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113534677A (zh) * 2021-08-04 2021-10-22 华帝股份有限公司 一种自定义语种操作控制家用电器的实现方法及控制系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016197227A (ja) * 2015-04-02 2016-11-24 パナソニックIpマネジメント株式会社 対話方法、対話プログラム及び対話システム
JP2017207926A (ja) * 2016-05-18 2017-11-24 株式会社野村総合研究所 商品販売支援システム、及び商品販売支援方法
US20180061394A1 (en) * 2016-09-01 2018-03-01 Samsung Electronics Co., Ltd. Voice recognition apparatus and method
JP2021522561A (ja) * 2018-04-20 2021-08-30 フェイスブック・テクノロジーズ・リミテッド・ライアビリティ・カンパニーFacebook Technologies, Llc 補助システムとのユーザ対話のための個人化されたジェスチャー認識

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016197227A (ja) * 2015-04-02 2016-11-24 パナソニックIpマネジメント株式会社 対話方法、対話プログラム及び対話システム
JP2017207926A (ja) * 2016-05-18 2017-11-24 株式会社野村総合研究所 商品販売支援システム、及び商品販売支援方法
US20180061394A1 (en) * 2016-09-01 2018-03-01 Samsung Electronics Co., Ltd. Voice recognition apparatus and method
JP2021522561A (ja) * 2018-04-20 2021-08-30 フェイスブック・テクノロジーズ・リミテッド・ライアビリティ・カンパニーFacebook Technologies, Llc 補助システムとのユーザ対話のための個人化されたジェスチャー認識

Also Published As

Publication number Publication date
US20200064793A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
US11409425B2 (en) Transactional conversation-based computing system
US11232155B2 (en) Providing command bundle suggestions for an automated assistant
JP6819988B2 (ja) 音声対話装置、サーバ装置、音声対話方法、音声処理方法およびプログラム
US11169786B2 (en) Generating and using joint representations of source code
JP6087899B2 (ja) 会話ダイアログ学習および会話ダイアログ訂正
CN109844855A (zh) 任务的多重计算代理执行
US20120253791A1 (en) Task Driven User Intents
US20210118444A1 (en) Inference on date time constraint expressions
KR20160136442A (ko) 질의 응답 시스템에서 컴퓨터 발생형 자연 언어 출력
US11430443B2 (en) Developer platform for providing automated assistant in new domains
US11151321B2 (en) Anaphora resolution
US11328715B2 (en) Automatic assignment of cooperative platform tasks
US11095579B1 (en) Chatbot with progressive summary generation
US20200233916A1 (en) Item inventory locating from search queries
KR20230003253A (ko) 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색
Keim et al. Towards consistency checking between software architecture and informal documentation
CN116490879A (zh) 用于神经网络中过度预测的方法和系统
CN116235164A (zh) 聊天机器人的范围外自动转变
Quan et al. Lead engagement by automated real estate chatbot
US9208194B2 (en) Expanding high level queries
US20230065223A1 (en) Contextually-adaptive conversational interface
US20230108637A1 (en) Generating sorted lists of chat bot design nodes using escalation logs
JP2020034601A (ja) 制御システムおよび制御方法
KR20170124194A (ko) 여행정보 제공서비스방법 및 프로그램
US10964321B2 (en) Voice-enabled human tasks in process modeling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220809

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20221220