JP2017037603A - 対話インターフェース - Google Patents

対話インターフェース Download PDF

Info

Publication number
JP2017037603A
JP2017037603A JP2015160189A JP2015160189A JP2017037603A JP 2017037603 A JP2017037603 A JP 2017037603A JP 2015160189 A JP2015160189 A JP 2015160189A JP 2015160189 A JP2015160189 A JP 2015160189A JP 2017037603 A JP2017037603 A JP 2017037603A
Authority
JP
Japan
Prior art keywords
keyword
user
unit
word
words
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.)
Granted
Application number
JP2015160189A
Other languages
English (en)
Other versions
JP6034459B1 (ja
Inventor
裕子 石若
Hiroko Ishiwaka
裕子 石若
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PS Solutions Corp
Original Assignee
PS Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PS Solutions Corp filed Critical PS Solutions Corp
Priority to JP2015160189A priority Critical patent/JP6034459B1/ja
Application granted granted Critical
Publication of JP6034459B1 publication Critical patent/JP6034459B1/ja
Publication of JP2017037603A publication Critical patent/JP2017037603A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】質問に対し、話し相手の性格を考慮したうえで、言葉がそれぞれのユーザーに与える影響度を推定し、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるように加工して、回答を出力する。【解決手段】情報ソースを取得する情報ソース取得部101と、テキストデータからキーワードを抽出するキーワード解析部106と、各キーワード間の関係の強弱を示す群体パラメーターを設定する群体パラメーター設定部301と、対話に含まれるキーワードを抽出し、対話に含まれるキーワードについて設定された群体パラメーターに基づいて、ワード間距離を算出する動的クラスタリング部303と、エゴグラムパラメーター及び群体パラメーターに基づいて、ワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部402とを備える。【選択図】図2C

Description

本発明は、スマートフォンやパーソナルコンピュータその他の情報処理装置、ロボットなどに備えられ、ユーザーとの対話により情報を入力したり、検索して応答するための対話インターフェースに関する。
近年では、情報がデータ化され手軽に検索してアクセスすることで、利用が可能であり、その膨大な情報データの中から適切な情報を検索して利用するためのインターフェースとして様々な方式が提案されている。スマートフォンやモバイルPC等の小型・軽量化が進んだ情報処理端末、身近なデジタル家電商品、さらには最新のロボット等あらゆる分野で、利用者との対話に基づいて、適切な情報を入力したり、検索して応答することが望まれている。
従前より、このような対話方式によるコミュニケーションのコア技術として汎用人工知能が注目されている。この汎用人工知能によれば、検索対象となる検索キーワードなどを音声その他の入力デバイスにより入力することにより、その入力されたキーワードに応じた情報を検索し、見つかった情報を自動的に提示する(特許文献1参照。)。
特に、この対話方式によるコミュニケーションでは、形態素解析(自然文章中の単語解析)の技術などを利用して、単語ではなくフリーテキスト(自然文章)をキーワードとして検索することができる検索エンジンも開発されており(特許文献2参照。)、このような検索エンジンによれば、複合名詞や数値範囲を含んだ自然文章を検索することができる。
特開2004−280346号公報 特開平11−120193号公報
しかしながら、人間による日常的な会話は、極めて大まかであり無造作に交わされるものであることから、上述した汎用人工知能による、自然文章をキーワードとして検索する方式では、ユーザーによって入力された文章若しくは発せられた音声に含まれる文字列を抽出してデータベースやネットワークの検索を行い、マッチした情報を返すだけの知識ベースの知能であることから、正確な検索を行うために適切な自然文章を入力しなければならず、マッチした情報がなければ情報が見つからない旨の回答を画一的に返すのみであり、高度なコミュニケーションが図れないという問題があった。
特に、話し手の感情が大きく影響する日常会話では、同じ意味合いの言葉であっても、ユーザーの性格により、その言葉に対するユーザーの受け止め方が異なり、その言葉がユーザーに与える心的な影響度も変化してしまう。そのため、従来のように、単純に音声を解析して得られるキーワードを組合せて検索するのみでは、話し手である個々のユーザーを面白がらせて、対話を継続させられるような検索結果を提供することは困難であった。
そこで、本発明は、上記のような問題を解決するものであり、話し相手の性格を考慮したうえで、言葉がそれぞれのユーザーに与える影響度を推定し、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションが可能なシステムを提供することを目的とする。
上記課題を解決するために、本発明は、ユーザーと対話する対話インターフェースであって、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部と、
入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部と、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベースと、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部と、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部と、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部と
を備えることを特徴とする。
また、本発明は、ユーザーと対話する対話インターフェースプログラムであって、コンピュータを、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部、
入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベース、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部
として機能させることを特徴とする。
さらに、本発明は、 ユーザーと対話する対話インターフェースを用いた情報処理方法であって、
情報取得部が、情報ソースを取得する情報ソース取得ステップと、
キーワード解析部が、前記情報ソースから得られるテキストデータからキーワードを抽出するキーワード解析ステップと、
群体パラメーター設定部が、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定ステップと、
前記情報ソースから得られるテキストデータについて前記キーワード解析部が抽出したキーワードと、各キーワードについて前記群体パラメーター設定部が設定した群体パラメーターとを関連づけて、ユーザー情報データベースに蓄積するユーザー情報蓄積ステップと、
エゴグラム設定部が、前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定ステップと、
動的クラスタリング部が、各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリングステップと、
ポテンシャル場形成部が、前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出する ポテンシャル場形成ステップと
を含むことを特徴とする。
これらの発明では、先ず、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、キーワード解析部が抽出したキーワードと、各キーワードについて群体パラメーター設定部が設定した群体パラメーターとを関連づけて蓄積しておく。この群体パラメーターは、記事やWebページのパラグラフなど所定の文章単位で記事毎に、関連する単語同士の関連性、関連強度を数値化したデータであり、同一記事内に同時に使用されている頻度や、それらの文法的な結びつきを解析することにより、各単語について個別的に設定される。
次に、特定の人、各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定する。このエゴグラムパラメーターは、人間の性格を5つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される5つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、性格診断などで求めて設定することができる。
これと併せて、各キーワードに設定された群体パラメーターに応じた動的オブジェクトとして、各キーワードを仮想空間上にそれぞれ配置してワールドマップを生成し、このワールドマップ上における各キーワード間の距離をワード間距離として算出する。このワード間距離は、群体パラメーターに含まれる関連する単語同士の関連性、関連強度に基づいて設定されるものであり、後述する一定のルールに則ったシミュレーションによる変位処理によって定める方法の他、例えば、WordNet等の概念辞書(意味辞書)やword2vec等の単語をベクトル化して定量化する自然言語処理など、周知の手法で算出してもよい。
次いで、エゴグラムパラメーター及び群体パラメーターに基づいて、ユーザーの性格や話題に対する関心の程度などを加味してワード間距離を補正するとともに、マップ上に配置された動的オブジェクト全体の重心位置をユーザーの自我の中心として設定し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を生成する。
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合に、その入力された文章からキーワードを抽出し、抽出された各キーワードについてユーザー情報データベースを参照し、各キーワードについて、ユーザー自身を中心とするユーザーポテンシャル場を参照して、各キーワードのユーザーからの相対距離を算出する。
この結果、本発明によれば、このユーザーの性格が反映され、自己を中心としたユーザーポテンシャル場上において、ユーザー自身を意味する文言から、各キーワードに対するワード間距離、及び各キーワードの大きさ(出現頻度や重要度等)を用いることにより、各キーワードに対するユーザーの受け止め方や、ユーザーに与える心的な影響度を反応パターンとして推定したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を再現することができる。なお、各キーワードがユーザーに与える心的な影響度は、各キーワードに係る動的オブジェクトが、群体パラメーターに応じた、大きさや質量、重力場を有する物体(天体)と仮定して、これらの仮想的なパラメーターを用いた、引き込み現象や、引力や反発力、重力伝播などの物理現象に擬えた物理法則(クーロン力の法則、万有引力の法則、波動方程式)に当て嵌めることによって、算出してもよい。
上記発明では、前記ユーザーと対話する対話入出力部と、
前記ポテンシャル場形成部が算出したユーザーポテンシャル場に基づき前記情報ソース取得部を通じて検索を行い、前記質問に対する回答を生成する回答生成部と、
前記回答生成部が生成した回答を、前記対話入出力部を通じて前記ユーザーに向けて出力する回答出力部と
をさらに備えることが好ましい。
この場合には、話し手であるユーザーとの対話において、ユーザーの受け止め方や、ユーザーに与える心的な影響度を考慮したうえで、そのユーザーにとって心地よい、興味のある或いは刺激的な情報を選定するとともに、その情報をユーザーの好みに応じて加工することができ、ユーザーが所望する検索結果や回答表現を提供することが可能となる。ここで、ユーザーにとって心地よい情報や回答表現としては、例えば、単に有益な情報であるばかりでなく、ユーザーを面白がらせたり、興味を惹く表現であったり、対話を継続するきっかけとなるような情報や、相づちのような表現も含まれる。
上記発明において前記エゴグラムパラメーターは、複数種の自我状態を段階的に示す独立したパラメーターであり、
前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記ポテンシャル場形成部は、前記一定のルールとして、
前記各キーワードの重要度をそのキーワードのサイズとし、少なくとも前記各キーワードのサイズと、前記エゴグラムパラメーターの組合せに基づく定数とに基づいて各キーワードが有する影響力であるエネルギーを決定し、前記ワード間距離に係る2つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正することが好ましい。
上記発明では、前記情報ソース取得部が取得した情報ソースに含まれるテキストデータからセンテンスを抽出するセンテンス解析部と、
前記センテンス解析部が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出する省略単語検出部と、
前記省略単語検出部が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する推定単語検出部と
入力されたテキストデータに対して、前記省略単語検出部が検出した省略単語の検出位置に前記推定単語を追加して、テキストデータを再構成するテキスト再構成部と、
をさらに備え、
前記キーワード解析部は、前記入力されたテキストデータを前記テキスト再構成部によって再構成し、再構成されたテキストデータから前記キーワードを抽出し、
前記群体パラメーター設定部は、前記再構成されたテキストデータ内における、各キーワードの出現頻度、センテンス内における位置関係に基づいて、前記群体パラメーターを設定することが好ましい。
この場合には、情報ソースやユーザーからの問いかけについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成し、この再構成されたテキストデータからキーワードを抽出する。これにより、省略された主語や目的語などを推定することにより、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
上記発明において、前記動的クラスタリング部は、前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する機能をさらに備えることが好ましい。
この場合には、人や環境、話者の趣味や気分などいろいろな指標や切り口によって、言葉相互の関係性(距離)に基づいて、自動的にクラスタリングを行うことができるとともに、新しい言葉や話題がワールドマップ上に出現した場合など、その影響が動的にワールドマップ全体に広がることとなり、ユーザーが対話の中で用いている言葉や話題がリアルに反映され、ユーザーやユーザーを取り巻く環境の変化に即座に追従して、常にユーザーにとって心地よい情報を選定し、加工することができる。
上記発明における前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記動的クラスタリング部による前記変位処理で用いられる前記ルールには、
前記各キーワードの関連性の度合い基づいて、前記所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること、
前記各キーワードの重要度に基づいて、移動量を決定すること、
前記各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること、
が含まれることが好ましい。
この場合には、ユーザーが利用した情報データについて繰り返し一定のルールに則った変位処理を施すシミュレーションを実行することにより、関係性を有する単語は、重要度の高いものを中心として集まり、関係性のないものは離間していき、ユーザーの特性を反映させつつ動的に、より最適なワールドマップを形成することができる。
上記発明における前記動的クラスタリング部は、前記一定のルールにおいて、
特定の動的オブジェクトの変位が所定の振動をしているものとし、
当該特定の動的オブジェクトと、その周囲で振動する他の複数の動的オブジェクトとが、各摂動を介して相互作用を生じさせているものとし、
各動的オブジェクト間ではそれぞれの摂動を介して相互作用が生じさせ、それぞれの動的オブジェクトの前記振動が同期するとして
各動的オブジェクトについての前記変位処理を実行することが好ましい。
この場合には、それぞれが所定の摂動(ずれ)をもってバラバラに変位している動的オブジェクト群が、摂動を消失させる様に周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、関連があるにも関わらず普段使用されない言葉や情報を活性化させることができ、提供する情報の平準化と多様化を図ることができる。
以上述べたように、この発明によれば、同じ言葉(単語)の組合せであっても、それらの言葉が登場する話題や分野や、話し手であるユーザーがその言葉にどのような感情を抱いているかによって変化する言葉相互の関係性の強弱を考慮することができ、曖昧な日常会話をより正確に解析することができる。この結果、本発明によれば、このユーザーの性格が反映され、自己を中心としたワールドマップを用いることにより、各言葉に対するユーザーの受け止め方や、各言葉がユーザーに与える心的な影響度を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションが可能となる。
実施形態で用いられる情報処理端末のハードウェア構成を示すブロック図である。 実施形態に係る情報処理端末のCPU上に仮想的に構築されるPN値算出機能に関するモジュールを示すブロック図である。 実施形態に係る情報処理端末のCPU上に仮想的に構築されるワード間距離算出機能に関するモジュールを示すブロック図である。 実施形態に係る情報処理端末のCPU上に仮想的に構築されるエゴグラムポテンシャル場算出機能に関するモジュールを示すブロック図である。 実施形態に係るPN値算出機能の動作順序を示すフローチャート図である。 実施形態に係るワード間距離算出機能の動作順序を示すフローチャート図である。 実施形態に係るエゴグラムポテンシャル場算出機能の動作順序を示すフローチャート図である。 実施形態に係る文章PN値算出方法の概要を示す説明図である。 実施形態に係る文章PN値算出の概要を示す説明図である。 PN値算出機能における学習処理の動作順序を示すフローチャート図である。 PN値算出機能における学習処理のデータ処理に関する説明図である。 実施形態に係るPN値算出における木構造によるフィルタリングの概要を示す説明図である。 ワード間距離算出機能における助詞係数に関する説明図である。 ワード間距離算出機能における変位処理に関する説明図である。 ワード間距離算出機能におけるクラスタリング及び動的パラメーターのデータ構造に関する説明図である。 実施形態に係るエゴグラムポテンシャル場の概要を示す説明図である。 第2実施形態に係る対話インターフェースエンジンのコア機能の概要を示す説明図である。 第2実施形態に係る対話インターフェースシステムの動作処理を示す説明図である。 第2実施形態に係る対話インターフェースエンジンの概略構成を示すブロック図である。 第2実施形態に係る対話インターフェースシステムの全体構成を示すブロック図である。 第2実施形態に係る初期化処理部の構成を示すブロック図である。
[第1実施形態]
以下に添付図面を参照して、本発明に係る対話インターフェースの第1実施形態を詳細に説明する。
(ハードウェアの構成)
図1は、本実施形態で用いられる情報処理端末のハードウェア構成を示すブロック図であり、図2は、本実施形態に係る情報処理端末のCPU上に仮想的に構築される対話インターフェースに関するモジュールを示すブロック図である。
情報処理端末1は、図1に示すように、演算処理を行うCPU11と、データを一時的に記憶するメモリ12と、通信ネットワーク2を介して外部との通信を行う通信I/F13と、データを格納しておく記憶装置14とを有している。なお、本実施形態では、これらのCPU11、メモリ12及び通信I/F13、記憶装置14,出力I/F15と、入力I/F16等は、CPUバス10を介して接続されており、相互にデータの受渡しが可能となっている。
CPU11は、各部を制御する際に必要な種々の演算処理を行う装置である。このCPU11は、メモリ12に格納されているアプリケーションプログラム及び設定情報に基づいて、入力I/F16から入力される内容に応じて、本発明に係る対話インターフェースアプリケーションを実行させる。CPU11上で、対話インターフェースアプリケーションが実行されることで、本発明の対話インターフェースが機能モジュールとして仮想的に構築される。
また、通信I/F13は、通信ネットワーク2を介して通信を行うモジュールであり、公知の装置を用いることができる。なお、この通信I/F13に外線若しくは内線用の電話回線を接続することにより、有線で通信を行うことができ、また、携帯電話等を接続することによって無線で通信を行うこともできる。この通信ネットワーク2は、電話回線に限られることなく、LANなどでも同様の機能を実現することができる。
記憶装置14は、データを記録媒体に蓄積するとともに、これら蓄積されたデータを各デバイスの要求に応じて読み出す記憶装置であり、例えば、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、メモリカード等により構成することができる。
また、CPUバス10には出力I/F15と、入力I/F16が接続されており、入力されたユーザー操作信号が入力I/F16からCPUバス10を通してCPUに入力されるとともに、各部に対する操作に関する情報がCPUバス10を介して出力I/F15を介して、各出力デバイスから出力・表示される。
(対話インターフェースの構成)
本実施形態に係る対話インターフェースは、スマートフォンやパーソナルコンピュータその他の情報処理装置、ロボットなどに備えられ、ユーザーとの対話により情報を入力したり、検索して応答するためのモジュールである。ここで、モジュールとは、CPU等の演算処理装置において、各種プログラムを実行することにより、CPU上に仮想的に構築される機能ブロックであり、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組合せなどによって構成される。
本実施形態において対話インターフェースのエンジン部分は、CPU11上で、対話インターフェースアプリケーションが実行されることで、機能モジュールとして仮想的に構築され、具体的には、図2に示すように、ユーザーとの対話を行う対話入出力部60と、対話に必要な情報を収集したり対話入出力部60を通じて入出力されるデータに対して予め必要な処理を行う初期化処理部100と、コア機能を実行するコア機能実行部20と、ユーザー情報データベース50とから概略構成される。
対話入出力部60は、ユーザーと対話するためにデータを入出力するモジュールであり、ハードウェアとしては、出力I/F15,入力I/F16を通じて、情報処理端末1に接続されたディスプレイ5bやスピーカー5a、各種入力デバイス6a〜6c、その他のセンサーや時計、GPS機能を通じてデータを入出力する。そして、この対話入出力部60は、ユーザーからの問いかけを取得する入力部60aと、ユーザーに対して情報を提示して回答する回答出力部60bとを備えている。入力部60aは、ユーザーが入力したテキスト文章や音声の他、ユーザーの表情を撮影した画像・動画、タッチパネルへのタッチ操作、加速度センサー、時刻、GPSによる位置情報などの環境に関するデータも入力される。回答出力部60bは、回答生成部107が生成した回答を、対話入出力部60を通じてユーザーに向けて出力するモジュールであり、この出力もテキスト文章や音声の他、映像・動画、ロボットのアクションなど、種々の表現に対応できるように、所定の出力信号に変換する機能も備えている。
ユーザー情報データベース50は、情報処理端末1に備えられた記憶装置14や外部に設けられたストレージ装置に格納されるデータベースであり、他のデータベースとリレーションを設定することにより、情報を相互に参照し合えるリレーショナル・データベースである。このユーザー情報データベース50は、情報ソースから得られるテキストデータについてキーワード解析部106が抽出したキーワードと、これらのキーワードについて群体パラメーター設定部301が設定した群体パラメーターとを関連づけて蓄積する記憶装置である。また、ユーザー情報データベース50には、各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターが蓄積されている。
初期化処理部100は、情報ソース取得部101が取得した情報ソースや、ユーザーから入力された入力データについて、コア機能部での処理を行う前に予め処理し、コア機能実行部20に受渡しすモジュールである。本実施形態において、具体的に初期化処理部100は、情報ソース取得部101と、センテンス解析部102と、省略単語検出部103と、推定単語検出部104と、テキスト再構成部105とを備えている。
情報ソース取得部101は、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、情報ソースデータベース40aやユーザー情報データベース50に蓄積するモジュールである。すなわち、この情報ソースとしては、ユーザーがアクセスした情報やその履歴についても蓄積されており、情報ソース取得部101は、一般的な情報と、ユーザーが利用したプライベートな情報とを区分して情報ソースデータベース40aやユーザー情報データベース50に蓄積され、管理されている。
センテンス解析部102は、情報ソース取得部101が取得した情報ソースから得られるテキストデータからセンテンスを抽出するモジュールである。例えば、このセンテンス解析部102は、文章のテキストデータから、句点から句点、或いはピリオドからピリオドまでなど、一連のセンテンスを切り出し、省略単語検出部103に入力する。
省略単語検出部103は、 センテンス解析部102が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出するモジュールである。具体的には、名詞、形容詞、動詞などの各文に含まれる単語の品詞を抽出し、主語となり得る名詞、特に固有名詞を検査し、見つからない場合は、主語が省略されているとして、その旨のフラグを文章データ中に挿入し、推定単語検出部104に入力する。
推定単語検出部104は、省略単語検出部103が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出するモジュールである。この推定単語は、先行する直前のセンテンスや段落、記事のヘッドラインなどに含まれる固有名詞などを選定する。検出された推定単語は、テキスト再構成部105へ入力される。
テキスト再構成部105は、入力されたテキストデータに対して、省略単語検出部103が検出した省略単語の検出位置に、推定単語検出部104が検出した推定単語を追加して、センテンスとして再構成するモジュールである。このテキスト再構成部105により再構成された文書データは、原文とともに情報ソースデータベース40aに蓄積されるとともに、コア機能実行部20に入力される。
コア機能実行部20は、本実施形態では、ワード間距離算出機能300及びポテンシャル場算出機能400を有している。ワード間距離算出機能300は、キーワード解析部106と、動的クラスタリング部303と、回答生成部107と、群体パラメーター設定部301とを備えている。
キーワード解析部106は、入力されたテキストデータから、キーワードを抽出するモジュールであり、このキーワード解析部106で解析された各キーワードは、群体パラメーター設定部301に入力される。
また、キーワード解析部106、又はテキスト再構成部105によって再構成されたテキストデータからキーワードを抽出することもできる。具体的にキーワード解析部106は、情報ソースやユーザーからの問いかけについて、省略された単語を追加して再構成されたテキストデータを初期化処理部100から受け取り、この再構成されたテキストデータから所定のキーワードを抽出する。これにより、省略された主語や目的語などを推定することによって、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
群体パラメーター設定部301は、各キーワードに対して、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定するモジュールである。本実施形態にかかる群体パラメーターとしては、
単語の出現頻度(暗黙の主語を含む。)
他のワードと同じ文節内に出現した回数
文章の木構造において並列又は直列かの回数
その単語に係る「の」、「が」、「は」の他の助詞の出現頻度
を用いる。
このようにして算出された群体パラメーターは、図5C(b)に示すようなデータセットとして蓄積される。すなわち、各ワードに関する出現頻度や助詞係数、木構造パターン、関連テキストなどをメインのテーブルデータD1として、このテーブルデータD1の項目「助詞係数」にはテーブルデータD11をリレーションで関連づけ、項目「木構造」には、テーブルデータD12をリレーションで関連づけた構造を有するリレーショナルデータベースとなっている。これにより、一つの単語に、その単語自身の出現頻度やや関連テキストデータの他、他の単語それぞれとの関係性を示す助詞係数、木構造などが紐付けられており、動的クラスタリングにおける変位処理を行う場合には、図5(b)に示すように、各単語を動的オブジェクトとして順番に取り上げ、その単語と紐付けられたテーブルデータD11,D12中にある単語を仮想空間上で探索し、検出されればその他の単語との関係から移動方向や移動量を決定する。このとき複数の単語が検出された場合には、それぞれに対するベクトルを計算し、その合成ベクトルに基づいて変位処理を実行する。
また、本実施形態において群体パラメーター設定部301には、PN値算出機能200が接続されており、このPN値算出機能200にはPN値設定部201が含まれ、このPN値設定部201は、入力された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定するモジュールである。PN値設定部201で設定されたPN値は、ユーザー情報データベース50に蓄積されるとともに、群体パラメーター設定部301に入力される。
そして群体パラメーター設定部301は、PN値設定部201が設定したPN値を反映させつつ、群体パラメーターを設定する。群体パラメーター設定部301で設定された群体パラメーターは、ユーザー情報データベース50に蓄積されるとともに、動的クラスタリング部303に入力される。
動的クラスタリング部303は、各キーワードを、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、前記仮想空間上における各キーワード間の距離をワード間距離として算出するモジュールである。本実施形態においてこの動的クラスタリング部303は、群体シミュレーションにより各キーワードの再配置し、再配置されたワールドマップを用いてキーワード間の距離を算出し、後述するエゴグラムパラメーターを補正処理に受けわたしている。具体的に、この群体シミュレーションでは、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、この動的クラスタリング部303により算出された各ワード間距離は、話題ワールドマップとして、ユーザー情報データベース50に蓄積されるとともに、回答生成部107に入力される。
この動的クラスタリング部303における群体シミュレーションの変位処理で用いられるルールには、
(a)各キーワードの関連性の度合い基づいて、所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること
(b)各キーワードの重要度に基づいて、移動量を決定すること
(c)各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること
が含まれる。
このルールに従って変位処理をさせると、図5Bに示すように、Word_iと関連性のあるWord_k、Word_l及びWord_xが存在する場合、Word_iは、上記ルール(a)及び(b) に従って、Word_k、Word_l及びWord_xに引きつけられる。このとき、Word_iのWord_k、Word_l及びWord_xに対する関連性の度合いと、各Wordの重要度に応じて、Word_iの移動方向及び移動量が決定される。具体的には、各Wordの関連性の度合いと重要度に応じて、そのWordが位置する座標へ向けて引力F1〜F3が作用することになり、これらの引力F1〜F3の合成力により移動方向及び移動量が決定される。反対に、関連性がないWordが周囲に存在する場合には、上記ルール(c)に従って、その関連性のないWordから反発力が作用しているとして、合成力を求める。
このように群体シミュレーションによってキーワードが再配置されたワールドマップに対し、ポテンシャル場算出機能400において、エゴグラムパラメーターを用いた補正処理を行って、ユーザーポテンシャル場を形成する。
辞書データベース40bは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
一方、ポテンシャル場算出機能400は、エゴグラム設定部401と、ポテンシャル場形成部402と、回答生成部107とを備えている。
エゴグラム設定部401は、 キーワード解析部106が抽出したキーワード、或いは情報ソースデータベース40aに蓄積されたキーワードのうち、特定の人、物又は事象に関するキーワードを話題キーワードとしてグルーピングし、そのグループ毎に、群体パラメーターに従って、各キーワードの分布状態を三次元の座標で形成されたマップとして作成し、マップ上における各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターを設定するモジュールである。
このエゴグラムパラメーターは、人間の性格を5つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される5つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、アンケートや性格診断などで求めることができる。エゴグラムパラメーターとしては、
CP(批判的親):厳しい心。自分の価値観を正しいものと信じて譲らず、責任を持って行動し、他人に批判的である。この部分が低いと、ルーズな性格になる。
NP(養育的親):優しい心。他人を思いやって行動し、保護的で親切である。この部分が低いと、冷淡な性格になる。
A(大人):合理的な心。現実を重視しており、物事をきちんと計算して行動し、合理的である。この部分が低いと、非合理的な性格になる。
FC(自由な子ども):自由奔放な心。明るく無邪気でユーモアがあり、わがままで自己中心的である。この部分が低いと、閉鎖的でネクラな性格になる。
AC(順応した子ども):従順な心。他人に嫌われたくないという気持ちが強く、言いたいことを言わずに我慢してしまい、妥協的である。この部分が低いと、マイペースな性格になる。
といったものが挙げられる。
ポテンシャル場形成部402は、エゴグラム設定部401によって設定されたエゴグラムパラメーター、及び群体パラメーター設定部301が設定した群体パラメーターに基づいて、動的クラスタリング部303が算出したワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するモジュールである。本実施形態では、動的クラスタリング部303で算出された各単語に関するワード間距離は、ワールドマップデータとしてユーザー情報データベース50に蓄積されており、ポテンシャル場形成部402は、このワールドマップデータを読み出し、ワールドマップ上に配置された各単語(動的オブジェクト)に対して、前記エゴグラムパラメーターを反映させる補正処理を実行して、動的オブジェクトを再配置させる。
この補正処理は、各キーワードの重要度をそのキーワードのサイズとし、少なくとも各キーワードのサイズとエゴグラムパラメーターの組合せに基づく定数と、に基づいて行う。例えば、各キーワードが有する影響力であるエネルギーを決定し、ワード間距離に係る2つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する。
具体的に、補正処理においては、図6(c)に示すように、ワールドマップ上に含まれる各単語の群体パラメーターと、エゴグラムパラメーターとを用いて、補正用の要素を以下のように定義する。
・ 各wordのサイズ半径r = size/2
・ 各wordが持っているエネルギーE=nr(A)xnr(pn)xnr(size
・ 各wordのエネルギーの及ぶ範囲σ=nr(NP)
・ 各wordのエネルギーの放出の勢いΔd=nrm(FC)
ここで、nrmはnormalize[0.7−1]
・ 各wordのまわりの影響力の濃度(強度分布)の計算 an+1=anΔd
・ 各wordの自分への引き寄せ力→初期配置の移動量=nr(cp)
ここで、nrはnormalize [0,1]
・各word(星)の単位ベクトル PNの(+)(−)でベクトルの向きを逆とする
そして、これらの要素に基づいて、単語間相互に作用する引力又は反発力を次の式により求める。
そして、この式において、一方の単語をユーザー自身を意味する一人称の単語群とすることにより、他方の単語との間の引力又は反発力を求めることができ、その言葉がユーザー自身に与える影響度を推定することができる。
さらに、動的クラスタリング部303では、引き込みのルールに従って、ユーザーポテンシャル場を補正する。この引き込みルールは、振動子群が相互作用や周期外力の作用によって振動タイミングを揃える同期現象を応用した補正処理であり、次式で表される。
なお、θは特定の動的オブジェクトの位相であり、θneiighber,tは、時刻tでの周辺の他の動的オブジェクトの位相を意味する。また、上式においてACは、エゴグラムパラメーターであり、上式の引き込み係数として用いられている。
そして、この引込のルールでは、
(1)特定の動的オブジェクトが所定の振動(位相θ)をしているものとし、
(2)当該特定の動的オブジェクトと、その周囲で振動(位相θneiighber,t)する他の複数の動的オブジェクトとが、各摂動(位相θ−θneiighber,t)を介して相互作用を生じさせているものとし、
(3)各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期するとして、
各動的オブジェクトを再配置するための変位処理を実行する。なお、本実施形態では、各単語(自身を意味する一人称の単語群を含む)に係る動的オブジェクトは、その言葉が使用された時間差などをノーマライズした値を位相とし、その言葉を発したときの音量や、その言葉の出現頻度、重要度振動をノーマライズした値を振幅として振動しているものとして演算する。
この引き込みルールにより、それぞれが所定の摂動(ずれ)をもってバラバラに変位している動的オブジェクト群が、摂動を消失させるように周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、普段使用されない言葉や情報を活性化させることができる。引き込まれて活性化された単語はその言葉自身がまた上式により引力又は反発力を有することとなり、その言葉がユーザーに対して与える影響度が変化され、動的にワールドマップを更新されることとなる。
前記回答生成部107は、ポテンシャル場形成部402が算出したユーザーポテンシャル場に基づき、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成するモジュールである。
(対話インターフェースの動作)
以上の構成を有する対話インターフェースは、以下のように動作する。図3は、対話インターフェースの動作順序を示すフローチャート図である。
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う(S601)。具体的には、情報ソース取得部101が、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Web等の通信ネットワークにおける情報収集としては、Webクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってWebデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがWeb検索した際のキーワードや実際にアクセスしたWebページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S602)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S603,S604)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S605)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞等の付随語の種類に基づいて、群体パラメーターを設定する。例えば、図5B(a)に示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。
ここで、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5B(a)に示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
なお、本実施形態では、ここでいうところの「付随語」としては、単語間の関連性を示すものであれば、日本語の「助詞」に限定されず、各言語の文法に応じて適宜選択することができ、英語であれば語順や前置詞、関係代名詞やその他用法などから求めることもできる。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS605で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S606)。
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う(S607)。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく(S607)。
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部301が設定した群体パラメーターとを関連づけて、ユーザー情報データベース50に蓄積するとともに、ステップS602〜S607によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース50に蓄積する(S608)。
他方、この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対する群体パラメーター及びエゴグラムの収集も行う(S301)。この群体パラメーターの収集方法としては、例えば、SNSにおける「いいね!」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。また、エゴグラムの収集は、性格診断などにより収集される。この収集された群体パラメーターは、キーワード毎に「+」、「−」及び数値(0を含む。)として紐付けられて設定され、ユーザー情報データベース50に蓄積される。エゴグラムパラメーターも、話題毎にグルーピングしたうえで、ユーザー情報データベース50に蓄積される。
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には(S701)、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S702)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S703)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップS703で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する(S704)。
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S705)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図5B(a)に示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5B(a)に示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS605で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S706)。
そして、ユーザー情報データベース50に蓄積されているワールドマップを読み出して参照し、ユーザーポテンシャル場を生成する(S707)。具体的には、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上に配置するとともに、ワールドマップ上に配置された動的オブジェクト全体の重心位置を、ユーザーの自我の中心として設定する。この重心位置は、仮想空間上に存在するすべての動的オブジェクトの座標と、質量(出現頻度や優先度から換算)とから重量を加味した座標位置として求め、この重心位置に、ユーザー自身(「わたし」、「ぼく」などの一人称)を配置する。なお、このユーザー自身を意味する一人称は、単一の単語ではなく、「わたし」、「ぼく」などの一般的な一人称のほか、本人の氏名やニックネームなどの同義語をマージしてグルーピングした単語群とする。
そして、この自我の中心を示す座標原点が設定されたワールドマップ上において、変位処理を行うための群体シミュレーションを実行し、動的クラスタリングを行う。その際、ステップS301で収集されたエゴグラムパラメーター及び群体パラメーターに基づいて、ステップS607で生成されたワールドマップにおけるワード間距離を話題毎の補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出する。ユーザー自身(「わたし」、「ぼく」などの一人称を意味する単語群)を重心位置に配置したユーザーポテンシャル場を参照することで、ユーザー自身と各キーワードとの相対的なワード間距離を算出することができる。
詳述すると、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、上式に則った単語間の引力及び反発力を求め、各言葉(キーワード)がユーザー自身に及ぼす影響力を推定することができる。
これにより、各キーワードは動的オブジェクトとして、ユーザーの性格に応じて、且つ、話題毎に関係性に応じて、その大きさや位置、影響力が設定された群体として配置され、ユーザーポテンシャル場が形成される。このとき、関係性の弱い単語同士や、ユーザーの性格上受け入れにくい単語は離間していく。また、ユーザーの性格や話題、単語との相性によっては、ユーザーが嫌いな単語が近づいてくることもあり、ユーザー自身にとってストレスフルな状態がユーザーポテンシャル場に自動的に形成される場合もある。このシミュレーションは、話題毎に行い、このシミュレーションの結果として再配置された、各単語の仮想空間上の座標を、話題毎のユーザーポテンシャル場として生成し、又は保存しておく(S707)。
その後、回答生成部107は、ステップS707で生成したユーザーポテンシャル場上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成する(S708)。
(作用・効果)
本実施形態によれば、ユーザーの性格が反映されたユーザー固有のユーザーポテンシャル場上のワード間距離を用いることにより、話し手の感情が大きく影響する日常会話において、ユーザーが対話の中で用いている言葉や話題に基づく関連性の高い単語をキーワードとして、そのユーザーの性格に合わせて、ときには心地よい或いは有益な情報を選定し、ときにはストレスフルな情報や表現となるように加工することで、個々のユーザーの性格に合わせて興味を惹いたり、対話を継続できるような検索結果や回答表現を提供することが可能となる。
このとき、ユーザーの受け止め方や、ユーザーに与える心的な影響度を、話題毎に考慮するため、話題が順次移っていくような日常会話であっても、自然な形でユーザーの趣味嗜好に合わせたコミュニケーションを取ることができる。
特に、ユーザーが利用した情報データについて、群体シミュレーション、及びエゴグラムパラメーターによる補正処理を実行することにより、ユーザーの性格を反映させたユーザーポテンシャル場を生成できる。詳述すると、本来、ユーザー自身にとっての自己中心的な理想は、図6(a)に示すように、自分にとって心地よいものが近くに存在し、心地悪いものが遠くに存在している。ところが、現実は、同図(b)に示すように、自分の意思とは関係なく、気に入っていた物がなくなったり、嫌いな人が接近してきたり、好きな人が遠距離に転勤したり等、外からの影響で周囲の環境が変わってしまい、自己中心的な理想が崩され、ポテンシャル場がゆがめられたストレスフルな状況が形成される。
本実施形態では、このようなリアルなユーザー固有のポテンシャル場を動的に形成することにより、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる。
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
本実施形態では、情報ソース取得部101が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Web上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
さらに、本実施形態では、群体パラメーター設定部301が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
以上述べたように、本実施形態によれば、リアルなユーザー固有のポテンシャル場を動的に形成し、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションを実現できる。
[第2実施形態]
以下に添付図面を参照して、本発明に係る対話インターフェースの第2実施形態を詳細に説明する。本実施形態では、上述した第1実施形態に係る対話インターフェースと、これと連動する関連対話インターフェースとを組み合わせて対話インターフェースシステムとし、核対話インターフェース間で演算結果や収集データを相互に利用し、解析・学習等を向上させることを要旨とする。
(対話インターフェースエンジンの概要)
本実施形態に係る対話インターフェースシステムは、人間の思考方法を模倣する仕組みとしての対話インターフェースエンジンを備えている。すなわち、対話インターフェースエンジンは、従来の人工知能の機能に加えて、より人間に近い受け答えをするためのアルゴリズムを有し、入力される各種情報に対して、利用ユーザーの友人のような対応すべく、そのユーザーに関する情報や心理状態をも加味して応答するように、そのユーザー用に特化され、且つ、そのユーザーとの相性を考慮した擬人格によって、多種多様な回答(リアクション)を表現する。
具体的に対話インターフェースエンジンは、ユーザーからの質問などがあった場合、その質問に係る文章についてユーザーが抱いている感情を計算し、質問の意図を推定する。例えば、ユーザーからの質問が、何についての話題なのか、どのような返答(回答なのか、相づちなのか)を求めているのか、回答の内容(いずれの情報源からの回答なのか、概要なのか、詳細なのか、ピンポイントなのか)、ユーザーの今の気分はどうなのかを推定する。そして、対話インターフェースエンジンは、その推定した質問の意図に従って、ユーザーの欲しがっている情報についてどのような回答をすべきかを決定することができる。例えば、どのような回答をすればユーザーが喜ぶか、検索して見つかった情報が残念なものしかなければ、回答の仕方も残念な表現とするなど、対話インターフェースエンジンがユーザーの好みや気分に合致した情報の提示の仕方を決定する。
この対話インターフェースエンジンは、特定のユーザーとの対話を積み重ねるいわゆるインタラクションを継続的に行うことによって、対話インターフェースエンジンの擬人格が変化される学習機能を有する。この学習機能は、ユーザー間のインタラクションによるユーザー自身の変化に対応するように、対話インターフェースエンジン間もインタラクションできるようになっており、これにより、対話中の話題に登場する他のユーザー(或いは他の対話インターフェースエンジン)との関係性に応じて回答も変化され、十人十色の対話インターフェースエンジンが出来上がっていくように設計されている。
(コア機能三要素)
上記対話インターフェースエンジンは、図7に示すように、人間の心理状態を計算するシステムとして、大きく分けて3つの要素からなるコア機能を備えている。具体的に、このコア機能は、文章の感情を推定する「PN値」算出機能と、言葉と言葉の関係性を示す「ワード間距離」算出機能、ユーザーの性格による各話題に対する反応の違いであるエゴグラムを用いる「ポテンシャル場」算出機能とを含んでいる。
「PN値」算出機能は、文章中に上がっている特定の話題に対するポジティブさ、ネガティブさの指標であるPN値を算出する。例えば、同一の話題であっても、ユーザー(若しくはその文章の書き手)の好きな人にとって嬉しいことが起こるとユーザー自身も嬉しいと感じ、ユーザーの嫌いな人に悲しいことが起こるとユーザー自身は嬉しいと感じる、というように、話題に上がっている主体(人、団体、物等)と、事象(事件等)との掛け合わせにより、ユーザーの受け捉え方がポジティブとなるか、ネガティブとなるかが変化することから、「PN値」算出機能は、この変化の度合いをPN値として算出する。
「ワード間距離」算出機能は、文章中に上がっている特定の主体(人、団体、物等)同士の繋がりや類似性など、実社会における関係性の程度をワード間距離として算出する。例えば、ユーザー(若しくは文章の書き手)の好きな人の近くにいる人(団体、物等を含む)の近くにいる人(団体、物等を含む)に対してはユーザー自身も好感を抱き、ユーザーの嫌いな人の近くにいる人に対してはユーザー自身も嫌いになることから、「ワード間距離」算出機能は、このような関係性をワード間距離として算出する。
「ポテンシャル場」算出機能は、ユーザーの性格に基づく反応の仕方の相違を示すポテンシャル場を算出する。例えば、ユーザーは人間であり一番大切なのは自分であるとする価値観を持ち、ユーザーの各話題に対する価値観と、その人の性格とによって、厳しく反応したり、寛大に反応したりすることから、「ポテンシャル場」算出機能は、そのユーザーの性格による各話題に対する反応パターンを、ポテンシャル場として算出する。
そして、これらのコア機能三要素は、相互に算出結果を利用し合うことが可能であり、三要素が個々に学習して得られたパラメーターと、他の要素から得られたパラメーターとを用いて、さらにユーザーに適した対話インターフェースエンジンとなる。
例えば「PN値」算出機能は、ユーザーが発した言葉(質問)や生成した文言(文章)の感情を計算し、学習結果として蓄積し、その学習結果を、シソーラス辞書として「ワード間距離」算出機能に渡すとともに、ユーザーにとっての文章のPN値として、「ポテンシャル場」算出機能に渡す。その一方で、「PN値」算出機能は、ワード間距離算出機能からワード間距離を受け取るとともに、「ポテンシャル場」算出機能からユーザーの固有名詞に対するPN値を受け取る。
「ワード間距離」算出機能は、一般的な情報ソースや、ユーザーが発した言葉(質問)や生成した文言(文章)の感情を計算して学習結果として蓄積し、その学習結果をワード間距離として「PN値」算出機能に渡すとともに、一般的なワード間距離、頻度、助詞係数として、「ポテンシャル場」算出機能に渡す。その一方で、「ワード間距離」算出機能は、「PN値」算出機能から受け取ったシソーラス辞書、及び「ポテンシャル場」算出機能から受け取ったユーザーにとってのワード間距離を一般的なワード間距離の計算に用いる。
「ポテンシャル場」算出機能は、ユーザーの性格の違いによるポテンシャル場を計算して学習結果として蓄積し、その学習結果をユーザーの固有名詞PN値として「PN値」算出機能に渡すとともに、ユーザーにとってのワード間距離として、「ワード間距離」算出機能に渡す。その一方で、「ポテンシャル場」算出機能は、「PN値」算出機能から受け取ったユーザーにとっての文章のPN値、及び「ワード間距離」算出機能から受け取った一般的なワード間距離をポテンシャル場の計算に用いる。
(対話インターフェースエンジンの動作例)
このような構成の対話インターフェースエンジンは、例えば以下のように動作する。
(1)ユーザーが過去に同じ話題に触れていた場合
例えば、ユーザーが過去にも同じ話題について対話した履歴がある場合であって、「今日の試合どうだった?」と、「何の試合か」という文言を省略して対話インターフェースエンジンに対し質問をしたときには、先ず、情報ソースにアクセスしてその日にあった試合のデータを検索し、検出された試合に基づいて話題を推定する。ここでは、本日の試合がテニスのみ3試合あったことから、話題として「テニス」をピックアップしたものとする。
そして、先ず、ワード間距離算出機能が、テニスという文言から「選手N、勝つ」という文言を、一般的な関連性、及びユーザーにとって近しいワード間距離を有するキーワードとして「PN値」算出機能に渡す。このキーワードを受け取った 「PN値」算出機能は、これらのキーワードについて、固有名詞場又は事象場として、各場に対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定する。ここでは、ユーザーは、「選手N」に対してはポジティブな感情を抱いていることから、そのPN値は(+)であり、「勝つ」という文言に対する一般的なポジティブな意味合いから、そのPN値も(+)である。「ポテンシャル場」算出機能は、この受け取ったキーワードに基づいてユーザー感情表を「PN値」算出機能に受け渡すとともに、このユーザー感情表に基づく、「選手N、勝つ」の2つのキーワードに対するユーザーにとってのワード間距離を算出して、ワード間距離算出機能に受け渡す。
そして、「PN値」算出機能は、「選手N、勝つ」という2つのキーワードと、これらキーワードを固有名詞場又は事象場として各場に対するPN値に基づく「ユーザーPN値」を算出し、回答生成部107に出力する。ここでは、「選手N、勝つ」の2つのキーワードがともにポジティブな値(+)であることから、これらを掛け合わせて得られる全体的なユーザーPN値も(+)となる。回答生成部107では、これら2つのキーワードを用いたポジティブな表現の「選手N勝ったよ」という回答をユーザーに対して生成する。
(2)ユーザーが新たな話題に触れた場合
例えば、ユーザーが過去に触れたことのない新しい話題について対話をし始めた場合であって、「囲碁、面白い?」と、対話インターフェースエンジンに対し抽象的な質問をしたときには、先ず、情報ソースにアクセスして「囲碁、面白い」をキーワードとしてデータを検索し、検出された囲碁に関する話題を絞り込む。ここでは、過去に触れた話題ではないので、ユーザー自身のワールドマップからは、なにもピックアップされなかったものとする。
この場合には、先ず、ワード間距離算出機能が、情報ソースに対して「囲碁」に関する問合せを行い、これに対する検索結果として「囲碁」に関する文章を取得し、その文章に記載された一般的な「囲碁」に関するキーワードを抽出するとともに、それらのワード間距離を算出する。その算出された一般的な囲碁に関連するキーワードを、それらのワード間距離とともに「PN値」算出機能に渡す。このキーワードを受け取った 「PN値」算出機能は、これらのキーワードについて、固有名詞場又は事象場として、各場に対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定する。ここでは、ユーザーは、「囲碁」に対してはポジティブな感情を抱いていることから、そのPN値は(+)であり、「面白い」という文言に対する一般的なポジティブな意味合いから、そのPN値も(+)である。「ポテンシャル場」算出機能は、この受け取ったキーワードに基づいてユーザー感情表を「PN値」算出機能に受け渡すとともに、このユーザー感情表に基づく、「囲碁、面白い」の2つのキーワードに対するユーザーにとってのワード間距離(ワールドマップ)を算出して、ワード間距離算出機能に受け渡す。
そして、「PN値」算出機能は、「囲碁、面白い」という2つのキーワードと、これらキーワードを固有名詞場又は事象場として各場に対するPN値に基づく「ユーザーPN値」を算出し、回答生成部107に出力する。ここでは、「囲碁、面白い」の2つのキーワードがともにポジティブな値(+)であることから、これらを掛け合わせて得られる全体的なユーザーPN値も(+)となる。回答生成部107では、これら2つのキーワードを用いたポジティブな表現の「選手N勝ったよ」という回答をユーザーに対して生成する。
(ハードウェアの構成)
以上説明した対話インターフェースエンジンの具体的な構成について以下に説明する。本実施形態に係るシステムも情報処理端末で実現することができる。この情報処理端末の構成としては、上述した第1実施形態と同様である。すなわち、本実施形態に係る情報処理端末1は、図1に示すように、演算処理を行うCPU11と、データを一時的に記憶するメモリ12と、通信ネットワーク2を介して外部との通信を行う通信I/F13と、データを格納しておく記憶装置14とを有している。なお、本実施形態では、これらのCPU11、メモリ12及び通信I/F13、記憶装置14,出力I/F15と、入力I/F16等は、CPUバス10を介して接続されており、相互にデータの受渡しが可能となっている。
(対話インターフェースシステムの処理動作)
そして、対話インターフェースシステムは、上述した対話インターフェースエンジンのコア機能及び初期化処理機能が協働していくつかの処理段階を実行する。図8は、本実施形態に係る対話インターフェースシステムの動作処理を示す説明図である。具体的に、この処理段階としては、情報データ取得phase1と、入力データ分析phase2と、ユーザー意図推定phase3と、回答生成phase4と、表現生成phase5と、表現出力phase6とが含まれ、各処理段階で算出されたパラメーターや辞書、その他のデータはデータベース群との間で各機能間で共有される。
情報データ取得phase1では、ユーザー自身が入力した文章を取得する処理であり、テキスト入力機能と、STT機能と、SPR機能と、3Dセンサー機能、手付けReward機能と、現在時刻及び現在位置を取得する時計やGPS等から情報データを取得する。
入力データ分析phase2は、ユーザーによって入力された文章や、対話、ユーザーが読んだWebページなどを入力データとして、それに含まれる文章を解析する処理であり、具体的には、クレンジング機能と、キーワード抽出機能と、単語抽出機能、品詞解析機能と、主語推定機能、フィラー機能、一般的なPN値算出機能が用いられる。
ユーザー意図推定phase3は、ユーザーの質問の意図を推定する処理であり、具体的には、意図推定機能と、上述した対話インターフェースエンジンのコア機能であるPN値算出機能、ワード間距離算出機能、ポテンシャル場算出機能を備えている。
回答生成phase4は、対話インターフェースエンジンが抽出した回答に関するパラメーターに基づいて、回答を生成する処理であり、具体的には、回答候補抽出機能と、回答選択機能と、文言生成機能とが用いられる。
表現生成phase5は、対話インターフェースエンジンにより生成された回答を、ユーザーに対して提示する際の、表現データを生成する処理であり、アバターエゴグラム機能と、アバター感情選択機能と、話題遷移機能と、感情付きTTS入力機能とが用いられる。
表現出力phase6は上記表現生成phase5で生成した表現データを出力する処理であり、テキスト出力機能、TTS機能、表情機能、リップシンク機能、動作制御機能とが用いられる。
また、対話インターフェースエンジンは、ブラックボードデータベースと、ユーザー情報と、一般情報とを含むデータベース群を備えている。ブラックボードデータベースは、ユーザー、アバター、やり取り(アクティビティ)を蓄積しておく。 ユーザー情報としては、ユーザー固有の情報として、ユーザー固有のポテンシャル場などが含まれる。一般情報としては、いわゆる情報ソースが含まれ、この情報ソースとしては、Webなどで取得される情報に関する一般的な情報(PN値やシソーラス辞書)や、ユーザー自身が作成したり、取得したりした個別情報が含まれる。このデータベース群は、具体的には、情報ソースデータベース40a、辞書データベース40b、ユーザー情報データベース50で構成され、各情報は相互に関連づけられている。
(対話インターフェースシステムの構成)
次いで、以上説明した対話インターフェースエンジンを有する対話インターフェースシステムの具体的な構成について説明する。図9は、本実施形態に係る対話インターフェースエンジンの概略構成を示すブロック図であり、図10及び図11は、対話インターフェースシステムの全体構成及び初期化処理部の構成を示すブロック図である。図9に示すように、対話インターフェースエンジンには、初期化処理部100と、コア機能実行部20とが含まれる。
初期化処理部100は、情報ソースを取得し、後段のコア機能実行部20における処理で必要なデータ加工を実行するモジュールであり、加工された情報データはコア機能実行部20に出力される。コア機能実行部20は、上述したコア機能を用いて実行するモジュールであり、PN値算出機能200と、ワード間距離算出機能300と、ポテンシャル場算出機能400とを有する。初期化処理部100で加工された情報データは、PN値算出機能200及びワード間距離算出機能300に入力される。PN値算出機能200では、PN値表(環状表)が生成され、データベース群に蓄積されるとともに、ポテンシャル場算出機能400に受け渡される。ワード間距離算出機能300では、話題ワールドマップが生成され、データベース群に蓄積されるとともに、ポテンシャル場算出機能400に受け渡される。ポテンシャル場算出機能400では、PN値表(環状表)及び話題ワールドマップに基づいて、ユーザーポテンシャル場が生成され、データベース群に蓄積される。なお、これらのモジュールでは、情報ソースデータベース40a、辞書データベース40b及びユーザー情報データベース50を介して連携され、シソーラス辞書やPN値、ワード間距離などの各種パラメーターが共有される。
このような対話インターフェースを含む対話インターフェースシステムの各モジュールの具体的な構成及び動作について詳述する。
(1)初期化処理部
初期化処理部100では、主として上述した情報データ取得phase1及び入力データ分析phase2を行う。すなわち、情報データ取得phase1において、記事データ等の各種情報ソースを取得し、入力データ分析phase2においてデータのクレンジングを行う。入力データ分析phase2では、コア機能による処理に対する前処理として、形態素解析により単語や助詞などを抽出するとともに、文節のツリー構造について解析を行い、解析結果をPN値算出機能200及びワード間距離算出機能300に入力する。PN値算出機能200は、これらのデータを用いてPN値表を生成する。このPN値表は、情報ソースデータベース40a及びユーザー情報データベース50に格納されるとともに、ポテンシャル場算出機能400に受けわたされる。一方、ワード間距離算出機能300は、前処理による解析結果を用いて話題ワールドマップを作成する。このワールドマップは、情報ソースデータベース40a及びユーザー情報データベース50に格納されるとともに、ポテンシャル場算出機能400に受け渡される。ポテンシャル場算出機能400では、PN値算出機能200から取得したPN値表と、ワード間距離算出機能300から取得した話題ワールドマップとに基づいて、ユーザーポテンシャル場を作成する。
上記入力データ分析phase2における前処理では、記事データのPNを計算するために必要な情報を得るために、以下の処理を実行する。
(1)固有名詞の記事単位のマージ
(2)暗黙の主語の推定
(3)単語のシソーラス分類
(4)助詞係数の算出
を行う。
上記入力データ分析phase2における前処理につき、それぞれの処理について以下に説明する。
(1)固有名詞の記事単位のマージ
取得した記事文章内に登場する固有名詞を、記事毎にマージしてテンポラリ辞書を作成する。例えば、プロ野球の特定のチームに関する記事であれば、記事のヘッドラインには選手名の略称や俗称、ニックネームなどが使用されている場合が多く、本文中ではその選手名の本名が主語として用いられることが多い。このため、記事毎に、その文章内に登場する固有名詞や略称、俗称をマージすることにより、特定の話題に関連する単語を検索できるようになる。
(2)暗黙の主語の推定
日本語では主語を省略する傾向があり、単に文章中に登場する固有名詞の出現頻度をカウントするだけでは正確なユーザー意図は算出できないため、省略された主語を推定して、基の文章中に追加して再構成し、そのうえで、各固有名詞の出現頻度を家運とすることにより、より正確なユーザー意図を算出することができる。
この暗黙の主語の推定は、一定のルールに基づいて、省略されている主語を検出する。このルールとしては、例えば、以下のものが挙げられる。
(a)推定する主語は固有名詞とする。
(b)暗黙の主語を推定する文章としては、「固有名詞+“は”」、「固有名詞+“が”」、「固有名詞+“も”」、「固有名詞+“,”:のいずれも含まれない文章を選択する。
(c)その文章が存在している段落の最初の文章で主語となっている固有名詞を、推定される”暗黙”の固有名詞とする。
(d)(c)において「推定される”暗黙”の固有名詞」が存在しない場合は、その記事のヘッドラインで最初の固有名詞とする。
(e)推定された暗黙が既に文章に含まれているときは、固有名詞となっている(直)前の文章の主語とする。
(3)単語のシソーラス分類
一般的な単語については、個別に扱わずに、同義語又は類似語等を、体系化及びグルーピングを行う。シソーラス分類は、単語の上位 / 下位関係、部分 / 全体関係、同義関係、類義関係などによって単語を分類し、体系づけた辞書を備えており、これらの単語間の関係を、木構造又は表形式でデータ構造により保持している。PN値の設定などは、単語毎には行わず、単語の集合毎に設定する。
(4)助詞係数の算出
助詞係数は、文書中における単語間の距離や関係性を計算するための重要なパラメーターであり、助詞の種類間における結合の関係を表す係数である。具体的に、初期化処理は、初期化処理部100により実行される。図11は、本実施形態に係る初期化処理部の内部構成を示すブロック図である。
初期化処理部100は、情報ソース取得部101が取得した情報ソースや、ユーザーから入力された入力データについて、コア機能部での処理を行う前に予め処理し、コア機能実行部20に受け渡すモジュールである。本実施形態において、具体的に初期化処理部100は、情報ソース取得部101と、センテンス解析部102と、省略単語検出部103と、推定単語検出部104と、テキスト再構成部105と、キーワード解析部106とを備えている。
情報ソース取得部101は、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、情報ソースデータベース40aやユーザー情報データベース50に蓄積するモジュールである。すなわち、この情報ソースとしては、ユーザーがアクセスした情報やその履歴についても蓄積されており、情報ソース取得部101は、一般的な情報と、ユーザーが利用したプライベートな情報とを区分して情報ソースデータベース40aやユーザー情報データベース50に蓄積され、管理されている。
センテンス解析部102は、情報ソース取得部101が取得した情報ソースから得られるテキストデータからセンテンスを抽出するモジュールである。例えば、このセンテンス解析部102は、文章のテキストデータから、句点から句点、或いはピリオドからピリオドまでなど、一連のセンテンスを切り出し、省略単語検出部103に入力する。
省略単語検出部103は、センテンス解析部102が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出するモジュールである。具体的には、名詞、形容詞、動詞などの各文に含まれる単語の品詞を抽出し、主語となり得る名詞、特に固有名詞を検査し、見つからない場合は、主語が省略されているとして、その旨のフラグを文章データ中に挿入し、推定単語検出部104に入力する。
推定単語検出部104は、省略単語検出部103が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出するモジュールである。この推定単語は、先行する直前のセンテンスや段落、記事のヘッドラインなどに含まれる固有名詞などを選定する。検出された推定単語は、テキスト再構成部105へ入力される。
テキスト再構成部105は、入力されたテキストデータに対して、省略単語検出部103が検出した省略単語の検出位置に、推定単語検出部104が検出した推定単語を追加して、センテンスとして再構成するモジュールである。このテキスト再構成部105により再構成された文書データは、原文とともに情報ソースデータベース40aに蓄積されるとともに、コア機能実行部20に入力される。
キーワード解析部106は、本実施形態では、コア機能間で共通して用いられ、入力されたテキストデータから、固有名詞キーワード又は事象キーワードを抽出するモジュールであり、本実施形態では、固有名詞キーワード又は事象キーワードに加えて、日時又は場所に関する環境キーワードを抽出する機能を備えている。この環境キーワードとしては、入力された文章や対話音声のみならず、時計やGPS、天気、気温、湿度等の気象情報などからも取得することができ、日時又は場所に関する環境キーワードを加味して提供すべき情報を選定し、加工することにより、時と場所によって変動するユーザーの心理に対応した検索結果や回答表現を提供することが可能となる。そして、このキーワード解析部106で解析された各キーワードは、PN値設定部201、群体パラメーター設定部301又はポテンシャル場形成部402に入力される。
また、キーワード解析部106は、テキスト再構成部105によって再構成されたテキストデータから固有名詞キーワード又は事象キーワードを抽出する機能を有している。具体的にキーワード解析部106は、情報ソースやユーザーからの問いかけについて、省略された単語を追加して再構成されたテキストデータを初期化処理部100から受け取りし、この再構成されたテキストデータから固有名詞キーワード又は事象キーワードを抽出する。これにより、省略された主語や目的語などを推定することにより、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
(2)コア機能実行部
コア機能実行部20は、主として、上記ユーザー意図推定phase3などを実行するモジュールであり、PN値算出機能200、ワード間距離算出機能300及びポテンシャル場算出機能400を有している。
(2−1)PN値算出機能
PN値算出機能200は、文章PN値算出部203と、PN値設定部201とを備えている。
PN値設定部201は、入力された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定するモジュールである。本実施形態では、キーワード解析部106から入力されたテキストデータに含まれる文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に含まれる単語の出現頻度に基づいて各単語の優先度を設定するフィルタリング部201aを備え、PN値設定部201は、フィルタリング部201aが設定した優先度に基づいてPN値を設定する。PN値設定部201で設定されたPN値は、ユーザー情報データベース50に蓄積されるとともに、文章PN値算出部203に入力される。
本実施形態では、PN値設定部201は、PN値の学習機能として、テンプレート生成部201bと、トレーニングデータ作成部201cと、学習部201dとを備えている。本実施形態においてこれらの学習機能は、ユーザーがPN値を設定したキーワード以外のキーワードについて、自動的に一般的なPN値を設定する。
テンプレート生成部201bは、図4Dに示すように、学習処理にあたり、一般的なPN値を学習するためのテンプレートデータD101を生成するモジュールである。このテンプレートデータD101は、任意のPN値を、テキストデータ内のキーワードに当てはめて、各話題や記事毎にキーワード群にPN値をまとめて設定するためのデータであり、収集した話題毎の記事から任意の文章(テキストデータ)を抽出してレコードとして格納したテーブルデータである。このとき抽出する文章は、名詞、動詞、形容詞などの品詞のいずれかを含む単文であり、この単文は、そのまま文章中に記載されているものと、複文を分解して単文に連結し直したものが含まれる。
トレーニングデータ作成部201cは、学習したPN値を評価するためのトレーニングデータD102を作成するモジュールである。このトレーニングデータD102は、テンプレートデータD101において、固有名詞や、ユーザーが既にPN値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章(テキストデータ)に対する文章PN値(基準文章PN値)を設定したテーブルデータである。詳述すると、テンプレートデータD101には、固有名詞や、ユーザーが既にPN値を設定した動詞、形容動詞などのキーワードA〜Eを含むセンテンスが複数格納されており、トレーニングデータD102では、各レコードのテキスト中に含まれている固有名詞A〜Eが、「私」や「彼(彼女)」等の代名詞に置き換えられており、一般的な名詞や動詞、形容動詞など固有名詞が代名詞に置き換えられた文章について学習の基準となる基準文章PN値が設定される。この基準文章PN値は、単一又は複数のユーザー若しくはユーザー以外の操作者が入力したものであり、専門のオペレーターが入力したり、Web上のアンケートなどにより収集することができる。
学習部201dは、学習用PN値セットD104を、遺伝的アルゴリズムによってランダムに生成するなどして選定し、テンプレートデータD103への当て嵌めを行い、学習用文章PN値の算出と基準文書PN値との比較を複数世代にわたり実行し、世代間で上位或いは代表的な値を選定し、それらの値を学習用PN値セットとして生成し、一般的なPN値としてPN値設定部201に設定させるモジュールである。
詳述すると、学習部201dは、テンプレートデータD101に含まれる固有名詞、及びその文章中における品詞を解析し、各固有名詞をその品詞に応じた代名詞に置き換える機能を備えており、固有名詞以外の一般名詞や一般動詞などの単語O〜Uに対してランダムな値のPN値を設定した学習用PN値セットD104を当てはめて学習用データD105を生成する。
さらに、学習部201dは、学習用データD105について、学習文章PN値を算出するとともに、その学習用PN値セットD104の適応度を算出する機能も有している。すなわち、学習部201dは、図4Dに示すように、テンプレートデータD103内の単語O〜Uに対して学習用PN値セットD104のPN値を当てはめて文章PN値算出部203により学習文章PN値を算出させ、この学習文章PN値と基準文書PN値と比較し、その一致度から適応度を算出する。
この学習文章PN値と基準文書PN値との比較に際し、学習部201dは、学習用PN値セットD104内のPN値を変動させつつ、複数世代にわたり実行し、世代間で最良の、学習用PN値セットを選定する。そのために、学習部201dは、変動された各世代のPN値のセットに基づく学習文章PN値と基準文書PN値との一致度から、各世代における適応度を算出し、世代間の適応度を比較し、その時点における最良又は最悪、平均的或いは代表的なセットを記憶保持しておく。そして、記憶保持された世代数が所定数に達せず、且つ算出される適応度が所定範囲に収束していない場合には、適応度が上位である複数セットの一部を抽出して組み合わせて次世代の学習用PN値セットを生成する処理を行いつつ、学習用PN値セットの選定及び適応度の算出等を繰り返させる。
この学習用PN値セットの選定及び適応度の算出等を繰り返させる際、学習部201dは、本実施形態では、遺伝的アルゴリズムによって、学習用PN値セット内のキーワード及びそのPN値について交叉・突然変異処理を施し、その処理結果が終了条件(本実施形態では、学習部201dに記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束すること)を満たすまで繰り返す。ここで、交叉処理とは、それぞれのPN値セットで対応するデータ列の2つのデータ要素の値を入れ替える処理であり、突然変異とは、学習用PN値セットのデータ列のうち、ランダムに選択したデータ要素を、所定の確率をもって変化させる。
そして、学習部201dは、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束した場合に、世代間において最上位の学習文章PN値に係るキーワード及び設定されたPN値のセットを、一般的なPN値としてPN値設定部201に設定させる。
文章PN値算出部203は、対話に含まれる固有名詞キーワード又は事象キーワードを抽出し、抽出された固有名詞キーワード又は事象キーワードについて、ユーザー情報データベースを参照し、対話に含まれる固有名詞キーワード又は事象キーワードについて設定されたPN値に基づいて、対話に関してユーザーが抱いている感情を数値化した文章PN値を算出するモジュールである。この文章PN値算出部203により算出された文章PN値は、回答生成部107に入力される。
この文章PN値の算出では、文章中に含まれるキーワードに設定されたPN値を所定の演算処理により、文書全体で、ユーザーにとってどの程度ポジティブなのかネガティブなのかを判定する。この算出方法は、図4Aに示すように、各文節BL1,BL2内ではそれぞれの単語KW01とKW02、及びKW03とKW04のPN値を加算し、文節BL1,BL2間ではそれぞれの文節BL1及びBL2内で加算されたPN値を積算することを基本とする。なお、文節内のPN値が0となった場合には、積算の際には除外する。この各キーワードのPN値は、話題や記事毎に設定されており、固有名詞など特定の人や団体を意味するキーワードについては、ユーザー操作に基づくPN値が設定され、その他のキーワードには学習処理により一般的なPN値が設定されている。
これにより、例えば図4B(a)に示すように、情報ソースが「チームA 危険球で危険水域」というヘッドラインの記事であり、その記事の内容が「また、頑張ります。」という文章であった場合には、ユーザーがチームAのファンであるか否かで、この記事の文章PN値が変化する。
先ず、ユーザーがチームAのファンであった場合には、「チームA」という固有名詞にはポジティブなPN値(+)が与えられており、また、「頑張る」という単語には一般的な意味合いから、ポジティブなPN値(+)が与えられている。このとき、記事本文の文章中では主語が省略されているため、主語推定を行う。ここでは、ヘッドラインに「チームA」とあることから、この文章の省略された主語は「チームA」であるため、暗黙の主語として文章中に追加して文章PN値の算出を行う。この結果、ユーザーがチームAのファンである場合には、同図(b)に示すように、暗黙の主語である固有名詞「チームA」に対するPN値(+)と、「頑張る」という一般的なPN値(+)とが含まれていることから、各文節内を加算した後、これらを積算することによって、文章全体としてもその値はポジティブな「+0.01」となる。なお、図中にある「また」の文節にはニュートラルのキーワードのみが含まれるため、この文節のPN値は0となることから積算の際には除外する。そして、各文説の数値は、ユーザーが「チームA」に付与したPN値や、ヘッドラインとの掛かり受けなどの文章構造に応じて加減される。
一方、ユーザーがチームAのファンでなかった(アンチチームAであった)場合には、「チームA」という固有名詞にはネガティブなPN値(−)が与えられており、また、「頑張る」という単語には一般的な意味合いから、ポジティブなPN値(+)が与えられている。このときにも、記事本文の文章中では主語が省略されているため、「チームA」を暗黙の主語として文章中に追加して、文章PN値の算出を行う。この結果、同図(c)に示すように、暗黙の主語である固有名詞「チームA」に対するPN値(−)と、「頑張る」という一般的なPN値(+)とが含まれていることから、ニュートラルのみの文節を除外した文節を積算することによって、文章全体としてもその値はネガティブな「−0.01」となる。
また、他の例としては、例えば図4B(d)に示すように、情報ソースが「チームA 危険球で危険水域」というヘッドラインの記事であり、その記事の内容に「2戦連続の逆転負け」という文章であった場合にも、ユーザーがチームAのファンであるか否かで、この記事の文章PN値が変化する。ただし、ここでは、「逆転」と「負け」というキーワードの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。すなわち、「逆転」の意味合いとしては一般的にはポジティブであるが、前後に連結される他のキーワードの種類によっては、その意味が反転し、強調するような機能が環境キーワードに保持されている。
そして、上記と同様に、ユーザーがチームAのファンであった場合には、「チームA」という固有名詞にはポジティブなPN値(+)が与えられている。また、「逆転」及び「負け」という単語には一般的な意味合いから、「逆転」にはポジティブなPN値(+)、「負け」にはネガティブなPN値(−)が与えられているとともに、これらの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。この結果、ユーザーがチームAのファンである場合には、同図(e)に示すように、暗黙の主語である固有名詞「チームA」に対するPN値(+)と、「逆転」という一般的なPN値(+)が「負け」というキーワードによってPN値が反転されることから、これらを積算することによって、文章全体としてもその値はネガティブな「−0.01」となる。
一方、ユーザーがチームAのファンでなかった(アンチチームAであった)場合には、チームA」という固有名詞にはネガティブなPN値(−)が与えられている。また、「逆転」及び「負け」という単語には一般的な意味合いから、「逆転」にはポジティブなPN値(+)、「負け」にはネガティブなPN値(−)が与えられているとともに、これらの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。この結果、ユーザーがチームAのアンチファンである場合には、同図(f)に示すように、暗黙の主語である固有名詞「チームA」に対するPN値(−)と、「逆転」という一般的なPN値(+)が「負け」というキーワードによってPN値が反転されることから、これらを積算することによって、文章全体としてもその値はポジティブな「+0.01」となる。
なお、PN値としては、ポジティブでもないネガティブでもないニュートラルな値として「0」も設定が可能となっていることから、本実施形態では、文節単位でPN値が0のときは、積算処理に含めずに無視するか、或いは他の文節に加算することで、文章全体としての文章PN値が「0」値になるのを回避している。
辞書データベース40bは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
(PN値算出機能の動作)
以上の構成を有するPN値算出機能は、以下のように動作する。図3Aは、PN値算出機能の動作順序を示すフローチャート図である。
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う(S101)。具体的には、情報ソース取得部101が、Web等の通信ネットワークを通じて取得される一般的な情報の他、サービス提供側で準備されたデータソース、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Web等の通信ネットワークにおける情報収集としては、Webクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってWebデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。サービス提供側で準備されたデータソースとしては、例えば、「選手年鑑」や辞書・辞典など、オフラインの情報を独自にデータベース化したデータが挙げられ、さらには、人物や有名建築物の画像などを解析し、同一名の人物や地名を関連情報と紐付けてデータベース化したものも含めてもよい。他方、プライベートなローカルデータの収集としては、ユーザーがWeb検索した際のキーワードや実際にアクセスしたWebページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S102)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S103〜S105)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。また、省略された単語が追加され再構成されたテキストデータについて、木構造の解析を行い、木構造に基づくフィルタリングを行う。具体的には、図4Eに示すように、文章構造が分岐を有する複文などになっている場合に、分岐毎に単語の出現頻度を解析して、単語の優先度を設定し、優先度の低い単語を削除するなどのフィルタリングを行う。
次いで、情報ソースから得られたテキストデータから、固有名詞キーワード、事象キーワード及び環境キーワードを抽出するとともに、抽出された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定する(S106)。このキーワードの検出や、PN値の設定に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
併せて、本実施形態では、取得された情報ソースから得られたテキストが、一つの話題に関連する一連の文章である場合、その一連の文章を一塊の単位記事として、単位記事毎にキーワード解析部106に入力して、当該単位記事に関してユーザーが抱いている感情を数値化した文章PN値を算出する(S107)。
その後、各キーワードとともに、各キーワードについてPN値設定部201が設定したPN値とを関連づけて、ユーザー情報データベース50に蓄積するとともに、ステップS102〜S107によって加工された情報ソースを単位記事毎に、文章PN値を関連づけて、情報ソースデータベース40aに蓄積する(S108)。
この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対するPN値の収集も行う(S301)。このPN値の収集方法としては、例えば、SNSにおける「いいね!」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。この収集されたPN値は、キーワード毎に「+」、「−」及び数値(0を含む。)として紐付けられて設定され、ユーザー情報データベース50に蓄積される。
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には(S201)、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S202)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S203〜S205)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。また、省略された単語が追加され再構成されたテキストデータについて、木構造の解析を行い、木構造に基づくフィルタリングを行う。具体的には、図4Eに示すように、文章構造が分岐R1,R2を有する複文などになっている場合(同図(a))に、省略された主語W301を追加して再構成されたセンテンスについて、分岐毎に単語の出現頻度を解析して、単語の優先度を設定し、優先度の低い分岐に含まれる単語を無視するなどのフィルタリングを行う。図4Eに示した例では、分岐R1には単語W101及びW102が含まれ(同図(b))、分岐R2には、単語W102〜103の3つ含まれていることから(同図(c))、分岐R2の優先度を高くして、低い分岐R1に含まれる単語W101を無視し、分岐R2側の単語のみをカウントする。
次いで、情報ソースから得られたテキストデータから、固有名詞キーワード、事象キーワード及び環境キーワードを抽出するとともに、抽出された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すPN値を設定する(S206)。このキーワードの検出や、PN値の設定に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
併せて、本実施形態では、取得された情報ソースから得られたテキストが、一つの話題に関連する一連の文章である場合、その一連の文章を一塊の単位記事として、単位記事毎にキーワード解析部106に入力して、当該単位記事に関してユーザーが抱いている感情を数値化した文章PN値を算出する(S207)。その後、回答生成部107は、文章PN値算出部203が算出した文章PN値に基づき、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成する(S208)。
(PN値の学習処理)
上述したステップS206におけるPN値の設定では、ユーザー操作によってPN値を設定したが、本実施形態では、ユーザーがPN値を設定したキーワード以外のキーワードについては、学習機能により自動的に一般的なPN値を設定することができる。図4Dは、学習機能の動作を示すフローチャート図であり、図4Dは、学習時のデータ処理の概要を示す説明図である。
図4C及び図4Dに示すように、学習処理にあたり、先ず一般的なPN値を学習するためのテンプレートデータD101を生成する(S801)。このトレーニングデータD102は、テンプレートデータD101において、固有名詞や、ユーザーが既にPN値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章(テキストデータ)に対する文章PN値(基準文章PN値)を設定したテーブルデータである。詳述すると、テンプレートデータD101には、固有名詞や、ユーザーが既にPN値を設定した動詞、形容動詞などのキーワードA〜Eを含むセンテンスが複数格納されている。
次いで、学習したPN値を評価するためのトレーニングデータD102を作成する(S802)。このトレーニングデータD102は、テンプレートデータD101において、固有名詞や、ユーザーが既にPN値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章(テキストデータ)に対する文章PN値(基準文章PN値)を設定したテーブルデータである。詳述すると、テンプレートデータD101には、固有名詞や、ユーザーが既にPN値を設定した動詞、形容動詞などのキーワードA〜Eを含むセンテンスが複数格納されており、トレーニングデータD102では、各レコードのテキスト中に含まれている固有名詞A〜Eが、「私」や「彼(彼女)」等の代名詞に置き換えられており、一般的な名詞や動詞、形容動詞など固有名詞が代名詞に置き換えられた文章について学習の基準となる基準文章PN値が設定される。この基準文章PN値は、単一又は複数のユーザー若しくはユーザー以外の操作者が入力したものであり、専門のオペレーターが入力したり、Web上のアンケートなどにより収集することができる。
次いで、学習用PN値セットを選定し、テンプレートデータD103へのPN値の当て嵌めを行う(S803)。詳述すると、テンプレートデータD101に含まれる固有名詞、及びその文章中における品詞を解析し、各固有名詞をその品詞に応じた代名詞に置き換えたうえで、固有名詞以外の一般名詞や一般動詞などの単語O〜Uに対してランダムな値のPN値を設定した学習用PN値セットD104を当てはめて学習用データD105を生成する。
そして、学習用データD105について、学習文章PN値を算出する(S804)とともに、その学習用PN値セットD104の適応度を算出する(S805)。すなわち、テンプレートデータD103に学習用PN値セットD104のPN値を当てはめて得られる文章PN値算出部0により学習文章PN値を算出させ、この学習文章PN値と基準文書PN値と比較し、その一致度から適応度を算出する。
本実施形態では、この学習文章PN値と基準文書PN値との比較は、学習用PN値セットD104内のPN値を変動させつつ、学習用文章PN値の算出、及び基準文書PN値との比較を複数世代にわたり実行し、世代間で最良の、学習用PN値セットを選定する。そのために、変動された各世代のPN値のセットに基づく学習文章PN値と基準文書PN値との一致度から、各世代における適応度を算出し、世代間の適応度を比較し、その時点における最良又は最悪、平均的或いは代表的なセットを記憶保持しておく(S806)。
次いで、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束するかを判断し(S807)、記憶保持された世代数が所定数に達せず、且つ算出される適応度が所定範囲に収束していない場合には(S807における”N”)、学習用PN値セットの選定及び適応度の算出等(S803〜S806)を繰り返させる。このとき、ステップS803における学習用PN値セットの選定では、適応度が上位である複数セットの一部を抽出して組み合わせて次世代の学習用PN値セットを生成する突然変異生成処理を行う。
そして、ステップS807において、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束した場合には(S807における”Y”)、世代間において最上位の学習文章PN値に係るキーワード及び設定されたPN値のセットを、一般的なPN値としてPN値設定部201に設定させる(S808)。
本機能によれば、ユーザーとの対話に関してユーザーが抱いている感情を数値化した文章PN値を算出し、その文章PN値に合致した情報を検索し、選定し、加工して提示することができるため、話し手の感情が大きく影響する日常会話において、話題の中心となっている人物や団体、場所などに対して、話し手がどのような感情を抱いているかによって、ユーザーが所望する検索結果や回答表現を提供することが可能となる。
特に、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
また、本実施形態では、いわゆるワードシソーラス分類を応用することにより、情報の検索や回答の生成に際し、同義関係、類義関係を考慮することができ、単純に音声やテキストを解析して得られるキーワード検索では漏れてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
さらに、本実施形態では、情報データから得られるテキストデータに含まれる文章内における、文章構造が分岐を有する複文などになっている場合にも、分岐毎に単語の出現頻度を解析して、単語の優先度を設定しフィルタリングすることで、主たる話題となっているキーワードを適切に抽出することができる。
以上述べたように、本実施形態によれば、話し手であるユーザーが、特定の話題に対してポジティブな感情を抱いているか、ネガティブな感情を抱いているかを予測することによって、曖昧な日常会話をより正確に解析することができる。この結果、日常生活の中で大まかに無造作に交わされる会話のような自然文章を正確に解析し、さらには、話し相手の意図を推定して回答できる思考方法を模倣したコミュニケーションを図ることができる。
(2−2)ワード間距離算出機能
ワード間距離算出機能300は、動的クラスタリング部303と、群体パラメーター設定部301とを備えている。
群体パラメーター設定部301は、各キーワードに対して、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定するモジュールである。本実施形態にかかる群体パラメーターとしては、
単語の出現頻度(暗黙の主語を含む。)
他のワードと同じ記事(話題)や文章、段落、文節内に出現した回数
文章の木構造において並列又は直列かの回数
その単語に係る「の」、「が」、「は」の他の助詞の出現頻度
出現時刻
を用いる。
なお、固有名詞はそれぞれマージしたあとのものを使用し、一般的な用語(勝つ、負ける)は、シソーラス辞書に引き当てて同義語をグルーピングしたあとに使用してもよい。この場合、出現頻度のカウントについては、グループ単位でのシソーラス辞書に対する引き当て数とすることができる。また、同義語のグループ内でもニュアンスや強調などを考慮した重み付をして頻度を算出してもよい。例えば、「勝つ」という文言と「連勝」という文言とは、「勝つ」という括りで同義語として扱うことができるため、"勝"が2回というようにカウントすることができ、さらにはその強調するニュアンスを加味した重みをつけて、1+1×2=3というように計算してもよい。
また、さらにこの群体パラメーターには、あるキーワードが出現しない経過時間に関する風化係数が含まれ、各キーワードに付与された風化係数に応じて、そのキーワードの重要度が減衰されるようになっている。この出現しない経過時間は上記(5)に掲げたような、最後の出現時刻からの経過時間に基づいて算出することができる。
このようにして算出された群体パラメーターは、図5C(b)に示すようなデータセットとして蓄積される。すなわち、各ワードに関する出現頻度や助詞係数、木構造パターン、関連テキストなどをメインのテーブルデータD1として、このテーブルデータD1の項目「助詞係数」にはテーブルデータD11をリレーションで関連づけ、項目「木構造」には、テーブルデータD12をリレーションで関連づけた構造を有するリレーショナルデータベースとなっている。これにより、一つの単語に、その単語自身の出現頻度やや関連テキストデータの他、他の単語それぞれとの関係性を示す助詞係数、木構造などが紐付けられており、動的クラスタリングにおける変位処理を行う場合には、図5Bに示すように、中心となる各単語を動的オブジェクトとして順番に取り上げ、その単語と紐付けられたテーブルデータD11,D12(図5C)中にある単語を仮想空間上の影響範囲R内で探索し、検出されればその他の単語との関係から移動方向や移動量を決定する。
このとき複数の単語が検出された場合には、それぞれに対するベクトル(F及びF)を計算し、テーブルデータD11,D12内で検出されなかった場合には、その検出されなかった単語をその中心となった単語(動的オブジェクト)の影響範囲Rから追い出すように移動方向及び移動量のベクトル(F)を決定する。さらに、他の動的オブジェクトが中心となったときに、その他の動的オブジェクトについての変位処理によるベクトル(F)も加算される。そして、それらのベクトルF〜Fの合成ベクトルに基づいて変位処理を実行する。図5Bの例では、Word_k及びWord_lが影響範囲R内で関連づけられた単語として検出され、Word_oが関連のない単語として検出されているとともに、Word_i自身は、Word_zに対して関連のない単語として検出されている。
そして、群体パラメーター設定部301で設定された群体パラメーターは、ユーザー情報データベース50に蓄積されるとともに、動的クラスタリング部303に入力される。
動的クラスタリング部303は、図5C(a)に示すように、人や環境、話者の趣味や気分などいろいろな指標や切り口によって、言葉相互の関係性(距離)をクラスタリングするモジュールである。例えば、同じ野球ファンであっても、そのユーザーがピッチャーのファンである場合と、バッターのファンである場合とでは、そのチーム名や選手名、監督名などの固有名詞相互の関係性や、それぞれの重要度が異なる。
この動的クラスタリング部303によるクラスタリングは、各キーワードを、図5Bに示すように、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、これらの動的オブジェクトに対する変位処理により行われる。具体的には、各動的オブジェクトについて、各動的オブジェクトを中心とする影響範囲Rに存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する。この動的クラスタリング部303により算出された各ワード間距離は、話題ワールドマップとして、ユーザー情報データベース50に蓄積されるとともに、回答生成部107に入力される。
この動的クラスタリング部303による変位処理では、先ず、中心となる動的オブジェクトを自動で設定し、その中心となった動的オブジェクトの影響範囲内にある他の動的オブジェクトについて、所定のルールに従って動的オブジェクトを移動させる。この中心となる動的オブジェクトの選定は、出現頻度やユーザーの切り口(話題や記事等)に応じて行う。そして、ここで用いられるルールには、
(a)各キーワードの関連性の度合い基づいて、所定の影響範囲内に存在する他の動的オブジェクトに接近する方向に移動させること
(b)各キーワードの重要度に基づいて、移動量を決定すること
(c)各キーワードの関連性がない動的オブジェクト間は、影響範囲外へ追い出すようにして、離間する方向に移動させること
が含まれる。
このルールに従って変位処理をさせると、図5Bに示すように、例えば、中心となった動的オブジェクトWord_iと関連づけられた他の動的オブジェクトWord_k及びWord_lに対するベクトル(F及びF)を計算し、関連づけられていない動的オブジェクトWord_oを、影響範囲Rから追い出すように移動方向及び移動量のベクトル(F)を決定する。さらに、他の動的オブジェクトWord_zが中心となったときに、その他の動的オブジェクトWord_zについての変位処理によるベクトル(F)も加算される。そして、それらのベクトルF〜Fの合成ベクトルに基づいて変位処理を実行する。
なお、上記辞書データベース40bは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
(群体パラメーター算出機能の動作)
以上の構成を有する群体パラメーター算出機能は、以下のように動作する。図3Bは、群体パラメーター算出機能の動作順序を示すフローチャート図である。
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う(S401)。具体的には、情報ソース取得部101が、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Web等の通信ネットワークにおける情報収集としては、Webクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってWebデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがWeb検索した際のキーワードや実際にアクセスしたWebページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S402)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S403,S404)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S405)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図5Aに示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5Aに示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS405で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S406)。
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う(S407)。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく(S407)。
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部301が設定した群体パラメーターとを関連づけて、ユーザー情報データベース50に蓄積するとともに、ステップS402〜S407によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース50に蓄積する(S408)。
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には(S501)、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S502)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S503)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップS503で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する(S504)。
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S505)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図5Aに示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5Aに示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS405で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S506)。
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う(S407)。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、又は更新しておく(S507)。
その後、回答生成部107は、ステップS507で生成した話題ワールドマップ上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成する(S508)。
本機能によれば、話題ワールドマップ上のワード間距離を用いることにより、ユーザーの指標や切り口によって、そのユーザーが対話の中で用いている言葉相互の関係性や、話題に関する指標に基づいて関連性の高い単語をキーワードとして、そのユーザーにとって最適な情報を選定し、加工することができ、個々のユーザーが所望する検索結果や回答表現を提供することが可能となる。
特に、ユーザーが利用した情報データについて繰り返し一定のルールに則った変位処理を施すシミュレーションを実行することにより、関係性を有する単語は、重要度の高いものを中心として集まり、関係性のないものは離間していき、ユーザーの特性を反映させつつ動的に、より最適なワールドマップを形成することができる。また、本実施形態では、キーワードが使用されない期間に応じた風化係数によって、その使用されなくなったキーワードの重要度を減衰させるため、話題に上がらなくなった情報や死語となった流行語など、風化した単語がいつまでも検索結果に登場してしまうことを回避できる。
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」、「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
本実施形態では、情報ソース取得部101が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Web上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
また、本実施形態では、いわゆるワードシソーラス分類を応用することにより、情報の検索や回答の生成に際し、同義関係、類義関係を考慮することができ、単純に音声やテキストを解析して得られるキーワード検索では漏れてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
さらに、本実施形態では、群体パラメーター設定部301が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
以上述べたように、本実施形態によれば、同じ言葉(単語)の組合せであっても、それらの言葉が登場する話題や分野において、話し手であるユーザーがその言葉についてどのような指標や切り口でクラスタリングしているかを考慮することができ、曖昧な日常会話をより正確に解析することができる。この結果、日常生活の中で大まかに無造作に交わされる会話のような自然文章を正確に解析し、さらには、話し相手の意図を推定して回答できる思考方法を模倣したコミュニケーションを図ることができる。
(2−3)ポテンシャル場算出機能
ポテンシャル場算出機能400は、エゴグラム設定部401と、ポテンシャル場形成部402とを備えている。
エゴグラム設定部401は、 キーワード解析部106が抽出したキーワード、或いは情報ソースデータベース40aに蓄積されたキーワードのうち、特定の人、物又は事象に関するキーワードを話題キーワードとしてグルーピングし、そのグループ毎に、群体パラメーターに従って、各キーワードの分布状態を三次元の座標で形成されたマップとして作成し、マップ上における各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターを設定するモジュールである。
このエゴグラムパラメーターは、人間の性格を5つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される5つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、アンケートや性格診断などで求めることができる。エゴグラムパラメーターとしては、
CP(批判的親):厳しい心。自分の価値観を正しいものと信じて譲らず、責任を持って行動し、他人に批判的である。この部分が低いと、ルーズな性格になる。
NP(養育的親):優しい心。他人を思いやって行動し、保護的で親切である。この部分が低いと、冷淡な性格になる。
A(大人):合理的な心。現実を重視しており、物事をきちんと計算して行動し、合理的である。この部分が低いと、非合理的な性格になる。
FC(自由な子ども):自由奔放な心。明るく無邪気でユーモアがあり、わがままで自己中心的である。この部分が低いと、閉鎖的でネクラな性格になる。
AC(順応した子ども):従順な心。他人に嫌われたくないという気持ちが強く、言いたいことを言わずに我慢してしまい、妥協的である。この部分が低いと、マイペースな性格になる。
といったものが挙げられる。
ポテンシャル場形成部402は、エゴグラム設定部401によって設定されたエゴグラムパラメーター、及び群体パラメーター設定部301が設定した群体パラメーターに基づいて、動的クラスタリング部303が算出したワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するモジュールである。本実施形態では、動的クラスタリング部303で算出された各単語に関するワード間距離は、ワールドマップデータとしてユーザー情報データベース50に蓄積されており、ポテンシャル場形成部402は、このワールドマップデータを読み出し、ワールドマップ上に配置された各単語(動的オブジェクト)に対して、前記エゴグラムパラメーターを反映させる補正処理を実行して、動的オブジェクトを再配置させる。
この補正処理は、各キーワードの重要度をそのキーワードのサイズとし、少なくとも各キーワードのサイズとエゴグラムパラメーターの組合せに基づく定数と、に基づいて行う。例えば、各キーワードが有する影響力であるエネルギーを決定し、ワード間距離に係る2つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する。
具体的に、補正処理においては、図6(c)に示すように、ワールドマップ上に含まれる各単語の群体パラメーターと、エゴグラムパラメーターとを用いて、補正用の要素を以下のように定義する。
・ 各wordのサイズ半径r = size/2
・ 各wordが持っているエネルギーE=nr(A)xnr(pn)xnr(size
・ 各wordのエネルギーの及ぶ範囲σ=nr(NP)
・ 各wordのエネルギーの放出の勢いΔd=nrm(FC)
ここで、nrmはnormalize[0.7−1]である。
・ 各wordのまわりの影響力の濃度(強度分布)の計算 an+1=anΔd
・ 各wordの自分への引き寄せ力→初期配置の移動量=nr(cp)
ここで、nrはnormalize [0,1]
・各word(星)の単位ベクトル PNの(+)(−)でベクトルの向きを逆とする。
そして、これらの要素に基づいて、単語間相互に作用する引力又は反発力を次の式により求める。
この式において、一方の単語をユーザー自身を意味する一人称の単語群とすることにより、他方の単語との間の引力又は反発力を求めることができ、その言葉がユーザー自身に与える影響度を推定することができる。
さらに、動的クラスタリング部303では、引き込みのルールに従って、ユーザーポテンシャル場を補正する。この引き込みルールは、振動子群が相互作用や周期外力の作用によって振動タイミングを揃える同期現象を応用した補正処理であり、次式で表される。
なお、θは特定の動的オブジェクトの位相であり、θneiighber,tは、時刻tでの周辺の他の動的オブジェクトの位相を意味する。また、上式においてACは、エゴグラムパラメーターであり、上式の引き込み係数として用いられている。
そして、この引込のルールでは、
(1)特定の動的オブジェクトが所定の振動(位相θ)をしているものとし、
(2)当該特定の動的オブジェクトと、その周囲で振動(位相θneiighber,t)する他の複数の動的オブジェクトとが、各摂動(位相θ−θneiighber,t)を介して相互作用を生じさせているものとし、
(3)各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期する
として、各動的オブジェクトを再配置するための変位処理を実行する。なお、本実施形態では、各単語(自身を意味する一人称の単語群を含む)に係る動的オブジェクトは、その言葉が使用された時間差などをノーマライズした値を位相とし、その言葉を発したときの音量や、その言葉の出現頻度、重要度振動をノーマライズした値を振幅として振動しているものとして演算する。
この引き込みルールにより、それぞれが所定の摂動(ずれ)をもってバラバラに変位している動的オブジェクト群が、摂動を消失させるように周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、普段使用されない言葉や情報を活性化させることができる。引き込まれて活性化された単語はその言葉自身がまた上式により引力又は反発力を有することとなり、その言葉がユーザーに対して与える影響度が変化され、動的にワールドマップを更新されることとなる。
(対話インターフェースの動作)
以上の構成を有する対話インターフェースは、以下のように動作する。図3は、対話インターフェースの動作順序を示すフローチャート図である。
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う(S601)。具体的には、情報ソース取得部101が、Web等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Web等の通信ネットワークにおける情報収集としては、Webクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってWebデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがWeb検索した際のキーワードや実際にアクセスしたWebページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S602)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S603,S604)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S605)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞等の付随語の種類に基づいて、群体パラメーターを設定する。例えば、図5B(a)に示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。
ここで、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5B(a)に示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
なお、本実施形態では、ここでいうところの「付随語」としては、単語間の関連性を示すものであれば、日本語の「助詞」に限定されず、各言語の文法に応じて適宜選択することができ、英語であれば語順や前置詞、関係代名詞やその他用法などから求めることもできる。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS605で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S606)。
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う(S607)。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく(S607)。
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部301が設定した群体パラメーターとを関連づけて、ユーザー情報データベース50に蓄積するとともに、ステップS602〜S607によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース50に蓄積する(S608)。
他方、この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対する群体パラメーター及びエゴグラムの収集も行う(S301)。この群体パラメーターの収集方法としては、例えば、SNSにおける「いいね!」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。また、エゴグラムの収集は、性格診断などにより収集される。この収集された群体パラメーターは、キーワード毎に「+」、「−」及び数値(0を含む。)として紐付けられて設定され、ユーザー情報データベース50に蓄積される。エゴグラムパラメーターも、話題毎にグルーピングしたうえで、ユーザー情報データベース50に蓄積される。
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には(S701)、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す(S702)。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Webページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う(S703)。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップS703で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する(S704)。
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う(S705)。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図5B(a)に示すように、野球の話題において、解析対象が「チームA」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」>「が、は」>「と」>その他、というように助詞係数を設定している場合、図5B(a)に示した例では、単語「チームA」と単語「マジック」とは助詞「が」で連結されており、「選手S」とは助詞「の」で連結されていることから、「チームA」と「選手S」との関係性は、「チームA」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部301に入力される。
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部301は、ステップS605で算出した助詞係数と、センテンス解析部102が算出した木構造とに基づいて、群体パラメーターを設定する(S706)。
そして、ユーザー情報データベース50に蓄積されているワールドマップを読み出して参照し、ユーザーポテンシャル場を生成する(S707)。具体的には、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上に配置するとともに、ワールドマップ上に配置された動的オブジェクト全体の重心位置を、ユーザーの自我の中心として設定する。この重心位置は、仮想空間上に存在するすべての動的オブジェクトの座標と、質量(出現頻度や優先度から換算)とから重量を加味した座標位置として求め、この重心位置に、ユーザー自身(「わたし」、「ぼく」などの一人称)を配置する。なお、このユーザー自身を意味する一人称は、単一の単語ではなく、「わたし」、「ぼく」などの一般的な一人称のほか、本人の氏名やニックネームなどの同義語をマージしてグルーピングした単語群とする。
そして、この自我の中心を示す座標原点が設定されたワールドマップ上において、変位処理を行うための群体シミュレーションを実行し、動的クラスタリングを行う。その際、ステップS301で収集されたエゴグラムパラメーター及び群体パラメーターに基づいて、ステップS607で生成されたワールドマップにおけるワード間距離を話題毎の補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出する。ユーザー自身(「わたし」、「ぼく」などの一人称を意味する単語群)を重心位置に配置したユーザーポテンシャル場を参照することで、ユーザー自身と各キーワードとの相対的なワード間距離を算出することができる。
詳述すると、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、上式に則った単語間の引力及び反発力を求め、各言葉(キーワード)がユーザー自身に及ぼす影響力を推定することができる。
これにより、各キーワードは動的オブジェクトとして、ユーザーの性格に応じて、且つ、話題毎に関係性に応じて、その大きさや位置、影響力が設定された群体として配置され、ユーザーポテンシャル場が形成される。このとき、関係性の弱い単語同士や、ユーザーの性格上受け入れにくい単語は離間していく。また、ユーザーの性格や話題、単語との相性に余よっては、ユーザーが嫌いな単語が近づいてくることもあり、ユーザー自身にとってストレスフルな状態がユーザーポテンシャル場に自動的に形成される場合もある。このシミュレーションは、話題毎に行い、このシミュレーションの結果として再配置された、各単語の仮想空間上の座標を、話題毎のユーザーポテンシャル場として生成し、又は保存しておく(S707)。
その後、回答生成部107は、ステップS707で生成したユーザーポテンシャル場上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成する(S708)。
本機能によれば、ユーザーの性格が反映されたユーザー固有のユーザーポテンシャル場上のワード間距離を用いることにより、話し手の感情が大きく影響する日常会話において、ユーザーが対話の中で用いている言葉や話題に基づく関連性の高い単語をキーワードとして、そのユーザーの性格に合わせて、ときには心地よい或いは有益な情報を選定し、ときにはストレスフルな情報や表現となるように加工することで、個々のユーザーの性格に合わせて興味を惹いたり、対話を継続できるような検索結果や回答表現を提供することが可能となる。
このとき、ユーザーの受け止め方や、ユーザーに与える心的な影響度を、話題毎に考慮するため、話題が順次移っていくような日常会話であっても、自然な形でユーザーの趣味嗜好に合わせたコミュニケーションを取ることができる。
特に、ユーザーが利用した情報データについて、群体シミュレーション、及びエゴグラムパラメーターによる補正処理を実行することにより、ユーザーの性格を反映させたユーザーポテンシャル場を生成できる。詳述すると、本来、ユーザー自身にとっての自己中心的な理想は、図6(a)に示すように、自分にとって心地よいものが近くに存在し、心地悪いものが遠くに存在している。ところが、現実は、同図(b)に示すように、自分の意思とは関係なく、気に入っていた物がなくなったり、嫌いな人が接近してきたり、好きな人が遠距離に転勤したり等、外からの影響で周囲の環境が変わってしまい、自己中心的な理想が崩され、ポテンシャル場がゆがめられたストレスフルな状況が形成される。
本実施形態では、このようなリアルなユーザー固有のポテンシャル場を動的に形成することにより、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる。
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
本実施形態では、情報ソース取得部101が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Web上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
さらに、本実施形態では、群体パラメーター設定部301が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
(2−4)回答生成機能
本実施形態では、コア機能間で共通して用いられる回答生成部107を有している。回答生成部107は、上記phase4〜6を実行するモジュールであり、上述したように、文章PN値算出部203や、動的クラスタリング部303、ポテンシャル場形成部402が算出した文章PN値や、ワールドマップ、ユーザーポテンシャル場などに基づき、情報ソース取得部101を通じて検索を行い、ユーザーに対する回答を生成するモジュールである。この回答生成部107で生成された回答は、対話入出力部60の回答出力部60bを通じて出力される。
(作用・効果)
以上説明した、本実施形態に係る対話インターフェースシステムによれば、従来の人工知能の機能に加えて、より人間に近い受け答えをするためのアルゴリズムであるコア機能の三要素(「PN値」算出機能、「ワード間距離」算出機能、「ポテンシャル場」算出機能)により、入力される各種情報に対して、利用ユーザーの友人のような対応すべく、そのユーザーに関する情報や心理状態をも加味して応答するように、そのユーザー用に特化され、且つ、そのユーザーとの相性を考慮した擬人格によって、多種多様な回答(リアクション)を表現することができる。特に、「PN値」算出機能、及び「ワード間距離」算出機能で生成された文章の感情(PN値)及び各話題に応じたワード間距離に関する算出データを、「ポテンシャル場」算出機能に集約し、リアルなユーザー固有のポテンシャル場を動的に形成し、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションを実現できる。
D1,D11,D12…テーブルデータ
D101…テンプレートデータ
D102…トレーニングデータ
D103…テンプレートデータ
D104…学習用PN値セット
D105…学習用データ
1…情報処理端末
2…通信ネットワーク
5a,5b…各種出力デバイス
6a〜6d…各種入力デバイス
10…CPUバス
11…CPU
12…メモリ
13…通信I/F
14…記憶装置
15…出力I/F
16…入力I/F
20…コア機能実行部
40a…情報ソースデータベース
40b…辞書データベース
50…ユーザー情報データベース
60…対話入出力部
60a…入力部
60b…回答出力部
100…初期化処理部
101…情報ソース取得部
102…センテンス解析部
103…省略単語検出部
104…推定単語検出部
105…テキスト再構成部
106…キーワード解析部
107…回答生成部
200…PN値算出機能
201…PN値設定部
201a…フィルタリング部
201b…テンプレート生成部
201c…トレーニングデータ作成部
201d…学習部
203…文章PN値算出部
300…ワード間距離算出機能
301…群体パラメーター設定部
303…動的クラスタリング部
400…ポテンシャル場算出機能
401…エゴグラム設定部
402…ポテンシャル場形成部

Claims (9)

  1. ユーザーと対話する対話インターフェースであって、
    前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部と、
    入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
    入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部と、
    前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベースと、
    前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部と、
    前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部と、
    前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部と
    を備えることを特徴とする対話インターフェース。
  2. 前記ユーザーと対話する対話入出力部と、
    前記ポテンシャル場形成部が算出したユーザーポテンシャル場に基づき前記情報ソース取得部を通じて検索を行い、前記質問に対する回答を生成する回答生成部と、
    前記回答生成部が生成した回答を、前記対話入出力部を通じて前記ユーザーに向けて出力する回答出力部と
    をさらに備えることを特徴とする請求項1に記載の対話インターフェース。
  3. 前記エゴグラムパラメーターは、複数種の自我状態を段階的に示す独立したパラメーターであり、
    前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
    前記ポテンシャル場形成部は、前記一定のルールとして、
    前記各キーワードの重要度をそのキーワードのサイズとし、少なくとも前記各キーワードのサイズと、前記エゴグラムパラメーターの組合せに基づく定数と、に基づいて各キーワードが有する影響力であるエネルギーを決定し、前記ワード間距離に係る2つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する
    ことを特徴とする請求項1又は2に記載の対話インターフェース。
  4. 前記情報ソース取得部が取得した情報ソースに含まれるテキストデータからセンテンスを抽出するセンテンス解析部と、
    前記センテンス解析部が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出する省略単語検出部と、
    前記省略単語検出部が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する推定単語検出部と
    入力されたテキストデータに対して、前記省略単語検出部が検出した省略単語の検出位置に前記推定単語を追加して、テキストデータを再構成するテキスト再構成部と、
    をさらに備え、
    前記キーワード解析部は、前記入力されたテキストデータを前記テキスト再構成部によって再構成し、再構成されたテキストデータから前記キーワードを抽出し、
    前記群体パラメーター設定部は、前記再構成されたテキストデータ内における、各キーワードの出現頻度、センテンス内における位置関係に基づいて、前記群体パラメーターを設定する
    ことを特徴とする請求項1又は2に記載の対話インターフェース。
  5. 前記動的クラスタリング部は、前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する機能をさらに備えることを特徴とする請求項1又は2に記載の対話インターフェース。
  6. 前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
    前記動的クラスタリング部による前記変位処理で用いられる前記ルールには、
    前記各キーワードの関連性の度合い基づいて、前記所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること、
    前記各キーワードの重要度に基づいて、移動量を決定すること、
    前記各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること、
    が含まれることを特徴とする請求項5に記載の対話インターフェース。
  7. 前記動的クラスタリング部は、前記一定のルールには、
    特定の動的オブジェクトの変位が所定の振動をしているものとし、
    当該特定の動的オブジェクトと、その周囲で振動する他の複数の動的オブジェクトとが、各摂動を介して相互作用を生じさせているものとし、
    前記各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期するとして、
    各動的オブジェクトについての前記変位処理を実行することを特徴とする請求項5又は6に記載の対話インターフェース。
  8. ユーザーと対話する対話インターフェースプログラムであって、コンピュータを、
    前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部、
    入力されたテキストデータから、キーワードを抽出するキーワード解析部、
    入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部、
    前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベース、
    前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部、
    前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部、
    前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部
    として機能させることを特徴とする対話インターフェースプログラム。
  9. ユーザーと対話する対話インターフェースを用いた情報処理方法であって、
    情報取得部が、情報ソースを取得する情報ソース取得ステップと、
    キーワード解析部が、前記情報ソースから得られるテキストデータからキーワードを抽出するキーワード解析ステップと、
    群体パラメーター設定部が、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定ステップと、
    前記情報ソースから得られるテキストデータについて前記キーワード解析部が抽出したキーワードと、各キーワードについて前記群体パラメーター設定部が設定した群体パラメーターとを関連づけて、ユーザー情報データベースに蓄積するユーザー情報蓄積ステップと、
    エゴグラム設定部が、前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定ステップと、
    動的クラスタリング部が、各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリングステップと、
    ポテンシャル場形成部が、前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成ステップと
    を含むことを特徴とする情報処理方法。
JP2015160189A 2015-08-14 2015-08-14 対話インターフェース Active JP6034459B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015160189A JP6034459B1 (ja) 2015-08-14 2015-08-14 対話インターフェース

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015160189A JP6034459B1 (ja) 2015-08-14 2015-08-14 対話インターフェース

Publications (2)

Publication Number Publication Date
JP6034459B1 JP6034459B1 (ja) 2016-11-30
JP2017037603A true JP2017037603A (ja) 2017-02-16

Family

ID=57419895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015160189A Active JP6034459B1 (ja) 2015-08-14 2015-08-14 対話インターフェース

Country Status (1)

Country Link
JP (1) JP6034459B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019098185A1 (ja) * 2017-11-16 2019-05-23 株式会社Nttドコモ 発話文生成システム及び発話文生成プログラム
JP2021026657A (ja) * 2019-08-08 2021-02-22 株式会社Nttドコモ 情報処理装置
WO2021107330A1 (ko) * 2019-11-29 2021-06-03 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4167855B2 (ja) * 2002-06-20 2008-10-22 富士通株式会社 情報マップ作成方法
RU2007149528A (ru) * 2005-06-06 2009-07-10 Дзе Риджентс Оф Дзе Юниверсити Оф Калифорния (Us) Сети отношений
JP2008242534A (ja) * 2007-03-24 2008-10-09 Hiroko Ishiwaka ヒーリングシステム、サーバ装置、情報処理装置、およびプログラム
JP2009163620A (ja) * 2008-01-09 2009-07-23 Toyota Central R&D Labs Inc 応答生成装置、及び応答生成プログラム
JP2013196425A (ja) * 2012-03-21 2013-09-30 Kddi Corp 性格表示システム、性格表示方法及び性格表示プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019098185A1 (ja) * 2017-11-16 2019-05-23 株式会社Nttドコモ 発話文生成システム及び発話文生成プログラム
JPWO2019098185A1 (ja) * 2017-11-16 2020-07-09 株式会社Nttドコモ 発話文生成システム及び発話文生成プログラム
JP2021026657A (ja) * 2019-08-08 2021-02-22 株式会社Nttドコモ 情報処理装置
WO2021107330A1 (ko) * 2019-11-29 2021-06-03 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Also Published As

Publication number Publication date
JP6034459B1 (ja) 2016-11-30

Similar Documents

Publication Publication Date Title
JP6076425B1 (ja) 対話インターフェース
JP6366749B2 (ja) 対話インターフェース
WO2017217507A1 (ja) コミュニケーションを支援する人工知能システム
CN117219080A (zh) 用于在通信会话内生成个性化响应的虚拟助手
CN110476169B (zh) 在会话中提供情感关怀
Chen et al. Tracking and recognizing emotions in short text messages from online chatting services
Amin et al. A survey on approaches to computational humor generation
US20230306205A1 (en) System and method for personalized conversational agents travelling through space and time
Dsouza et al. Chat with bots intelligently: A critical review & analysis
Kavitha et al. Chatbot for healthcare system using Artificial Intelligence
CN111694941B (zh) 一种回复信息确定方法、装置、存储介质及电子设备
US20220351716A1 (en) System and method for a personalized dialogue system using knowledge-based entity services
US20200184965A1 (en) Cognitive triggering of human interaction strategies to facilitate collaboration, productivity, and learning
JP6034459B1 (ja) 対話インターフェース
Zhang et al. Affect sensing using linguistic, semantic and cognitive cues in multi-threaded improvisational dialogue
Fulda et al. Byu-eve: Mixed initiative dialog via structured knowledge graph traversal and conversational scaffolding
JP6080137B1 (ja) 対話インターフェース
Goh et al. A black-box approach for response quality evaluation of conversational agent systems
Ujitoko et al. Getting insights from twitter: what people want to touch in daily life
CN113383345A (zh) 用于定义情感机器的方法和系统
Zhang Contextual and active learning-based affect-sensing from virtual drama improvisation
Zhang et al. Affect detection from text-based virtual improvisation and emotional gesture recognition
Dybala et al. Metaphor, humor and emotion processing in human-computer interaction
Russell Real-time topic and sentiment analysis in human-robot conversation
Chintapalli et al. Investigation of intelligent methodologies in prediction of depression

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161027

R150 Certificate of patent or registration of utility model

Ref document number: 6034459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250