JP2023001577A - アバター提供装置、アバター提供方法、およびプログラム - Google Patents
アバター提供装置、アバター提供方法、およびプログラム Download PDFInfo
- Publication number
- JP2023001577A JP2023001577A JP2021102386A JP2021102386A JP2023001577A JP 2023001577 A JP2023001577 A JP 2023001577A JP 2021102386 A JP2021102386 A JP 2021102386A JP 2021102386 A JP2021102386 A JP 2021102386A JP 2023001577 A JP2023001577 A JP 2023001577A
- Authority
- JP
- Japan
- Prior art keywords
- avatar
- information
- dialogue
- automatic processing
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims description 103
- 238000012545 processing Methods 0.000 claims abstract description 560
- 230000006870 function Effects 0.000 claims abstract description 295
- 230000005540 biological transmission Effects 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims description 195
- 238000011156 evaluation Methods 0.000 claims description 142
- 238000010801 machine learning Methods 0.000 claims description 31
- 238000009825 accumulation Methods 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 abstract description 70
- 230000003993 interaction Effects 0.000 abstract description 52
- 230000008569 process Effects 0.000 description 89
- 238000007726 management method Methods 0.000 description 84
- 238000012549 training Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 17
- 230000009118 appropriate response Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 230000000877 morphologic effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000013523 data management Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】適切な対話および自動処理の少なくとも一方を実現可能なアバターを提供するアバター提供装置を実現する。【解決手段】対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部101と、2以上のアバターの一つを選択する選択指示を、端末装置2から受信する指示受信部111と、選択指示に対応するアバターのアバター情報をアバター格納部101から取得するアバター取得部113と、アバター取得部113が取得したアバター情報を端末装置2に送信するアバター送信部114と、を備えた。【選択図】図1
Description
本発明は、アバターを提供する装置等に関するものである。
従来の技術として、ユーザごとに割り当てた、複数のアバターを、ネットワーク上の会話画面に登場させ、ユーザから送信されてきたメッセージを、会話画面を通じて表示、出力させることによりユーザ同士で会話を行わせるようにしたネットワークチャットサービスが知られていた(例えば、特許文献1参照)。
しかしながら、従来のユーザと対話を行う機能を有するアバターや、自動処理を行う機能を有するアバターにおいては、アバターが対話に利用する対話モデル等や、アバターが実行可能な自動処理が、予め決められているため、ユーザの要求等に合わせて、アバターが適切な対話や、自動処理を実現することが困難である、という課題があった。
本発明は、上記のような課題を解消するためになされたものであり、適切な対話および自動処理の少なくとも一方を実現可能なアバターを提供できるアバター提供装置等を提供することを目的とする。
本発明のアバター提供装置は、対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部と、2以上のアバターの一つを選択する選択指示を、端末装置から受信する指示受信部と、選択指示に対応するアバターのアバター情報をアバター格納部から取得するアバター取得部と、アバター取得部が取得したアバター情報を端末装置に送信するアバター送信部とを備えたアバター提供装置である。
かかる構成により、適切な対話および自動処理の少なくとも一方を実現可能なアバターを提供することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、アバター格納部には、対話機能と対話に関する学習機能とを有する1以上のアバターのアバター情報が格納され、学習機能を有する一のアバターについて予め決められた条件を満たした場合に、アバターの学習機能に応じて、対話に関する学習処理を行う学習処理部をさらに備えるようにしてもよい。
かかる構成により、対話に関する学習を行うことで、適切な対話を実現可能なアバターを提供することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、学習処理部は、他のアバターが有する対話機能のための教師データまたは対話モデルの全部または一部を取得し、取得した教師データまたは対話モデルを用いて、対話に関する学習処理を行うようにしてもよい。
かかる構成により、対話に関する学習を適切に行うことができ、適切な対話を実現可能なアバターを提供することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、アバター格納部には、自動処理機能と自動処理の追加機能とを有する1以上のアバターのアバター情報が格納され、追加機能を有する一のアバターについて予め決められた条件を満たした場合に、アバターの追加機能に応じて、自動処理に関する追加処理を行う追加処理部をさらに備えるようにしてもよい。
かかる構成により、アバターが適切な自動処理を実現できるようにすることができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、一のアバターに対する要求を端末装置から受信する入力情報受信部と、自動処理機能を用いて、要求に対応する自動処理を実行する要求処理部をさらに備え、予め決められた条件は、要求処理部が、要求に対応する自動処理を実行できないことである、ようにしてもよい。
かかる構成により、要求に対応する自動処理を実行できない場合に、アバターが実行する自動処理を追加することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、一のアバターとの対話のための対話入力情報を端末装置から受信する入力情報受信部と、対話機能を用いて、対話入力情報に応じた応答情報を取得する応答情報取得部と、応答情報を端末装置に送信する応答情報送信部と、応答情報に対する評価結果を取得する評価取得部とをさらに備え、予め決められた条件は、評価結果が評価条件を満たすほど低いことである、アバター提供装置としてもよい。
かかる構成により、対話入力情報に対して適切な応答情報を取得できない場合、対話に関する学習を行って、アバターが適切な対話を実現できるようにすることができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、指示受信部は、端末装置に対応するユーザ識別子と対応付けられた選択指示を受信し、ユーザ識別子が、ユーザが利用するアバターと対応付けられて格納されるユーザ識別子格納部と、指示受信部が受信した選択指示に対応付けられたユーザ識別子を、選択指示に対応するアバターと対応付けてユーザ識別子格納部に蓄積する蓄積部と、選択指示に対応するアバターの利用に対して、選択指示に対応するユーザ識別子で識別されるユーザに課金処理を行う課金部と、をさらに備えたアバター提供装置としてもよい。
かかる構成により、ユーザにアバターの利用について適切に課金することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、アバター格納部に格納されるアバター情報は、アバター情報により出力されるアバターに関する1以上の属性値と対応付けられており、課金部は、選択指示に対応するアバターと対応付けられた1以上の属性値に応じて、選択指示に対応付けられたユーザに対して、異なる金額の課金処理を行う、アバター提供装置としてもよい。
かかる構成により、ユーザが利用するアバターの属性値に応じて適切な金額の課金を行うことができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、ユーザ識別子格納部には、さらに、アバターを一時的に利用するか否かを示す情報が、ユーザ識別子と対応付けられて格納されており、課金部は、アバターを一時的に利用するか否かを示す情報の値に応じて、ユーザに対して、異なる金額の課金処理を行う、アバター提供装置としてもよい。
かかる構成により、一時利用である場合と、一時利用でない場合とで、適切な課金を行うことができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、選択指示は、1以上のユーザ属性値を有し、アバター取得部は、1以上のユーザ属性値を用いて、取得するアバターを決定し、アバター格納部からアバターのアバター情報を取得するようにしてもよい。
かかる構成により、ユーザに適したアバター情報を取得することができる。
また、本発明のアバター提供装置は、前記アバター提供装置において、1以上のユーザ属性値とアバターを識別するアバター識別子とを有する2以上の教師データに対して、機械学習の学習処理を行うことにより取得された学習器が格納される学習器格納部をさらに具備し、アバター取得部は、選択指示が有する1以上のユーザ属性値と、学習器とを用いて、機械学習の予測処理を行い、アバター識別子を取得し、アバター識別子で識別されるアバターのアバター情報を、アバター格納部から取得するアバター提供装置としてもよい。
かかる構成により、機械学習を利用して、ユーザに適したアバター情報を取得することができる。
本発明によるアバター提供装置等によれば、適切な対話および自動処理の少なくとも一方を実現可能なアバターを提供することができる。
以下、アバター提供装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態におけるアバター利用システム1000のブロック図である。
図1は、本実施の形態におけるアバター利用システム1000のブロック図である。
アバター利用システム1000は、アバター提供装置1と、1または2以上の端末装置2とを備える。アバター提供装置1と各端末装置2とは、有線や無線のネットワーク等を介して情報の送受信が可能となるよう接続される。ここでは、一例として、アバター利用システム1000が、3以上の端末装置2を有する場合を例に挙げて説明する。
アバター提供装置1は、アバター格納部101、ユーザ識別子格納部102、学習器格納部103、指示受信部111、蓄積部112、アバター取得部113、アバター送信部114、入力情報受信部115、要求処理部120、応答情報取得部121、応答情報送信部122、評価取得部123、学習処理部124、追加処理部125、および課金部126を備える。
端末装置2は、端末受信部201、端末出力部202、端末受付部203、および端末送信部204を備える。
アバター提供装置1は、例えば、例えば、ASPサーバや、クラウドサーバ等のサーバ装置である。アバター提供装置1は、例えば、コンピュータ等で実現可能である。
アバター格納部101には、2以上のアバター情報が格納される。各アバター情報は、アバターを出力するための情報である。アバター情報は、例えば、アバターをモニタ等に表示するために用いられる情報である。
アバターとは、コンピュータ等により表現される人の分身である。アバターは、例えば、人を示す仮想のオブジェクトである。アバターは、人を表すキャラクタ等と考えてもよい。ここでのアバターに対応する人は、例えば、端末装置2のユーザであってもよく、端末装置2のユーザのアシスタントや対話相手であってもよく、コンシェルジュや、端末装置2のユーザの顧客や、端末装置2のユーザに商品やサービスを提供する企業や法人等の事業者と考えてもよい。アバターの外観は、必ずしも人の姿である必要はなく、例えば、動物やロボット等の外観を有していてもよい。
アバター情報は、例えば、アバターの画像を有する。アバターの画像は、静止画像であってもよく、アニメーション画像等の動画像であってもよい。また、アバターの画像は2次元画像であってもよく、3次元画像であってもよい。アバター情報が有するアバターの画像は、異なるポーズの複数の静止画像であってもよい。また、アバター情報が有するアバターの画像は、アバターの異なる動きをそれぞれ示すアニメーション画像等の複数の動画像であってもよい。また、アバター情報は、レンダリング等を行うことにより、アバターの画像を出力可能なアバターの外形等を定義する3次元モデルのデータや、ベクトル画像データ等であってもよい。また、アバター情報は、3次元モデルのデータと、3次元モデルの1または2以上の動きを指定する1または2以上の情報とを有していてもよい。また、アバター情報は、さらに、通常の3次元モデルをレンダリングする際に利用されるテクスチャー情報や色等を指定する情報等を有していてもよい。また、アバターの画像は、例えば、モデル情報を有する。モデル情報は、アバターの表示を構成するための情報である。モデル情報は、例えば、メッシュ情報、ボーン情報、マテリアル情報を有する。モデル情報のデータ構造は、例えば、glTF(GL Transmission Format)、VRM、OBJ、FBX、STL、GLB、COLLADA等であり、その種類は問わない。
アバター情報は、例えば、アバター識別子と対応付けられてアバター格納部101に格納される。アバター識別子は、アバターを識別可能な情報であり、例えば、アバターに割り当てられたコードや、アバターの名前等である。例えば、アバター識別子と対応付けられたアバター情報は、アバター識別子を有するアバター情報であってもよい。
アバター格納部101には、対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納される。対話機能、および自動処理機能の少なくとも一方の機能を有するアバターとは、対話機能のみを有するアバターであってもよく、自動処理機能のみを有するアバターであってもよく、対話機能と自動処理機能とを有するアバターであってもよい。また、アバター格納部101には、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方を有する1以上のアバターを出力するための1以上のアバター情報が格納される。例えば、アバター格納部101に格納される対話機能を有するアバターを出力するアバター情報の1以上が、対話に関する学習機能をさらに有していてもよく、アバター格納部101に格納される自動処理機能を有するアバターを出力するアバター情報の1以上が、自動処理の追加機能をさらに有していてもよく、アバター格納部101に格納される対話機能と自動処理機能とを有するアバターを出力するアバター情報の1以上が、対話に関する学習機能、自動処理の追加機能、または対話に関する学習機能と自動処理の追加機能との両方をさらに有していてもよい。
対話機能とは、例えば、アバターが、1以上の端末装置2のユーザとの間で対話する機能である。対話機能は、例えば、ユーザから入力される対話のための入力情報に応じた応答を出力する機能である。ここでの対話は、例えば、ユーザが理解可能な1以上の言語を用いて行われる。ここでの対話は、アバターの動作を介して行われる対話であってもよい。ここでの対話は、音声を介した対話であってもよく、文字列を介した対話であってもよく、手話やジェスチャー等を介した対話であってもよい。
アバターの対話機能は、例えば、対話モデルを用いて実現される。対話モデルとは、例えば、ユーザの発話に対して取得するデータや、ユーザの発話に対して返す応答を定義する情報である。
ユーザの発話とは、例えば、ユーザの発言を示す文や音声等である。ユーザの発話とは、例えば、文字列の情報や、文字列を取得可能な音声情報等の情報である。ユーザの発話とは、例えば、ユーザからアバターに対して話しかける情報である。ユーザの発話とは、例えば、後述する入力情報受信部115が受信する対話のための入力情報(以下、対話入力情報と称す)である。例えば、対話入力情報は、ユーザの発する音声である発話から音声認識により取得される文を示す文字列や、ユーザがキーボードやタッチパネル等の入力デバイスを介して入力したユーザの発言である文を示す文字列である。
対話モデルは、例えば、サンプルとなる対話入力情報と、この対話入力情報に対応する応答の情報(以下、応答情報と称す)との1以上の組である。また、対話モデルは、例えば、対話入力情報に対応する対話の意図または目的を示す情報や、対話の意図または目的を示す情報と対話入力情報内の1以上の変数を定義する情報とを有する情報と、応答の情報との1以上の組であってもよい。また、対話モデルは、例えば、サンプルとなる複数の対話入力情報とこれに対応する応答との複数の組を用いて機械学習を行うことにより取得した学習器であってもよく、機械学習により取得したサンプルとなる対話入力情報と、この対話入力情報に対応する応答の情報との1以上の組であってもよい。応答情報は、例えば、対話入力情報に対する応答に用いられる情報であり、応答する文字列等の情報や、音声データである。対話入力情報や、応答の情報の1以上は、変数を示す情報を有していてもよい。また、対話モデルは、対話入力情報に対応する応答が取得できない場合や、対話入力情報から目的を示す情報を取得できない場合の応答に利用される応答の情報を有していてもよい。
ここで用いられる対話モデルは、いわゆる生成ベースモデルであってもよく、検索ベースモデルであってもよい。また、対話モデルは、上記のような構造の対話モデルに限定されない。例えば、対話モデルは、ダイアログモデルを有していてもよい。また、対話モデルは、シーケンスを示す情報を有していてもよい。対話モデルについては、アバター等の対話システム等の技術として公知であるため、ここでは詳細な説明を省略する。また、アバターの対話機能は、上記の対話モデルを用いた対話機能に限定されない。アバターの対話機能は、対話モデル以外の、対話に利用可能な情報を用いて実現されてもよい。
応答情報は、例えば、アバターが出力可能な情報である。応答情報は、例えば、端末装置2においてアバターが音声出力可能な音声情報や、音声に変換可能な文字列の情報であってもよく、アバターが、いわゆる吹き出しやダイアログボックス等を用いて表示可能な文字列の情報である。また、応答情報は、画像の情報であってもよい。
アバターが対話に利用する情報は、アバター格納部101に格納されていてもよく、アバター提供装置1がアクセス可能なサーバ装置(図示せず)が有する格納部に格納されていてもよい。
アバターが対話に利用する対話モデル等の情報としては、例えば、複数の異なる対話モデル等の情報が用意されていてもよい。これらの対話に利用可能な異なる情報は、例えば、アバター格納部101や図示しない格納部等に格納されていてもよい。異なる対話モデル等の情報とは、対話の分野や話題ごとに異なる情報であってもよく、対話の分野や話題等が同じであって、対話入力情報と応答の情報との複数の組が異なる情報であってもよい。
アバターが対話に利用可能な複数の対話モデル等の情報には、異なる識別子等が対応付けられていてもよい。例えば、アバターが対話に利用可能な対話モデルには、対話モデルを識別可能なコード等の対話モデル識別子が対応付けられていてもよい。
また、対話モデル等のアバターが対話に利用可能な情報には、その情報により実現可能な対話の分野や話題を示す情報が対応付けられていてもよい。対話の分野を示す情報は、例えば、分野名や、分野に割り当てられたコード等の分野識別子である。対話の話題を示す情報は、例えば、話題名や、話題のキーワードや、話題に割り当てられたコード等の話題識別子等である。
アバターが対話に利用可能な複数の対話モデル等の情報には、各情報を利用する場合の利用料金を示す情報が対応付けられていてもよい。利用料金は、例えば、1回あたりの利用料金であってもよく、単位時間当たりの利用料金であってもよい。また、利用料金は、一時利用する場合の利用料金と、この利用料金とは異なる一時利用でない場合の利用料金との組であってもよい。一時利用でない場合の利用料金は、いわゆるサブスクリプション等の、予め決められた期間内であれば何回でも利用可能とする場合の利用料金であってもよい。
各アバターの対話機能は、例えば、各アバターと対応付けられた上記のような対話機能に利用される対話モデル等の情報のうちの1以上の情報を用いて実現される。アバターに対応付けられた情報とは、例えば、アバター情報またはアバター識別子と対応付けられた情報である。アバターの対話機能に利用される対話モデル等の情報は、アバター情報が有していてもよい。また、例えば、対話機能に利用される対話モデル等の情報を用いて対話を実現するためのプログラム等は、アバター情報が有していてもよい。
一のユーザが利用する一のアバターの対話機能は、例えば、一のユーザのユーザ識別子と、一のアバターのアバター識別子と、の組に対応付けられた対話機能に利用される1以上の情報(例えば、1以上の対話モデル)等を用いて実現されるようにしてもよい。例えば、一のユーザが利用する一のアバターの対話機能は、後述するユーザ識別子格納部102に格納される一のユーザのユーザ識別子と、一のアバターのアバター識別子と、の組に対応付けられた対話機能に利用される1以上の情報(例えば、1以上の対話モデル)等を用いて実現されるようにしてもよい。
ユーザ識別子とは、ユーザを識別可能な情報であり、例えば、ユーザ名や、ユーザのメールアドレス、ユーザの携帯電話番号、ユーザに割り当てられたコード等である。一のユーザが利用する端末装置2が決まっている場合等においては、ユーザが利用する端末装置2の識別子を、ユーザのユーザ識別子として用いてもよい。端末装置2の識別子は、例えば、端末装置2のシリアル番号や、端末装置2のMACアドレスやIPアドレス等や、端末装置2に割り当てられたコード等である。かかることは、以下においても同様である。
各アバターが対話機能に利用する対話モデル等の情報のうちの1以上の情報は、デフォルト等として予め決められていてもよい。また、各アバターが対話機能に利用する対話モデル等の情報のうちの1以上の情報は、アバターを利用するユーザが指定できるようにしてもよい。各アバターが対話機能に利用する対話モデル等の1以上の情報は、更新可能であってもよい。更新可能とは、例えば、追加、変更、および削除のうちの1以上が可能であることを意味する。
自動処理機能とは、例えば、アバターが、1以上の処理を自動的に行う機能である。例えば、アバターが、ユーザからの要求に応じて、処理を自動的に実行する機能である。ここでの要求は、例えば、アバターに対して入力される情報であって、アバターに対してユーザが1以上の処理を自動的に実行することを要求する情報である。ここでの要求は、例えば、実行する処理を検出可能な情報である。ここでの要求は、処理の実行に必要な1以上のパラメータ等を有していてもよい。ここでの要求は、上述した対話入力情報と同様に取得される情報である。なお、ここでの要求は、上述した対話入力情報に含まれると考えてもよく、含まれないと考えてもよい。以下においては、一例として、上述した対話入力情報に要求が含まれない場合を例に挙げて説明する。
アバターが自動処理機能により自動的に実行する1以上の処理は、例えば、要求に応じて検索を行う処理であってもよく、要求に応じて情報を収集する処理であってもよい。また、自動処理機能により自動的に実行する処理は、例えば、電子商取引サイトに対して、購入手続きを行う処理や、購入手続きを行った際に、累積購入額を算出して、端末装置に送信する処理である。また、また、自動処理機能により自動的に実行する処理は、要求に応じて店舗やサービス等の予約を行う処理であってもよく、要求に応じてメールや資料等を作成したり、これらを送信したりする処理であってもよい。自動処理機能により実行する1以上の処理は、上記の処理に限定されない。自動処理機能により実行する1以上の処理は、例えば、端末装置2以外の外部のサーバ装置(図示せず)等に対して行う処理であることが好ましい。また、この処理は、処理によって得られる情報をユーザに対して出力することが目的となる処理以外の処理であることが好ましい。
自動処理機能は、例えば、自動処理を実行するための自動処理モデルを用いて実行される。自動処理モデルは、例えば、ユーザからの要求に対して実行される自動処理を定義する1または2以上の情報である。自動処理モデルは、サンプルとなるユーザからの要求と、この要求に応じて実行される自動処理を定義する情報とを有する情報である。サンプルとなる要求は、例えば、要求の意図や目的を示す情報を有する情報である。サンプルとなる要求はさらに、1以上の変数を定義する情報を有していてもよい。ユーザからの要求とは、例えば、商品やサービスを購入する指示や、商品やサービスの予約を行う指示、メール等を作成して送信する指示等である。自動処理を定義する情報とは、実行される自動処理を示す情報や、自動処理の実行を指示する情報等である。自動処理を定義する情報は、例えば、1以上のプログラムや、1以上のプログラムの識別子(例えば、実行ファイル名等)であってもよく、一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。自動処理を定義する情報によって定義される自動処理は、対応する要求内の1以上の変数等を利用する自動処理であってもよい。自動処理モデルは、ユーザの要求と、要求に応じて実行される自動処理を定義する情報との複数の組を教師データとして機械学習を行うことで取得される学習器であってもよく、機械学習により取得された上記のようなユーザからの要求と、この要求に応じて実行される自動処理を定義する情報とを有する自動処理モデルであってもよい。ここでの学習器は、例えば、ユーザの要求に応じて、要求に対応する処理を定義する情報を取得する学習器であってもよく、要求に対応する処理を自動的に実行する学習器であってもよい。
なお、アバターの自動処理機能は、上記の自動処理モデルを用いて実行される自動処理機能に限定されない。アバターの自動処理機能は、自動処理モデル以外の、自動処理機能に利用可能な情報を用いて実行されてもよい。
アバターが自動処理機能に利用する情報は、アバター格納部101に格納されていてもよく、アバター提供装置1がアクセス可能なサーバ装置(図示せず)が有する格納部に格納されていてもよい。
アバターが自動処理機能を実行するために利用可能な自動処理モデル等の情報としては、例えば、複数の異なる自動処理モデル等の情報が用意されていてもよい。これらの自動処理機能の実行に利用可能な異なる情報は、例えば、アバター格納部101や図示しない格納部等に格納されていてもよい。異なる自動処理機能の実行に利用可能な自動処理モデル等の情報は、商品購入や予約のように、実行される処理等が異なる情報であってもよく、実行される処理等が同じであって、自動処理に利用する情報等(例えば、検索に利用する検索サイトや、商品を購入する電子商取引サイト等)が異なる情報であってもよい。
アバターが自動処理機能を実行するために利用可能な複数の自動処理モデル等の情報には、異なる識別子等が対応付けられていてもよい。例えば、アバターが自動処理機能の実行に利用可能な自動処理モデルには、自動処理モデルを識別可能なコード等の自動処理モデル識別子が対応付けられていてもよい。
また、アバターが自動処理機能の実行に利用可能な情報には、自動処理の分野を示す情報(例えば、分野名や、分野を示す識別子等)や、自動処理に利用する情報(例えば、予約サイトや、電子商取引サイトを特定する識別子等)が対応付けられていてもよい。自動処理の分野とは、自動処理の処理内容の分類を示す情報や、自動処理で処理する処理対象の分類を示す情報や、これらの組み合わせ等である。自動処理の分野は、自動処理が用いられる分野であってもよい。例えば、自動処理が行う処理の処理内容が、予約であるか、購入であるかによって、自動処理が異なる分野であると判断してもよい。また、自動処理により購入される商品やサービスの分野が異なる場合、自動処理が異なる分野であると判断してもよい。
アバターが自動処理機能の実行に利用可能な複数の自動処理モデル等の情報には、上記の対話に利用可能な複数の対話モデル等の情報と同様に、各情報を利用する場合の利用料金を示す情報が対応付けられていてもよい。
各アバターの自動処理機能は、例えば、各アバターと対応付けられた上記のような自動処理機能に利用される自動処理モデル等の情報のうちの、1以上の情報を用いて実現される。アバターに対応付けられた情報とは、例えば、アバターに対応するアバター情報またはアバター識別子と対応付けられた情報である。アバターの自動処理機能に利用される自動処理モデル等の情報は、アバター情報が有する情報であってもよい。
一のユーザが利用する一のアバターの自動処理機能は、例えば、一のユーザのユーザ識別子と、一のアバターのアバター識別子と、の組に対応付けられた自動処理機能に利用される1以上の情報(例えば、1以上の自動処理モデル)等を用いて実現されるようにしてもよい。例えば、一のユーザが利用する一のアバターの自動処理機能は、後述するユーザ識別子格納部102に格納される一のユーザのユーザ識別子と、一のアバターのアバター識別子と、の組に対応付けられた自動処理機能に利用される1以上の情報(例えば、1以上の自動処理モデル)等を用いて実現されるようにしてもよい。
各アバターが自動処理機能に利用する自動処理モデル等の1以上の情報は、デフォルト等として予め決められていてもよい。また、各アバターが自動処理機能に利用する自動処理モデル等の1以上の情報は、アバターを利用するユーザが指定できるようにしてもよい。各アバターが自動処理機能に利用する自動処理モデル等の1以上の情報は、更新可能であってもよい。
対話に関する学習機能とは、例えば、対話に利用される情報の学習である。対話に利用される情報の学習とは、例えば、対話に利用される対話モデル等の情報の更新である。ここでの更新とは、情報の追加、変更、または削除等である。対話モデル等の更新は、例えば、対話機能に用いられる学習器の追加等であってもよい。
また、対話に利用される情報の学習は、機械学習等により対話に利用される対話モデルを取得する際に用いられる教師データの更新であってもよく、この教師データを用いて機械学習を行うことで取得した学習器や対話モデルの追加や、これらの学習器や対話モデルによる既存の学習器や対話モデルの置換であってもよい。
自動処理機能の追加機能とは、自動処理に利用される情報の学習である。自動処理に利用される情報の学習とは、例えば、自動処理に利用される自動処理モデル等の情報の更新である。ここでの更新とは、情報の追加、変更、または削除等である。また、自動処理に利用される処理に利用する情報(例えば、検索サイトや、電子商取引サイトを特定する識別子等)の更新であってもよい。
また、自動処理に利用される情報の学習は、機械学習等により自動処理に利用される自動処理モデルを取得する際に用いられる教師データの更新であってもよく、この教師データを用いて機械学習を行うことで取得した学習器や自動処理モデルの追加や、これらの学習器や自動処理モデルによる既存の学習器や自動処理モデルの置換であってもよい。
アバター情報には、対話機能を実行するために利用される対話モデル等の情報を機械学習により取得する際に利用する上記のような複数の教師データが対応付けられていてもよい。複数の教師データは、例えば、アバター格納部101に格納されていてもよい。
また、アバター情報には、自動処理機能を実行するために利用される自動処理モデル等の情報を機械学習により取得する際に利用する上記のような複数の教師データが対応付けられていてもよい。複数の教師データは、例えば、アバター格納部101に格納されていてもよい。
アバター格納部101に格納される異なるアバター情報は、通常、異なるアバターを出力するための情報である。異なるアバターとは、例えば、外観や動きが異なるアバターである。例えば、異なるアバター情報は、異なるアバターの画像を有していてもよく、異なるアバターの画像を出力可能な異なる3次元モデルのデータを有していてもよい。また、異なるアバターや、異なる音声を出力可能なアバターであってもよい。また、異なるアバターとは、異なる対話機能を有するアバターであってもよく、異なる自動処理機能を有するアバターであってもよい。異なる対話機能を有するアバターとは、例えば、対話機能に用いる対話モデル等の情報が異なるアバターである。異なる対話モデルとは、構成する情報(例えば、対話入力情報と、応答との複数の組や、対話の目的を示す情報と、応答の情報との複数の組)が異なる対話モデルであってもよく、対象とする分野や話題が異なる対話モデルであってもよく、対話モデルを取得するために用いられる教師データが異なる対話モデルであってもよい。また、異なる自動処理機能を有するアバターとは、例えば、自動処理機能を実行するために用いる自動処理モデル等の情報が異なるアバターである。異なる自動処理モデルとは、実行される自動処理が異なる自動処理モデルであってもよく、自動処理に利用される検索サイト等の情報が異なる自動処理モデルであってもよい。
アバター情報は、例えば、上記のような1以上の機能をコンピュータ等により実行するプログラムを有していてもよく、このようなプログラムと対応付けられていてもよい。ここでのプログラムは、いわゆるマクロ等も含むと考えてもよい。データ(例えば、対話モデルや自動処理モデル等)と対応付けられている。アバター情報は、例えば、アバター情報が示すアバターと対応付けられた1以上の対話機能を実行するためのプログラムや、1以上の自動処理機能を実行するためのプログラムや、これらのプログラムを特定する識別子等と対応付けられている。このプログラムは、例えば、上述したような、アバター情報と対応付けられた対話モデルや自動処理モデル等の対話機能や自動処理機能の実行に用いられる情報を用いて、上記のような1以上の機能を実行するプログラムである。
アバター格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、以下の他の格納部についても同様である。
ユーザ識別子格納部102には、ユーザ識別子が、このユーザ識別子が識別するユーザが利用するアバターと対応付けられて格納される。アバターと対応付けて格納されるということは、例えば、アバター識別子と対応付けられて格納されることである。ユーザ識別子は、蓄積される日時等の日時の情報と対応付けられて格納されてもよい。
ユーザ識別子格納部102には、さらに、アバターを一時的に利用するか否かを示す情報が、ユーザ識別子と対応付けられて格納されてもよい。例えば、ユーザ識別子格納部102には、さらに、アバターを一時的に利用するか否かを示す情報が、ユーザ識別子とアバターとに対応付けられて格納されてもよい。一時的に利用するか否かを示す情報は、例えば、いわゆるフラグの情報である。
また、ユーザ識別子格納部102には、ユーザ識別子と学習機能を有するアバターとが、学習機能により追加された対話の機能を実行するための情報と対応付けられて格納されてもよい。学習機能により追加された対話の機能を実行するための情報は、例えば、学習機能により追加されたアバターが対話機能に利用する対話モデル等の情報である。アバターが対話機能に利用する情報が対応付けて格納される、ということは、例えば、アバター識別子が、対話機能に利用する情報の識別子(例えば、1以上の対話モデルの識別子)と対応付けられて格納されることであってもよい。また、学習機能により追加された対話の機能を実行するための情報は、例えば、アバターが対話機能に利用する対話モデル等の情報を機械学習により取得するために用いられる教師データであってもよい。アバターが教師データと対応付けられて格納される、ということは、例えば、アバター識別子が、教師データの識別子と対応付けられて格納されることである。
また、ユーザ識別子格納部102には、ユーザ識別子と自動処理機能の追加機能を有するアバターとが、追加機能により追加された対話の機能を実行するための情報と対応付けられて格納されてもよい。追加機能により追加された対話の機能を実行するために利用される情報は、例えば、追加機能により追加されたアバターが自動処理機能に利用する自動処理モデル等の情報である。アバターが自動処理機能に利用する情報が対応付けて格納される、ということは、例えば、アバター識別子が、自動処理機能に利用する情報の識別子(例えば、1以上の自動処理モデルの識別子)と対応付けられて格納されることであってもよい。また、学習機能により追加された自動処理の機能を実行するために利用される情報は、例えば、アバターが自動処理機能に利用する自動処理モデル等の情報を機械学習により取得するために用いられる教師データであってもよい。アバターが教師データと対応付けられて格納される、ということは、例えば、アバター識別子が、教師データの識別子と対応付けられて格納されることである。
学習器格納部103には、1以上のユーザ属性値とアバターを識別するアバター識別子とを有する2以上の教師データに対して、機械学習の学習処理を行うことにより取得された学習器が格納される。ユーザの属性値とは、ユーザの年齢、性別、嗜好等を示す値である。ここでの嗜好は、例えば、ユーザの好きなキャラクタや、動物等の情報である。ここでの学習器は、例えば、ユーザに適合したアバターを取得するために用いられる学習器である。
学習器格納部103に格納される学習器は、例えば、複数のユーザについてそれぞれ取得した、1以上のユーザ属性値と、ユーザが利用するアバターのアバター識別子との組を教師データとして用いて、機械学習を行うことにより生成された学習器である。機械学習としては、例えば、ニューラルネットワークの学習や、SVM、SVR、深層学習、決定木、ランダムフォレスト等の学習が利用可能である。
なお、学習器格納部103に学習器が格納されているとは、例えば、学習器そのもの(例えば、入力に対して値を出力する関数や学習結果のモデル等)が記憶されていることであってもよく、学習器を構成するために必要なパラメータ等の情報が記憶されていることであってもよい。後者の場合であっても、そのパラメータ等の情報を用いて学習器を構成できるため、実質的に学習器が図示しない格納部に格納されていると考えることができるからである。
指示受信部111は、アバター格納部101に格納されている2以上のアバターの一つを選択する選択指示を、端末装置2から受信する。指示受信部111は、例えば、端末装置2に対応するユーザ識別子(例えば、端末装置2を利用するユーザのユーザ識別子)と対応付けられた選択指示を受信する。選択指示は、例えば、結果的に一のアバターを選択可能な指示であればよい。例えば、選択指示は、端末装置2に対応するユーザが選択する一のアバターのアバター識別子を有していてもよい。また、選択指示は、端末装置2のユーザについての1以上のユーザ属性値を有していてもよい。この1以上のユーザ属性値は、アバターの選択に利用可能なユーザ属性値であり、例えば、学習器格納部103に格納される学習器に対して入力として与えることが可能な情報である。ここでの1以上のユーザ属性値は、例えば、学習器格納部103に格納される学習器の取得に用いられる教師データが有する1以上のユーザ属性値と同じ属性の1以上のユーザ属性値である。なお、ユーザが利用するアバターが決まっており、例えば、ユーザ識別子格納部102等に、ユーザ識別子と、このユーザ識別子が示すユーザが利用するアバターのアバター識別子とが、対応付けられて格納されている場合、選択指示は、ユーザ識別子を少なくとも有するようにしてもよい。
また、選択指示は、アバターを一時的に利用するか否かを示す情報を有していてもよい。
指示受信部111は、通常、通常、無線または有線の通信手段で実現される。
蓄積部112は、例えば、指示受信部111が受信した選択指示に対応付けられたユーザ識別子を、選択指示に対応するアバターと対応付けてユーザ識別子格納部102に蓄積する。選択指示に対応するアバターとは、選択指示に応じて後述するアバター取得部113が取得するアバターである。ユーザ識別子を、アバターと対応付けて蓄積する、ということは、例えば、アバター識別子と対応付けて蓄積することである。
アバター取得部113は、選択指示に対応するアバターのアバター情報をアバター格納部101から取得する。例えば、アバター取得部113は、選択指示が有するアバター識別子と対応付けられたアバター情報を、アバター格納部101から取得してもよい。アバター取得部113は、選択指示が有するユーザ識別子と対応付けられてユーザ識別子格納部102に格納されたアバター識別子と対応付けられたアバター情報をアバター格納部101から取得してもよい。アバター取得部113は、選択指示が有するユーザ識別子と対応付けられたアバター識別子であって、一時利用でない情報と対応付けてユーザ識別子格納部102に格納されたアバター識別子と対応付けられたアバター情報をアバター格納部101から取得してもよい。
また、アバター取得部113は、例えば、選択指示が有する1以上のユーザ属性値を用いて、取得するアバターを決定し、アバター格納部101からアバターのアバター情報を取得してもよい。例えば、アバター取得部113は、選択指示が有する1以上のユーザ属性値と、学習器格納部103に格納された学習器とを用いて、機械学習の予測処理を行い、アバター識別子を取得し、アバター識別子で識別されるアバターのアバター情報を、アバター格納部101から取得してもよい。例えば、アバター取得部113は、ユーザ属性値を、学習器に入力することにより得られるアバター識別子により識別されるアバター情報を取得してもよい。
また、アバター格納部101に、複数のアバター情報が、それぞれ、ユーザ属性値の1または2以上の組み合わせと対応付けて格納されているようにし、アバター取得部113は、選択指示が有するユーザ属性値の1または2以上の組み合わせと同じ属性値と対応付けられたアバター情報を、アバター格納部101から取得するようにしてもよい。
なお、アバター情報の取得に学習器を利用しない場合、学習器格納部103は省略してもよい。
アバター送信部114は、アバター取得部113が取得したアバター情報を、選択指示を送信した端末装置2に送信する。アバター送信部114は、通常、無線または有線の通信手段により実現される。
入力情報受信部115は、端末装置2から送信される情報を受信する。入力情報受信部115は、例えば、一のアバターとの対話のための対話入力情報を端末装置2から受信する。例えば、入力情報受信部115は、端末装置2を利用するユーザのユーザ識別子と対応付けられた対話入力情報を受信する。入力情報受信部115が受信する対話入力情報は、対話の対象となるアバターのアバター識別子と対応付けられていてもよい。ただし、入力情報受信部115は、対話機能を有する一のアバターについてのみ対話入力情報を受信するようにしてもよい。
また、入力情報受信部115は、例えば、一のアバターに対する要求を端末装置2から受信する。例えば、入力情報受信部115は、端末装置2を利用するユーザのユーザ識別子と対応付けられた要求を受信する。入力情報受信部115が受信する要求は、要求の対象となるアバターのアバター識別子と対応付けられていてもよい。ただし、入力情報受信部115は、自動処理機能を有するアバターについてのみ要求を受信するようにしてもよい。
なお、入力情報受信部115が、受信する情報を、対話入力情報であるか、要求であるかを、要求処理部120や応答情報取得部121がどのように判断してもよい。例えば、ユーザが入力する対話入力情報と、要求とを、それぞれの情報であることが判断可能な情報としてもよい。例えば、要求にのみ、要求であることを判断可能な1以上の特定の語句(例えば、「購入して」、「予約して」等の語句)を含めるようにし、この語句を含む場合に、入力情報受信部115が、入力された情報が要求である判断し、含まない場合に対応入力情報であると判断してもよい。また、対応入力情報の先頭に、特定の呼びかけの言葉(例えば、「質問」、「教えて」等の言葉が必要であるとするルールを設定し、このルールに沿った情報を対応入力情報と判断してもよい。また、対話入力情報を入力する際に、端末装置2に対して特定の操作や入力が必要となるようにし、特定の操作や入力がある場合に、端末装置2が、対話入力情報と対応付けて、対話入力情報であることを示すフラグ等の情報を送信し、このフラグ等の情報がある場合に、入力される情報が対話入力情報であると判断してもよい。なお、要求を入力する際に、上記と同様に、特定の操作や入力が必要となるようにし、この操作や入力に応じて、要求であることを示すフラグ等の情報を、端末装置2が、要求と対応付けて送信するようにしてもよい。
また、入力情報受信部115が、受信した情報に対して、言語処理等を行うことにより、何らかの処理の実行を要求しているか否かを判断し、要求している場合に、要求であると判断し、要求でない場合、対話入力情報と判断するようにしてもよい。また、機械学習を用いて、受信した情報が対話入力情報であるか、要求であるかを判断してもよい。例えば、対話入力情報である文と、要求である文とを教師データとして学習することで取得した学習器を、格納部(図示せず)に予め格納しておくようにし、この学習器を用いて、受信した情報が対話入力情報であるか要求であるかを判別してもよい。
なお、入力情報受信部115が、受信する情報を対話入力情報であるか要求情報であるかを判断する代わりに、要求処理部120が、入力情報受信部115が受信する情報を、上記と同様の処理を行って、要求情報であるか判断するようにし、応答情報取得部121が、入力情報受信部115が受信する情報を、上記と同様の処理を行って、対話入力情報であるか判断するようにしてもよい。
入力情報受信部115が受信する要求や対話入力情報等の情報は、文字列の情報であってもよく、音声情報であってもよい。音声情報である場合、入力情報受信部115は、音声情報に対応する文字列の情報を取得することが好ましい。例えば、入力情報受信部115は、音声情報について音声認識処理等を行うことにより、音声情報に対応する文字列の情報を取得することが好ましい。音声認識処理を行うために用いられる情報は、アバター提供装置1が有していてもよく、アバター提供装置1がアクセス可能な他のサーバ装置(図示せず)等が有していてもよい。また、入力情報受信部115は、受信した音声情報を、音声認識等を行って音声情報に対応する文字列の情報を取得する処理を行うサーバ装置(図示せず)等に送信して、文字列を取得する処理を実行させ、これにより取得された文字列を受信することで、音声情報に対応する文字列の情報を取得してもよい。
要求処理部120は、自動処理機能を用いて、要求に対応する自動処理を実行する。要求処理部120は、例えば、入力情報受信部115が、一のアバターに対する要求(例えば、アバター識別子と対応付けられた要求)を受信した場合に、この一のアバター(例えば、要求に対応付けられたアバター識別子により識別されるアバター)の自動処理機能を用いて要求に対応する自動処理を実行する。例えば、一のアバターに対する要求が受信された場合、要求処理部120は、このアバターと対応付けられてアバター格納部101等に格納されている自動処理モデルを用いて、受信した要求に対応する自動処理を定義する情報を取得し、取得した情報により定義される自動処理を実行する。要求処理部120は、例えば、要求を送信した端末装置2のユーザのユーザ識別子と、要求に対応付けられたアバターとに対応付けられてユーザ識別子格納部102に格納された自動処理モデルを用いて、受信した要求に対応する自動処理を定義する情報を取得してもよい。例えば、要求処理部120は、アバターと対応付けられた自動処理モデルにおいて、受信した要求に対応する要求と対応付けられた自動処理を定義する情報を、検索により取得する。例えば、取得する自動処理を定義する情報が、自動処理を実行するためのプログラムの実行ファイル名である場合、要求処理部120は、この実行ファイル名が示す実行ファイルを実行することで、要求に応じた自動処理を行う。実行する自動処理が、処理が終了したことを示す情報や、処理結果等が取得される自動処理である場合、要求処理部120は、これらの情報を取得してもよい。要求処理部120は、要求に含まれる1以上の変数を用いて、要求に対応する自動処理を実行してもよい。例えば、要求に対応する自動処理として、要求に含まれる1以上のキーワードを用いた検索処理を含む自動処理を実行してもよい。なお、要求処理部120は、自動処理モデルを用いずに、要求に対応する自動処理を実行してもよい。
応答情報取得部121は、対話機能を用いて、対話入力情報に応じた応答情報を取得する。応答情報取得部121は、例えば、入力情報受信部115が、一のアバターに対する対話入力情報(例えば、アバター識別子と対応付けられた対話入力情報)を受信した場合に、この一のアバター(例えば、対話入力情報に対応付けられたアバター識別子により識別されるアバター)の対話機能を用いて対話入力情報に対応する応答情報を取得する。例えば、一のアバターに対する対話入力情報が受信された場合、応答情報取得部121は、このアバターと対応付けられてアバター格納部101等に格納されている対話モデルを用いて、受信した対話入力情報に対応する応答情報を取得する。
応答情報取得部121は、例えば、対話入力情報を送信した端末装置2のユーザのユーザ識別子と、この対話入力情報に対応付けられたアバターとに対応付けられてユーザ識別子格納部102に格納された対話モデルを用いて、受信した対話入力情報に対応する応答情報を取得する。例えば、応答情報取得部121は、アバターと対応付けられた対話モデルにおいて、受信した対話入力情報に対応する対話入力情報と対応付けられた応答情報を検索により取得する。応答情報取得部121は、対話入力情報に含まれる1以上の変数を用いて、応答情報を取得してもよい。例えば、対話入力情報に含まれる1以上の変数で、対話入力情報に対応する応答情報内の予め決められた変数を示す文字列等を置き換えることで、変数を含む応答情報を取得してもよい。なお、応答情報取得部121は、対話モデルを用いずに、対話入力情報に対応する応答情報を取得してもよい。
応答情報送信部122は、応答情報取得部121が取得した応答情報を端末装置2に送信する。応答情報送信部122は、例えば、対話入力情報に応じて応答情報取得部121が取得した応答情報を、対話入力情報を送信した端末装置2に送信する。応答情報送信部122は、例えば、無線または有線の通信手段等により実現される。
評価取得部123は、応答情報取得部121が取得する応答情報に対する評価結果を取得する。評価結果とは、例えば、対話入力情報に対して適切な応答情報が取得できたか否かの評価を示す情報や、対話入力情報に対して応答情報が取得できたか否かの情報である。適切な応答情報が取得できなかったことを示す評価情報は、例えば、対話入力情報に対応する応答が破綻していることを示す評価情報である。評価結果は、例えば、応答情報に対する評価が高いか否かを表す2値の値や、評価を3以上の多段階で表した値である。例えば、評価取得部123は、応答情報取得部121が、対話入力情報について応答情報を取得した場合に、評価が高いことを示す評価情報を取得し、応答情報が取得できなかった場合や、対話入力情報に対応する適切な応答情報が取得できなかったことを示す応答情報を取得した場合に、評価が低いことを示す評価情報を取得してもよい。また、評価取得部123は、対話入力情報について取得した応答情報の数に応じた評価情報を取得してもよい。例えば、評価取得部123は、対話入力情報に応じて取得される応答情報の数の増加に応じて、連続的または段階的に評価が下がる評価情報を取得してもよい。
また、評価取得部123は、応答情報送信部122が送信する応答情報に対して入力情報受信部115が受信する対話入力情報に応じて、評価情報を取得してもよい。例えば、応答情報送信部122が送信した一の応答情報について受信した対話入力情報が、一の応答情報が適切な応答情報出なかったことを示す情報である場合に、評価取得部123は、評価が低いことを示す評価情報を取得してもよい。
なお、評価取得部123は、図示しない受信部が端末装置2から受信する応答情報に対する評価を示すアンケート回答情報を用いて、評価情報を取得してもよい。例えば、応答情報に対応するアンケート回答情報とは、例えば、応答情報を送信する場合に、応答情報とともに応答情報送信部122が送信する情報であって、送信する応答情報の評価を尋ねる情報であるアンケート情報に対する回答の情報である。アンケート回答情報は、アンケート情報に対応する応答情報が適切であるか否かを示す情報であってもよく、応答情報を3以上の段階で評価した情報であってもよい。アンケート情報は、このような回答を得るためのアンケートの情報である。評価取得部123は、一のアンケート回答情報が有する評価を評価情報として取得してもよく、同様の対話入力情報に対応した複数のアンケート回答情報がそれぞれ示す評価を統計処理した値を評価情報として取得してもよい。
評価取得部123は、取得した評価情報を、例えば、対応する対話入力情報や、対話入力情報のサンプルと対応付けて格納部(図示せず)や、アバター格納部101等に蓄積したり、予め指定された1以上の送信先等に送信したりしてもよい。
学習処理部124は、学習機能を有する一のアバターについて、予め決められた条件を満たした場合に、このアバターの学習機能に応じて対話に関する学習処理を行う。学習処理部124は、例えば、学習機能を有する一のアバターであって、一のユーザが利用しているアバターについて、予め決められた条件を満たした場合に、このアバターの学習機能に応じて対話に関する学習処理を行う。一のユーザが利用しているアバターとは、例えば、一のユーザが対話しているアバターである。学習機能に応じて学習処理を行う、ということは、例えば、学習機能を実行して学習処理を行うことと考えてもよい。
予め決められた条件とは、例えば、評価取得部123が一のアバターについて取得した評価結果が評価条件を満たすほど低いことである。評価条件は、例えば、評価結果が示す評価が高いか低いかを評価するための条件である。例えば、評価結果が、評価を数値で表す情報である場合、評価条件は、例えば、閾値よりも低い(評価結果の数値が高いほど評価が高い場合)という条件、または閾値よりも高い(評価結果の数値が低いほど評価が高い場合)という条件である。評価条件は、評価が低いことを示す1以上の評価結果の値のいずれかと一致するという条件と考えてもよい。なお、評価条件は、これらの評価結果の値から、評価が高いか否かを判断可能な情報であれば、上記の情報に限定されない。
ここでの学習処理は、一のアバターが対話に利用する対話モデル等の情報の、追加、削除または更新等を行うことであってもよく、一のアバターが一のユーザとの対話に利用する対話モデル等の情報の、追加、削除または変更等を行うことであってもよい。例えば、ユーザ識別子格納部102にアバター識別子とユーザ識別子とに対応付けて格納される対話モデルの追加、削除または変更等を行うことであってもよい。また、ここでの学習処理は、他のアバターが有する対話機能のための教師データの全部または一部を取得することであってもよい。また、ここでの学習処理は、機械学習等を利用して、対話機能に利用する対話モデル等の追加、削除または変更等を行うことであってもよい。
学習処理部124は、例えば、予め決められた条件を満たした場合に、この条件を満たすか否かの判断対象となった対話入力情報や、一のアバターが対話機能を実現するために利用する対話モデル等を利用して学習処理を行ってもよい。例えば、学習処理部124は、判断対象となった対話入力情報について取得した応答情報の評価が低かったと判断して、この対話入力情報の一部またはすべてを用いて、この対話入力情報に対応する応答情報として評価の高い応答情報が得られるような学習を行ってもよい。例えば、学習処理部124は、判断対象となった対話入力情報について取得した応答情報の評価が低かったと判断して、対話機能に利用している1以上の対話モデルを用いて、この1以上の対話モデル以外の対話モデルであって、評価の高い応答情報が得られる対話モデルを取得するための学習を行ってもよい。
学習処理部124は、例えば、一のアバター以外の、他のアバターが有する対話機能のための教師データの全部または一部を取得し、取得した教師データを用いて、一のアバターについて対話に関する学習処理を行う。対話機能のための教師データとは、例えば、対話機能に用いられる対話モデルを取得したり、更新したりするために用いられる教師データである。ここでの教師データは、例えば、教師データとして用いられる複数のデータである。ここでの学習処理は、取得した教師データ等を用いた機械学習である。
例えば、学習処理部124は、アバター格納部101等に格納されている他のアバターが対話機能のために利用する教師データから、予め決められた条件を満たすと判断された応答情報に対応する対話入力情報に関連する教師データの全部または一部を取得し、取得した教師データを用いて機械学習を行って新たな対話モデルを取得したり、取得した教師データと、既に取得済みである教師データとを用いて機械学習を行って、対話に用いる対話モデルを更新したりしてもよい。対話入力情報に関連する教師データとは、例えば、条件を満たすと判断された応答情報に対応する対話入力情報と同じ分野や話題の対話入力情報と、これに対する応答情報とを有するデータである。例えば、同じ分野や話題、目的等の対話入力情報は、公知の話題抽出の技術等を利用して検出可能である。対話入力情報に関連する教師データは、教師データと対応付けられた対話の分野や話題等を示す属性値が、条件を満たすと判断された応答情報に対応する対話入力情報から取得される分野や話題等と一致または類似する教師データであってもよい。この場合、例えば、教師データには、このような属性値を対応付けてアバター格納部101等に格納しておくことが好ましい。
学習処理部124は、例えば、一のアバター以外の他のアバターが有する対話機能のための1または2以上の対話モデルの全部または一部を取得し、取得した対話モデルを用いて、一のアバターについて対話に関する学習処理を行う。ここでの対話モデルの取得は、対話モデルの識別子や、対話モデルへのリンク等を取得することであってもよい。対話機能のための対話モデルとは、対話機能を有するアバターが対話に利用する対話モデルである。対話モデルの一部とは、2以上の対話モデルのうちの1以上であってもよく、一の対話モデルを構成するデータのうちの一部(例えば、対話モデルが有する対話入力情報のサンプルと応答情報との複数の組の1以上)であってもよい。ここでの学習処理は、一のアバターが対話に利用する対話モデル、または、一のアバターが一のユーザとの対話に利用する対話モデルを追加することである。ここでの対話モデルの追加は、取得した対話モデルを新たに追加する対話モデルとして一のアバターや、一のアバターと一のユーザとの組に対応付けたり、対応付けて追記したりすることであってもよく、取得した対話モデルと、一のアバターが既に利用している対話モデルとをマージすることであってもよい。
例えば、学習処理部124は、アバター格納部101等に格納されている他のアバターが対話機能のために利用する対話モデルから、予め決められた条件を満たすと判断された応答情報に対応する対話入力情報に関連する対話モデルの全部または一部を取得し、取得した対話モデルを一のアバターが利用する対話モデルとして追加する。対話入力情報に関連する対話モデルとは、例えば、条件を満たすと判断された応答情報に対応する対話入力情報と同じ分野や話題についての対話モデルであり、例えば、サンプルとなる対話入力情報の分野や話題が、条件を満たすと判断された応答情報に対応する対話入力情報と同じである対話モデルである。例えば、同じ分野や話題の対話入力情報は、公知の話題抽出の技術等を利用して検出可能である。対話入力情報に関連する対話モデルは、対話モデルに対応付けられた対話の分野や話題等を示す属性値が、条件を満たすと判断された応答情報に対応する対話入力情報から取得される分野や話題等と一致または類似する対話モデル等であってもよい。この場合、例えば、対話モデル等には、このような属性値を対応付けてアバター格納部101等に格納しておくことが好ましい。
追加処理部125は、追加機能を有する一のアバターについて予め決められた条件を満たした場合に、アバターの追加機能に応じて、自動処理に関する追加処理を行う。予め決められた条件とは、例えば、要求に応じて実行される自動処理に関する条件である。予め決められた条件は、例えば、要求処理部120が、入力情報受信部115が受信した要求に対応する自動処理を実行できないことである。自動処理を実行できないことは、要求に対応する自動処理を定義する情報を有する自動処理モデルが検出できないことと考えてもよい。また、予め決められた条件は、自動処理の結果に対するユーザの評価結果が、上記の対話に対する評価結果の場合と同様に、評価条件を満たすほど低いことであってもよい。評価結果は、例えば、自動処理の結果を示す情報とともに、上記と同様の、自動処理に対するアンケート情報を、要求を送信した端末装置2に送信して、これに応じてこの端末装置2から送信されるアンケート結果情報から取得するようにしてもよい。アバターの追加機能に応じて、自動処理に関する追加処理を行う、ということは、例えば、追加機能を実行することで、自動処理の追加処理を行うことである。
追加処理部125が行う自動処理に関する追加処理とは、例えば、一のアバターが実行可能な自動処理を追加することである。一のアバターが実行可能な自動処理とは、例えば、一のユーザについて、一のアバターが実行可能な自動処理と考えてもよい。かかることは以下においても同様である。また、追加処理部125が行う自動処理に関する追加処理とは、例えば、一のアバターが自動処理を実行する際に利用する自動処理モデル等の情報を追加することである。自動処理モデルの追加は、例えば、既にアバターが利用している自動処理モデルに加えて、新たな自動処理モデルを追加することであってもよく、既にアバターが利用している自動処理モデルのデータと、新たな自動処理モデルのデータとを重複が生じないようマージすることであってもよい。追加処理部125は、他のアバターが自動処理に利用する1または2以上の自動処理モデル等の情報を追加してもよく、格納部(図示せず)に格納されている1または2以上の自動処理モデル等の情報を追加してもよい。予め決められた条件が、要求に対応する自動処理が実行できない、という条件である場合、追加処理部125は、例えば、要求に対応する自動処理を実行可能とする自動処理モデルを検出して追加する。例えば、追加処理部125は、入力情報受信部115が受信した要求に対して、意図や目的が同じであるサンプルとなる要求、または意図や目的が同じであり、要求と同じ変数を有するサンプルとなる要求を有する自動処理モデルを追加する。また、受信した要求と、同じまたは類似する分野等と対応付けられた自動処理モデル等の情報を、追加してもよい。要求や、自動処理モデルが有するサンプルとなる要求等から、要求の分野等の情報を取得する技術は、公知であるため、詳細な説明を省略する。また、例えば、この場合、上述した対話モデルの場合と同様に、自動処理モデル等の情報に、予め、分野等の情報を対応付けておくようにして、追加処理部125が、入力情報受信部115が受信した要求から取得した分野等と同じまたは類似する分野等と対応付けられた自動処理モデルを検出して追加してもよい。
課金部126は、選択指示に対応するアバターの利用に対して、選択指示に対応するユーザ識別子で識別されるユーザに課金処理を行う。課金処理は、ユーザのクレジットカードの情報(例えば、クレジットカード番号)や、電子マネーの情報(例えば、アカウント)等の、ユーザに対応付けられた決済に利用可能な情報を用いて、ユーザからアバターの利用に対する料金を徴収する処理であってもよく、このような課金を行う指示を、クレジットカード会社や、電子マネー決済を行う会社や、これらの会社が運営するサーバ装置等に対して出力することであってもよく、アバターの利用に対する料金の請求書等を、ユーザに対して発行する処理であってもよい。課金処理は、結果的にアバターの利用に対する料金をユーザに課金できる処理であれば、上記のような処理に限定されない。課金に必要となるユーザのクレジットカードや電子マネーの情報は、例えば、格納部(図示せず)にユーザ識別子と対応付けて格納されているようにしてもよい。
課金部126は、例えば、選択指示に対応するアバターと対応付けられた1以上の属性値に応じて、選択指示に対応付けられたユーザに対して、異なる金額の課金処理を行う。アバターの属性値とは、例えば、アバターが利用可能な機能、アバターが利用可能な機能数、アバターが機能を実行するために利用する対話モデル、利用する対話モデル数、利用する対話モデルのデータ量、アバターが機能を実行するために利用する自動処理モデル、利用する自動処理モデル数、利用する自動処理モデルのデータ量、アバターが対話モデル等の取得に利用する教師データのデータ量等である。ここでのデータ量は、データ数であってもよく、データの容量(例えば、ビット数等)であってもよい。
異なる金額は、例えば、属性値に応じて変動する(言い換えれば、属性値に応じて決定される)金額である。例えば、課金部126は、アバターの属性値であるアバターが利用する機能数や、対話モデル数や、自動処理モデル数に比例して増加する金額(または対応して連続的、または段階的に増加する金額)の課金処理を行う。また、例えば、課金部126は、アバターの属性値であるアバターが利用する対話モデルや、自動処理モデル、教師モデル等のデータ量に比例して増加する金額(または対応して連続的または段階的に増加する金額)の課金処理を行う。また、課金部126は、例えば、アバターが利用する対話モデルや、自動処理モデルや、教師データに対応付けられた金額を課金する処理を行ってもよい。
課金部126は、アバターを一時的に利用するか否かを示す情報の値に応じて、ユーザに対して、異なる金額の課金処理を行うようにしてもよい。例えば、指示受信部111が、選択指示等を受信する際に、選択指示が示すアバターの利用が、一時的に利用するか否かを示す情報等を受け付けるようにし、この情報に応じて、課金部126が、ユーザによるアバターの利用が、一時的な利用か否かを判断するようにしてもよい。例えば、上述したように、一時的に利用するか否かを示す情報(例えば、フラグの情報)が、ユーザ識別子と選択指示が有するアバター識別子とに対応付けられてユーザ識別子格納部102に格納されるようにし、この格納された一時的に利用するか否かを示す情報に応じて、課金部126は、課金の対象となる一のアバターの、一のユーザによる利用が一時的な利用か否かを判断してもよい。この場合の、ユーザ識別子格納部102に格納されるユーザがアバターを一時的に利用するか否かを示す情報は、上記のように選択指示を受信する際に受信した情報であってもよく、ユーザがアバターを利用するための契約時に蓄積される情報であってもよい。なお、アバター提供装置1が、どのように、一のアバターの、一のユーザによる利用が一時的に利用するか否かを管理するかは上記に限定されない。
課金部126は、例えば、課金する金額を決定する際に利用するアバターの属性値に予め対応付けられた単価が、一時的に利用する場合と、一時的でない場合とで異なる金額に設定されているようにすることで、一時的に利用する場合と、一時的な利用でない場合とで、異なる金額の課金を行うようにしてもよく、一旦、アバターの利用について課金する金額を決定した後、この金額を、一時的な利用であるか否かに応じて、予め決められた値を加算したり、乗算したりして補正することにより、一時的な利用であるか否かに応じて異なる金額を課金するようにしてもよい。ただし、どのように異なる金額を決定するかは、上記に限定されない。
課金部126は、例えば、指示受信部111が選択指示を受信した場合に、この選択指示に対応するアバターの利用についての課金処理を、選択指示に対応するユーザに対して行うようにしてもよい。選択指示に対応するユーザは、例えば、選択指示を送信した端末装置2のユーザである。また、課金部126は、ユーザがアバターの利用を終了した場合に、このアバターの利用についての課金処理を行ってもよい。また、課金部126は、ユーザ識別子格納部102に、アバター識別子と対応付けられて格納されているユーザ識別子等の情報を用いて、予め決められた時期(例えば、毎月の月末や、毎月の20日、毎年の、情報が蓄積された日と同じ日付等)に、課金処理等を行ってもよい。なお、課金部126が課金処理を行うタイミング等は上記に限定されない。
端末装置2は、例えば、ユーザが利用する装置である。端末装置2は、例えば、コンピュータや、いわゆるスマートフォンや、携帯電話、タブレット型端末、ウェアラブル端末等により実現可能である。
端末受信部201は、アバター提供装置1から送信される情報を受信する。例えば、端末受信部201は、アバター提供装置1から送信されるアバター情報を受信する。また、例えば、端末受信部201は、アバター提供装置1から送信される応答情報を受信する。また、例えば、端末受信部201は、アバター提供装置1から送信される自動処理の結果を示す情報を受信する。また、例えば、端末受信部201は、アバター提供装置1から送信される要求に対応する自動処理を実行できないことを示す情報を受信する。なお、要求に対応する自動処理を実行できないことを示す情報は、自動処理の結果を示す情報の一態様と考えてもよく、考えなくてもよい。端末受信部201が受信する応答情報や、自動処理の結果を示す情報は、例えば、アバター識別子と対応付けられた情報である。なお、端末受信部201が受信する情報は、上記のような情報に限定されない。例えば、応答情報や自動処理の結果を示す情報とともに、これらについてのアンケート情報を受信してもよい。
端末受信部201は、例えば、無線または有線の通信手段により実現される。
端末受信部201は、例えば、無線または有線の通信手段により実現される。
端末出力部202は、端末受信部201が受信する情報を用いて出力を行う。例えば、端末出力部202は、端末受信部201が受信するアバター情報を用いて、アバターを出力する。例えば、端末出力部202は、受信したアバター情報が3次元データや、ベクターデータ等である場合、これらをレンダリングして取得した静止画像や動画像等の画像を表示してもよい。また、端末出力部202は、例えば、端末受信部201が受信する応答情報や、自動処理の結果を示す情報等を出力する。また、端末出力部202は、端末受信部201が受信するアンケート情報を出力してもよい。例えば、端末出力部202は、端末受信部201が受信した応答情報や自動処理の結果を示す情報等を、アバターの出力として出力してもよい。アバターの出力として出力する、ということは、アバターが出力しているようにみえるよう情報を出力することであり、アバターが音声で出力することであってもよく、アバターが、いわゆる吹き出しやダイアログボックス等を用いて表示することであってもよい。例えば、端末受信部201が受信した応答情報や自動処理の結果を示す情報等が音声情報である場合、この音声情報を用いた音声を、アバターの出力として出力してもよく、端末受信部201が受信した応答情報や自動処理の結果を示す情報等が文字列の情報である場合、この文字列の情報を音声に変換して、変換した音声をアバターの出力として出力してもよい。また、端末受信部201が受信した応答情報や自動処理の結果を示す情報等が文字列の情報である場合、この文字列を含む吹き出しや、ダイアログボックスを、アバターの出力として、アバターの画像等と適宜対応付けて出力してもよい。
なお、端末出力部202による出力は、端末受信部201が受信する情報を用いた出力に限定されない。例えば、端末出力部202は、格納部(図示せず)に予め格納されているアバターの選択指示を出力するための操作等を受け付ける操作画面の情報等を用いて、このような操作画面等を表示してもよい。また、端末出力部202による出力は、上記のような出力に限定されない。
ここでの出力は、通常は、モニタや、プロジェクタ等の表示デバイスを用いた表示であるが、音声出力であってもよく、表示と音声出力との組み合わせであってもよい。端末出力部202は、例えば、表示デバイスのドライバーや、表示デバイスと、そのドライバーとの組み合わせにより実現可能である。
端末受付部203は、ユーザからの操作や入力を受け付ける。例えば、端末受付部203は、ユーザからアバターを選択する操作を受け付ける。ここでのアバターを選択する操作は、アバターの選択に利用されるユーザの属性値の受け付けを含むと考えてもよい。なお、ユーザの属性値は、格納部(図示せず)に予め格納されているユーザ属性値を読み出してもよい。また、端末受付部203は、例えば、ユーザから、アバターに対する要求の入力を受け付けてもよい。また、端末受付部203は、例えば、ユーザから、アバターに対する対話入力情報の入力を受け付ける。ここでのアバターは、例えば、端末出力部202が出力しているアバターである。例えば、端末受付部203は、ユーザからキーボードやタッチパネル等の入力デバイス(図示せず)を介して、文字列による入力を受け付ける。また、例えば、端末受付部203は、マイクロフォン等の入力デバイス(図示せず)等を介して音声により入力を受け付けてもよい。なお、端末受付部203が受け付ける入力は、上記のような入力に限定されない。例えば、端末受付部203は、端末出力部202が出力するアンケート情報に対するアンケート回答情報をユーザから受け付けてもよい。
端末受付部203は、例えば、入力デバイスのドライバーや、入力デバイスとそのドライバーとの組み合わせにより実現可能である。
端末受付部203は、例えば、入力デバイスのドライバーや、入力デバイスとそのドライバーとの組み合わせにより実現可能である。
端末送信部204は、端末受付部203が受け付けた入力に応じた情報をアバター提供装置1に送信する。例えば、端末送信部204は、入力に応じた情報に、格納部(図示せず)に予め格納されている自装置のユーザのユーザ識別子等を対応付けてアバター提供装置1に送信してもよい。また、端末送信部204は、例えば、一のアバターに関して端末受付部203が受け付けた入力に応じた情報を、この一のアバターのアバター識別子と対応付けてアバター提供装置1に送信してもよい。
例えば、端末送信部204は、端末受付部203が受け付けたアバターを選択する操作に応じた選択指示を、アバター提供装置1に送信する。この選択指示は、ユーザの属性値を有する情報であってもよい。また、端末送信部204は、例えば、端末受付部203が受け付けた要求を、アバター提供装置1に送信する。また、端末送信部204は、例えば、端末受付部203が受け付けた対話入力情報を、アバター提供装置1に送信する。また、端末送信部204は、端末受付部203が受け付けたアンケート回答情報を、アバター提供装置1に送信してもよい。ここで、端末送信部204が受け付ける要求または対話入力情報が音声情報である場合、端末送信部204は、受け付けたこれらの情報を、音声情報のままアバター提供装置1に送信してもよく、音声情報に対応する文字列を取得し、取得した文字列をアバター提供装置1に送信してもよい。
例えば、端末送信部204は、音声情報について音声認識処理等を行うことにより、音声情報に対応する文字列の情報を取得する。音声認識処理を行うために用いられる情報は、端末装置2が有していてもよく、端末装置2がアクセス可能な他のサーバ装置(図示せず)等が有していてもよい。また、端末送信部204は、受信した音声情報を、音声認識等を行って音声情報に対応する文字列の情報を取得する処理を行うサーバ装置(図示せず)等に送信して、文字列を取得する処理を実行させ、これにより取得された文字列を受信することで、音声情報に対応する文字列の情報を取得してもよい。
端末送信部204は、例えば、無線または有線の通信手段により実現可能である。
端末送信部204は、例えば、無線または有線の通信手段により実現可能である。
次に、アバター利用システム1000の、アバター提供装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)指示受信部111は、選択指示を受信したか判断する。ここでは一例として、指示受信部111が受信する選択指示は、ユーザ識別子を有する選択指示であるとする。また、ここでは一例として、新規にアバターを利用する場合の選択指示は、1以上のユーザ属性値と、一時利用であるか否かを示す情報を有するものであるとする。なお、新規にアバターを利用する場合の選択指示は、新規の利用であることを示す情報を有していてもよい。選択指示を受信した場合、ステップS102に進み、受信していない場合、ステップS107に進む。
(ステップS102)アバター取得部113は、ステップS101で受信した選択指示が、1以上のユーザ属性値を有するか判断する。有している場合、ステップS103に進み、有していない場合、ステップS105に進む。なお、ステップS101で受信した選択指示が、新規の利用であることを示す情報を有するか判断し、有する場合に、ステップS103に進み、有さない場合、ステップS105に進むようにしてもよい。
(ステップS103)アバター取得部113は、ステップS101で受信した選択指示が有する1または2以上のユーザ属性値を用いてアバター格納部101からアバター情報を取得する。例えば、選択指示と同じ1または2以上のユーザ属性値と対応付けられたアバター情報をアバター格納部101から取得してもよく、選択指示が有する1または2以上のユーザ属性値を、学習器格納部103に格納された学習器に入力して、その出力として得られるアバター識別子が識別するアバター情報を取得してもよい。
(ステップS104)蓄積部112は、ステップS101で受信した選択指示が有するユーザ識別子と、ステップS103でアバター取得部113が取得したアバター識別子と、ステップS101で受信した選択指示が有するユーザ識別子と、一時利用であるか否かを示す情報とを対応付けてユーザ識別子格納部102に蓄積する。
(ステップS105)アバター取得部113は、ステップS101で受信した選択指示が有するユーザ識別子と対応付けられてユーザ識別子格納部102に格納されているアバター識別子を取得し、このアバター識別子で識別されるアバター情報を、アバター格納部101から取得する。ここでは特に、ステップS101で受信した選択指示が有するユーザ識別子と、一時利用でないことを示す情報と対応付けられてユーザ識別子格納部102に格納されているアバター識別子を取得し、このアバター識別子で識別されるアバター情報を、アバター格納部101から取得する。
(ステップS106)アバター送信部114は、直前のステップS103またはステップS105においてアバター取得部113が取得したアバター情報を、選択指示を送信した端末装置2に送信する。そして、ステップS101に戻る。
(ステップS107)入力情報受信部115は、対話入力情報を受信したか判断する。受信する対話入力情報は、ここでは、一例として、端末装置2で出力しているアバターのアバター識別子と、端末装置2を利用するユーザのユーザ識別子とに対応付けられているものとする。受信した場合、ステップS108に進み、受信していない場合、ステップS116に進む。
(ステップS108)応答情報取得部121は、ステップS107で受信した対話入力情報に対応するアバターが対話機能を有するか判断する。例えば、このアバターに対応するアバター情報が、対話機能を有することを示す情報を有しているか判断する。対話機能を有する場合、ステップS109に進み、有していない場合、ステップS101に戻る。
(ステップS109)応答情報取得部121は、ステップS107で受信した対話入力情報に対応する応答情報を取得する。例えば、アバター格納部101に格納されている対話モデルのうちの、受信した対話入力情報と対応付けられたアバター識別子とデフォルトで対応付けられた対話モデル、または受信した対話入力情報に対応付けられたアバター識別子とユーザ識別子との組に対応付けられている1または2以上の対話モデル識別子により識別される他のアバターと対応付けられた対話モデルを用いて、応答情報を取得する。なお、対話モデルから応答情報が取得できなかった場合、適切な応答情報が取得できないことを示す応答情報を取得する。この応答情報は、対話入力情報が理解できないことを示す応答情報であってもよい。
(ステップS110)応答情報送信部122は、ステップS108で取得した応答情報を、対話入力情報を送信した端末装置2に送信する。
(ステップS111)評価取得部123は、ステップS107で受信した対話入力情報に対応するアバターが学習機能を有するか判断する。例えば、このアバターに対応するアバター情報が、学習機能を有することを示す情報を有しているか判断する。学習機能を有する場合、ステップS112に進み、有していない場合、ステップS101に戻る。
(ステップS112)評価取得部123は、ステップS109で取得した応答情報についての評価結果を取得する。この評価結果は、対話機能についての評価結果と考えてよい。
(ステップS113)学習処理部124は、ステップS110で取得した評価結果が、予め用意された評価条件を満たすほど低いか判断する。この判断は、例えば、評価結果の値が、予め用意された評価条件が示す評価が低いことを示す1以上の値のいずれかと一致するか否かの判断と考えてもよい。ここでの1以上の値は、値の範囲であってもよい。評価結果が低い場合、ステップS114に進み、低くない場合、ステップS101に戻る。
(ステップS114)学習処理部124は、ステップS107で受信した対話入力情報が対応付けられたアバター識別子が示すアバター以外の他のアバターと対応付けられた対話モデルであって、受信した対話入力情報に対応する1以上の対話モデルを取得する。例えば、対話モデルに対応する分野や話題等が、対話入力情報の分野や話題と一致する対話モデルを取得する。対話モデルの取得は、対話モデルを識別する対話モデル識別子の取得と考えてもよい。なお、対話モデルを取得する代わりに、受信した対話入力情報に対応する対話機能のために用いられる教師データであって、他のアバターと対応付けられた教師データを取得してもよい。また、この教師データを用いて、機械学習を行って、対話入力情報が有するアバター識別子が示すアバターが利用する対話モデルを取得したり更新したりしてもよい。
(ステップS115)蓄積部112は、ステップS112で取得した対話モデルの対話モデル識別子を、ステップS107で受信した対話入力情報と対応付けられたアバター識別子とユーザ識別子とに対応付けて、ユーザ識別子格納部102に蓄積(例えば、追記)する。そして、ステップS101に戻る。
(ステップS116)入力情報受信部115は、要求を受信したか判断する。受信する要求は、ここでは、一例として、端末装置2で出力しているアバターのアバター識別子と、端末装置2を利用するユーザのユーザ識別子と対応付けられているものとする。受信した場合、ステップS117に進み、受信していない場合、ステップS125に進む。
(ステップS117)要求処理部120は、ステップS116で受信した要求に対応するアバターが自動処理機能を有するか判断する。例えば、このアバターに対応するアバター情報が、自動処理機能を有することを示す情報を有しているか判断する。自動処理機能を有する場合、ステップS118に進み、有していない場合、ステップS101に戻る。
(ステップS118)要求処理部120は、ステップS116で受信した要求に対応する自動処理を決定する。例えば、アバター格納部101に格納されている自動処理モデルのうちの、受信した要求と対応付けられたアバター識別子とデフォルトで対応付けられた自動処理モデル、または受信した要求に対応付けられたアバター識別子とユーザ識別子との組に対応付けられている1または2以上の自動処理モデル識別子により識別される他のアバターと対応付けられた自動処理モデルを用いて、自動処理を定義する情報を取得する。自動処理を定義する情報を取得することは、実質的に、この情報で定義される自動処理を決定することと考えてよい。なお、いずれの自動処理モデルからも自動処理を定義する情報が取得できなかった場合、適切な自動処理が決定できないと判断する。この場合、適切な自動処理が決定できないことを示す情報を取得してもよい。
(ステップS119)要求処理部120は、ステップS108で取得した自動処理を実行する。なお、要求処理部120は、自動処理の結果を示す情報を、要求を送信した端末装置2に送信してもよい。なお、ステップS118で自動処理が決定できなかった場合、ステップS119で自動処理を実行せず、自動処理を実行できなかったことを示す情報等を、自動処理の結果を示す情報として、要求を送信した端末装置2に送信してもよい。
(ステップS120)評価取得部123は、ステップS116で受信した要求に対応するアバターが追加機能を有するか判断する。例えば、このアバターに対応するアバター情報が、追加機能を有することを示す情報を有しているか判断する。追加機能を有する場合、ステップS121に進み、有していない場合、ステップS101に戻る。
(ステップS121)評価取得部123は、ステップS119で実行した自動処理についての評価結果を取得する。なお、ステップS119において、自動処理が実行できなかった場合、例えば、実行できなかったことについての評価結果を取得する。ここでの評価結果は、自動処理機能についての評価結果と考えてよい。
(ステップS122)追加処理部125は、ステップS121で取得した評価結果が、予め用意された評価条件を満たすほど低いか判断する。この判断は、例えば、評価結果の値が、予め用意された評価条件が示す評価が低いことを示す1以上の値のいずれかと一致するか否かの判断と考えてもよい。ここでの1以上の値は、値の範囲であってもよい。評価結果が低い場合、ステップS123に進み、低くない場合、ステップS101に戻る。
(ステップS123)追加処理部125は、ステップS116で受信した要求が対応付けられたアバター識別子が示すアバター以外の他のアバターと対応付けられた自動処理モデルであって、受信した要求に対応する1以上の自動処理モデルを取得する。例えば、自動処理モデルに対応する分野等が、要求の分野等と一致する自動処理モデルを取得する。自動処理モデルの取得は、自動処理モデルを識別する自動処理モデル識別子の取得と考えてもよい。なお、自動処理モデルを取得する代わりに、受信した要求に対応する自動処理機能のために用いられる教師データであって、他のアバターと対応付けられた教師データを取得してもよい。また、この教師データを用いて、機械学習を行って、要求に対応付けられたアバター識別子が示すアバターが利用する自動処理モデルを取得したり更新したりしてもよい。
(ステップS124)蓄積部112は、ステップS123で取得した自動処理モデルの自動処理モデル識別子を、ステップS116で受信した要求と対応付けられたアバター識別子とユーザ識別子とに対応付けて、ユーザ識別子格納部102に蓄積(例えば、追記)する。そして、ステップS101に戻る。
(ステップS125)課金部126は、アバターの利用についての課金処理を行うタイミングであるか判断する。例えば、予め決められた課金処理を行う日付(例えば、毎月の決められた日付等)になったか判断する。また、予め決められた処理等が行われた場合に、課金処理を実行するタイミングであると判断してもよい。課金処理を実行するタイミングである場合、ステップS126に進み、タイミングでない場合、ステップS101に戻る。
(ステップS126)課金部126は、アバターの利用についての課金処理を行う。例えば、課金部126は、ユーザ識別子格納部102に、ユーザ識別子と対応付けられて格納されている情報が示すユーザが利用するアバターや、このアバターが利用する対話モデルや自動処理モデルに応じて、ユーザに対して課金処理を行う。例えば、課金部126は、一のユーザによる一のアバターの利用が、一時利用であるか否かに応じて、一のユーザに対して異なる金額の課金処理を行う。また、一のユーザが利用するアバターに対応付けられた対話モデルや自動処理モデル(すなわちアバターが対話機能に利用する対話モデルや、自動処理機能に利用する自動処理モデル)の数や、それぞれの対話モデルや自動処理モデルに対応付けられた金額に応じて変化する金額の課金処理を行う。そして、ステップS101に戻る。
なお、課金部126は、ユーザ識別子格納部102に、ユーザ識別子と対応付けられて格納されている情報が示すアバターの対話機能に利用される教師データや、アバターの自動処理機能に利用される教師データの数やデータ量等に応じた金額の課金を行ってもよい。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、アバター利用システム1000の端末装置2の動作について、簡単に説明する。
端末受付部203が、ユーザからアバターを選択する指示を受け付けると、端末送信部204が、この指示に応じた選択指示を、ユーザ識別子と対応付けてアバター提供装置1に送信する。送信した選択指示に応じて、端末受信部201が、アバター提供装置1からアバター情報を受信すると、端末出力部202は、受信したアバター情報を用いてアバターを出力する。
端末受付部203が、ユーザから、出力されるアバターに対する一の自動処理を行うための要求を受け付けると、端末送信部204は、この要求を、ユーザ識別子と、出力されているアバターのアバター識別子とに対応付けて、アバター提供装置1に送信する。送信した要求に応じて、端末受信部201が、自動処理の結果を示す情報を受信すると、端末出力部202は、受信した情報を、現在出力されているアバターからの出力として出力する。
端末受付部203が、ユーザから、出力されるアバターに対する一の対話入力情報の入力を受け付けると、端末送信部204は、この対話入力情報を、ユーザ識別子と、出力されているアバターのアバター識別子とに対応付けて、アバター提供装置1に送信する。送信した対話入力情報に応じて、端末受信部201が、応答情報を受信すると、端末出力部202は、受信した応答情報を、現在出力されているアバターからの出力として出力する。
なお、端末受信部201が、アバター提供装置1から、自動処理の結果を示す情報や、応答情報と対応付けられたアンケート情報を受信した場合、端末出力部202が、このアンケート情報を、例えば、アバターの出力等として出力し、端末受付部203が、出力されたアンケート情報に対するユーザの回答を受け付け、受け付けた回答を示すアンケート回答情報を、ユーザ識別子とアバター識別子とに対応付けて(または、受信したアンケート情報に対応付けて)アバター提供装置1に送信するようにしてもよい。
(具体例1)
以下、本実施の形態におけるアバター利用システム1000の具体的な動作について説明する。ここでは、アバター提供装置1はサーバ装置、端末装置2はユーザが利用するスマートフォンであるとする。また、ここでは、端末装置2を利用するユーザの決済に必要な情報(例えば、クレジットカード番号や、電子マネーの識別子等)が、予め、決済を行うサーバ装置(図示せず)等の格納部(図示せず)に、ユーザ識別子と対応付けて格納されているものとする。
以下、本実施の形態におけるアバター利用システム1000の具体的な動作について説明する。ここでは、アバター提供装置1はサーバ装置、端末装置2はユーザが利用するスマートフォンであるとする。また、ここでは、端末装置2を利用するユーザの決済に必要な情報(例えば、クレジットカード番号や、電子マネーの識別子等)が、予め、決済を行うサーバ装置(図示せず)等の格納部(図示せず)に、ユーザ識別子と対応付けて格納されているものとする。
ユーザAが、新規にアバターを利用するために、端末装置2の端末出力部202にアバターの利用を申し込むための入力画面を表示させ、タッチパネルを利用して、この入力画面に、ユーザA自身のユーザ識別子「U0001」と、自分の性別「男性」や年齢「25」歳等の予め決められた複数の属性についてのユーザ属性値とを入力するとともに、アバターの利用が一時利用ではなく、毎月払いのサブスクリプションにより利用であることを指定する情報を入力すると、端末受付部203は、これらの入力を受け付ける。そして、ユーザAが、入力した情報を送信するための送信ボタン(図示せず)を押したとすると、端末受付部203がこの操作を受け付け、端末送信部204が、この操作に応じて、上記で受け付けた情報を有する選択指示をアバター提供装置1に送信する。
アバター提供装置1の指示受信部111が、ユーザAの端末装置2から上記の選択指示を受信すると、選択指示がユーザ属性値を有しているため、アバター取得部113は、新規のアバターを取得するために、学習器格納部103に予め格納されている学習器と、上記の複数のユーザ属性値とを用いて機械学習の予測処理を行い、アバター識別子を取得する。例えば、アバター取得部113は、複数の属性についてのユーザ属性値を学習器に入力して、学習器が出力するアバター識別子を取得する。ここでの学習器は、例えば、複数のユーザについてそれぞれ取得した上記と同じ複数の属性のユーザ属性値と、各ユーザが利用したアバターのアバター識別子と、各ユーザが利用したアバターについての評価を示す情報を有する情報とを、教師データとして用いて機械学習を行うことで取得した学習器であってもよく、利用したアバターに対する評価が高い複数のユーザについての、上記と同じ複数の属性のユーザ識別子と、各ユーザが利用したアバターのアバター識別子との組を教師データとして機械学習を行って取得した学習器であってもよい。なお、学習器は、複数の属性についてのユーザ属性値を用いて、機械学習の予測処理を行うことで、ユーザに適したアバターを特定できる学習器であれば、上記の学習器に限定されない。ここで学習器を用いて取得したアバター識別子は、「A101」であったとする。
図3は、アバター格納部101に格納されているアバター情報を管理するアバター管理表である。アバター管理表は、「アバターID」と、「アバター情報」と、「対話モデル」と、「自動処理モデル」と、「学習」と、「追加」という属性を有している。「アバターID」はアバター識別子である。「アバター情報」は、アバター情報であり、ここでは、アバター情報のファイル名を示している。なお、ここでは、説明の便宜上、一のアバターのアバター情報が一つのファイルで構成されている場合を例に挙げて示しているが、一のアバターのアバター情報は、複数のファイルで構成されていてもよく、一のアバターのアバター情報は、複数のファイルを一つにパッケージ化した情報等であってもよい。かかることは、以下の「対話モデル」や、「自動処理モデル」についても同様である。「対話モデル」は、アバターがデフォルトで利用する対話モデルの対話モデル識別子である。「自動処理モデル」は、アバターがデフォルトで利用する自動処理モデルの自動処理モデル識別子である。なお、対話機能を有さないアバターについては、「対話モデル」の値が空欄またはNULLになる。また、自動処理機能を有さないアバターについては、「自動処理モデル」の値が空欄またはNULLになる。「学習」は、アバターが対話に関する学習機能を有するか否かを示す情報であり、値「1」は学習機能を有しており、値「0」は学習機能を有していないものとする。通常、対話機能を有さないアバターは学習機能を有さない。「追加」は、自動処理の追加機能を有するか否かを示す情報であり、値「1」は、自動処理の追加機能を有することを示し、値「0」は、追加機能を有さないことを示す。通常、自動処理機能を有さないアバターは自動処理の追加機能を有さない。アバター管理表において、一のレコード(行)が、一のアバターのアバター情報等に対応している。
図4(a)は、ユーザ識別子格納部102に格納されているユーザ識別子を管理するユーザ識別子管理表である。ユーザ識別子管理表は、「ユーザID」と、「アバターID」と、「一時利用」と、「追加対話モデル」と、「追加自動処理モデル」という属性を有している。「ユーザID」は、ユーザ識別子である。「アバターID」は、ユーザが利用するアバターのアバター識別子、「一時利用」は、アバターの利用が一時利用であるか否かを示す情報であり、値「1」は一時利用を示し、「0」は一時利用ではない利用を示している。ここでの一時利用ではない利用は、月単位に課金が発生するサブスクリプションによる利用であるとする。「追加対話モデル」は、アバターの対話に関する学習機能により追加された1以上の対話モデルの対話モデル識別子であるとする。「追加自動処理モデル」は、アバターの自動処理の追加機能により追加された1以上の自動処理モデルの自動処理モデル識別子であるとする。
なお、ここでは、ユーザ識別子管理表の各レコードのうちの、一時利用であることを示すレコードは、そのレコードについての課金処理が終了した場合に、課金部126等により削除され、一時利用でないことを示すレコードについては、アバターの利用が終了した後であって、そのレコードについて利用終了後の最初の課金処理または利用料金を精算するための課金が行われた時点で、課金部126等によりそのレコードが削除されるものとする。ただし、ユーザ識別子管理表の管理は、アバターの利用に応じた課金が適切に行えるものであれば、上記のような仕組みでの管理に限定されない。
蓄積部112は、アバター取得部113が上記で取得したアバター識別子「A101」と、選択指示が有するユーザ識別子「U0001」と、選択指示が有するアバターの利用が一時利用でないことを示す情報とを対応付けて、ユーザ識別子格納部102に新たに蓄積する。図4(a)に示したユーザ識別子管理表は、この新たな情報に対応するレコード(行)が蓄積された状態のユーザ識別子管理表を示している。新たに蓄積されたレコードは、図4(a)の一番下の行であり、「ユーザID」が「U0001」であり、「アバターID」が「A101」であり、「一時利用」が「0」であるレコードである。なお、新たに情報が蓄積された時点では、学習機能により追加された対話モデルや、追加機能により追加された自動処理モデルがないため、新たに追記されたアバター識別子「A101」と、ユーザ識別子「U0001」とを有するレコードの「追加対話モデル」と、「追加自動処理モデル」との値は空欄またはNULLとなっている。
アバター取得部113は、図3に示したアバター管理表の「アバターID」が「A101」であるレコードの「アバター情報」の値「D101」を取得し、ファイル名が「D101」であるアバター情報とアバター識別子「A101」とを、アバター格納部101から読み出す。そして、アバター送信部114が、読み出したアバター情報を、選択指示を送信したユーザAの端末装置2に送信する。
ユーザAの端末装置2の端末受信部201が、ファイル名が「D101」であるアバター情報を受信すると、端末出力部202が、受信したアバター情報を用いて、アバターを出力する。ここでは、アバターを表示する。
図5は、ユーザAの端末装置2のモニタ202aに表示されたアバターの表示例を示す図である。
次に、ユーザAが、表示されているアバターに対し、端末装置2が有するマイクロフォンを用いて、「スマートフォンで動画を見る方法を教えて」という対話入力情報を音声で入力したとすると、この音声入力を端末受付部203が受け付け、受け付けた音声の音声情報を対応する文字列の情報に変換するサービスを提供するサーバ装置(図示せず)に送信し、このサーバ装置が変換した上記の音声情報に対応する文字列の情報「スマートフォンで動画を見る方法を教えて」を受信する。そして、受信した文字列の情報を、対話入力情報として、ユーザAのユーザ識別子「U0001」と、現在出力しているアバターのアバター識別子「A101」とに対応付けて、アバター提供装置1に送信する。
アバター提供装置1の入力情報受信部115が、ユーザ識別子「U0001」と、アバター識別子「A101」と、に対応付けられた「スマートフォンで動画を見る方法を教えて」という文字列の対話入力情報を受信すると、応答情報取得部121は、図3に示したアバター管理表において、対話入力情報に対応付けられたアバター識別子「A101」に対応するレコードの「対話モデル」の値として、1以上の対話モデル識別子が格納されているか判断する。ここでは、「C101」という対話モデル識別子がデフォルトで格納されているとすると、応答情報取得部121は、アバター識別子が「A101」であるアバターが、対話機能を有するアバターであると判断する。このため、応答情報取得部121は、アバター格納部101に対話モデル識別子と対応付けて格納されている対話モデルのうちの、上記のデフォルトの対話モデル識別子「C101」で識別される対話モデルにおいて、上記で受信した対話入力情報に対応するサンプルの対話入力情報を検索し、検出されたサンプルの対話入力情報に対応する応答情報を取得する。なお、受信した対話入力情報に対応するサンプルの対話入力情報を検出する処理は、対話モデルを用いた対話処理においては公知の技術であるため、詳細な説明を省略する。
ここでは、応答情報取得部121が、「動画アプリABCをタップして、見たい動画を選択すると、動画が再生されます。」という文字列の応答情報を対話モデル識別子「C101」で識別される対話モデルを用いて取得したとする。
応答情報送信部122は、取得した文字列の応答情報を、対話入力情報を送信したユーザAの端末装置2に送信する。
ユーザAの端末装置2の端末受信部201が、上記の応答情報を受信すると、端末出力部202が、文字列の応答情報を音声情報に変換し、変換した音声情報を、現在出力されているアバターの出力として、スピーカー等(図示せず)から出力する。具体的には、「動画アプリABCをタップして、見たい動画を選択すると、動画が再生されます。」という音声をアバターの出力として出力する。文字列の応答情報への変換は、端末装置2が行ってもよく、文字列を音声情報に変換するサービスを提供するサーバ装置(図示せず)等に、文字列の応答情報を送信し、変換された文字列の情報をサーバ装置から受信するようにしてもよい。なお、応答情報を音声情報に変換せずに、文字列の応答情報を、現在出力されているアバターに対応する吹き出しや、ダイアログボックス等に配置して表示するようにしてもよい。
なお、応答情報送信部122が、文字列の応答情報を音声情報に変換して、端末装置2に送信するようにしてもよい。この場合の文字列の音声情報への変換は、アバター提供装置1が行ってもよく、上記と同様に、文字列を音声情報に変換するサービスを提供するサーバ装置(図示せず)等を利用して行ってもよい。かかることは、以下の応答情報等の出力や、自動処理の結果を示す情報の出力等についても同様である。
ここで、仮に、ユーザAの入力に応じて端末装置2が送信する対話入力情報が、「パスポートの取り方が知りたい」という文字列の情報であったとし、対話モデル識別子が「C101」である上記のデフォルトの対話モデルにおいて、対話入力情報に対応するサンプルの対話入力情報が検出できず、検出されたサンプルの対話入力情報に対応する応答情報を取得できなかったとする。
この場合、応答情報取得部121は、図4(a)に示したユーザ識別子管理表において、「ユーザID」が上記の対話入力情報に対応付けられたユーザ識別子「U0001」と一致し、「アバターID」が、上記の対話入力情報に対応付けられたアバター識別子「A101」と一致するレコードを検出する。検出されたレコードが、仮に、「追加対話モデル」の値として1以上の対話モデル識別子を有していた場合、応答情報取得部121は、この1以上の対話モデル識別子が識別する対話モデルを用いて、上記と同様に応答情報を取得し、応答情報送信部122が取得した応答情報を端末装置2に送信する。
しかし、ここでは、図4(a)に示したユーザ識別子管理表において検出したレコードの「追加対話モデル」の値がなかった、またはNULLであったとする。この場合、応答情報取得部121は、適切な応答情報を取得できなかったと判断する。そして、応答情報取得部121は、応答情報が取得できなかったことを示す予め決められた文字列等の情報(例えば、「わかりませんでした。」等)を端末装置2に送信する。この情報を受信した端末装置2は、上記と同様に、この情報に対応する音声を、アバターの出力として出力する。
応答情報取得部121が、上記のように対話モデルを用いた応答情報を取得する処理を行い、その結果として、応答情報または応答情報が取得できなかったことを示す情報を端末装置2に送信すると、学習処理部124は、図3に示したアバター管理表の、「アバターID」が、対応入力情報と対応付けられたアバター識別子「A101」と一致するレコード(行)の「学習」の値が、対話に関する学習機能を有することを示す値である「1」であるか、判断する。ここでは、「1」であり、学習機能を有するアバターであると判断されたとする。
このため、評価取得部123は、応答情報に対する評価結果を取得する。ここでは、応答情報を取得できた場合、評価結果として値「1」を取得し、応答情報が取得できなかった場合、評価結果として値「0」を取得する。ここでは、仮に、評価結果として値「0」を取得したとする。
そして、学習処理部124は、評価取得部123が取得した評価結果が、予め決められた評価条件を満たすほど低いか判断する。ここでは、評価条件が、評価結果の値が「0」である、という条件であったとすると、学習処理部124は、上記で取得した評価結果が評価条件を満たすほど低いと判断する。
このため、学習処理部124は、入力情報受信部115が受信した対話入力情報の分野と同じ分野の対話モデルを、アバター識別子「A101」以外のアバター識別子と対応付けられた対話モデルの中から取得する。
図6(a)は、アバター格納部101に格納される対話モデルを管理する対話モデル管理表である。対話モデル管理表は、「対話モデル」と、「分野」という属性を有している。「対話モデル」は、対話モデル識別子である。「分野」は、対話モデルに対応する分野の分野名であり、例えば、対話モデルに含まれるサンプルとなる対話入力情報の分野を示す分野名である。
学習処理部124は、対話入力情報である「パスポートの取り方が知りたい」から、この対話入力情報の内容の分野名を取得する。例えば、対話入力情報から、形態素解析等を行って名詞句を取得し、格納部(図示せず)に予め格納されている複数の分野名ごとにそれぞれ用意された1または2以上の名詞句、または複数の名詞句の組み合わせ等の情報を用いて、対話入力情報から取得した名詞句と一致する名詞句に対応する分野名を、対話入力情報の分野名として取得する。例えば、ここでは、「パスポート」という名詞句から、「旅行」という分野名を取得したとする。
なお、形態素解析等は、アバター提供装置1が行ってもよく、形態素解析を行うサービスを提供するサーバ装置(図示せず)等を用いて行ってもよい。また、形態素解析に用いる情報は、アバター提供装置1が有していてもよく、他のサーバ装置(図示せず)等が有しているものを用いてもよい。
学習処理部124は、図6(a)に示した対話モデル管理表において、「分野」が、上記で対話入力情報から取得した分野名である「旅行」と一致するレコードを検出し、検出したレコードの「対話モデル」の値である対話モデル識別子であって、図3に示したアバター管理表においてアバター識別子「A101」と対応付けられた対話モデル識別子と、図4に示したユーザ識別子管理表においてユーザ識別子「U0001」およびアバター識別子「A101」と対応付けられた対話モデル識別子と、を除く対話モデル識別子を取得する。ここでは、対話モデル識別子として「C103」が取得されたとする。そして、蓄積部112が、学習処理部124が取得した対話モデル識別子を、対話入力情報に対応付けられたユーザ識別子「U0001」およびアバター識別子「A101」に対応付けてユーザ識別子格納部102に蓄積する。具体的には、図4(a)に示したユーザ識別子管理表の「ユーザID」が「U0001」であり、「アバターID」が「A101」であるレコードの、「追加対話モデル」の値として、上記で取得した対話モデル識別子「C103」を追記する。なお、対応する分野名が同じである複数の対話モデル識別子が検出された場合、これらをすべて取得して、ユーザ識別子管理表に蓄積してもよく、そのうちの一部のみを取得して、蓄積してもよい。一部のみを取得する場合、どのようにその一部を取得する対象に決定してもよく、例えば、データ量の多いものから順に、または少ないものから順に、取得する対象に決定してもよく、ランダムに取得する対象を決定してもよい。
図4(b)は、図4(a)に示した対話モデル管理表に、上記で取得した対話モデル識別子が追記して得られた対話モデル管理表を示す図である。
これにより、ユーザ識別子「U0001」とアバター識別子「A101」とに対応付けられた対話入力情報を受信した場合において、デフォルトで用意された対話モデル識別子が「C101」である対話モデルを用いて、上記の対話入力情報に対応する応答情報が取得できないときには、ユーザ識別子管理表により、ユーザ識別子「U0001」とアバター識別子「A101」とに対応付けられている対話モデル識別子が「C103」を用いて、上記の対話入力情報に対応する応答情報を取得する処理が行われることにより、適切な応答情報が取得できるようになることが期待でき、ユーザが利用するアバターの対話機能を向上させることができる。特に、この対話モデル識別子が「C103」である対話モデルは、対応する分野が「旅行」であるため、上記と同様の、「パスポートの取り方が知りたい」という対話入力情報を受信した場合に適切な応答情報を取得することができる可能性を高めることができ、適切な応答が可能となる。なお、追加した対話モデルを用いて、上記の対話入力情報に応じた応答情報を取得し、端末装置2に送信するようにしてもよい。この場合、上記のように、応答情報が取得できなかったことを示す情報を、端末装置2に送信しないようにしてもよい。
上記において、図3に示したアバター管理表の、「アバターID」が、対応入力情報と対応付けられたアバター識別子「A101」と一致するレコード(行)の「学習」の値が、対話に関する学習機能を有さないことを示す値である「0」である場合や、評価取得部123が取得した対話機能についての評価結果が、評価条件を満たすほど低くない場合、学習処理部124は、上記のような対話モデルを追加する学習処理は行わない。
次に、ユーザAが、表示されているアバターに対し、端末装置2が有するマイクロフォンを用いて、「雑誌ABCを購入してほしい。」という要求を音声で入力したとすると、この音声入力を端末受付部203が受け付け、受け付けた音声の音声情報を、対応する文字列の情報に変換するサービスを提供するサーバ装置(図示せず)に送信し、このサーバ装置が変換した上記の音声情報に対応する文字列の情報を受信する。そして、受信した文字列の情報を、要求として、ユーザAのユーザ識別子「U0001」と、現在出力しているアバターのアバター識別子「A101」とに対応付けて、アバター提供装置1に送信する。
アバター提供装置1の入力情報受信部115が、ユーザ識別子「U0001」と、アバター識別子「A101」と、に対応付けられた「雑誌ABCを購入してほしい。」という文字列の要求を受信すると、要求処理部120は、図3に示したアバター管理表において、受信した要求に対応付けられたアバター識別子「A101」に対応するレコードの「自動処理モデル」の値として、1以上の自動処理モデル識別子が格納されているか判断する。ここでは、「M101」という自動処理モデル識別子がデフォルトで格納されているとすると、要求処理部120は、アバター識別子が「A101」であるアバターが、自動処理機能を有するアバターであると判断する。このため、要求処理部120は、アバター格納部101に自動処理モデル識別子と対応付けて格納されている自動処理モデルのうちの、上記のデフォルトの自動処理モデル識別子「M101」で識別される自動処理モデルにおいて、上記で受信した要求に対応するサンプルの要求を検索し、検出されたサンプルの要求に対応する自動処理を定義する情報を取得する。例えば、要求処理部120は、取得する自動処理を定義する情報に、要求に含まれる「雑誌ABC」という文字列を、自動処理を定義する情報が有する変数の値として代入してもよい。なお、受信した要求に対応するサンプルの対話入力情報を検出する処理は、上述した受信した対話入力情報に対応するサンプルの対話入力情報を検出する処理と同様の技術であり、ここでは詳細な説明を省略する。
ここでは、要求処理部120が、「雑誌ABC」を、雑誌を販売する特定の電子商取引サイトから購入する処理を定義する情報を、自動処理モデル識別子「M101」で識別される自動処理モデルを用いて取得したとする。
要求処理部120は、上記の自動処理を定義する情報を用いて、自動処理を実行して、ユーザAのために、特定の電子商取引サイトから、「雑誌ABC」を購入する処理を行う。商品を自動購入する処理については、公知技術であるため、ここでは、詳細な説明を省略する。そして、購入が完了したことを示す情報を、自動処理の結果を示す情報として、ユーザAの端末装置2に送信する。購入が完了したことを示す情報は、ここでは文字列の情報であるとする。例えば、この文字列は、「雑誌ABCの購入が完了しました。」等であるとする。
ユーザAの端末装置2の端末受信部201が、上記の購入が完了したことを示す情報を受信すると、端末出力部202が、文字列の応答情報を音声情報に変換し、変換した音声情報を、現在出力されているアバターの出力として、スピーカー等(図示せず)から出力する。具体的には、「雑誌ABCの購入が完了しました。」という音声をアバターの出力として出力する。
ここで、仮に、ユーザAの入力に応じて端末装置2が送信する要求が、「10月2日の東京のホテルを予約したい」という文字列の情報であったとし、対話モデル識別子が「M101」である上記のデフォルトの自動処理モデルにおいて、要求に対応するサンプルの対話入力情報が検出できず、検出されたサンプルの要求に対応する応答情報を取得できなかったとする。
この場合、要求処理部120は、図4(b)に示したユーザ識別子管理表において、「ユーザID」が上記の要求に対応付けられたユーザ識別子「U0001」と一致し、「アバターID」が、上記の要求に対応付けられたアバター識別子「A101」と一致するレコードを検出する。検出されたレコードが、仮に、「追加自動処理モデル」の値として1以上の自動処理モデル識別子を有していた場合、要求処理部120は、この1以上の自動処理モデル識別子が識別する自動処理モデルを用いて、上記と同様に、要求に対応する自動処理を定義する情報を取得して、自動処理を行い、その処理結果を端末装置2に送信する。
しかし、ここでは、図4(b)に示したユーザ識別子管理表において検出したレコードの「追加自動処理モデル」の値がなかった、またはNULLであったとする。この場合、要求処理部120は、自動処理が実行できなかったと判断する。そして、要求処理部120は、自動処理ができなかったことを示す予め決められた文字列等の情報(例えば、「わかりませんでした。」等)を端末装置2に送信する。この情報を受信した端末装置2は、上記と同様に、この情報に対応する音声を、アバターの出力として出力する。
要求処理部120が、自動処理を実行した場合、または自動処理が実行できず、実行できなかったことを示す情報を端末装置2に送信した場合、学習処理部124は、図3に示したアバター管理表の、「アバターID」が、対応入力情報と対応付けられたアバター識別子「A101」と一致するレコード(行)の「追加」の値が、自動処理の追加機能を有することを示す値である「1」であるか判断する。ここでは、「1」であり、追加機能を有するアバターであると判断されたとする。
このため、評価取得部123は、自動処理に対する評価結果を取得する。ここでは、自動処理が実行できた場合、評価結果として値「1」を取得し、自動処理が実行できなかった場合、評価結果として値「0」を取得する。ここでは、仮に、評価結果として値「0」を取得したとする。
そして、追加処理部125は、評価取得部123が取得した評価結果が、予め決められた評価条件を満たすほど低いか判断する。ここでは、評価条件が、評価結果の値が「0」である、という条件であったとすると、追加処理部125は、評価結果が評価条件を満たすほど低いと判断する。
このため、追加処理部125は、入力情報受信部115が受信した要求の分野と同じ分野の自動処理モデルを、アバター識別子「A101」以外のアバター識別子と対応付けられた自動処理モデルの中から取得する。
図6(b)は、アバター格納部101に格納される自動処理モデルを管理する自動処理モデル管理表である。自動処理モデル管理表は、「自動処理モデル」と、「分野」という属性を有している。「自動処理モデル」は、自動処理モデル識別子である。「分野」は、自動処理モデルに対応する分野の分野名であり、例えば、自動処理モデルに含まれるサンプルとなる要求の分野を示す分野名である。
追加処理部125は、要求である「10月2日の東京のホテルを予約したい」から、この要求の内容の分野名を取得する。例えば、要求から、形態素解析等を行って名詞句を取得し、格納部(図示せず)に予め格納されている複数の分野名ごとにそれぞれ用意された1または2以上の名詞句、または複数の名詞句の組み合わせ等の情報を用いて、要求から取得した名詞句と一致する名詞句に対応する分野名を、要求の分野名として取得する。例えば、ここでは、「ホテル」という名詞句と、「予約」という名詞句との組み合わせから、「ホテル予約」という分野名を取得したとする。
なお、形態素解析等は、アバター提供装置1が行ってもよく、形態素解析を行うサービスを提供するサーバ装置(図示せず)等を用いて行ってもよい。また、形態素解析に用いる情報は、アバター提供装置1が有していてもよく、他のサーバ装置(図示せず)等が有しているものを用いてもよい。
追加処理部125は、図6(b)に示した自動処理モデル管理表において、「分野」が、上記で要求から取得した分野名である「ホテル予約」と一致するレコードを検出し、検出したレコードの「自動処理モデル」の値である自動処理モデル識別子であって、図3に示したアバター管理表においてアバター識別子「A101」と対応付けられた自動処理モデル識別子「M101」と、図4に示したユーザ識別子管理表においてユーザ識別子「U0001」およびアバター識別子「A101」と対応付けられた自動処理モデル識別子(ここでは、対応する自動処理モデル識別子は無い)と、を除く自動処理モデル識別子を取得する。ここでは、自動処理モデル識別子として「M104」が取得されたとする。そして、蓄積部112は、追加処理部125が取得した自動処理モデル識別子を、要求に対応付けられたユーザ識別子「U0001」およびアバター識別子「A101」に対応付けてユーザ識別子格納部102に蓄積する。具体的には、図4(b)に示したユーザ識別子管理表の「ユーザID」が「U0001」であり、「アバターID」が「A101」であるレコードの、「追加自動処理モデル」の値として、上記で取得した自動処理モデル識別子「M104」を追記する。
図4(c)は、図4(b)に示した自動処理モデル管理表に、上記で取得した自動処理モデル識別子が追記して得られた自動処理モデル管理表を示す図である。
これにより、ユーザ識別子「U0001」とアバター識別子「A101」とに対応付けられた要求を受信した場合において、デフォルトで用意された自動処理モデル識別子が「M101」である自動処理モデルを用いて、上記の要求に対応する自動処理を特定する情報が取得できないときには、ユーザ識別子管理表により、ユーザ識別子「U0001」とアバター識別子「A101」とに対応付けられている自動処理モデル識別子が「M104」を用いて、上記の要求に対応する自動処理を特定する情報を取得する処理が行われることにより、適切な自動処理を特定する情報が取得できるようなることが期待でき、ユーザが利用するアバターの自動処理機能を向上させることができる。特に、この自動処理モデル識別子が「M104」である自動処理モデルは、対応する分野が「ホテル予約」であるため、上記と同様の、「10月2日の東京のホテルを予約したい」という要求を受信した場合に適切な自動処理を特定する情報を取得することができる可能性を高めることができ、適切な応答が可能となる。なお、追加した自動処理モデルを用いて、上記の要求に応じた自動処理を行うようにしてもよい。この場合、上記のように、自動処理が行えなかったことを示す情報を、端末装置2に送信しないようにしてもよい。
上記において、図3に示したアバター管理表の、「アバターID」が、対応入力情報と対応付けられたアバター識別子「A101」と一致するレコード(行)の「追加」の値が、対話に関する追加機能を有さないことを示す値である「0」である場合や、評価取得部123が取得した自動処理機能についての評価結果が、評価条件を満たすほど低くない場合、追加処理部125は、上記のような自動処理モデルを追加する学習処理は行わない。
ここで、ユーザによるアバターの利用について課金処理を行うタイミングになったとする。ここでのタイミングは、毎月の予め決められた日付であり、この日付になった場合に、課金部126は、その月の前月におけるアバターの利用について、各ユーザに対し課金処理を行うものとする。
図7は、アバター格納部101に格納されている課金情報管理表である。課金情報管理表には、アバターの利用に対する課金を決定する情報が管理されている。課金情報管理表は、「条件」および「金額」という属性を有している。「条件」は、課金を決定するための条件である。また、「金額」は、条件を満たす場合の金額、または条件に関連する変数を用いて金額を算出するための算出式である。ここでは、課金情報管理表が有する条件のうちの、ユーザによるアバターの利用が満たすすべての条件に対応する金額の合計が、ユーザに対して課金されるものとする。なお、V1,V2等は、金額を示す任意の値であるとする。なお、ここでは、「条件」を自然言語で表しているが、「条件」は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、「条件」は、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであってもよい。
課金部126は、図4(c)に示したユーザ識別子管理表の各レコード(行)の情報を読み出し、読み出した情報を用いて課金処理を行う。ここでは、まず、ユーザ識別子管理表の上から1行目の「ユーザID」が「U2023」であるユーザについての、課金処理について説明する。例えば、課金部126は、上から一行目のレコードの「アバターID」の値「A537」を取得し、図3に示したアバター管理表の、「アバターID」が「A537」であるレコード(行)の「対話モデル」の値が、空欄およびNULLのいずれでもなければ、図7に示した課金情報管理表の上から1行目の「条件」の値が示す「対話機能あり」という条件を満たすと判断して、対応する「金額」の値「V1」を取得し、いずれかである場合、条件を満たさないと判断して、「金額」の値を取得しない。また、同レコードの「自動処理モデル」の値が、空欄およびNULLのいずれでもなければ、図7に示した課金情報管理表の上から2行目の「条件」の値が示す「自動処理機能あり」という条件を満たすと判断して、対応する「金額」の値「V2」を取得し、いずれかである場合、条件を満たさないと判断して、「金額」の値を取得しない。また、同レコードの「学習」の値が、「1」であれば、図7に示した課金情報管理表の上から2行目の「条件」の値が示す「対話の学習機能あり」という条件を満たすと判断して、対応する「金額」の値「V3」を取得し、「0」である場合、条件を満たさないと判断して、「金額」の値を取得しない。また、同レコードの「学習」の値が、「1」であれば、図7に示した課金情報管理表の上から2行目の「条件」の値が示す「自動処理追加機能あり」という条件を満たすと判断して、対応する「金額」の値「V4」を取得し、「0」である場合、条件を満たさないと判断して、「金額」の値を取得しない。ここでは、図7に示した課金情報管理表の上から4行目までの条件をいずれも満たしていたとして、「ユーザID」が「U2023」であるユーザについて、それぞれの条件に関して課金する金額の値として、V1~V4を取得したとする。
さらに、課金部126は、図4(c)に示したユーザ識別子管理表の上から1行目のレコードの「一時利用」の値が、「1」であるか否かを判断する。ここでは、一時利用でないことを示す値「0」であるため、課金部126は、図7に示した課金情報管理表の上から5行目の「一時利用である」という条件を満たさず、上から6行目の「一時利用でない」という条件を満たすとして、上から6行目の「金額」の値「V6」を取得する。なお、値が「1」である場合、図7に示した課金情報管理表の上から5行目の「一時利用である」という条件を満たし、上から6行目の「一時利用でない」という条件を満たさないとして、上から5行目の「金額」の値「V5」を取得する。
また、課金部126は、上から1行目のレコードの「追加対話モデル」の値が空欄およびNULLのいずれでもないか判断する。ここでは、いずれでもないため、図7に示した課金情報管理表の上から7行目の「追加対話モデルあり」という条件を満たすと判断し、「追加対話モデル」の値である対話モデル識別子の数をカウントし、カウントした数「2」を「金額」のPの値として代入することで、課金する金額の値「V7×2」を得る。なお、仮に、「追加対話モデル」の値が空欄およびNULLのいずれかである場合、この条件については課金する金額を取得しない。
さらに、課金部126は、上から1行目のレコードの「追加自動処理モデル」の値が空欄およびNULLのいずれでもないか判断する。ここでは、空欄およびNULLのいずれかであるため、図7に示した課金情報管理表の上から8行目の「追加自動処理モデルあり」という条件を満たさないと判断し、この条件については、課金する金額を取得しない。仮に、空欄およびNULLのいずれでもない場合、「追加対話モデル」の値である対話モデル識別子の数をカウントし、カウントした数を「金額」のQの値として代入することで、課金する金額の値「V8×Q」を得る。
そして、課金部126は、上記で取得した課金する金額の合計であるV1+V2+V3+V4+V6+V7×2を「ユーザID」が「U2023」であるユーザについて課金する金額として取得する。そして、課金部126は、取得した金額を、ユーザ識別子「U2023」と対応付けて、決済を行うサーバ装置(図示せず)に送信する。決済を行うサーバ装置においては、受信したユーザ識別子と金額とを用いて、ユーザがアバターの利用料金を支払うための決済の処理を行う。
課金部126は、図3(c)に示したユーザ識別子管理表の、課金処理を行った1行目のレコードについては、「一時利用」の値が「0」であり、一時利用でないことを示しているため、このレコードについては、次回の課金のタイミングにおいても課金の処理が必要となるレコードであると判断して、削除せずに残すようにする。仮に、「一時利用」の値が「0」である場合、このレコードの情報は、次回の課金には利用しないため、このレコードは削除する。かかることは、ユーザ識別子管理表の他のレコードについても同様である。なお、ここでの削除は、削除したことを示すフラグ等の情報を、レコードに付与することであってもよい。
課金部126は、同様にして、図3(c)に示したユーザ識別子管理表の上から2行目以下のレコードについても、上記と同様の課金処理を行う。これにより、ユーザが利用しているアバターの状況(例えば、対話モデルを追加したか否か等)に応じて、適切な課金を行うことができる。
なお、上記において、既にアバターを一時利用以外で利用しているユーザが、アバターを端末装置2において出力(例えば、表示)させる場合には、端末装置2を介して、ユーザ識別子を有する選択指示をアバター提供装置1に送信するようにし、指示受信部111がこの選択指示を受信すると、アバター取得部113が、ユーザ識別子管理表から、「ユーザID」の値がこの選択指示が有するユーザ識別子と一致するレコードであって、「一時利用」の値が「0」であるレコードの「アバターID」の値であるアバター識別子が示すアバター情報を、図3に示したアバター管理表から取得し、取得したアバター情報を、アバター送信部114が、上記のユーザの端末装置2に送信するようにすればよい。また、上記において、以前に一時利用したユーザが、アバターを再度利用する場合には、上記と同様に、アバターを新規に利用するための操作等を行うようにすればよい。
(具体例2)
上記具体例においては、評価取得部123による応答情報の評価が低い場合に学習機能により対話モデルを追加し、自動処理の評価が低い場合に追加機能により自動処理モデルを追加するようにしたが、評価取得部123による応答情報の評価が低い場合に学習機能により対話機能のための教師データを追加し、自動処理の評価が低い場合に追加機能により自動処理機能のための教師データを追加する具体例について以下に説明する。
上記具体例においては、評価取得部123による応答情報の評価が低い場合に学習機能により対話モデルを追加し、自動処理の評価が低い場合に追加機能により自動処理モデルを追加するようにしたが、評価取得部123による応答情報の評価が低い場合に学習機能により対話機能のための教師データを追加し、自動処理の評価が低い場合に追加機能により自動処理機能のための教師データを追加する具体例について以下に説明する。
図8は、アバター格納部101に格納されているアバター情報を管理する第二アバター管理表であり、この第二アバター管理表は、図3に示したアバター管理表において、「対話教師データ」と、「自動処理教師データ」という属性を加えたものである。「対話教師データ」は、デフォルトでアバターに対して用意されている対話機能のための教師データであり、ここでは、教師データのファイル名を示している。対話機能のための教師データは、例えば、対話のための発話と、この発話に対する応答との複数の組を有する情報である。ただし、教師データは、このような情報に限定されない。「自動処理教師データ」とデフォルトでアバターに対して用意されている自動処理機能のための教師データであり、ここでは、教師データのファイル名を示している。自動処理機能のための教師データは、例えば、ユーザからの処理の実行を求める要求と、この要求に対して行われる処理を特定する情報の複数の組を有する情報である。ただし、教師データは、このような情報に限定されない。各レコードの「対話モデル」の値が示す対話モデルは、同じレコードの「対話教師モデル」の値が示す教師モデルを用いて機械学習を行って取得された対話モデルであり、例えば学習器であるとする。また、各レコードの「自動処理モデル」の値が示す対話モデルは、同じレコードの「自動処理教師モデル」の値が示す教師モデルを用いて機械学習を行って取得された対話モデルであり、例えば学習器であるとする。
図9は、ユーザ識別子格納部102に格納されているユーザ識別子を管理する第二ユーザ識別子管理表であり、図4(a)~図4(c)に示したユーザ識別子管理表において、「追加対話モデル」および「追加自動処理モデル」の代わりに、「対話モデル」および「自動処理モデル」を属性として有し、さらに、「追加対話教師データ」と、「追加自動処理教師データ」という属性を有している。「対話モデル」は、同じレコードの「ユーザID」が示すユーザが、「アバターID」が示すアバターを利用する際に、アバターが利用する対話モデルおよび自動処理モデルの識別子である。「追加対話教師データ」は、評価取得部123の評価に応じて学習処理部124が対話機能の学習のために取得した対話機能のための教師データであり、「追加自動処理教師データ」は、追加処理部125が自動処理機能の追加のために取得した自動処理機能のための教師データである。
図10(a)は、アバター格納部101に格納される対話機能のための教師データを管理する対話教師データ管理表である。対話教師データ管理表は、「対話教師データ」と、「分野」という属性を有している。「対話教師データ」は、対話機能のための教師データである。「分野」は、対話機能のための教師データに対応する分野の分野名であり、例えば、教師データに含まれる対話の分野を示す分野名である。
図10(b)は、アバター格納部101に格納される自動処理機能のための教師データを管理する自動処理教師データ管理表である。自動処理教師データ管理表は、「自動処理教師データ」と、「分野」という属性を有している。「自動処理教師データ」は、自動処理機能のための教師データである。「分野」は、自動処理機能のための教師データに対応する分野の分野名であり、例えば、教師データにより実行される自動処理の分野を示す分野名である。
例えば、ユーザが新規にアバターを利用する際には、図9に示したような第二ユーザ識別子管理表に、ユーザのユーザ識別子と、選択指示に応じてアバター取得部113が取得したアバター情報のアバター識別子と、に対応付けられたレコードであって、図8に示した第二アバター管理表の、この取得したアバター識別子に対応付けられたデフォルトの対話モデル識別子および自動処理モデル識別子を「対話モデル」および「自動処理モデル」の値として有するレコードが、蓄積部112により、新規に追加される。追加されるレコードの「追加対話教師データ」と「追加自動処理教師データ」との値は、いずれもデフォルトで空欄またはNULLとする。
そして、指示受信部111が、ユーザ識別子とアバター識別子と対応付けられた対話入力情報を受信した場合、応答情報取得部121は、図9に示した第二ユーザ識別子管理表の、受信したユーザ識別子とアバター識別子と対応付けられたレコードの「対話モデル」の値である対話モデル識別子が示す対話モデルを用いて、応答情報を取得する処理を行う。
また、指示受信部111が、ユーザ識別子とアバター識別子とに対応付けられた要求を受信した場合、応答情報取得部121は、図9に示した第二ユーザ識別子管理表の、受信したユーザ識別子とアバター識別子とに対応付けられたレコードの「自動処理モデル」の値である自動処理モデル識別子が示す自動処理モデルを用いて、要求に応じた自動処理を実行する処理を行う。
応答情報取得部121が取得した応答情報に対する評価取得部123の評価、つまりアバターの対話機能についての評価が低い場合、学習処理部124は、図10(a)に示した対話教師データ管理表から、対話入力情報と対応付けられたユーザ識別子、および対話入力情報と対応付けられたユーザ識別子とアバター識別子との組み合わせのいずれにも対応付けられていない対話機能のための教師データであって、指示受信部111が受信した対話入力情報に対応する分野の教師データの識別子(すなわち対話教師データ識別子)を取得する。そして、取得した識別子を、蓄積部112が、図9に示した第二ユーザ識別子管理表の、対話入力情報と対応付けられたユーザ識別子とアバター識別子とを有するレコードの「追加対話教師データ」の値として追記する。さらに、学習処理部124は、追記する識別子が示す対話機能のための教師データと、第二アバター管理表によりこのアバター識別子とデフォルトで対応付けられた「対話教師データ」の値が示す教師データとを用いて、機械学習を行って、学習器を取得し、取得した学習器に、対話モデル識別子を新規に付与して、アバター格納部101に蓄積する。そして、蓄積部112が、この対話モデル識別子で、図9に示した第二ユーザ識別子管理表の、対話入力情報と対応付けられたユーザ識別子とアバター識別子とを有するレコードの「対話モデル」の値を更新(例えば、上書き)する。更新後は、更新された対話モデル識別子が示す対話モデルを用いて、応答情報取得部121が、対話入力情報に対応する応答情報を取得する。これにより、対話機能について評価が低かったユーザが利用するアバターの対話機能を向上させることができる。
また、応答情報取得部121が取得した自動処理に対する評価取得部123の評価、つまりアバターの自動処理機能に対する評価が低い場合、学習処理部124は、図10(b)に示した自動処理教師データ管理表から、指示受信部111が受信した要求と対応付けられたユーザ識別子、および要求と対応付けられたユーザ識別子とアバター識別子との組み合わせのいずれにも対応付けられていない自動処理機能のための教師データであって、指示受信部111が受信した要求に対応する分野の教師データの識別子(すなわち自動処理教師データ識別子)を取得する。取得した識別子を、蓄積部112が、図9に示した第二ユーザ識別子管理表の、要求と対応付けられたユーザ識別子とアバター識別子とを有するレコードの「追加自動処理教師データ」の値として追記する。さらに、学習処理部124は、追記する識別子が示す自動処理機能のための教師データと、第二アバター管理表によりこのアバター識別子とデフォルトで対応付けられた「自動処理教師データ」の値が示す教師データとを用いて、機械学習を行って、学習器を取得し、取得した学習器に、自動処理モデル識別子を新規に付与して、アバター格納部101に蓄積する。蓄積部112は、この自動処理モデル識別子で、図9に示した第二ユーザ識別子管理表の、指示受信部111が受信した要求と対応付けられたユーザ識別子とアバター識別子とを有するレコードの「自動処理モデル」の値を更新(例えば、上書き)する。更新後は、更新された自動処理モデル識別子が示す自動処理モデルを用いて、応答情報取得部121が、対話入力情報に対応する応答情報を取得する。これにより、対話機能について評価が低かったユーザが利用するアバターの自動処理機能を向上させることができる。
また、課金の際には、上記の具体例の課金する金額を決定する処理において、追加した対話モデル数や、追加した自動処理モデル数に応じて課金する金額を決定する処理に代えて(または処理に加えて)、第二ユーザ識別子管理表の「追加対話教師データ」の値の数や、「追加自動処理教師データ」の値の数に応じて、課金する金額を決定するようにすればよい。
以上、本実施の形態によれば、ユーザが利用するアバターが対話に利用する情報および自動処理に利用する情報の少なくとも一方を変更することができ、適切な対話および自動処理の少なくとも一方を実現可能なアバターを提供することができる。これにより、例えば、ユーザが利用するアバターの利便性を向上させることができる。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(指示受信部および入力情報受信部、アバター送信部および応答情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態では、アバター提供装置がスタンドアロンである場合について説明したが、アバター提供装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態におけるアバター提供装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部にアクセス可能なコンピュータを、2以上のアバターの一つを選択する選択指示を、端末装置から受信する指示受信部と、選択指示に対応するアバターのアバター情報をアバター格納部から取得するアバター取得部と、アバター取得部が取得したアバター情報を端末装置に送信するアバター送信部と、して機能させるためのプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図11は、上記プログラムを実行して、上記実施の形態によるアバター提供装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現されうる。
図11において、コンピュータシステム900は、CD-ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図12は、コンピュータシステム900の内部構成を示す図である。図12において、コンピュータ901は、CD-ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915と、を備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるアバター提供装置等の機能を実行させるプログラムは、CD-ROM921に記憶されて、CD-ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるアバター提供装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかるアバター提供装置等は、アバターを提供する装置等として適しており、特に、対話や自動処理を行うことができるアバターを提供する装置等として有用である。
1 アバター提供装置
2 端末装置
101 アバター格納部
102 ユーザ識別子格納部
103 学習器格納部
111 指示受信部
112 蓄積部
113 アバター取得部
114 アバター送信部
115 入力情報受信部
120 要求処理部
121 応答情報取得部
122 応答情報送信部
123 評価取得部
124 学習処理部
125 追加処理部
126 課金部
201 端末受信部
202 端末出力部
202a モニタ
203 端末受付部
204 端末送信部
1000 アバター利用システム
2 端末装置
101 アバター格納部
102 ユーザ識別子格納部
103 学習器格納部
111 指示受信部
112 蓄積部
113 アバター取得部
114 アバター送信部
115 入力情報受信部
120 要求処理部
121 応答情報取得部
122 応答情報送信部
123 評価取得部
124 学習処理部
125 追加処理部
126 課金部
201 端末受信部
202 端末出力部
202a モニタ
203 端末受付部
204 端末送信部
1000 アバター利用システム
Claims (13)
- 対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部と、
前記2以上のアバターの一つを選択する選択指示を、端末装置から受信する指示受信部と、
前記選択指示に対応するアバターのアバター情報を前記アバター格納部から取得するアバター取得部と、
前記アバター取得部が取得したアバター情報を前記端末装置に送信するアバター送信部と、を備えたアバター提供装置。 - 前記アバター格納部には、対話機能と対話に関する学習機能とを有する1以上のアバターのアバター情報が格納され、
前記学習機能を有する一のアバターについて予め決められた条件を満たした場合に、前記アバターの学習機能に応じて、対話に関する学習処理を行う学習処理部をさらに備えた請求項1記載のアバター提供装置。 - 前記学習処理部は、
他のアバターが有する対話機能のための教師データまたは対話モデルの全部または一部を取得し、当該取得した教師データまたは対話モデルを用いて、対話に関する学習処理を行う請求項2記載のアバター提供装置。 - 前記アバター格納部には、自動処理機能と自動処理の追加機能とを有する1以上のアバターのアバター情報が格納され、
前記追加機能を有する一のアバターについて予め決められた条件を満たした場合に、前記アバターの追加機能に応じて、自動処理に関する追加処理を行う追加処理部をさらに備えた請求項1から請求項3いずれか一項記載のアバター提供装置。 - 一のアバターに対する要求を前記端末装置から受信する入力情報受信部と、
前記自動処理機能を用いて、前記要求に対応する自動処理を実行する要求処理部をさらに備え、
前記予め決められた条件は、
前記要求処理部が、前記要求に対応する自動処理を実行できないことである、請求項4記載のアバター提供装置。 - 一のアバターとの対話のための対話入力情報を前記端末装置から受信する入力情報受信部と、
前記対話機能を用いて、前記対話入力情報に応じた応答情報を取得する応答情報取得部と、
前記応答情報を前記端末装置に送信する応答情報送信部と、
前記応答情報に対する評価結果を取得する評価取得部とをさらに備え、
前記予め決められた条件は、
前記評価結果が評価条件を満たすほど低いことである、請求項2または請求項3記載のアバター提供装置。 - 前記指示受信部は、前記端末装置に対応するユーザ識別子と対応付けられた選択指示を受信し、
ユーザ識別子が、当該ユーザが利用するアバターと対応付けられて格納されるユーザ識別子格納部と、
前記指示受信部が受信した選択指示に対応付けられたユーザ識別子を、当該選択指示に対応するアバターと対応付けて前記ユーザ識別子格納部に蓄積する蓄積部と、
前記選択指示に対応するアバターの利用に対して、当該選択指示に対応するユーザ識別子で識別されるユーザに課金処理を行う課金部と、をさらに備えた請求項1から請求項6いずれか一項に記載のアバター提供装置。 - 前記アバター格納部に格納されるアバター情報は、当該アバター情報により出力されるアバターに関する1以上の属性値と対応付けられており、
前記課金部は、
前記選択指示に対応するアバターと対応づけられた前記1以上の属性値に応じて、当該選択指示に対応づけられたユーザに対して、異なる金額の課金処理を行う、請求項7記載のアバター提供装置。 - 前記ユーザ識別子格納部には、さらに、アバターを一時的に利用するか否かを示す情報が、前記ユーザ識別子と対応付けられて格納されており、
前記課金部は、
前記アバターを一時的に利用するか否かを示す情報の値に応じて、ユーザに対して、異なる金額の課金処理を行う、請求項7または請求項8記載のアバター提供装置。 - 前記選択指示は、1以上のユーザ属性値を有し、
前記アバター取得部は、
前記1以上のユーザ属性値を用いて、取得するアバターを決定し、前記アバター格納部から当該アバターのアバター情報を取得する、請求項1から請求項9いずれか一項に記載のアバター提供装置。 - 1以上のユーザ属性値とアバターを識別するアバター識別子とを有する2以上の教師データに対して、機械学習の学習処理を行うことにより取得された学習器が格納される学習器格納部をさらに具備し、
前記アバター取得部は、
前記選択指示が有する前記1以上のユーザ属性値と、前記学習器とを用いて、機械学習の予測処理を行い、アバター識別子を取得し、当該アバター識別子で識別されるアバターのアバター情報を、前記アバター格納部から取得する請求項10記載のアバター提供装置。 - 対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部と、指示受信部と、アバター取得部と、アバター送信部とを用いて行われるアバター提供方法であって、
前記指示受信部が、前記2以上のアバターの一つを選択する選択指示を、端末装置から受信するステップと、
前記アバター取得部が、前記選択指示に対応するアバターのアバター情報を前記アバター格納部から取得するステップと、
前記アバター送信部が、前記アバター格納部から取得したアバター情報を前記端末装置に送信するステップと、を備えたアバター提供方法。 - 対話機能、および自動処理機能の少なくとも一方の機能を有する2以上のアバターであって、対話機能と対話に関する学習機能との組、および自動処理機能と自動処理の追加機能との組の少なくとも一方の組の機能を有する1以上のアバターを含む2以上のアバターをそれぞれ出力するための2以上のアバター情報が格納されるアバター格納部にアクセス可能なコンピュータを、
前記2以上のアバターの一つを選択する選択指示を、端末装置から受信する指示受信部と、
前記選択指示に対応するアバターのアバター情報を前記アバター格納部から取得するアバター取得部と、
前記アバター取得部が取得したアバター情報を前記端末装置に送信するアバター送信部と、して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021102386A JP2023001577A (ja) | 2021-06-21 | 2021-06-21 | アバター提供装置、アバター提供方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021102386A JP2023001577A (ja) | 2021-06-21 | 2021-06-21 | アバター提供装置、アバター提供方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023001577A true JP2023001577A (ja) | 2023-01-06 |
Family
ID=84688811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021102386A Pending JP2023001577A (ja) | 2021-06-21 | 2021-06-21 | アバター提供装置、アバター提供方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023001577A (ja) |
-
2021
- 2021-06-21 JP JP2021102386A patent/JP2023001577A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112997171B (zh) | 分析网页以促进自动导航 | |
US20210173548A1 (en) | Virtual assistant acquisitions and training | |
US11394667B2 (en) | Chatbot skills systems and methods | |
CN112346567B (zh) | 基于ai的虚拟交互模型生成方法、装置及计算机设备 | |
CN104969173B (zh) | 动态应用过滤运算器的自适应对话状态管理方法和系统 | |
CN111552880B (zh) | 基于知识图谱的数据处理方法、装置、介质及电子设备 | |
CN112799747A (zh) | 智能助理评价、推荐方法、系统、终端及可读存储介质 | |
TWI661349B (zh) | 產生對話式使用者介面的方法及系統 | |
CN109992338B (zh) | 用于跨多个平台显露虚拟助理服务的方法和系统 | |
CN112672188B (zh) | 一种主播推荐方法、设备及存储介质 | |
JP2014167722A (ja) | 商品情報提供システムおよび商品情報提供用プログラム | |
CN103246690A (zh) | 标签继承 | |
US11095601B1 (en) | Connection tier structure defining for control of multi-tier propagation of social network content | |
KR102246130B1 (ko) | 사용자 음성을 기반으로 한 서비스 제공 방법 및 시스템 | |
CN109389427A (zh) | 问卷推送方法、装置、计算机设备和存储介质 | |
US20030115254A1 (en) | Information management system using agent | |
CN111523030B (zh) | 报盘信息推荐方法、装置及计算机可读存储介质 | |
Sabharwal et al. | Developing Cognitive Bots Using the IBM Watson Engine: Practical, Hands-on Guide to Developing Complex Cognitive Bots Using the IBM Watson Platform | |
CN118132695A (zh) | 启发式人机对话方法及装置、电子设备和存储介质 | |
US9620111B1 (en) | Generation and maintenance of language model | |
JP2023001577A (ja) | アバター提供装置、アバター提供方法、およびプログラム | |
CN110297904A (zh) | 事件名的生成方法、装置、电子设备及存储介质 | |
CN115440223A (zh) | 智能交互方法、装置、机器人和计算机可读存储介质 | |
CN114327221A (zh) | 合照方法、介质、装置和计算设备 | |
CN111753107A (zh) | 资源展示方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240418 |