(58)【調査した分野】(Int.Cl.,DB名)
個人の属性情報の集合体を利用するためのコンピュータシステムにおいて用いられるサーバ装置であって、前記サーバ装置は、少なくとも1つのユーザ装置にネットワークを介して接続されることが可能であるように構成されており、
前記サーバ装置には、データベース部が接続されており、前記データベース部には、個人の属性情報の集合体が格納されており、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示し、
前記サーバ装置は、プロセッサ部を含み、
前記プロセッサ部は、
前記少なくとも1つのユーザ装置のうちの1つから前記ネットワークを介して質問を受信することと、
前記質問に応答して、前記データベース部に格納されている前記個人の属性情報の集合体を利用する処理を実行することと
を少なくとも行うように構成されており、
前記利用する処理は、
前記質問に基づいて前記個人の属性情報の集合体をサーチすることと、
前記サーチの結果に基づいて、前記質問に対する回答を生成することと、
前記回答を出力することと
を含み、
前記サーチすることは、
前記質問からS、Pを抽出することと、
前記質問から抽出されたSを細分すべき個数n(n≧2)を決定することと、
前記質問から抽出されたSをn個に細分することであって、Sは、第1のS、・・・、第nのSに細分される、ことと、
前記個人の属性情報の集合体をサーチすることにより、S=第1のS、P=第2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第1のOとして特定することと、
(1)前記個人の属性情報の集合体をサーチすることにより、S=第iのO、P=第i+2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第i+1のOとして特定することと、
(2)i=i+1とすることと
をi=1からi=n−1となるまで繰り返すことと、
前記個人の属性情報の集合体をサーチすることにより、S=第nのO、P=前記質問から抽出されたPに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを前記サーチの結果として特定することと
を含む、サーバ装置。
個人の属性情報の集合体を利用するためのコンピュータシステムにおいて用いられるサーバ装置において実行されるプログラムであって、前記サーバ装置は、少なくとも1つのユーザ装置にネットワークを介して接続されることが可能であるように構成されており、
前記サーバ装置には、データベース部が接続されており、前記データベース部には、個人の属性情報の集合体であるが格納されており、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示し、
前記サーバ装置は、プロセッサ部を含み、
前記プログラムは、前記プロセッサ部によって実行されると、
前記少なくとも1つのユーザ装置のうちの1つから前記ネットワークを介して質問を受信することと、
前記質問に応答して、前記データベース部に格納されている前記個人の属性情報の集合体を利用する処理を実行することと
を含む処理を前記プロセッサ部に行わせ、
前記利用する処理は、
前記質問に基づいて前記個人の属性情報の集合体をサーチすることと、
前記サーチの結果に基づいて、前記質問に対する回答を生成することと、
前記回答を出力することと
を含み、
前記サーチすることは、
前記質問からS、Pを抽出することと、
前記質問から抽出されたSを細分すべき個数n(n≧2)を決定することと、
前記質問から抽出されたSをn個に細分することであって、Sは、第1のS、・・・、第nのSに細分される、ことと、
前記個人の属性情報の集合体をサーチすることにより、S=第1のS、P=第2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第1のOとして特定することと、
(1)前記個人の属性情報の集合体をサーチすることにより、S=第iのO、P=第i+2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第i+1のOとして特定することと、
(2)i=i+1とすることと
をi=1からi=n−1となるまで繰り返すことと、
前記個人の属性情報の集合体をサーチすることにより、S=第nのO、P=前記質問から抽出されたPに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを前記サーチの結果として特定することと
を含む、プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、個人の属性情報の集合体を利用するためのコンピュータシステム、サーバ装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の個人の属性情報の集合体を利用するためのコンピュータシステムは、個人の属性情報の集合体を格納する手段であって、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示す、手段と、前記個人の属性情報の集合体を利用する手段とを備える。
【0007】
本発明の一実施形態において、前記個人の属性は、前記個人の個性または前記個人の記憶を含む。
【0008】
本発明の一実施形態において、前記個人の属性は、前記個人の主観に依存する。
【0009】
本発明の一実施形態において、前記コンピュータシステムは、質問を受信する手段をさらに備え、前記個人の属性情報の集合体を利用する手段は、前記質問に基づいて前記個人の属性情報の集合体をサーチする手段と、前記サーチの結果に基づいて、前記質問に対する回答を生成する手段と、前記回答を出力する手段とを含む。
【0010】
本発明の一実施形態において、前記サーチする手段は、前記質問からS、Pを抽出する手段と、前記個人の属性情報の集合体をサーチすることにより、前記質問から抽出されたS、Pに一致するS、Pを含む(S、P、O)の組を特定する手段と、前記特定された(S、P、O)の組におけるOを前記サーチの結果として特定する手段とを含む。
【0011】
本発明の一実施形態において、前記サーチする手段は、前記質問からS、Pを抽出することと、前記質問から抽出されたSを細分すべき個数n(n≧2)を決定することと、前記質問から抽出されたSをn個に細分することであって、Sは、第1のS、・・・、第nのSに細分される、ことと、前記個人の属性情報の集合体をサーチすることにより、S=第1のS、P=第2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第1のOとして特定することと、
(1)前記個人の属性情報の集合体をサーチすることにより、S=第iのO、P=第i+2のSに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを第i+1のOとして特定することと、(2)i=i+1とすることと
をi=1からi=nとなるまで繰り返すことと、前記個人の属性情報の集合体をサーチすることにより、S=第nのO、P=前記質問から抽出されたPに一致するS、Pを含む(S、P、O)の組を特定し、前記特定された(S、P、O)の組におけるOを前記サーチの結果として特定することとを行うように構成されている。
【0012】
本発明の一実施形態において、前記コンピュータシステムは、自然言語データを受信する手段と、前記自然言語データから個人の属性情報を抽出する手段であって、前記個人の属性情報は、(S、P、O)の組によって表現される、手段とをさらに備え、前記個人の属性情報の集合体を格納する手段は、前記抽出された個人の属性情報を格納することにより、(S、P、O)の組によって表現される個人の属性情報を蓄積するように構成されている。
【0013】
本発明の個人の属性情報の集合体を利用するためのコンピュータシステムは、少なくとも1つのユーザ装置と、前記少なくとも1つのユーザ装置にネットワークを介して接続されることが可能であるように構成されたサーバ装置とを備え、前記サーバ装置には、データベース部が接続されており、前記データベース部には、個人の属性情報の集合体が格納されており、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示し、前記少なくとも1つのユーザ装置のそれぞれは、前記ネットワークを介して前記サーバ装置に要求を送信することが可能であるように構成されており、前記サーバ装置は、前記ネットワークを介して前記要求を受信することと、前記要求に応答して、前記データベース部に格納されている前記個人の属性情報の集合体を利用する処理を実行することとを少なくとも行うように構成されている。
【0014】
本発明の個人の属性情報の集合体を利用するためのコンピュータシステムにおいて用いられるサーバ装置は、少なくとも1つのユーザ装置にネットワークを介して接続されることが可能であるように構成されており、前記サーバ装置には、データベース部が接続されており、前記データベース部には、個人の属性情報の集合体が格納されており、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示し、前記サーバ装置は、プロセッサ部を含み、前記プロセッサ部は、前記少なくとも1つのユーザ装置のうちの1つから前記ネットワークを介して要求を受信することと、前記要求に応答して、前記データベース部に格納されている前記個人の属性情報の集合体を利用する処理を実行することとを少なくとも行うように構成されている。
【0015】
本発明の一実施形態において、個人の属性情報の集合体を利用するためのコンピュータシステムにおいて用いられるサーバ装置において実行されるプログラムが提供され、前記サーバ装置は、少なくとも1つのユーザ装置にネットワークを介して接続されることが可能であるように構成されており、前記サーバ装置には、データベース部が接続されており、前記データベース部には、個人の属性情報の集合体であるが格納されており、前記個人の属性情報は、(S、P、O)の組によって表現され、Sは、主体を示し、Pは、属性を示し、Oは、前記属性の値を示し、前記サーバ装置は、プロセッサ部を含み、前記プログラムは、前記プロセッサ部によって実行されると、前記少なくとも1つのユーザ装置のうちの1つから前記ネットワークを介して要求を受信することと、前記要求に応答して、前記データベース部に格納されている前記個人の属性情報の集合体を利用する処理を実行することとを含む処理を前記プロセッサ部に行わせる。
【発明の効果】
【0016】
本発明によれば、個人の属性情報の集合体を利用するためのコンピュータシステム、サーバ装置およびプログラムを提供することができる。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【0019】
1.人間の「デジタルクローン」を実現するパーソナルAI
本発明の発明者は、パーソナル人工知能(パーソナルAI)を開発した。パーソナルAIは、その人の情報、例えば、その人の行動や思想を学習することにより、その人らしい活動をすることになる。その結果、パーソナルAIによって、その人の「デジタルクローン」を実現することができる。「デジタルクローン」は、その人の代わりに質問に回答したり、その人の代わりに仕事をしたりすることができる。
【0020】
図1Aは、ユーザAがパーソナルAI100に個人Xの属性を学習させている様子を示す。
【0021】
ユーザAは、個人Xの属性をパーソナルAI100に学習させるために、「私の名前は、○○○○です。私の父親の名前は、××××です。」という入力を行う。ユーザAは、個人Xの属性をパーソナルAI100に学習させるために、他の任意の情報を入力することができる。ユーザAは、例えば、個人Xの出身地、個人Xの趣味、個人Xの職業などをパーソナルAI100に入力することができる。ここで、入力の方法は問わない。例えば、ユーザは、テキストをパーソナルAI100に入力してもよいし、テキスト以外のもの(例えば、音声)をパーソナルAI100に入力してもよい。ユーザがテキスト以外のものをパーソナルAI100に入力する場合には、パーソナルAI100は、テキスト以外のものをテキストに変換するようにしてもよい。これにより、ユーザによる入力がテキスト以外のものである場合でも、パーソナルAI100は、ユーザによる入力がテキストによる入力である場合と同様の処理をすることができる。
【0022】
パーソナルAI100は、個人Xの属性を学習する。具体的には、パーソナルAI100は、ユーザAによる入力から個人Xの属性に関する情報を抽出し、それらの情報を系統立てて記憶することにより、個人Xの属性を学習する。個人Xの属性を学習したパーソナルAI100は、個人Xの属性に関する質問に回答することが可能な個人Xの「デジタルクローン」を実現することができる。
【0023】
なお、パーソナルAI100を個人Xの「デジタルクローン」を実現するために、ユーザAが個人Xの属性を入力してパーソナルAI100に学習させたが、ユーザAが自身の属性を入力してユーザAの「デジタルクローン」を実現することも可能である。
【0024】
図1Bは、個人Xの「デジタルクローン」を実現するパーソナルAI100が、複数のユーザからの質問に回答している様子を示す。
【0025】
パーソナルAI100は、既に学習している個人Xの属性に基づいて、複数のユーザからの質問に回答することができる。例えば、一人のユーザからの「あなたの名前は?」という質問に対して、パーソナルAI100が個人Xの名前が○○○○であることを既に学習しているので、パーソナルAI100は、「○○○○です。」と回答する。例えば、一人のユーザからの「あなたの父親の名前は?」という質問に対して、パーソナルAI100が個人Xの父親の名前が××××であることを既に学習しているので、パーソナルAI100は、「××××です。」と回答する。例えば、一人のユーザからの「あなたの好きな音楽は?」という質問に対して、パーソナルAI100は個人Xの好きな音楽をまだ学習していないので、パーソナルAI100は、「その情報はまだ学習していません。」と回答する。パーソナルAI100は、個人Xの属性に関する質問に個人Xの代わりに回答する。
【0026】
図1Cは、個人Xとは別の個人Yの「デジタルクローン」を実現するパーソナルAI100が、複数のユーザからの質問に回答している様子を示す。
【0027】
パーソナルAI100は、個人Xの「デジタルクローン」を実現するパーソナルAI100が与える回答とは異なる回答を与えることになる。個人Xと個人Yとはそれぞれ属性が異なるため、ユーザAが個人Xの個性を学習させるために入力する情報と個人Yの個性を学習させるために入力する情報とが異なり、結果的に、パーソナルAI100が学習する情報が異なるからである。例えば、ユーザAが「私の名前は、△△△△です。私の父親の名前は、▽▽▽▽です。私の好きな音楽は、クラシックです。」という入力を行って、パーソナルAI100がそれらの情報を個人Yの属性として学習している場合、一人のユーザからの「あなたの名前は?」という質問に対して、パーソナルAI100が個人Yの名前が△△△△であることを既に学習しているので、パーソナルAI100は、「△△△△です。」と回答する。一人のユーザからの「あなたの父親の名前は?」という質問に対して、パーソナルAI100が個人Yの父親の名前が▽▽▽▽であることを既に学習しているので、パーソナルAI100は、「▽▽▽▽です。」と回答する。一人のユーザからの「あなたの好きな音楽は?」という質問に対して、パーソナルAI100が個人Yの好きな音楽がクラシックであることを既に学習しているので、パーソナルAI100は、「クラシックです。」と回答する。このようにして、パーソナルAI100は、どの個人のデジタルクローンを実現しているかに応じて、同じ質問に対して異なる回答を与えることが可能であり、ひいては、その個人に特化した回答を与えることが可能である。質問をするユーザは、誰の回答を聞きたいかをあらかじめ選択してから質問をすることで、所望の相手のパーソナルAIから質問の回答を得ることができる。
【0028】
2.パーソナルAI100を実現するためのコンピュータシステム200の構成
図2は、パーソナルAI100を実現するためのコンピュータシステム200の構成の一例を示す。
【0029】
コンピュータシステム200は、サーバ装置210と、サーバ装置210に接続されているデータベース部220と、ネットワーク240を介してサーバ装置210に接続されているユーザ装置230とを含む。ユーザ装置230は、パーソナルコンピュータ、タブレット、スマートフォン等の任意の端末装置であり得る。ユーザ装置230は、ネットワーク240を介してサーバ装置210と通信することができる。ここで、ネットワーク240の種類は問わない。例えば、ユーザ装置230は、インターネットを介してサーバ装置210と通信してもよいし、LANを介してサーバ装置210と通信してもよい。
【0030】
データベース部220には、個人の属性情報の集合体が格納されている。個人の属性情報は、(S、P、O)の組によって表現される。ここで、Sは、主体を示す要素(Subject)であり、Pは、属性を示す要素(Predicate)であり、Oは、属性の値を示す要素(Object)である。
【0031】
図3は、データベース部220に格納されている個人の属性情報の集合体のデータ構成の一例を示す。
【0032】
データベース部220は、S(Subject)と、P(Predicate)と、O(Object)とを一組として、個人の属性情報を格納している。データベース部220は、個人ごとに個人の属性情報を格納するためのデータベースを備える。例えば、データベース部220は、個人Xの属性情報を格納するためのデータベース310と、個人Yの属性情報を格納するためのデータベース320とを備える。例えば、データベース310には、個人Xの属性情報として、(S=私、P=名前、O=OOOO)という組、(S=私、P=趣味、O=ダンス)という組、(S=私、P=好きな音楽、O=UKロック)という組、(S=私、P=同僚、O=◇◇◇◇)という組等が格納されている。例えば、データベース320には、個人Yの属性情報として、(S=私、P=名前、O=△△△△)という組等が格納されている。
【0033】
例えば、データベース部220に格納される個人の属性情報は、S、P、Oの組によって個人の個性を表現してもよい。個人の個性を表現するS、P、Oの組は、例えば、(S=私、P=趣味、O=ダンス)という組、(S=◇◇◇◇、P=特技、O=プログラム)という組等である。個人の個性を表現するS、P、Oの組は、他の任意の組であり得る。
【0034】
例えば、データベース部220に格納される個人の属性情報は、S、P、Oの組によって個人の記憶を表現してもよい。個人の記憶を表現するS、P、Oの組は、例えば、(S=私、P=出身地、O=愛知県)という組、(S=私、P=夢、O=プログラマー)という組、(S=私、P=前職、O=ミュージシャン)という組等である。個人の記憶を表現するS、P、Oの組は、他の任意の組であり得る。
【0035】
例えば、データベース部220に格納される個人の属性情報は、S、P、Oの組によって個人の主観的な属性を表現してもよい。個人の主観的な属性は、個人の主観に依存する属性である。例えば、個人の主観的な属性を表現するS、P、Oの組は、個人Xにとっての鉄の色が茶色である場合の(S=鉄、P=色、O=茶色)という組、個人Yにとっての鉄の色が銀色である場合の(S=鉄、P=色、O=銀色)という組、個人Xにとってリンゴの色が赤色である場合の(S=リンゴ、P=色、O=赤色)という組、個人Yにとってのリンゴの色が緑色である場合の(S=リンゴ、P=色、O=緑色)という組等である。個人の主観的な属性を表現するS、P、Oの組は、他の任意の組であり得る。
【0036】
図4は、サーバ装置210の構成の一例を示す。
【0037】
サーバ装置210は、受信手段410と、プロセッサ部420と、記憶手段430とを備えている。プロセッサ部420は、抽出手段440と、利用手段450とを備えている。
【0038】
受信手段410は、サーバ装置210の外部から任意のデータを受信する。受信手段410は、サーバ装置210の外部から自然言語データを受信し得る。受信手段410が受信するデータの形態は問わない。例えば、受信手段410は、データをテキスト形式で受信してもよいし、データを音声で受信してもよい。受信手段410がデータをどのように受信するかは問わない。例えば、受信手段410は、ユーザによる手動入力によってデータを受信してもよいし、ネットワーク等を介してデータを受信してもよい。受信手段410がネットワーク等を介してデータを受信する場合は、ネットワークの種類を問わない。例えば、受信手段410は、インターネットを介してデータを受信してもよいし、LANを介してデータを受信してもよい。例えば、受信手段410は、データを格納している記憶媒体から読み出されたデータを受信してもよい。
【0039】
プロセッサ部420は、サーバ装置210の処理を実行し、かつ、サーバ装置210全体の動作を制御する。プロセッサ部420は、記憶手段430に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、サーバ装置210を所望のステップを実行する装置として機能させることが可能である。プロセッサ部420は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。
【0040】
記憶手段430は、サーバ装置210の処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等を格納する。記憶手段430は、個人の属性情報の集合体を利用するための処理を実行することをプロセッサ部420に行わせるためのプログラムを格納してもよい。記憶手段430は、任意の記憶手段によって実装され得る。
【0041】
プロセッサ部420内の抽出手段440は、受信手段410によって受信された自然言語データから、個人の属性情報を抽出する処理を実行する。抽出手段440がどのように個人の属性情報を抽出するかは問わない。抽出手段440は、例えば、正規表現等を用いて該当データを抽出するルールベースの抽出手法を用いて個人の属性情報を抽出してもよい。抽出手段440は、例えば、文法ベースの抽出手法を用いて個人の属性情報を抽出してもよい。抽出手段440は、例えば、固有表現抽出等の技術を用いて「太郎=人名」等の情報を得てそれらの情報をヒントに情報を抽出する、データドリブン手法を用いて個人の属性情報を抽出してもよい。抽出手段440は、例えば、ディープラーニング等を用いて、過去の抽出データ等を含む文章をトレーニングデータとして用い、機械学習による個人の属性情報の抽出を行ってもよい。抽出手段440は、例えば、ルールベースの抽出手法と、文法ベースの抽出手法と、データドリブン手法と、機械学習とを組み合わせて、個人の属性情報を抽出してもよい。抽出手段440によって抽出された個人の属性情報は、サーバ装置210が接続されているデータベース部220に格納される。
【0042】
プロセッサ部420内の利用手段450は、データベース部220に格納されている個人の属性情報の集合体を任意の用途に利用するための処理を実行する。利用手段450は、サーバ装置210の外部から受信されたユーザによる要求に応答して、個人の属性情報の集合体を利用するための処理を実行し得る。利用手段450は、例えば、上述したパーソナルAI100のために個人の属性情報の集合体を利用してもよい。このとき、利用手段450は、コンピュータシステム200に入力されたユーザによる質問に応答して、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、質問の回答に適切な情報を取得する。利用手段450は、例えば、ライフログ(行動履歴情報)を生成するために個人の属性情報の集合体を利用してもよい。例えば、「現住所」、「趣味」等の経時的に変化し得る属性をその時間情報も含めてデータベース部220に格納しておくことにより、個人の属性が時間とともに変化していく様子を追跡するためのライフログを生成することができる。このとき、利用手段450は、ライフログを生成する要求をユーザから受信することに応答して、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、ライフログ生成のために適切な情報を取得する。
【0043】
図4に示される例では、サーバ装置210の各構成要素がサーバ装置210内に設けられているが、本発明はこれに限定されない。サーバ装置210の各構成要素のいずれかがサーバ装置210の外部に設けられているシステムを構築することも可能である。例えば、受信手段410と、プロセッサ部420と、記憶手段430とがそれぞれ別のハードウェア部品で構成されて、各ハードウェア部品が任意のネットワークを介して接続されてもよい。例えば、抽出手段440と、利用手段450とがプロセッサ部420の外部にあり、受信手段410と、プロセッサ部420と、記憶手段430と、抽出手段440と、利用手段450とがそれぞれ別のハードウェア部品で構成されて、各ハードウェア部品が任意のネットワークを介して接続されてもよい。このとき、ネットワークの種類は問わない。各ハードウェア部品は、例えば、インターネットを介して接続されてもよいし、LANを介して接続されてもよいし、無線接続されてもよいし、有線接続されてもよい。
【0044】
図4に示される例では、データベース部220は、サーバ装置210の外部に設けられているが、本発明はこれに限定されない。データベース部220をサーバ装置210の内部に設けることも可能である。このとき、データベース部220は、記憶手段430と同一の記憶手段によって実装されてもよいし、異なる記憶手段によって実装されてもよい。データベース部220の構成は、特定のハードウェア構成には限定されない。例えば、データベース部220は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部220は、サーバ装置210の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。
【0045】
上述した例では、データベース部220が個人の属性情報の集合体を格納することを説明したが、データベース部220が格納する情報は、個人の属性情報の集合体に限定されない。データベース部220は、他の任意の情報を格納することができる。例えば、従来のデータベース部20と同様に、二項間の普遍的な対応関係を百科事典的に格納してもよい。
【0046】
上述した例では、ユーザが、ユーザ装置230を用いてネットワーク240を介してサーバ装置210と通信することを説明したが、ユーザがどのようにコンピュータシステム200と相互作用するかは問わない。ユーザは、ネットワーク240に接続されたユーザ装置230を用いて間接的にコンピュータシステム200と相互作用してもよいし、ネットワーク240を介さず直接的にコンピュータシステム200と相互作用してもよい。
【0047】
上述した例では、サーバ装置210が、サーバ装置210の外部のデータベース部220に接続されているが、本発明はこれに限定されない。データベース部220は、サーバ装置210の外部にあってもよいし、内部にあってもよい。サーバ装置210の外部にある場合は、サーバ装置210とデータベース部220とがどのように接続されるかは問わない。インターネットを介して接続されてもよいし、ローカルエリアネットワークを介して接続されてもよいし、無線接続されてもよいし、有線接続されてもよい。
【0048】
上述したコンピュータシステム200は、ユーザ装置230に入力されたユーザによる要求に応答して、データベース部220に格納されている個人の属性情報の集合体を任意の用途に利用することができる。
図1A〜
図1Cを参照して説明したパーソナルAI100は、個人の属性情報の集合体の利用例の一つである。
【0049】
3.コンピュータシステム200による個人の属性を学習するための処理
コンピュータシステム200が個人の属性情報の集合体を利用するためには、その利用の前提として、コンピュータシステム200が個人の属性をあらかじめ学習しておく必要がある。
図5は、コンピュータシステム200が個人の属性を学習する処理の一例を示す。
【0050】
ステップS501では、コンピュータシステム200のサーバ装置210の受信手段410が自然言語データを受信する。受信手段410は、ユーザがコンピュータシステム200のユーザ装置230に入力した自然言語データを受信する。
【0051】
ステップS502では、サーバ装置210のプロセッサ部420内の抽出手段440が自然言語データから個人の属性情報を抽出する。抽出手段440は、受信手段410が受信した自然言語データから任意の抽出手法で個人の属性情報を抽出する。例えば、抽出手段440は、ルールベースの抽出手法と、文法ベースの抽出手法と、データドリブン手法と、機械学習とを組み合わせて、個人の属性情報を抽出してもよい。
【0052】
例えば、受信された「私の名前は○○○○です。」という自然言語データから(S=私、P=名前、O=OOOO)というS、P、Oの組を抽出する。例えば、受信された「私の趣味はダンスです。」という自然言語データから(S=私、P=趣味、O=ダンス)という組を抽出する。例えば、受信された「私の同僚の◇◇◇◇さんの特技はプログラミングです。」という自然言語データから(S=私、P=同僚、O=◇◇◇◇)という組、および、(S=◇◇◇◇、P=特技、O=プログラム)という組を抽出する。
【0053】
ステップS503では、サーバ装置210がデータベース部220に個人の属性情報を格納する。サーバ装置210は、抽出手段440が抽出した個人の属性を表す、(S、P、O)の組によって表現される個人の属性情報をデータベース部220に格納する。
【0054】
コンピュータシステム200は、S501〜S503の処理を繰り返すことにより、個人の属性を表す複数の個人の属性情報をデータベース部220に格納し、(S、P、O)の組によって表現される個人の属性情報をデータベース部220に蓄積する。これにより、データベース部220は、個人の属性情報の集合体を格納することになる。このようにして、コンピュータシステム200は、個人の属性を学習する。
【0055】
4.コンピュータシステム200による個人の属性情報の集合体を利用するための処理
図6は、コンピュータシステム200が個人の属性情報の集合体を利用する形態の一例として、ユーザの質問に回答する処理の一例を示す。コンピュータシステム200は、個人の属性情報の集合体を既にデータベース部220に格納しているものとする。
【0056】
はじめに、ステップS601では、サーバ装置210の受信手段410が、自然言語データを受信する。受信手段410は、コンピュータシステム200のユーザ装置230に入力された自然言語データを受信する。
【0057】
ステップS602では、サーバ装置210のプロセッサ部420が、受信された自然言語データが疑問文であるかどうかを判定する。疑問文であるかどうかを判定する手法は、任意の手法であり得る。例えば、自然言語データ内の疑問詞を抽出することによって疑問文であると判定してもよい。例えば、自然言語データが音声で受信された場合は、文末のイントネーションによって疑問文であると判定してもよい。ステップS602において疑問文であると判定された場合、ステップS603に進む。ステップS602において疑問文でないと判定された場合、ユーザの質問に回答する処理は終了する。
【0058】
ステップS603では、サーバ装置210のプロセッサ部420内の抽出手段440が、受信された自然言語データから個人の属性情報のうちSとPとを抽出する。抽出手段440は、任意の抽出手法によってS、Pを抽出し得る。
【0059】
ステップS604では、サーバ装置210のプロセッサ部420内の利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、抽出されたSとPとに一致するS、Pを含む(S、P、O)を特定する。データベース部220に格納されている個人の属性情報の集合体のサーチは、任意の手法を用いて行われ得る。ここで、利用手段450は、サーチの前に、「ステップS603で抽出されたSが(S=あなた)であれば、(S=私)とする」等の条件式を適用してもよい。これにより、異なる単語が同一の対象を指す場合(例えば、一人称および二人称等)でも、適切にサーチすることが可能である。
【0060】
ステップS605では、サーバ装置210のプロセッサ部420内の利用手段450が、抽出されたSとPとに一致するS、Pを含む(S、P、O)を特定したかどうかを判定する。利用手段450が(S、P、O)を特定したと判定された場合、ステップS606に進む。利用手段450が(S、P、O)を特定できなかったと判定された場合、ステップS608に進む。
【0061】
ステップS606では、サーバ装置210のプロセッサ部420内の利用手段450が、特定された(S、P、O)におけるOをサーチ結果として特定する。
【0062】
ステップS607では、サーバ装置210のプロセッサ部420内の利用手段450が、サーチ結果に基づいて、質問に対する回答を生成し、それを出力する。例えば、利用手段450は、特定された(S、P、O)における(O=××××)に基づいて、「××××です。」のように質問に対する回答を生成し、出力する。利用手段450による出力の方法は問わない。例えば、利用手段450は、音声によってOを出力してもよいし、テキストによってOを出力してもよい。
【0063】
ステップS608では、サーバ装置210のプロセッサ部420内の利用手段450が、質問に対する回答を未学習であることを出力する。ユーザによる質問に対する適切な回答を特定できなかったからである。利用手段450による出力の方法は問わない。例えば、利用手段450は、音声によって出力してもよいし、テキストによって出力してもよい。
【0064】
質問に対する回答、または、質問に対する回答を未学習であることを出力した後、ユーザの質問に回答する処理は終了する。
【0065】
ここで、一例として、個人Xのデジタルクローンを実現するパーソナルAI100がユーザZによる質問「あなたの名前は何ですか?」に回答する場合のコンピュータシステム200による処理を説明する。データベース部220には、個人Xの属性「名前」を表す(S=私、P=名前、O=○○○○)というS、P、Oの組が既に格納されているものとする。
【0066】
はじめに、ステップS601では、サーバ装置210の受信手段410が、ユーザZがユーザ装置230に入力した「あなたの名前は何ですか?」という自然言語データを受信する。
【0067】
ステップS602では、サーバ装置210のプロセッサ部420が、受信された「あなたの名前は何ですか?」という自然言語データが疑問文であるかどうかを判定する。ここで、「あなたの名前は何ですか?」という自然言語データは疑問文であるので、ステップS603に進む。
【0068】
ステップS603では、サーバ装置210のプロセッサ部420内の抽出手段440が、受信された「あなたの名前は何ですか?」という自然言語データから個人の属性情報のうちSとPとを抽出する。ここで、(S=あなた、P=名前)というS、Pの組が抽出される。
【0069】
ステップS604では、サーバ装置210のプロセッサ部420内の利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、抽出されたSとPとに一致するS、Pを含む(S、P、O)を特定する。利用手段450は、「ステップS603で抽出されたSが(S=あなた)であれば、(S=私)とする」という条件式を適用して、(S=あなた)を(S=私)に変換してからサーチを行う。データベース部220には、(S=私、P=名前、O=○○○○)というS、P、Oの組が格納されているので、利用手段450は、任意のサーチ手法によって、(S=私、P=名前)を含む(S=私、P=名前、O=○○○○)を特定することができる。
【0070】
ステップS605では、サーバ装置210のプロセッサ部420内の利用手段450が、抽出されたSとPとを含む(S、P、O)が特定されたかどうかを判定する。利用手段450は、(S=私、P=名前)を含む(S=私、P=名前、O=○○○○)を特定しているので、ステップS606に進む。
【0071】
ステップS606では、サーバ装置210のプロセッサ部420内の利用手段450が、特定された(S=私、P=名前、O=○○○○)における(O=○○○○)をサーチ結果として特定する。
【0072】
ステップS607では、サーバ装置210のプロセッサ部420内の利用手段450が、サーチ結果に基づいて、「○○○○です。」という質問に対する回答を生成し、出力する。そして、処理が終了する。
【0073】
このようなコンピュータシステム200による処理により、個人Xのデジタルクローンを実現するパーソナルAI100は、「あなたの名前は何ですか?」という質問に対して「○○○○です。」と回答することができる。
【0074】
図7は、ステップS604におけるサーチ手法の一例を示す。このサーチ手法は、抽出されたSの中に所有格が含まれる場合に、(S、P)を含む(S、P、O)を特定するために、データベース部220に格納されている個人の属性情報の集合体をサーチするときに用いられることが可能である。
【0075】
ステップS701では、利用手段450が、S内の所有格の数nを決定する。例えば、「あなたの名前は?」という質問から抽出される(S=あなた)の所有格の数n=0である。例えば、「あなたの母親の弟の趣味は?」という質問から抽出される(S=あなたの母親の弟)の所有格の数n=2である。
【0076】
ステップS702では、利用手段450が、n=0かどうかを判定する。n=0である場合、ステップS703に進む一方、n=0でない場合、ステップS704に進む。
【0077】
ステップS703では、S内に所有格がないので、利用手段450は、データベース部220に格納されている個人の属性情報の集合体を単純にサーチすることにより、抽出された(S、P)を含む(S、P、O)を特定する。
【0078】
ステップS704では、利用手段450が、Sを所有格ごとに細分する。これにより、Sは、(S=S
1のS
2の・・・のS
n+1)と表現される。例えば、上述した(S=あなたの母親の弟)の場合、(S
1=あなた、S
2=母親、S
3=弟)となる。
【0079】
ステップS705では、利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=S
1、P=S
2)に一致するS、Pを含む(S、P、O)におけるOをO
1として特定する。例えば、上述した(S=あなたの母親の弟)の場合にデータベース部220に(S=私、P=母親、O=花子)というS、P、Oの組が格納されているとすると、利用手段450は、まず、「ステップS603で抽出されたSが(S=あなた)であれば、(S=私)とする」という条件式を適用して(S=あなた)を(S=私)に変換してから、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=私、P=母親)を含む(S=私、P=母親、O=花子)における(O=花子)をO
1として特定する。これにより、(O
1=花子)となる。
【0080】
ステップS706では、変数i=1が定義される。
【0081】
ステップS707では、利用手段450が、i=nかどうかを判定する。i=nでない場合、ステップS708に進む。
【0082】
ステップS708では、利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=O
i、P=S
i+2)に一致するS、Pを含む(S、P、O)におけるOをO
i+1として特定する。例えば、上述した(S=あなたの母親の弟)の場合にデータベース部220に(S=花子、P=弟、O=太郎)というS、P、Oの組が格納されているとすると、利用手段450は、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=O
1=花子、P=S
3=弟)を含む(S=花子、P=弟、O=太郎)における(O=太郎)をO
2として特定する。これにより、(O
2=太郎)となる。
【0083】
ステップS709では、変数iがインクリメントされる。i=nとなるまでS707〜S709が繰り返される。ステップS707においてi=nと判定されると、ステップS710に進む。
【0084】
ステップS710では、利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=O
n、P)に一致するS、Pを含む(S、P、O)を特定する。例えば、上述した(S=あなたの母親の弟)の場合にデータベース部220に(S=太郎、P=趣味、O=プログラミング)というS、P、Oの組が格納されているとすると、利用手段450が、データベース部220に格納されている個人の属性情報の集合体をサーチすることにより、(S=O
2=太郎、P=趣味)を含む(S=太郎、P=趣味、O=プログラミング)を特定する。
【0085】
このようにして、質問から抽出されたSの中に所有格が含まれる場合でも、質問に対する回答を生成するために、適切なサーチをすることができる。
【0086】
上述した処理は一例であり、利用手段450は、他の任意のアルゴリズムを用いて処理を行うことができる。上述した例では、Sに含まれる所有格の数nを決定して、Sを所有格ごとに細分したが、利用手段450は、他の任意の基準を用いてSを細分してもよい。
【0087】
上述した例では、コンピュータシステム200が個人の属性情報の集合体をパーソナルAI100のために利用する例を説明したが、コンピュータシステム200は、個人の属性情報の集合体を他の任意の用途に利用することができる。例えば、コンピュータシステム200は、音声認識、入力予測、検索エンジン、ボット、Email自動返信、チャット自動返信、CSサポート、エキスパートシステム等の分野に個人の属性情報の集合体を利用することが可能である。
【0088】
本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。