(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161357
(43)【公開日】2023-11-07
(54)【発明の名称】情報処理システム、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20231030BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022071699
(22)【出願日】2022-04-25
(71)【出願人】
【識別番号】399033290
【氏名又は名称】学校法人 追手門学院
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】神崎 享子
(72)【発明者】
【氏名】井佐原 均
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】コンピュータと人間との対話に基づく人間同士のマッチングの精度を向上すること。
【解決手段】情報処理装置は、ユーザに関するユーザ情報を記憶する記憶部と、前記ユーザに対する発話文を出力する出力部と、前記発話文に応じた前記ユーザからの応答文を取得する取得部と、前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する推定部と、前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザに関するユーザ情報を記憶する記憶部と、
前記ユーザに対する発話文を出力する出力部と、
前記発話文に応じた前記ユーザからの応答文を取得する取得部と、
前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する推定部と、
前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、
前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、
を備える情報処理システム。
【請求項2】
前記記憶部は、時制と関連付けて前記ユーザ情報を記憶し、
前記更新部は、自然言語処理により前記応答文の時制を認識し、前記認識された時制に関連付けられる前記ユーザ情報を、前記応答文の少なくとも一部を含むように更新する、
請求項1に記載の情報処理システム。
【請求項3】
前記更新部は、前記認識された時制より時間的に後の時制に関連付けられる前記ユーザ情報を、前記応答文と矛盾する内容を含まないように更新する、
請求項2に記載の情報処理システム。
【請求項4】
前記記憶部は、トピックと関連付けて前記ユーザ情報を記憶し、
前記更新部は、自然言語処理により前記応答文のトピックを認識し、前記認識されたトピックに関連付けられる前記ユーザ情報を、前記応答文に基づいて更新する、
請求項3に記載の情報処理システム。
【請求項5】
前記記憶部は、話の切り替わりの検出によって区切られた発話文と応答文の複数のペアを含む対話データで構成される対話コーパスを記憶し、
前記推定部は、前記発話文と前記応答文とのペアに基づいて、前記対話コーパスを用いて、前記次の発話文を推定する、
請求項1から請求項4のいずれかに記載の情報処理システム。
【請求項6】
前記更新部は、前記出力部から出力された前記発話文と前記取得部によって取得された前記応答文とのペアに基づいて、前記対話コーパスを更新する、
請求項5に記載の情報処理システム。
【請求項7】
ユーザに関するユーザ情報を記憶する記憶部を備える情報処理システムにおける情報処理方法であって、
前記ユーザに対する発話文を出力する工程と、
前記発話文に応じた前記ユーザからの応答文を取得する工程と、
前記発話文と前記応答文とのペアに基づいて、前記ユーザに対する次の発話文を推定する工程と、
取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する工程と、
更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行う工程と、
を備える情報処理方法。
【請求項8】
プロセッサを、
ユーザに関するユーザ情報を記憶する記憶部と、
前記ユーザに対する発話文を出力する出力部と、
前記発話文に応じた前記ユーザからの応答文を取得する取得部と、
前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する推定部と、
前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、
前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、
して機能させる情報処理プログラム。
【請求項9】
ユーザに関するユーザ情報を記憶する記憶部と、
前記ユーザからの発話文を取得する取得部と、
前記発話文に応じた前記ユーザに対する応答文を出力する出力部と、
前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の応答文を推定する推定部と、
前記取得部によって取得された発話文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、
前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
近年、コンピュータと人間との対話に基づいて、人間同士をマッチングするシステムの研究が進められている。例えば、特許文献1には、エージェントと呼ばれる仮想的な人物としてのコンピュータとユーザとの対話に応じて、エージェントと同様の性格や嗜好を持つ実在の人物をマッチングし、シームレスに実在の人物とのコミュニケーションや出会いに繋げる実世界指向のシステムが記載されている。
【0003】
具体的には、特許文献1には、ユーザからの質問に対するエージェントの回答をユーザの属性に近づけるようにエージェントの属性を更新し、更新されたエージェントの属性に、予め登録された属性が類似する実在の人物を相手候補として当該ユーザとマッチングさせることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
人間の嗜好や状況は動的に変化し得る。しかしながら、特許文献1に記載のシステムでは、ユーザの属性に近づけるようにエージェントの属性が更新されるだけで、相手候補となる実在の人物の属性は予め登録されたものにすぎない。このため、動的に変化し得る相手候補の嗜好や状況の動的な変化を考慮できず、ユーザに最適な相手をマッチングできない恐れがある。
【0006】
そこで、本開示は、コンピュータと人間との対話に基づく人間同士のマッチングの精度を向上可能な情報処理システム、情報処理方法及び情報処理プログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る情報処理システムは、ユーザに関するユーザ情報を記憶する記憶部と、前記ユーザに対する発話文を出力する出力部と、前記発話文に応じた前記ユーザからの応答文を取得する取得部と、前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する推定部と、前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、を備える。
【0008】
上記態様によれば、ユーザに対して出力された発話文に応じて当該ユーザから取得された応答文の少なくとも一部を含むように、当該ユーザUのユーザ情報が更新され、更新されたユーザ情報に基づいてユーザU間のマッチングが行われる。したがって、動的に変化し得るユーザの嗜好や状況を考慮することができ、コンピュータと人間との対話に基づく人間同士のマッチングの精度を向上できる。
【0009】
上記態様において、前記記憶部は、時制と関連付けて前記ユーザ情報を記憶し、前記更新部は、自然言語処理により前記応答文の時制を認識し、前記認識された時制に関連付けられる前記ユーザ情報を、前記応答文の少なくとも一部を含むように更新してもよい。
【0010】
上記態様によれば、ユーザから取得された応答文の時制に関連付けられるユーザ情報が当該応答文の少なくとも一部を含むように更新される。したがって、時間的な経過に伴ったユーザの嗜好や状況の変化を把握することができ、人間同士のマッチングの精度をより向上できる。
【0011】
上記態様において、前記更新部は、前記認識された時制より時間的に後の時制に関連付けられる前記ユーザ情報を、前記応答文と矛盾する内容を含まないように更新してもよい。上記態様によれば、時間的な経過に伴ったユーザの嗜好や状況の変化をより適切に把握することができ、人間同士のマッチングの精度をより向上できる。
【0012】
上記態様において、前記記憶部は、トピックと関連付けて前記ユーザ情報を記憶し、前記更新部は、自然言語処理により前記応答文のトピックを認識し、前記認識されたトピックに関連付けられる前記ユーザ情報を、前記応答文に基づいて更新してもよい。上記態様によれば、トピックを考慮することができるので、人間同士のマッチングの精度をより向上できる。
【0013】
上記態様において、前記記憶部は、話の切り替わりの検出によって区切られた発話文と応答文の複数のペアを含む対話データで構成される対話コーパスを記憶し、前記推定部は、前記発話文と前記応答文とのペアに基づいて、前記対話コーパスを用いて、前記次の発話文を推定してもよい。上記態様によれば、コンピュータと人間との対話を円滑に進めることができる。
【0014】
上記態様において、前記更新部は、前記出力部から出力された前記発話文と前記取得部によって取得された前記応答文とのペアに基づいて、前記対話コーパスを更新してもよい。上記態様によれば、コンピュータと人間との対話をより円滑に進めることができる。
【0015】
本開示の他の態様に係る情報処理方法は、ユーザに関するユーザ情報を記憶する記憶部を備える情報処理システムにおける情報処理方法であって、前記ユーザに対する発話文を出力する工程と、前記発話文に応じた前記ユーザからの応答文を取得する工程と、前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する工程と、前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する工程と、前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行う工程と、を備える。
【0016】
本開示の他の態様に係る情報処理プログラムは、情報処理システムに備えられたプロセッサを、ユーザに関するユーザ情報を記憶する記憶部と、前記ユーザに対する発話文を出力する出力部と、前記発話文に応じた前記ユーザからの応答文を取得する取得部と、前記発話文と前記応答文とのペアに基づいて、前記出力部から出力される前記ユーザに対する次の発話文を推定する推定部と、前記取得部によって取得された応答文の少なくとも一部を含むように、前記ユーザ情報を更新する更新部と、前記更新部によって更新されたユーザ情報に基づいて、前記ユーザと他のユーザとのマッチングを行うマッチング部と、として機能させる。
【発明の効果】
【0017】
本開示の一態様によれば、コンピュータと人間との対話に基づく人間同士のマッチングの精度を向上できる。
【図面の簡単な説明】
【0018】
【
図1】本実施形態に係る情報処理システムの概要を示す図である。
【
図2】本実施形態に係る対話コーパスの一例を示す図である。
【
図3】本実施形態に係る個人ファイルの一例を示す図である。
【
図4】本実施形態に係るユーザ情報の更新の一例を示す図である。
【
図5】本実施形態に係るマッチングの一例を示す図である。
【
図6】本実施形態に係る情報処理システムの物理構成の一例を示す図である。
【
図7】本実施形態に係る情報処理システムの機能構成の一例を示す図である。
【
図8】本実施形態に係る情報処理システムの動作の一例を示すフローチャートである。
【
図9】本実施形態に係る情報処理システムの動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【0019】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0020】
(情報処理システムの概要)
図1は、本実施形態に係る情報処理システムの概要を示す図である。
図1に示すように、情報処理システム1は、あるコミュニティ(例えば、高齢者施設、介護施設等)に所属するユーザU間のマッチングに用いられる。例えば、
図1では、あるコミュニティに属するユーザU1及びU2が示されるが、コミュニティに属するユーザ数は2に限られない。また、ユーザU1及びU2、不図示のコミュニティ内のユーザを総称する場合はユーザUと呼ぶ。
図1に示すように、情報処理システム1は、対話システム2と、マッチングシステム3と、を含んでもよい。
【0021】
対話システム2では、対話装置10は、後述する対話コーパスを用いて、コミュニティに属するユーザUとの対話を行う。対話装置10は、各ユーザUとの対話により、各ユーザUに関する情報(以下、「ユーザ情報」という)を更新する。マッチングシステム3では、マッチング装置20は、各ユーザUとの対話により更新されたユーザ情報に基づいて、ユーザU間のマッチングを行う。以下、(1)対話処理、(2)ユーザ情報の更新処理、(3)マッチング処理について説明する。
【0022】
(1)対話処理
対話装置10は、ユーザUに対する発話文Dを出力し、当該発話文Dに応じたユーザUからの応答文Aを取得する。対話装置10は、当該発話文Dと当該応答文Aとのペア(以下、「対話ペア」という)に基づいて、次の発話文Dを推定する。具体的には、対話装置10は、当該対話ペアに基づいて、対話コーパスを用いて、次の発話文Dを推定してもよい。
【0023】
図2は、本実施形態に係る対話コーパスの一例を示す図である。
図2に示すように、対話コーパスは、複数の対話データを含む。各対話データは、話の切り替わりの検出によって区切られた複数の対話ペアを含んでもよい。話の切り替わりは、例えば、特定のキーワード又はフレーズ(例えば、「そういえば」、「話は変わるけど」など)の検出、空白区間の検出等に基づいて検出されてもよい。
【0024】
また、各対話データは、トピック毎に分類されてもよい。各対話データが分類されるトピックは、各対話データに含まれる発話文D及び/又は応答文Aに基づいて決定されてもよい。例えば、当該トピックは当該複数の対話ペア内で高頻度に出現するキーワードに基づいて決定されてもよいし、最初の対話ペアから抽出された名詞に基づいて決定されてもよい。
【0025】
ここで、「x」を対話データのインデックスとし、「i」を対話データ#xに含まれる対話ペアの添え字とし、対話データ#x内の対話ペアの数をNxとする場合、
図2に示すように、対話データ#x内の対話ペア#xiは、発話文Dxiと応答文Axi(0<i<Nx)とで示される。添え字iは、対話の時間的な順番に基づいてカウントアップされる。例えば、
図2では、X=1~7であり、i=1~3であるが、これに限られない。また、対話データ間で対話ペアの数Nxが異なってもよい。例えば、
図2では、トピックAとして「野球」、トピックBとして「甘いもの、ケーキ、お菓子」、トピックCとして「歴史」が定められており、対話データ#xに含まれる発話文#xi及び/又は応答文#xiに基づいて、当該対話データ#xが分類されるトピックが決定される。
【0026】
図2に示す対話コーパスは、一般に公開されているコーパスを利用してもよいし、又は、台本、ソーシャルネットワーキングサービス(SNS)のログに基づいて生成されてもよい。また、対話コーパスは、ユーザU間のマッチングを行うコミュニティにおける会話の録音データに基づいて生成されてもよい。また、対話コーパスは、対話装置10とユーザUとの対話に基づいて更新されてもよい。
【0027】
図1では、対話装置10は、ユーザU1に対して出力された発話文Dと当該発話文Dに応じてユーザU1から取得された応答文Aとの対話ペアと類似度が高い対話ペアを、対話コーパスを参照して決定し、決定された対話ペアから次の発話文Dを推定してもよい。例えば、当該ユーザU1に対して出力された発話文Dと当該発話文Dに応じてユーザU1から取得された応答文Aとの対話ペアが、
図2の対話データ#2内の発話文D21と応答文A21との対話ペア#21と類似する場合、対話装置10は、次の発話文Dとして発話文D22をユーザU1に出力する。同様に、次の発話文Dとして出力された発話文D22に応じてユーザU1から取得された応答文Aとの対話ペアが、
図2の対話データ#2内の発話文D22と応答文A22との対話ペア#22と類似する場合、対話装置10は、次の発話文Dとして発話文D23をユーザU1に出力する。同様に、対話装置10は、ユーザU2との間でも、発話文Dの出力及び応答文Aの取得を行う。
【0028】
このように、対話装置10は、ユーザUとの間において、直前の対話ペアと類似度が高い対話コーパス内の対話ペア#xiを決定し、当該対話ペア#xiの次の発話文Dx(i+1)を、ユーザUに対する次の発話文Dとして推定してもよい。なお、対話装置10は、ユーザUに対する最初の発話文Dについては、予め登録されたトピックの対話データの中から選択された対話データ#xの最初の発話文Dx1を選択してもよい。
【0029】
(2)ユーザ情報の更新処理
対話装置10は、ユーザUに対して出力された発話文Dに応じてユーザUから取得された応答文Aの少なくとも一部を含むように、ユーザUのユーザ情報を更新する。ここで、ユーザ情報は、ユーザUからの応答文Aに基づく情報であり、例えば、応答文Aそのもの又は応答文Aから抽出される情報を含み、応答文Aに基づいて推定される情報を含んでもよい。
【0030】
また、対話装置10は、当該応答文Aに対する自然言語処理(例えば、形態素解析)により当該応答文Aの時制を認識し、認識された時制と関連付けられるユーザ情報を、当該応答文Aの少なくとも一部を含むように更新してもよい。具体的には、対話装置10は、応答文Aの形態素解析により抽出される副詞的表現、末尾の助動詞、動詞等に基づいて当該応答文Aの時制を認識してもよい。
【0031】
また、対話装置10は、当該応答文Aに対する自然言語処理(例えば、意味解析)により当該応答文Aのトピックを認識し、認識されたトピックと関連付けられるユーザ情報を、当該応答文Aに基づいて更新してもよい。
【0032】
「過去」、「現在」、「未来」等のそれぞれの時制に関連付けられるユーザUのユーザ情報は、ユーザU毎の個人ファイルに格納されてもよい。また、ユーザU毎の個人ファイルにおいて、時制毎のユーザUのユーザ情報はトピックに関連付けられてもよい。
【0033】
図3は、本実施形態に係る個人ファイルの一例を示す図である。
図3に示す個人ファイルでは、時制及びトピックに関連付けてユーザ情報が格納される。例えば、ユーザUから取得された応答文Aが「阪神-巨人戦を昔よく見に行った。」である場合、副詞的表現「よく」及び末尾の動詞「見に行った」の時制により、応答文Aの時制が「過去」と認識されてもよい。また、対話装置10は、応答文Aの意味解析によりトピック「野球」を認識する。対話装置10は、認識された時制「過去」及びトピック「野球」に関連付けて、応答文A「阪神-巨人戦をよく見に行った。」そのものを個人ファイルに格納する。
【0034】
なお、
図3では、答文Aから認識された時制及びトピックに関連付けられたユーザ情報として、ユーザU1から取得された応答文Aそのものが格納されるが、これに限られない。当該ユーザ情報としては、例えば、応答文A「高校時代は野球部だった」の少なくとも一部が含まれればよく、当該応答文Aから推定される情報(例えば、野球部、応答文Aの日付)等が格納されてもよい。
【0035】
以上ように、個人ファイルには、ユーザUからの応答文Aの少なくとも一部を含むユーザ情報が格納される。なお、個人ファイルに格納されるユーザ情報のうち、時間的に変化が起こり得るユーザ情報は「動的ユーザ情報」と呼ばれ、時間的に変化が起こらないユーザ情報は「静的ユーザ情報」と呼ばれてもよい。動的ユーザ情報は、応答文Aから取得される情報であってもよく、例えば、野球観戦の有無、旅行の有無、ダイエットの有無などであってもよい。静的ユーザ情報は、予め登録されたユーザUの属性に関する情報であってもよいし、応答文Aから取得される情報であってもよく、例えば、生年月日、出身校、卒業年度等であってもよい。
【0036】
図4は、本実施形態に係るユーザ情報の更新の一例を示す図である。
図4では、対話装置10が、ユーザUからの新たな応答文A「この前、巨人-阪神戦を見に行ったよ」を取得する場合を想定する。対話装置10は、当該応答文Aに対する形態素解析に基づいて、当該応答文Aの時制「過去」を認識する。
【0037】
例えば、
図4では、対話装置10は、応答文Aから認識された時制「過去」に関連付けられるユーザ情報「高校時代は野球部だった。阪神-巨人戦をよく見に行った。」に対して、新たな応答文Aに基づく情報「この前、巨人-阪神戦を見に行ったよ。(2020年9月15日)」を追加する。なお、「(2020年9月15日)」は、当該応答文Aが取得された日付であり、対話装置10によって追加されるものであってもよい。このように、応答文Aの時制「過去」に関連付けられるユーザ情報は、当該新たな応答文Aの少なくとも一部を含むように更新されればよく、応答文Aに基づく情報(例えば、応答文Aの取得日付、応答文Aから推定される情報等)を含んでもよい。
【0038】
また、
図4では、対話装置10は、応答文Aから認識された時制「過去」より時間的に後の時制である「現在」及び「未来」には、それぞれユーザ情報「野球は今でも好きだ。最近、野球の試合を見に行けない」及び「阪神-巨人戦を見に行きたいなぁ」が関連付けられている。一方、時制「現在」に関連付けられるユーザ情報内の「最近、野球の試合を見に行けない。」は、新たな応答文A「この前、巨人-阪神戦を見に行ったよ。」の反義表現であるため、当該ユーザ情報から削除される。また、時制「現在」に関連付けられるユーザ情報内の「阪神-巨人戦を見に行きたいなぁ」は、新たな応答文A「この前、巨人-阪神戦を見に行ったよ。」と同じトピックで動詞「見に行く」が一致するので、当該ユーザ情報から削除される。このように、対話装置10は、新たな応答文Aの時制より時間的に後の時制のユーザ情報を、当該応答文Aと矛盾する内容を含まないように更新してもよい。
【0039】
(3)マッチング処理
マッチング装置20は、以上のように更新されたユーザ情報に基づいて、ユーザUと他のユーザUとのマッチングを行う。具体的には、マッチング装置20は、異なるユーザUのユーザ情報間の時制の組み合わせと、当該ユーザ情報間の所定のルールに基づいて、ユーザU間のマッチングを行ってもよい。当該所定のルールは、ペアとなる表現(以下、「ペアリング表現」)及び/又はトピックに基づくルールであり、対話コーパスの分析により生成されてもよい。なお、マッチング装置20は、2人以上のユーザU間でマッチングを行えばよく、マッチングされた2人以上のグループを形成してもよい。
【0040】
図5は、本実施形態に係るマッチングの一例を示す図である。
図5に示すように、マッチングは、異なるユーザのユーザ情報が関連付けられる時制の組み合わせと、当該異なるユーザのユーザ情報間の所定のルールに基づいて行われる。例えば、
図5では、
図1に示すユーザU1とユーザU2のユーザ情報間の時制の組み合わせとして、「現在-現在」、「過去-過去」、「未来-未来」等の同一時制の組み合わせだけでなく、「現在-未来」、「現在-過去」、「過去-未来」等の異なる時制の組み合わせが示される。
【0041】
また、
図5では、上記時制の組み合わせに対応するユーザ情報同士が、上記ペアリング表現及びトピックに基づく所定のルールに従ってペアリングされる。ペアリング表現は、例えば、評価や感情を表す形容詞的述語表現(好き、面白い、興味があるなど)、副詞、助動詞、副詞と文末の助動詞の組み合わせに基づいて決定されてもよい。例えば、
図5では、時制の組み合わせが「現在-現在」である場合のペアリング表現として、「好きです」と「好きです」、「よく…ている」と「興味がある」等が規定されている。マッチング装置20は、ペアリング表現を含むユーザ情報同士のトピックに基づいて、当該ユーザ情報同士をペアリングしてもよい。例えば、
図5では、ペアリング表現を含むユーザ情報同士のトピック(ここでは、「美空ひばり」又は「古地図」)が共通であるので、当該ユーザ情報同士がペアリングされる。
【0042】
なお、ペアリング表現は、時制同士の組み合わせ毎に定められてもよい。例えば、時制の組み合わせが「現在-未来」である場合には、ペアリング表現として「…ている」と「…みたいなぁ」等、当該時制の組み合わせが「現在-過去」である場合にはペアリング表現として「面白い」と「やっていた」等が規定されてもよい。このように、ユーザ情報同士のペアリングは、時制同士の組み合わせ毎に規定されたペアリング表現と、当該ペアリング表現を含むユーザ情報同士のトピックに基づいて行われてもよい。
【0043】
また、ユーザ情報同士のペアリングに用いられる所定のルールは、ペアリングを回避するルール(以下、「ペアリング回避ルール」という)に基づいてもよい。例えば、ユーザU1のユーザ情報「昔、映画が好きだった」と、ユーザU2のユーザ情報「最近の映画は面白い」とは、「昔の映画が好きな人」と「今の映画の好きな人」は合わないと想定されるので、ユーザU1及びU2のペアリングが回避されてもよい。具体的には、ユーザU1及びU2の当該ユーザ情報同士は、トピック「映画」が同一であっても、ペアリング回避ルール「昔、…好きだった」と「最近…面白い」に従ってペアリングが回避されてもよい。また、ユーザU1のユーザ情報「お昼を食べた」と、ユーザU2のユーザ情報「ランチを食べた」とは、昼食が済んだユーザ同士が昼食の情報を交換する必要がないので、ユーザU1及びU2のペアリングが回避されてもよい。また、ユーザU1のユーザ情報「お昼を食べに行きたい」と、ユーザU2のユーザ情報「ランチを食べた」とは、矛盾するので、ユーザU1及びU2のペアリングが回避されてもよい。このように、ペアリング回避ルールは、相反する副詞の組み合わせ(例えば、「昔」と「最近」)、文脈、助動詞、動詞、文末の助動詞の組み合わせ等の少なくとも一つに基づいて決定されてもよい。
【0044】
以上のように、本実施形態に係る情報処理システム1では、対話装置10と各ユーザUとの対話により各ユーザUのユーザ情報が更新され、更新されたユーザ情報に基づいてユーザU間のマッチングが行われる。したがって、動的に変化し得る各ユーザUの嗜好や状況を考慮することができ、すなわち、「動的な人間同士のマッチング」を行うことができるので、コンピュータと人間との対話により人間同士のマッチングの精度を向上できる。
【0045】
また、トピック毎に人間同士のマッチングを可能となるので、トピック毎に異なるユーザをマッチングすることができる。具体的には、トピックが異なる場合、異なるユーザ同士をマッチングし得る。例えば、トピックが「野球」の場合にはユーザU1とユーザU2とがマッチングされるのに対して、トピックが「映画」の場合にはユーザU1とユーザU2とは異なる他のユーザUがマッチングされる。このように、トピック毎に動的に更新されるユーザ情報に基づいてユーザU間のマッチングを行うことにより、トピック毎に最適な相手候補が動的に選定されるので、コミュニティの活性化に効果的に寄与できる。
【0046】
なお、
図1では、対話システム2を構成する対話装置10としてロボットが図示されるが、対話装置10は、ロボットに限られず、一つ又は複数のコンピュータで構成されればよい。対話装置10は、一つの装置であってもよいし、後述する対話装置10の機能構成の一部をそれぞれ実現する複数の装置で構成されてもよい。同様に、マッチングシステム3を構成するマッチング装置20は、一つの装置であってもよいし、後述するマッチング装置20の機能構成の一部をそれぞれ実現する複数の装置で構成されてもよい。また、対話システム2には、対話装置10に加えて入出力用の装置(以下、「入出力装置」)が設けられ、対話システム2が入出力装置としての端末(例えば、ロボット、スマートフォン、タブレット又はパーソナルコンピュータ)と対話装置10としての一以上のサーバを含んで構成されてもよい。同様に、マッチングシステム3には、マッチング装置20とは別に入出力装置が設けられ、マッチングシステム3が入出力装置としての端末(例えば、ロボット、スマートフォン、タブレット又はパーソナルコンピュータ)とマッチング装置20としての一以上のサーバを含んで構成されてもよい。
【0047】
(情報処理システムの構成)
次に、本実施形態の情報処理システム1を構成する対話装置10及びマッチング装置20の構成を説明する。なお、以下では、対話装置10とユーザUとの対話は音声信号を用いて行う場合の構成を一例として説明する。
【0048】
図6は、本実施形態に係る情報処理システム1の物理構成の一例を示す図である。情報処理システム1を構成する各装置(例えば、対話装置10及びマッチング装置20)は、演算部に相当するプロセッサ10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read Only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、音声入力部10gと、音声出力部10hと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、
図6で示す構成は一例であり、各装置はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0049】
プロセッサ10aは、例えば、CPU(Central Processing Unit)である。プロセッサ10aは、RAM10b又はROM10cに記憶されているプログラムを実行することにより、各装置における各種処理を制御する制御部である。プロセッサ10aは、各装置が備える他の構成と、プログラムとの協働により、各装置の機能を実現し、処理の実行を制御する。プロセッサ10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0050】
RAM10b及びROM10cは、各種処理に必要なデータ及び処理結果のデータを記憶する記憶部である。各装置は、RAM10b及びROM10c以外に、ハードディスクドライブ等の大容量の記憶部を備えてもよい。RAM10b及びROM10cは、例えば、半導体記憶素子で構成されてもよい。
【0051】
通信部10dは、各装置を他の機器に接続するインターフェースである。通信部10dは、他の機器と通信する。入力部10eは、ユーザからデータの入力を受け付けるためのデバイスや、各装置の外部からデータを入力するためのデバイスである。入力部10eは、例えば、キーボード、マウス及びタッチパネル等を含んでよい。表示部10fは、プロセッサ10aによる制御に従って、情報を表示するデバイスである。表示部10fは、例えば、LCD(Liquid Crystal Display)により構成されてよい。音声入力部10gは、音声を収音するデバイスであり、例えば、マイクである。音声出力部10hは、音声を出力するデバイスであり、例えば、スピーカーである。
【0052】
各装置を実行させるためのプログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続されるネットワークを介して提供されてもよい。各装置では、プロセッサ10aが当該プログラムを実行することにより、各装置を制御するための様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、各装置は、プロセッサ10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0053】
図7は、本実施形態に係る情報処理システム1の機能構成の一例を示す図である。
図7に示すように、対話装置10は、記憶部101、出力部102、取得部103、推定部104、更新部105を備える。
【0054】
記憶部101は、対話コーパスを記憶する。具体的には、記憶部101は、
図2に示すように、話の切り替わりの検出によって区切られた発話文Dxiと応答文Axiの複数の対話ペア#xi(1<i≦Nx)を含む対話データ#xで構成される対話コーパスを記憶してもよい。対話コーパスでは、当該対話データ#xがトピックに関連付けられてもよい。
【0055】
記憶部101は、各ユーザUのユーザ情報を個人ファイルに格納して記憶する。具体的には、記憶部101は、
図3に示す個人ファイルのように、時制と関連付けてユーザ情報を記憶してもよい。また、記憶部101は、トピックに関連付けてユーザ情報を記憶してもよい。
【0056】
出力部102は、ユーザUに対する発話文Dを出力する。具体的には、出力部102は、当該発話文Dに基づいて音声合成を行って音声信号を生成し、生成された音声信号を、音声出力部10hを介して出力してもよい。又は、出力部102は、不図示の端末に対して通信部10dを介して当該音声信号を送信してもよい。なお、出力部102は、対話コーパスに基づいて選択される最初の発話文Dx1(
図2では、x=1~7)を除いて、推定部104によって推定された発話文Dを出力してもよい。
【0057】
取得部103は、出力部102から出力された発話文Dに応じたユーザUからの応答文Aを取得する。具体的には、取得部103は、音声入力部10gに入力された音声信号に対して音声認識処理を行い、応答文Aを取得してもよい。又は、取得部103は、不図示の端末から通信部10dを介して受信される音声信号を取得してもよい。
【0058】
推定部104は、出力部102から出力された発話文Dと取得部103によって取得された応答文Aとの対話ペアに基づいて、出力部102から出力されるユーザUに対する次の発話文Dを推定する。具体的には、推定部104は、当該対話ペアに基づいて、記憶部101に記憶された対話コーパスを用いて、上記次の発話文Dを推定してもよい。例えば、
図2に示すように、推定部104は、上記対話ペアに類似する対話ペア#xiを検出し、次の発話文Dx(i+1)を決定してもよい。例えば、対話ペア#xiとして
図2の発話文D21及び応答文A21の対話ペア#21が検出される場合、推定部104は発話文D22を次の発話文Dとして決定してもよい。
【0059】
更新部105は、取得部103によって取得された応答文Aの少なくとも一部を含むように、記憶部101に記憶されたユーザ情報を更新する。具体的には、更新部105は、自然言語処理により応答文Aの時制を認識し、当該認識された時制に関連付けられるユーザ情報を、応答文Aの少なくとも一部を含むように更新する。例えば、
図4に示すように、応答文Aが「この前、巨人-阪神戦を見に行ったよ。」である場合、当該応答文Aの時制「過去」に関連付けられるユーザ情報に、当該応答文Aに基づく情報「この前、巨人-阪神戦を見に行ったよ。(2020年9月15日)」を追加してもよい。
【0060】
また、更新部105は、応答文Aから認識された時制より時間的に後の時制に関連付けられるユーザ情報を、応答文Aと矛盾する内容を含まないように更新してもよい。例えば、
図4に示すように、応答文Aが「この前、巨人-阪神戦を見に行ったよ。」である場合、当該応答文Aの時制「過去」より後の時制「現在」及び「未来」に関連付けられるユーザ情報から、当該応答文Aの内容と矛盾する情報「最近、野球の試合を見に行けない」及び「阪神-巨人戦を見に行きたいなぁ」を削除してもよい。
【0061】
また、更新部105は、自然言語処理により応答文Aのトピックを認識し、認識されたトピックに関連付けられるユーザ情報を、応答文Aに基づいて更新してもよい。例えば、
図3に示すように、更新部105は、応答文Aが「巨人-阪神戦をよく見に行った。」である場合、当該応答文Aのトピック「野球」に関連付けられるユーザ情報に、当該応答文Aに基づく情報「巨人-阪神戦をよく見に行った。」を追加してもよい。
【0062】
また、更新部105は、出力部102から出力される発話文Dと取得部103によって取得される応答文Aとの対話ペアに基づいて、記憶部101に記憶された対話コーパスを更新してもよい。例えば、
図2の対話コーパスを用いて推定部104によって推定された発話文D22に応じて取得部103によって応答文A22’が取得される場合、対話コーパスに記憶された応答文A22と取得部103によって取得された応答文A22’が異なるため、対話コーパス内に当該発話文D22と応答文A22’の対話ペア#22’を含む対話データ#2’が追加されてもよい。このように、対話コーパスに記憶されていない応答文Aが取得された場合、当該応答文Aと発話文Dとの対話ペアが対話コーパスに追加されてもよい。
【0063】
図7に示すように、マッチング装置20は、取得部201、マッチング部202、及び、出力部203を備える。取得部201は、ユーザ同士のマッチングの要求(以下、「マッチング要求」という)を取得する。例えば、取得部201は、入力部10e又は音声入力部10gから入力されるマッチング要求を取得してもよい。又は、取得部201は、不図示の入出力装置(例えば、ロボット、スマートフォン、タブレット又はパーソナルコンピュータ)から通信部10dを介して受信されるマッチング要求を取得してもよい。例えば、トピック「野球」でユーザU1と他のユーザをマッチングさせる場合、マッチング要求には、トピック「野球」の識別情報及びユーザU1の識別情報が含まれてもよい。なお、マッチング要求は、上記に限られず、トピックの識別情報及び/又はユーザの識別情報が含まれてもよいし、又は、コミュニティの識別情報が含まれてもよい。また、取得部201は、所定の条件が満たされた場合、自律的にマッチング要求を取得したものと判断してもよい。
【0064】
マッチング部202は、更新部105によって更新されたユーザ情報に基づいて、ユーザUと他のユーザUとのマッチングを行う。具体的には、マッチング部202は、取得部201で取得されたマッチング要求に応じて、異なるユーザのユーザ情報間の時制の組み合わせと、当該ユーザ情報間の所定のルールに基づいて、ユーザU間のマッチングを行ってもよい。例えば、
図5に示すように、時制の組み合わせが合致するユーザU1及びU2のユーザ情報間で、ペアリング表現が含まれるとともに、トピックが共通する場合に、当該ユーザ情報がペアリングされる。マッチング部202は、ユーザU間でペアリングされたユーザ情報の数に基づいて、ユーザと他のユーザとのマッチングを行ってもよい。また、マッチング部202は、ユーザU間でペアリングされたユーザ情報の関連性の強さに基づいて、ユーザと他のユーザとのマッチングを行ってもよい。また、マッチング部は、更新部105によって更新されたユーザ情報に基づいて、ユーザどうしの引き合わせが可能かどうかを判定して、ユーザU間のマッチングを行ってもよい。
【0065】
出力部203は、マッチング部202によるマッチングの結果を出力する。出力部203は、表示部10f又は音声出力部10hからマッチングの結果を出力してもよい。又は、出力部203は、不図示の端末に対して通信部10dを介してマッチングの結果を送信してもよい。
【0066】
(情報処理システムの動作)
図8は、本実施形態に係る情報処理システムの動作の一例を示すフローチャートである。なお、
図8は一例にすぎず、少なくとも2つのステップ(例えば、ステップS104及びS105)の順序は入れ替えられてもよいし、一部のステップ(例えば、ステップS105)が省略されてもよい。また、
図8の各ステップは、ユーザUに対する発話文DとユーザUからの応答文Aの対話ペア毎に繰り替えされる。
【0067】
図8に示すように、ステップS101において、対話装置10は、ユーザUに対する発話文Dを決定する。具体的には、対話装置10は、ユーザUに対する最初の発話文Dとして、対話コーパス(例えば、
図2)から、予め登録されたトピックの対話データ#xの発話文Dx1を選択してもよい。一方、対話装置10は、ユーザUに対する2回目以降の発話文Dを、直前の発話文Dと応答文Aとの対話ペアに基づいて推定してもよい。例えば、対話装置10は、直前の発話文Dと応答文Aとの対話ペアが、対話コーパス(例えば、
図2)内の対話データ#xの発話文Dxi及び応答文Axiの対話ペア#xiに類似する場合、発話文Dx(i+1)を次の発話文Dとして決定してもよい。
【0068】
ステップS102において、対話装置10は、ステップS101で決定された発話文Dを出力する。ステップS103において、対話装置10は、ステップS102で出力された発話文Dに応じたユーザUからの応答文Aを取得する。
【0069】
ステップS104において、対話装置10は、ステップS103で取得された応答文Aの少なくとも一部を含むように、ユーザUのユーザ情報を更新してもよい。具体的には、
図4で説明したように、対話装置10は、当該応答文Aから認識される時制に関連付けられたユーザ情報を、当該応答文Aの少なくとも一部を含むように更新する。また、対話装置10は、当該時制より後の時制に関連付けられるユーザ情報を、当該応答文Aと矛盾する内容を含まないように更新する。
【0070】
ステップS105において、対話装置10は、ステップS102で出力された発話文DとステップS103で取得された応答文Aとの対話ペアに基づいて対話コーパス(例えば、
図2)を更新する。
【0071】
ステップS106において、対話装置10は、対話を終了するか否かを判定する。対話を終了しない場合、本動作はステップS101に戻り、対話を終了する場合、本動作は終了する。
【0072】
図9は、本実施形態に係る情報処理システムの動作の他の例を示すフローチャートである。
図9に示すように、ステップS201において、マッチング装置20は、マッチング要求を取得する。上記の通り、マッチング装置20は、所定の条件が満たされた場合にマッチング要求を取得したものと自律的に判断してもよい。ステップS202において、マッチング装置20は、対話装置10で更新されたユーザ情報に基づいてユーザU間のマッチングを行う。ステップS203において、マッチング装置20は、マッチングの結果を出力する。
【0073】
以上のように、本実施形態に係る情報処理システム1によれば、対話装置10と各ユーザUとの対話により各ユーザUのユーザ情報が更新され、更新されたユーザ情報に基づいてユーザU間のマッチングが行われる。したがって、動的に変化し得る各ユーザUの嗜好や状況を考慮することができ、すなわち、「動的な人間同士のマッチング」を行うことができるので、コンピュータと人間との対話に基づく人間同士のマッチングの精度を向上できる。
【0074】
また、各ユーザUのユーザ情報が過去、現在、未来などのそれぞれの時制と関連付けて記憶され、応答文Aの時制に関連付けられたユーザ情報が当該応答文Aの少なくとも一部ように更新される。また、応答文Aの時制より後の時制に関連付けられたユーザ情報が当該応答文Aと矛盾する内容を含まないように更新される。このため、時間的な経過に伴ったユーザの嗜好や状況の変化をより適切に把握することができ、人間同士のマッチングの精度をより向上できる。
【0075】
また、トピック毎に動的に更新されるユーザ情報に基づいてユーザU間のマッチングを行うことにより、トピック毎に最適な相手候補が動的に選定されるので、コミュニティの活性化に効果的に寄与できる。また、話の切り替わりの検出によって区切られた発話文と応答文の複数のペアを含む対話データで構成される対話コーパスを用いて、ユーザUに対する次の発話文Dが推定されるので、コンピュータと人間との対話を円滑に進めることができる。
【0076】
(その他の実施形態)
上記実施形態では、対話装置10とユーザUとの対話は音声信号を用いて行われるものとしたが、これに限られない。例えば、対話装置10とユーザUとの対話はテキストベースで実施されてもよい。この場合、ユーザUに対する発話文Dは表示部10fに表示され、ユーザUからの応答文Aは入力部10eから入力されてもよい。
【0077】
また、上記実施形態では、情報処理システム1は、対話システム2とマッチングシステム3とを含むものとしたが、対話システム2とマッチングシステム3とは区別されなくともよい。すなわち、対話装置10及びマッチング装置20は、情報処理装置として情報処理システム内に設けられてもよい。
【0078】
また、上記実施形態では、ユーザUに対する発話文Dと当該発話文Dに応じたユーザUからの応答文Aが対話ペアとして説明されたが、ユーザUからの発話文Dと当該発話文Dに応じたユーザに対する応答文Aを対話ペアとしてもよい。この場合、上記実施形態における「ユーザUに対する発話文D」は「ユーザUに対する応答文A」と読み替えられ、「ユーザUからの応答文A」は「ユーザUからの発話文D」と読み替えられてもよい。また、上記実施形態における「対話ペアに基づく次の発話文Dの推定」は「対話ペアに基づく次の応答文Aの推定」と読み替えられてもよい。また、ユーザ情報は、ユーザUから取得された発話文Dの少なくとも一部を含むように更新されてもよい。
【0079】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【0080】
1…情報処理システム、2…対話システム、3…マッチングシステム、10…対話装置、10a…プロセッサ、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、10g…音声入力部、10h…音声出力部、101…記憶部、102…出力部、103…取得部、104…推定部、105…更新部、201…取得部、202…マッチング部、203…出力部