(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025014907
(43)【公開日】2025-01-30
(54)【発明の名称】データ処理装置、データ処理方法及びプログラム
(51)【国際特許分類】
G06F 16/335 20190101AFI20250123BHJP
G06F 16/90 20190101ALI20250123BHJP
【FI】
G06F16/335
G06F16/90 100
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023117853
(22)【出願日】2023-07-19
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】立花 巧樹
(72)【発明者】
【氏名】呉 健朗
(72)【発明者】
【氏名】古野 雅人
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA01
(57)【要約】
【課題】ユーザ発話に対して適切に応答することができるデータ処理装置、データ処理方法及びプログラムを提供すること。
【解決手段】データ処理装置は、ユーザ入力を受け付ける入力部と、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する取得部と、入力文章に応じた文章を生成する文章生成モデルを用いた特定処理を行う処理部と、前記特定処理の結果を出力する出力部と、を含み、前記処理部は、前記ユーザ入力から得られる情報と、前記取得部が取得した前記固有プロンプトとを前記入力文章として前記文章生成モデルに入力することを含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ユーザ入力を受け付ける入力部と、
ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する取得部と、
入力文章に応じた文章を生成する文章生成モデルを用いた特定処理を行う処理部と、
前記特定処理の結果を出力する出力部と、を備え、
前記処理部は、前記ユーザ入力から得られる情報と、前記取得部が取得した前記固有プロンプトとを前記入力文章として前記文章生成モデルに入力することを含む、
データ処理装置。
【請求項2】
前記取得部は、さらに前記ユーザ入力を行うユーザに関連付けられたユーザプロンプトを取得し、
前記処理部は、前記ユーザプロンプトをさらに含む前記入力文章を前記文章生成モデルに入力することを含む、
請求項1に記載のデータ処理装置。
【請求項3】
前記取得部は、さらに前記オブジェクトの位置情報を取得する、
請求項1に記載のデータ処理装置。
【請求項4】
ユーザの感情を判定する感情決定部を更に備え、
前記処理部は、前記ユーザの感情をさらに含む前記入力文章を前記文章生成モデルに入力することを含む、
請求項1に記載のデータ処理装置。
【請求項5】
ユーザ入力を受け付ける工程と、
ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する工程と、
ユーザ入力から得られる情報と取得した前記固有プロンプトとから、入力文章に応じた文章を生成する文章生成モデルに入力する前記入力文章を生成する工程と、
生成した前記入力文章を前記文章生成モデルに入力して特定処理を実行する工程と、
前記特定処理の結果を出力する工程と、を備える、
データ処理方法。
【請求項6】
データ処理装置を構成するコンピュータの少なくとも1つのプロセッサに、
ユーザ入力を受け付ける処理と、
ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する処理と、
ユーザ入力から得られる情報と取得した前記固有プロンプトとから、入力文章に応じた文章を生成する文章生成モデルに入力する前記入力文章を生成する処理と、
生成した前記入力文章を前記文章生成モデルに入力して特定処理を実行する処理と、を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理装置、データ処理方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、少なくとも一つのプロセッサにより遂行される、ペルソナチャットボット制御方法であって、ユーザ発話を受信するステップと、前記ユーザ発話を、チャットボットのキャラクターに関する説明と関連した指示文を含むプロンプトに追加するステップと前記プロンプトをエンコードするステップと、前記エンコードしたプロンプトを言語モデルに入力して、前記ユーザ発話に応答するチャットボット発話を生成するステップを含む、方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
チャットボットのようなAIモデルにおいて、適切な回答を出力するためには、適切な回答のために必要な情報を保有している必要がある。しかしながら従来技術では、回答のために必要な情報が不足する場合がある。また、必要な情報を得るためにAIモデルを再構築することは、手間やコストを考慮すると限界がある。したがって、現状のAIモデルの技術には、ユーザ発話に対して適切に応答する上で改善の余地がある。
【課題を解決するための手段】
【0005】
本開示の技術に係る第1の態様のデータ処理装置は、ユーザ入力を受け付ける入力部と、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する取得部と、入力文章に応じた文章を生成する文章生成モデルを用いた特定処理を行う処理部と、前記特定処理の結果を出力する出力部と、を備え、前記処理部は、前記ユーザ入力から得られる情報と、前記取得部が取得した前記固有プロンプトとを前記入力文章として前記文章生成モデルに入力することを含む。
【0006】
本開示の技術に係る第2の態様のデータ処理装置は、上述した第1の態様のデータ処理装置に関し、前記取得部は、さらに前記ユーザ入力を行うユーザに関連付けられたユーザプロンプトを取得し、前記処理部は、前記ユーザプロンプトをさらに含む前記入力文章を前記文章生成モデルに入力することを含む。
【0007】
本開示の技術に係る第3の態様のデータ処理装置は、上述した第1又は第2の態様のデータ処理装置に関し、前記取得部は、さらに前記オブジェクトの位置情報を取得する。
【0008】
本開示の技術に係る第4の態様のデータ処理装置は、上述した第1乃至第3のいずれかの態様のデータ処理装置に関し、ユーザの感情を判定する感情決定部を更に備え、前記処理部は、前記ユーザの感情をさらに含む前記入力文章を前記文章生成モデルに入力することを含む。
【0009】
本開示の技術に係る第5の態様のデータ処理方法は、ユーザ入力を受け付ける工程と、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する工程と、ユーザ入力から得られる情報と取得した前記固有プロンプトとから、入力文章に応じた文章を生成する文章生成モデルに入力する前記入力文章を生成する工程と、生成した前記入力文章を前記文章生成モデルに入力して特定処理を実行する工程と、前記特定処理の結果を出力する工程と、を含む。
【0010】
本開示の技術に係る第6の態様のプログラムは、データ処理装置を構成するコンピュータの少なくとも1つのプロセッサに、ユーザ入力を受け付ける処理と、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する処理と、ユーザ入力から得られる情報と取得した前記固有プロンプトとから、入力文章に応じた文章を生成する文章生成モデルに入力する前記入力文章を生成する処理と、生成した前記入力文章を前記文章生成モデルに入力して特定処理を実行する処理と、を実行させる。
【図面の簡単な説明】
【0011】
【
図1】データ処理システムの構成の一例を示す概念図である。
【
図2】データ処理装置及びスマートデバイスの要部機能の一例を示す概念図である。
【
図4】データ処理装置の特定処理部の機能構成を概略的に示す。
【
図5】データ処理装置による特定処理の動作フローの一例を概略的に示す。
【
図6A】複数の感情がマッピングされる感情マップを示す。
【
図6B】複数の感情がマッピングされる感情マップを示す。
【発明を実施するための形態】
【0012】
以下、添付図面に従って本開示の技術に係るデータ処理装置、データ処理方法、及びプログラムの実施形態の一例について説明する。
【0013】
先ず、以下の説明で使用される文言について説明する。
【0014】
以下の実施形態において、符号付きのプロセッサ(以下、単に「プロセッサ」と称する)は、1つの演算装置であってもよいし、複数の演算装置の組み合わせであってもよい。また、プロセッサは、1種類の演算装置であってもよいし、複数種類の演算装置の組み合わせであってもよい。演算装置の一例としては、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、GPGPU(General-Purpose computing on Graphics Processing Units)、APU(Accelerated Processing Unit)、又はTPU(Tensor Processing Unit)等が挙げられる。
【0015】
以下の実施形態において、符号付きのRAM(Random Access Memory)は、一時的に情報が格納されるメモリであり、プロセッサによってワークメモリとして用いられる。
【0016】
以下の実施形態において、符号付きのストレージは、各種プログラム及び各種パラメータ等を記憶する1つ又は複数の不揮発性の記憶装置である。不揮発性の記憶装置の一例としては、フラッシュメモリ(SSD(Solid State Drive))、磁気ディスク(例えば、ハードディスク)、又は磁気テープ等が挙げられる。
【0017】
以下の実施形態において、符号付きの通信I/F(Interface)は、通信プロセッサ及びアンテナ等を含むインタフェースである。通信I/Fは、複数のコンピュータ間での通信を司る。通信I/Fに対して適用される通信規格の一例としては、5G(5th Generation Mobile Communication System)、Wi-Fi(登録商標)、又はBluetooth(登録商標)等を含む無線通信規格が挙げられる。
【0018】
以下の実施形態において、「A及び/又はB」は、「A及びBのうちの少なくとも1つ」と同義である。つまり、「A及び/又はB」は、Aだけであってもよいし、Bだけであってもよいし、A及びBの組み合わせであってもよい、という意味である。また、本明細書において、3つ以上の事柄を「及び/又は」で結び付けて表現する場合も、「A及び/又はB」と同様の考え方が適用される。
【0019】
図1には、実施形態に係るデータ処理システム10の構成の一例が示されている。
【0020】
図1に示すように、データ処理システム10は、データ処理装置12及びスマートデバイス14を備えていてよい。データ処理装置12の一例としては、サーバが挙げられる。また、スマートデバイス14の一例としては、スマートフォンが挙げられる。本実施形態において、データ処理装置12は、本開示の技術に係る「データ処理装置」の一例である。なお、本開示の技術に係るデータ処理装置の各種構成要素が、以下に説明するデータ処理装置12以外の装置、例えばスマートデバイス14に搭載される場合もある。
【0021】
データ処理装置12は、コンピュータ22、データベース24、及び通信I/F26を備えていてよい。コンピュータ22は、本開示の技術に係る「コンピュータ」の一例である。コンピュータ22は、プロセッサ28、RAM30及びストレージ32を備えていてよい。プロセッサ28、RAM30及びストレージ32は、バス34により相互通信可能に接続され得る。また、データベース24及び通信I/F26も、バス34により相互通信可能に接続されていてよい。データベース24は、後述する特定処理を含む処理を実行するために必要な各種情報が格納されていてよい。このデータベース24は、クラウド等の形態で実現され得る。通信I/F26は、ネットワーク54に接続され得る。ネットワーク54の一例としては、WAN(Wide Area Network)及び/又はLAN(Local Area Network)等が挙げられる。
【0022】
スマートデバイス14は、コンピュータ36、受付装置38、出力装置40、カメラ42、GPS(Global Positioning System)43及び通信I/F44を備えていてよい。コンピュータ36は、プロセッサ46、RAM48及びストレージ50を備えていてよい。プロセッサ46、RAM48及びストレージ50は、バス52に接続され得る。また、受付装置38、出力装置40、カメラ42及びGPS43も、バス52に接続されていてよい。
【0023】
受付装置38は、タッチパネル38A及びマイクロフォン38B等を備えていてよく、ユーザ入力を受け付けることができる。タッチパネル38Aは、指示体(例えば、ペン又は指等)の接触を検出することにより、指示体の接触によるユーザ入力を受け付けることができる。マイクロフォン38Bは、ユーザの音声を検出することにより、音声によるユーザ入力を受け付けることができる。プロセッサ46は、タッチパネル38A及びマイクロフォン38Bによって受け付けたユーザ入力を示すデータをデータ処理装置12に送信する。データ処理装置12では、特定処理部290が、ユーザ入力を示すデータを取得する。
【0024】
出力装置40は、ディスプレイ40A及びスピーカ40B等を備えていてよく、データを人物20が知覚可能な表現形(例えば、音声及び/又はテキスト)で出力することでデータを人物20に対して提示する。ディスプレイ40Aは、プロセッサ46からの指示に従ってテキスト及び画像等の可視情報を表示する。スピーカ40Bは、プロセッサ46からの指示に従って音声を出力する。
【0025】
カメラ42は、例えばスマートフォン内蔵型のカメラであって、レンズ、絞り、及びシャッタ等の光学系と、CMOS(Complementary Metal-Oxide-Semiconductor)イメージセンサ又はCCD(Charge Coupled Device)イメージセンサ等の撮像素子とが搭載された小型デジタルカメラで構成することができる。このカメラ42には、対象物を撮像することに加えて、対象物が二次元コード等のコードである場合には当該コードを読み取ることが可能な読み取り機能を備えているとよい。また、GPS43は、スマートデバイス14の位置情報を取得することができる。
【0026】
通信I/F44は、ネットワーク54に接続されている。通信I/F44及び26は、ネットワーク54を介してプロセッサ46とプロセッサ28との間の各種情報の授受を司る。加えて、通信I/F44は、RFID(Radio frequency identification)に代表されるNFC(Near field communication)や赤外線通信といった近距離無線通信にも対応することができる。
【0027】
図2には、データ処理装置12及びスマートデバイス14の要部機能の一例が示されている。
【0028】
図2に示すように、データ処理装置12では、プロセッサ28によって特定処理が行われる。ストレージ32には、特定処理プログラム56が格納され得る。特定処理プログラム56は、本開示の技術に係る「プログラム」の一例である。プロセッサ28は、ストレージ32から特定処理プログラム56を読み出し、読み出した特定処理プログラム56をRAM30上で実行できる。特定処理は、プロセッサ28がRAM30上で実行する特定処理プログラム56に従って特定処理部290として動作することによって実現できる。
【0029】
ストレージ32には、文章生成モデルの一例としてのデータ生成モデル58及び感情特定モデル60が格納されていてよい。データ生成モデル58及び感情特定モデル60は、特定処理部290によって用いられ得る。
【0030】
スマートデバイス14では、プロセッサ46によって受付出力処理が行われる。ストレージ50には、受付出力プログラム62が格納され得る。受付出力プログラム62は、データ処理システム10によって特定処理プログラム56と併用され得る。プロセッサ46は、ストレージ50から受付出力プログラム62を読み出して、読み出した受付出力プログラム62をRAM48上で実行することができる。受付出力処理は、プロセッサ46がRAM48上で実行する受付出力プログラム62に従って、制御部46Aとして動作することによって実現され得る。
【0031】
次に、データ処理装置12が、ユーザ近傍のオブジェクトに関連付けられたプロンプトを取得し、ユーザ入力と組み合わせて文章生成モデルに入力し、回答を得るという、一連の特定処理を行う際の、特定処理部290の処理について説明する。
【0032】
入力文章(入力データ)から特定の回答データを出力可能な文章生成モデルは、予め収集されたパラメータ情報に基づいて出力を行う。したがって、一般的な文章生成モデルは、文章生成モデルが生成された後に発見された新たな情報や、文章生成モデル生成時には収集しきれなかった詳細な情報等は、出力結果に反映されない。本開示では、この点を考慮し、ユーザ入力を行う際に回答に必要な情報を付加情報として入力文章に付加することで、ユーザの求める回答データの出力が得られる可能性を高めようとするものである。
【0033】
上述した点を踏まえて、本開示では、スマートデバイス14を持ったユーザの周囲に存在する種々のオブジェクト(具体的には、人、モノ、生物、施設を含む場所等)固有の情報を、固有プロンプトとして予め準備しておく。そして、データ処理装置12において特定処理を実行する際には、当該固有プロンプトを収集して文章生成モデルの入力文章に反映させることで、回答の精度向上を図っている。
【0034】
特定処理に用いられる、オブジェクト固有の情報としての固有プロンプトは、種々の方法で予め設定することができる。以下には、固有プロンプトの設定方法をオブジェクト毎に例示する。なお、以下に説明する設定方法とオブジェクトの組み合わせは単なる一例であって、異なる組み合わせを採用することを妨げない。また、任意のタイミングでオブジェクトの固有プロンプトが取得可能なものであれば、以下に例示する設定方法以外の方法も採用できる。
【0035】
例えばオブジェクトがモノ、例えば店舗等で販売されている商品である場合には、当該商品を製造あるいは販売するメーカーがその商品に関する情報を固有プロンプトとしてデータベース24に格納し、且つ格納された固有プロンプトに紐づけられたコード(例えば二次元コード)あるいはタグ(例えばICタグ)を商品に印刷あるいは貼付により取り付ける方法がある。この場合、ユーザがスマートデバイス14を用いて商品に付されたコードを読み取る、あるいはスマートデバイス14を商品に近づけることで、特定処理部290は、データベース24内の当該商品に関連付けられた固有プロンプトに関する情報を取得することができる。
【0036】
また、例えばオブジェクトが生物、例えば水族館、動物園あるいはペットショップ等で飼育されている生物である場合には、水族館等の職員が、生物、例えば魚を飼育している水槽ごとにビーコン(具体的には、赤外線ビーコンやBLEビーコン、無線ルータ等)を設置し、当該ビーコンからスマートデバイス14へ、水槽内の魚に関連付けられた固有プロンプトを送信できるようにする方法がある。この場合、特定処理部290は、スマートデバイス14を持っているユーザが水槽(より詳細には、水槽に取り付けられたビーコン)に近づくことで取得した固有プロンプトがデータ処理装置12に送信されることで、当該固有プロンプトを取得することができる。
【0037】
さらに、例えばオブジェクトが場所、例えば不動産会社が管理する物件や観光地のような施設である場合には、不動産会社等の社員が、場所、例えば物件の位置情報に関連付けるかたちで、物件に関する情報を固有プロンプトとしてデータベース24に格納する方法がある。この場合、特定処理部290は、例えばユーザがGPS43を備えるスマートデバイス14を持った状態で物件の近くに近づいたことを検出することにより、データベース24内から当該物件の固有プロンプトを取得することができる。
【0038】
さらにまた、例えばオブジェクトが人である場合には、人が自身に関する情報を自身が所有するスマートデバイス14に直接登録する方法がある。この場合、特定処理部290は、例えば各人が持つスマートデバイス14間でデータ通信を実行することにより取得した固有プロンプトがデータ処理装置12に送信されることで、当該固有プロンプトを取得することができる。
【0039】
ここで、上述したオブジェクトとしての人には、本開示のデータ処理装置12を利用するユーザが含まれ得る。なお、ユーザ自身が登録したプロンプトは、他のオブジェクトに関連付けられた固有プロンプトとはデータ処理装置12における利用方法が異なる。したがって、以下の説明では、このユーザ自身が登録したプロンプトを「ユーザプロンプト」と呼び、固有プロンプトとは説明上区別するものとする。
【0040】
ユーザプロンプトの内容は、ユーザによって直接設定されてもよいし、ユーザが入力する情報から自動的に生成されてもよいし、ユーザのトラッキング情報やSNS(Social Networking Service)の情報等に基づいて自動で生成されてもよい。ユーザプロンプトの元となる情報の詳細は特に限定されないが、例えば、ユーザの性別や居住地域といった個人情報や、趣味嗜好や関心事項等の情報が含まれていてよい。また、生成されたユーザプロンプトは、スマートデバイス14内のストレージ50あるいはデータ処理装置12のデータベース24内に格納されるとよい。
【0041】
本実施形態の特定処理は、上述した固有プロンプトあるいはユーザプロンプトが設定された状態において実施される。以下には、水族館において特定処理を実行した場合を例に、特定処理の概要を説明する。
【0042】
図3Aは、特定処理を実行する状況の一例を示した説明図である。ここで、水族館内の各水槽70にはビーコン75が設置され、当該ビーコン75からは水槽70内で飼育されている生物、例えば魚に関する情報を構成する固有プロンプトが発信されるように、水族館の職員等によって予め設定されている。
【0043】
スマートデバイス14を持ったユーザが水族館を訪れ館内を移動すると、スマートデバイス14は、近くの水槽70に設置されたビーコン75から送信される固有プロンプトを取得することができる状態となる。このとき、ユーザがスマートデバイス14に対して特定処理を実行するためのユーザ入力を行うと、固有プロンプトを利用した特定処理が実施できる。なお、特定処理部290は、スマートデバイス14に、ビーコン75から送信される固有プロンプトをデータ処理装置12に送信させることで、所望の固有プロンプトを取得することができる。
【0044】
特定処理部290は、
図4に示すように、入力部292、取得部294、処理部296及び出力部298を含む。
【0045】
入力部292は、スマートデバイス14で受け付けたユーザ入力を取得する。具体的には、スマートデバイス14のマイクロフォン38Bで受け付けたユーザの音声入力や、タッチパネル38Aを介して入力されたテキスト情報を、ユーザ入力として取得することができる。
【0046】
取得部294は、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトを取得する。固有プロンプトの取得方法は、上述した通り固有プロンプトの設定方法に関連して複数例示できる。具体的には、スマートデバイス14が取得した固有プロンプトがデータ処理装置12に送信されることで取得する方法や、データベース24内に事前に格納された固有プロンプトの中からスマートデバイス14の位置情報あるいはスマートデバイス14がコードあるいはタグを介して取得した情報に基づいて特定の固有プロンプトを特定する方法等が挙げられる。
【0047】
加えて、取得部294は、ユーザ入力を行うユーザ、具体的にはスマートデバイス14を持っているユーザに関連付けられたユーザプロンプトを取得することができる。ユーザプロンプトは、固有プロンプトと同様の方法で取得することができる。また、ユーザプロンプトは、スマートデバイス14側でその内容を更新することができるとよい。
【0048】
ところで、特定処理を実行する際、ユーザの周囲に複数のオブジェクトが存在している場合がある。例えば水族館では、飼育する生物の異なる複数の水槽が隣接して配置されていることが多い。また、ユーザが3人以上のグループで行動したり、固有プロンプトが設定された物件が密集する場所(例えば住宅地)にいたりすることもしばしば発生する。このような場合には、取得部294は、複数の固有プロンプトを取得し得る。ここで、入力文章内にユーザ入力に関連性の低い情報が多数含まれると、文章生成モデルの回答の精度に悪影響を及ぼす恐れがある。そこで、本実施形態の取得部294では、固有プロンプトの重要度あるいは優先度を推定する一方法として、固有プロンプトが設定されたオブジェクトの位置情報をさらに取得している。
【0049】
より詳細に説明すると、例えば、水族館内で特定の水槽、例えば水槽70Aを見ているユーザから受付装置38がユーザ入力を受け付けた場合、そのユーザ入力は、水槽70A内の生物に関連する可能性が高い。しかし、実際の水族館では、例えば
図3Bに示すように、ユーザの周囲に、水槽70Aとは飼育する生物の異なるいくつかの水槽、例えば2つの水槽70B、70Cがある場合がある。このような場合、各水槽70A、70B、70Cのそれぞれに設置されたビーコン75A、75B、75Cの通信可能範囲によっては、スマートデバイス14は、各ビーコン75A、75B、75Cから送信される固有プロンプトを全て受信することができる。
【0050】
スマートデバイス14が各ビーコン75A、75B、75Cから受信し、取得部294に送信された3つの固有プロンプトは、処理部296にて文章生成モデルへの入力文章に利用される。このとき、取得した複数の固有プロンプトを単に入力文章に利用すると、各固有プロンプトの重要度あるいは優先度が不明であるため、文章生成モデルの回答がユーザの望むものとは異なる結果となる恐れがある。そこで、取得部294は、固有プロンプトを取得するだけでなく、固有プロンプトが設定されたオブジェクト(
図3Bの場合は、水槽内の生物あるいは水槽)の位置情報を取得する。
【0051】
取得部294が固有プロンプトと共に取得するオブジェクトの位置情報としては、オブジェクトとユーザ(具体的には、ユーザの持っているスマートデバイス14)との間の距離を特定した情報であると好ましい。オブジェクトとユーザとの距離の特定方法としては、例えば、オブジェクトに設置されたビーコンやオブジェクトが保有するデータ通信機器の電波強度から推定する方法がある。あるいは、オブジェクトに関連して予め登録されたオブジェクトの座標情報とスマートデバイス14のGPS43の測位結果とから算出する方法もある。
【0052】
図4の説明に戻って、処理部296は、文章生成モデルの一例としてのデータ生成モデル58を用いた特定処理を行う。具体的には、処理部296は、先ず、予め定められたトリガ条件を満たすか否かを判定する。より具体的には、ユーザからの音声あるいはテキストによる問いかけ(例えば、「この魚、家で飼えるかな?」)を受け付けたことをトリガ条件とする。
【0053】
そして、処理部296は、トリガ条件を満たした場合に、特定処理のためのデータを得るための指示を表す入力文章、より具体的にはテキストデータを、データ生成モデル58に入力し、データ生成モデル58の出力に基づいて、処理結果を取得する。より具体的には、処理部296は、入力部292が受け付けたユーザ入力から得られる情報と、取得部294が取得した固有プロンプト、あるいは固有プロンプトとユーザプロンプトとから、データ生成モデル58に入力するテキストデータを生成する。そして、生成したテキストデータをデータ生成モデル58に入力し、その処理結果を取得する。
【0054】
なお、処理部296は、感情特定モデル60を用いてユーザの感情を推定し、ユーザの感情と、データ生成モデル58とを用いた特定処理を行うようにしてもよい。この場合、処理部296にて生成されるテキストデータは、感情特定モデル60により推定されたユーザの感情に対応するプロンプトをも利用して生成されることになる。感情特定モデル60によるユーザの感情の特定手法については後に例示する。
【0055】
出力部298は、特定処理の結果を出力する。出力の具体的な方法としては、例えば特定処理の結果をスマートデバイス14に送信し、スマートデバイス14にて、出力装置40等を介してユーザに特定処理の結果を報知する方法が挙げられる。
【0056】
上述の方法でユーザに特定処理の結果が報知されると、ユーザは当該結果に対するユーザ入力を行う場合がある。例えばマイクロフォン38Bにおいて、特定処理の結果に対するユーザ入力を示す音声を取得すると、制御部46Aは、マイクロフォン38Bによって取得されたユーザ入力を示す音声データをデータ処理装置12に送信する。そして、データ処理装置12では、特定処理部290による再度の特定処理を実行する。
【0057】
データ生成モデル58は、いわゆる生成AI(Artificial Intelligence)であってよい。データ生成モデル58の一例としては、ChatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)等の生成AIが挙げられる。データ生成モデル58は、ニューラルネットワークに対して深層学習を行わせることによって得られる。データ生成モデル58には、指示を含むプロンプトが入力され、かつ、音声を示す音声データ、テキストを示すテキストデータ、及び画像を示す画像データ等の推論用データが入力され得る。データ生成モデル58は、入力された推論用データをプロンプトにより示される指示に従って推論し、推論結果を音声データ及びテキストデータ等のデータ形式で出力する。ここで、推論とは、例えば、分析、分類、予測、及び/又は要約等を指す。
【0058】
次に、データ処理システム10の作用について
図5を参照しながら説明する。具体的には、特定処理の流れの一例について
図5を参照しながら説明する。なお、
図5に示す特定処理の流れは、本開示の技術に係る「データ処理方法」の一例である。また、この特定処理の流れは、データ処理装置12のプロセッサ28により実施され得、当該プロセッサによる処理は、プロセッサが特定処理プログラム56を実行することで実現され得る。
【0059】
データ処理システム10が動作し、特定処理が開始されると、
図5に示すように、特定処理部290は、先ずスマートデバイス14の受付装置38がユーザ入力を受け付けたか否かを監視する(工程S101)。受付装置38において受け付けられたユーザ入力を入力部292にて取得すると(工程S101でYes)、特定処理部290の取得部294により、ユーザプロンプトの取得(工程S102)及び固有プロンプトの取得(工程S103)を実行する。前述した2つのプロンプトの取得の順番は特に限定されない。また、ユーザプロンプトが設定されていない場合には工程S102を省略してもよい。
【0060】
取得部294によりユーザプロンプト及び固有プロンプトが取得されると、次に処理部296にて、ユーザ入力から得られる情報と、取得した固有プロンプト、あるいは固有プロンプト及びユーザプロンプトから、データ生成モデル58に入力する入力文章を生成する(工程S104)。生成された入力文章はデータ生成モデル58に入力されることで、データ生成モデル58にて入力文章に応じた文章が生成される(工程S105)。
【0061】
データ生成モデル58で生成された文章は、特定処理の結果としてスマートデバイス14に送られ、出力装置40で出力される(工程S106)。
【0062】
上述した一連の特定処理において、データ生成モデル58に入力される入力文章及びそれに対する出力結果を以下にいくつか例示する。
【0063】
例えば、ユーザが
図3Aに示すような、水族館内で特定の水槽70の近くで、スマートデバイス14に対しユーザ入力として「この魚、家で飼えるかな?」との音声入力をした場合を説明する。当該音声入力を取得すると、データ処理装置12は、当該音声入力をトリガとして、取得部294を動作させてユーザの周囲のオブジェクトに関連付けられた固有プロンプトとユーザプロンプトとを取得する。ここで取得された固有プロンプトが水槽70に設置されたビーコン75から送信された固有プロンプトのみであり、且つこの固有プロンプトが「水槽内で飼育されている魚はグッピーです。寿命は1~2年です。適切な飼育環境は24~27度です。」であるとする。また、ユーザプロンプトが「魚を飼いたい。室内温度は平均25度です。」であるとする。
【0064】
以上の場合、処理部296は、入力文章として、例えば「ユーザは魚を飼いたいと思っており、魚を飼育する予定の部屋の室内温度は平均25度です。ユーザの近くの水槽にはグッピーが飼育されており、寿命は1~2年で、適切な飼育環境は24~27度です。ユーザから『この魚、家で飼えるかな?』との質問がありました。どのように回答すればいいですか?」というプロンプトを生成し、データ生成モデル58に入力する。データ生成モデル58では、前述のプロンプトが入力されると、例えば「はい。グッピーはあなたの家でも買うことができますよ。」というテキストデータを出力することができる。
【0065】
他方、例えば、ユーザが
図3Bに示すような、複数の水槽70A~70Cが隣接して設置された水族館内で特定の水槽70Aの近くで、スマートデバイス14に対しユーザ入力として「この魚、家で飼えるかな?」との音声入力をした場合を説明する。当該音声入力を取得すると、データ処理装置12は、当該音声入力をトリガとして、取得部294を動作させてユーザの周囲のオブジェクトに関連付けられた固有プロンプトとユーザプロンプトとを取得する。ここで取得された固有プロンプトは、3つの水槽70A~70Cに設置された各ビーコン75A~75Cから送信された3つの固有プロンプトであるとする。また、各固有プロンプトの内容は異なるものであって、具体的には、例えばビーコン75Aから送信される固有プロンプトが「水槽内で飼育されている魚はグッピーです。寿命は1~2年です。適切な飼育環境は24~27度です。」であり、ビーコン75Bから送信される固有プロンプトが「水槽内で飼育されている魚は金魚です。寿命は7~8年です。適切な飼育環境は20~22度です。」であり、ビーコン75Cから送信される固有プロンプトが「水槽内で飼育されている魚はカクレクマノミです。寿命は5~6年です。適切な飼育環境は28~30度です。」であるとする。また、ユーザプロンプトが「魚を飼いたい。室内温度は平均25度です。」であるとする。
【0066】
ここで、取得部294は、ユーザの周囲のオブジェクトの位置情報をさらに取得することができる。ここで取得する位置情報は、ユーザとオブジェクトとの間の距離であってよい。取得部294が取得した位置情報は、各ビーコン75A~75Cから送信された3つの固有プロンプトに関連付ける、例えば固有プロンプトに追加するプロンプトの形式で関連付けることができる。なお、本実施の形態では、取得した位置情報をプロンプトの形式として入力文章に固有プロンプトと共に利用する場合を例示したが、例えば位置情報に基づいて、取得部294が取得した複数の固有プロンプトのうち、入力文章に利用する固有プロンプトを選定することもできる。この場合には、位置情報に基づいて選ばれた固有プロンプトのみを入力文章に利用することで、ユーザ入力に関連の低い情報が入力文章に含まれないようにすることが可能である。
【0067】
以上の場合、処理部296は、入力文章として、例えば「ユーザは魚を飼いたいと思っており、魚を飼育する予定の部屋の室内温度は平均25度です。ユーザから1mの距離にある水槽にはグッピーが飼育されており、寿命は1~2年で、適切な飼育環境は24~27度です。ユーザから2.5mの距離にある水槽には金魚が飼育されており、寿命は7~8年で、適切な飼育環境は20~22度です。ユーザから3mの距離にある水槽にはカクレクマノミが飼育されており、寿命は5~6年で、適切な飼育環境は28~30度です。ユーザから『この魚、家で飼えるかな?』との質問がありました。どのように回答すればいいですか?」というプロンプトを生成し、データ生成モデル58に入力する。
【0068】
このとき、入力文章のプロンプトに、固有プロンプトに関連付けるかたちで水槽までの距離の情報が含まれていることは、特に留意すべき事項である。このように、各固有プロンプトに関連付けて位置情報が付加されることで、データ生成モデル58の回答の精度の向上が期待できる。上述した例においては、ユーザ入力に含まれる「この魚」が、どの水槽の魚であるのかを精度よく推定できる。データ生成モデル58では、前述のプロンプトが入力されると、例えば「はい。グッピーはあなたの家でも買うことができますよ。」というテキストデータを出力することができる。
【0069】
上記2つの例では、いずれも
図3A及び
図3Bに示す状態を例に特定処理の具体例を説明したが、これ以外の状況であっても特定処理は実施でき、種々の付加的な効果を得ることができる。
【0070】
例えば、ユーザが特定のモノ、例えば店舗で販売しているカップ麺に関連する問いかけとして「このヘルシーラーメンってどんなところが魅力なの?」とのユーザ入力をした場合は、特定処理部290は、以下のように動作する。すなわち、当該ユーザ入力を取得すると、先ずデータ処理装置12は、当該ユーザ入力をトリガとして、取得部294を動作させてユーザの周囲のオブジェクトに関連付けられた固有プロンプトとユーザプロンプトとを取得する。ここで取得される固有プロンプトは、例えばカップ麺に付与された二次元コードをユーザがスマートデバイス14で読み取ることで特定することができる。このようにして特定された固有プロンプトが「商品名:ヘルシーラーメン、特徴:通常のカップ麺の50%カロリー、カロリー:200kcal、具材:レタス、卵、ネギ」であるとする。また、ユーザプロンプトが「ダイエット中」であるとする。
【0071】
以上の場合、処理部296は、入力文章として、例えば「ユーザはダイエット中です。ユーザの近くにはヘルシーラーメンというカップ麺があり、特徴は、このカップ麺のカロリーが、通常のカップ麺の50%カロリーである200kcalであることであり、具材には、レタス、卵及びネギが含まれています。ユーザから『このヘルシーラーメンってどんなところが魅力なの?』との質問がありました。どのように回答すればいいですか?」というプロンプトを生成し、データ生成モデル58に入力する。データ生成モデル58では、前述のプロンプトが入力されると、例えば「このヘルシーラーメンはカロリー情報が通常のラーメンの50%になっていて、具材にはレタスが入っています」といったテキストデータを出力することができる。
【0072】
上述のように、ユーザ入力に関連するオブジェクトがカップ麺のような商品の場合、発売時期によってはデータ生成モデル58内に事前にパラメータとして登録されていない可能性がある。したがって、従前の方法ではデータ生成モデル58の回答が正確でない情報に基づいて生成される恐れがある。また、カップ麺の情報をデータ生成モデル58に登録するための再学習はコストが掛かり、新商品が出るたびに再学習させることは手間もかかる。しかし、本実施形態のもののようにオブジェクトの情報を固有プロンプトとして入力文章に付加すれば、データ生成モデル58を再学習させることなくデータ生成モデル58の回答にオブジェクトの正確な情報を反映することができる。したがって、オブジェクトの正確な情報に基づいた回答の生成が期待できる。
【0073】
また、例えば、ユーザが特定の場所、例えばアパートやマンションといった賃貸物件の内見を行っているときに、ユーザ入力として「このアパートって僕の条件に合うかなぁ?」との音声入力を行った場合は、特定処理部290は、以下のように動作する。すなわち、当該ユーザ入力を取得すると、先ずデータ処理装置12は、当該ユーザ入力をトリガとして、取得部294を動作させてユーザの周囲のオブジェクトに関連付けられた固有プロンプトとユーザプロンプトとを取得する。ここで取得される固有プロンプトは、例えばスマートデバイス14のGPS43が測位した位置に隣接する位置に紐づけられたオブジェクトとしての賃貸物件を特定することで、データベース24内の対応する固有プロンプトを特定できる。このようにして特定された固有プロンプトが「家賃:11.2万円、間取り:1LDK」であるとする。また、ユーザプロンプトが「賃貸物件を探している、家賃11万円程度を希望、間取り2LDKを希望」であるとする。
【0074】
以上の場合、処理部296は、入力文章として、例えば「ユーザは、家賃が11万円程度で、間取りが2LDKの賃貸物件を探しています。ユーザの近くには、家賃が11.2万円、間取りが1LDKの賃貸物件があります。ユーザから『このアパートって僕の条件に合うかなぁ?』との質問がありました。どのように回答すればいいですか?」というプロンプトを生成し、データ生成モデル58に入力する。データ生成モデル58では、前述のプロンプトが入力されると、例えば「金銭コストは問題ないです。しかし部屋の間取りが希望条件より少し小さいようですね。」といったテキストデータを出力することができる。
【0075】
上述のように、ユーザ入力に関連するオブジェクトが物件の場合、通常は内見に不動産会社の社員等が同行して説明を行う必要がある。しかし、本実施形態のもののようにオブジェクトの情報を固有プロンプトとして入力文章に付加することで、ユーザは正確な情報に基づいた回答を得ることができるため、不動産会社の社員等に説明をしてもらわなくても、必要な情報を取得できる。また、不動産会社としては、物件の説明のための人員を用意する必要がなく、人員削減が実現できる。
【0076】
以上説明したように、本実施の形態に係るデータ処理装置12、データ処理方法及びプログラムでは、データ生成モデル58に入力する入力文章が、ユーザ入力のみならず、ユーザの周囲のオブジェクトに関連付けられた固有プロンプトが少なくとも含まれる。そのため、データ生成モデル58にユーザ入力に関連する情報を提供することができ、特定処理の精度の向上が期待できる。そして、ユーザの問いかけに対する応答をより適切に実施できる。また、固有プロンプトに位置情報を追加したり、入力文章の生成にユーザプロンプトを利用したりすることで、特定処理の精度をさらに向上させることが期待できる。
【0077】
また、本実施の形態では、固有プロンプトを入力文章に利用することで、最新の情報をデータ生成モデル58に組み込むための再学習が必要無くなり、低コストで回答精度を上げることができる。
【0078】
なお、感情特定モデル60は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、感情特定モデル60は、特定のマッピングである感情マップ(
図6A参照)に従い、ユーザの感情を決定してよい。
【0079】
図6Aは、複数の感情がマッピングされる感情マップ400を示す図である。感情マップ400において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向及び下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ400では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。
【0080】
これらの感情は、感情マップ400の3時の方向に分布しており、普段は安心と不安のあたりを行き来する。感情マップ400の右半分では、内部的な感覚よりも状況認識の方が優位に立つため、落ち着いた印象になる。
【0081】
感情マップ400の内側は心の中、感情マップ400の外側は行動を表すため、感情マップ400の外側に行くほど、感情が目に見える(行動に表れる)ようになる。
【0082】
ここで、人の感情は、姿勢や血糖値のような様々なバランスを基礎としており、それらのバランスが理想から遠ざかると不快、理想に近づくと快という状態を示す。ロボットや自動車やバイク等においても、姿勢やバッテリー残量のような様々なバランスを基礎として、それらのバランスが理想から遠ざかると不快、理想に近づくと快という状態を示すように感情を作ることができる。感情マップは、例えば、光吉博士の感情地図(音声感情認識及び情動の脳生理信号分析システムに関する研究、徳島大学、博士論文:https://ci.nii.ac.jp/naid/500000375379)に基づいて生成されてよい。感情地図の左半分には、感覚が優位にたつ「反応」と呼ばれる領域に属する感情が並ぶ。また、感情地図の右半分には、状況認識が優位にたつ「状況」と呼ばれる領域に属する感情が並ぶ。
【0083】
感情マップでは学習を促す感情が2つ定義される。1つは、状況側にあるネガティブな「懺悔」や「反省」の真ん中周辺の感情である。つまり、「もう2度とこんな想いはしたくない」「もう叱られたくない」というネガティブな感情がロボットに生じたときである。もう1つは、反応側にあるポジティブな「欲」のあたりの感情である。つまり、「もっと欲しい」「もっと知りたい」というポジティブな気持ちのときである。
【0084】
感情特定モデル60は、ユーザ入力を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、ユーザの感情を決定する。このニューラルネットワークは、ユーザ入力と、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、
図6Bに示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。
図6Bでは、「安心」、「安穏」、「心強い」という複数の感情が、近い感情値となる例を示している。
【0085】
感情特定モデル60によって特定された感情値は、入力文章に利用することができる。入力文章に利用する場合には、感情値をプロンプトに変更して入力文章の一部とするとよい。したがって、感情特定モデル60は、本開示の技術に係る「感情決定部」の一例である。このように、感情値を入力文章に利用すれば、特定処理の結果がユーザの感情を反映したものとすることができる。
【0086】
上記実施形態では、1台のコンピュータ22によって特定処理が行われる形態例を挙げたが、本開示の技術はこれに限定されず、コンピュータ22を含めた複数のコンピュータによる特定処理に対する分散処理が行われるようにしてもよい。
【0087】
上記実施形態では、ストレージ32に特定処理プログラム56が格納されている形態例を挙げて説明したが、本開示の技術はこれに限定されない。例えば、特定処理プログラム56がUSB(Universal Serial Bus)メモリなどの可搬型のコンピュータ読み取り可能な非一時的格納媒体に格納されていてもよい。非一時的格納媒体に格納されている特定処理プログラム56は、データ処理装置12のコンピュータ22にインストールされる。プロセッサ28は、特定処理プログラム56に従って特定処理を実行する。
【0088】
また、ネットワーク54を介してデータ処理装置12に接続されるサーバ等の格納装置に特定処理プログラム56を格納させておき、データ処理装置12の要求に応じて特定処理プログラム56がダウンロードされ、コンピュータ22にインストールされるようにしてもよい。
【0089】
なお、ネットワーク54を介してデータ処理装置12に接続されるサーバ等の格納装置に特定処理プログラム56の全てを格納させておいたり、ストレージ32に特定処理プログラム56の全てを記憶させたりしておく必要はなく、特定処理プログラム56の一部を格納させておいてもよい。
【0090】
特定処理を実行するハードウェア資源としては、次に示す各種のプロセッサを用いることができる。プロセッサとしては、例えば、ソフトウェア、すなわち、プログラムを実行することで、特定処理を実行するハードウェア資源として機能する汎用的なプロセッサであるCPUが挙げられる。また、プロセッサとしては、例えば、FPGA(Field-Programmable Gate Array)、PLD(Programmable Logic Device)、又はASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路が挙げられる。何れのプロセッサにもメモリが内蔵又は接続されており、何れのプロセッサもメモリを使用することで特定処理を実行する。
【0091】
特定処理を実行するハードウェア資源は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせ、又はCPUとFPGAとの組み合わせ)で構成されてもよい。また、特定処理を実行するハードウェア資源は1つのプロセッサであってもよい。
【0092】
1つのプロセッサで構成する例としては、第1に、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが、特定処理を実行するハードウェア資源として機能する形態がある。第2に、SoC(System-on-a-chip)などに代表されるように、特定処理を実行する複数のハードウェア資源を含むシステム全体の機能を1つのICチップで実現するプロセッサを使用する形態がある。このように、特定処理は、ハードウェア資源として、上記各種のプロセッサの1つ以上を用いて実現される。
【0093】
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路を用いることができる。また、上記の特定処理はあくまでも一例である。従って、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
【0094】
以上に示した記載内容及び図示内容は、本開示の技術に係る部分についての詳細な説明であり、本開示の技術の一例に過ぎない。例えば、上記の構成、機能、作用、及び効果に関する説明は、本開示の技術に係る部分の構成、機能、作用、及び効果の一例に関する説明である。よって、本開示の技術の主旨を逸脱しない範囲内において、以上に示した記載内容及び図示内容に対して、不要な部分を削除したり、新たな要素を追加したり、置き換えたりしてもよいことは言うまでもない。また、錯綜を回避し、本開示の技術に係る部分の理解を容易にするために、以上に示した記載内容及び図示内容では、本開示の技術の実施を可能にする上で特に説明を要しない技術常識等に関する説明は省略されている。
【0095】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【符号の説明】
【0096】
10 データ処理システム
12 データ処理装置
14 スマートデバイス
58 データ生成モデル(文章生成モデルの一例)
60 感情特定モデル(感情決定部の一例)
290 特定処理部
292 入力部
294 取得部
296 処理部
298 出力部