対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラム
【課題】ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる対話ルール変更装置及び対話ルール変更方法を提供すること。
【解決手段】対話ルール変更装置1は、入力メッセージに対応する処理手順が定められた検出ノードと、応答メッセージに対応する処理手順が定められた動作ノードと、検出ノードと動作ノードとの接続関係を示すエッジとから構成されるデータであり、各ノードに対応するメッセージに複数のカテゴリの少なくともいずれかが付されたデータを対話ルールとして記憶する対話ルールDB134と、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する対話ルール変更部144と、を備える。
【解決手段】対話ルール変更装置1は、入力メッセージに対応する処理手順が定められた検出ノードと、応答メッセージに対応する処理手順が定められた動作ノードと、検出ノードと動作ノードとの接続関係を示すエッジとから構成されるデータであり、各ノードに対応するメッセージに複数のカテゴリの少なくともいずれかが付されたデータを対話ルールとして記憶する対話ルールDB134と、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する対話ルール変更部144と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの対話ルールを変更する対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムに関する。
【背景技術】
【0002】
近年、ユーザ端末からメッセージを受け付けたことに応じて、このメッセージに対応するメッセージをユーザ端末に出力する対話エージェントシステムが普及している。そして、このような対話エージェントシステムにおいて、ユーザ端末から受け付けたメッセージに対して多様なメッセージの出力を行ったり、このユーザ端末のユーザに適したメッセージの出力を行ったりする手法が提案されている。
【0003】
例えば、特許文献1には、ユーザからのメッセージと、このメッセージに対応して出力するメッセージとの関係を知識構造(対話ルール)として記憶しておき、ユーザからメッセージを受け付けたことに応じて、このメッセージに含まれる単語に基づいて、対話ルールを変更する方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−223720号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の方法では、ユーザが、対話ルールにおける所定のメッセージを変更したい場合、この所定のメッセージに直接関連するメッセージが対話エージェントシステムから出力されるまで、対話エージェントシステムとメッセージの交換を繰り返す必要がある。したがって、特許文献1に記載の方法では、所望するメッセージに対応する対話ルールを変更するのがユーザにとって煩雑である。
【0006】
さらに、特許文献1に記載の方法では、ユーザが対話エージェントシステムとメッセージの交換を行うことで対話ルールが変更される。このため、メッセージ交換のやりとりにおいて、ユーザが自身の趣向に即していないメッセージを入力してしまい、その結果、ユーザの趣向に合わない対話ルールに変更される可能性がある。よって、特許文献1に記載の方法では、ユーザが、自身の趣向に即して対話ルールを変更できないおそれがある。
【0007】
本発明は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールを変更する対話ルール変更装置であって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータを前記対話ルールとして記憶する対話ルール記憶手段と、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する対話ルール変更手段と、を備える対話ルール変更装置。
【0009】
(1)の対話ルール変更装置は、対話ルール変更手段により、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する。
【0010】
このように、(1)の対話ルール変更装置は、ユーザの行動履歴に基づいたユーザ関心カテゴリによって対話ルールを変更するので、ユーザから対話ルールの変更操作を受け付けることを必要としない。さらに、ユーザの行動履歴に基づいたユーザ関心カテゴリは、ユーザの趣向に即しているため、(1)の対話ルール変更装置は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる。
【0011】
(2)前記ユーザ関心カテゴリが付された前記検出ノード及び前記動作ノードの少なくともいずれかを含む新規対話ルールを生成する対話ルール生成手段を備え、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに対して前記対話ルール生成手段により生成された新規対話ルールを追加する、(1)に記載の対話ルール変更装置。
【0012】
(2)の対話ルール変更装置は、対話ルール生成手段により、ユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成し、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールに対して生成された新規対話ルールを追加する。このようにすることで、(2)の対話ルール変更装置は、ユーザ関心カテゴリに対応する対話ルールを新たに追加して、ユーザの趣向に対応する対話ルールを増加させることができる。
【0013】
(3)前記カテゴリは、階層を有し、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、前記対話ルール生成手段により生成された新規対話ルールを下位となるように追加する、(2)に記載の対話ルール変更装置。
【0014】
(3)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、対話ルール生成手段により生成された新規対話ルールを下位となるように追加する。このようにすることで、(3)の対話ルール変更装置は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードからユーザ関心カテゴリに対応する対話に違和感なく遷移させることができる。
【0015】
(4)前記対話ルール生成手段は、前記対話ルール記憶手段に記憶された前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリを前記ユーザ関心カテゴリに変更するとともに、前記抽出されたノードに対応するメッセージを、前記ユーザ関心カテゴリと、前記上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する、(3)に記載の対話ルール変更装置。
【0016】
(4)の対話ルール変更装置は、対話ルール生成手段により、対話ルール記憶手段に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。このようにすることで、(4)の対話ルール変更装置は、既存のノードの構造を利用して、ユーザ関心カテゴリが付されたノードを効率よく生成することができる。
【0017】
(5)前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、前記対話ルール記憶手段に記憶されている前記対話ルールに追加する、(1)から(4)のいずれかに記載の対話ルール変更装置。
【0018】
(5)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルール記憶手段に記憶されている対話ルールに追加する。このようにすることで、(5)の対話ルール変更装置は、少ない対話回数で、ユーザの趣向に対応する対話に遷移させることができる。
【0019】
(6)前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、前記ユーザ関心カテゴリの名称を含む応答メッセージに変更する、(1)から(5)のいずれかに記載の対話ルール変更装置。
【0020】
(6)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。ここで、ユーザ関心カテゴリの名称を含む応答メッセージが出力された場合、ユーザは、当該応答メッセージが出力されない場合に比べて、ユーザ関心カテゴリに対応するメッセージを入力する可能性が高い。よって、(6)の対話ルール変更装置は、ユーザ関心カテゴリに対応する動作ノードに遷移する確率を増加させることができる。
【0021】
(7)前記対話ルール記憶手段は、前記エッジに対して、当該エッジに関連付けられている遷移先の動作ノードへの遷移確率を対応付けて記憶し、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに、前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように前記複数のエッジそれぞれの遷移確率を調整する、(1)から(6)のいずれかに記載の対話ルール変更装置。
【0022】
(7)の対話ルール変更装置は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。このようにすることで、(7)の対話ルール変更装置は、ユーザ関心カテゴリが付された動作ノードへの遷移確率を増加させて、ユーザと対話エージェントシステムとの間で、ユーザの趣向に対応する対話が行われやすいようにすることができる。
【0023】
(8)前記ユーザのウェブ上の行動履歴を記憶する行動履歴記憶手段と、前記行動履歴記憶手段に記憶されている前記行動履歴に基づいて、前記ユーザ関心カテゴリを決定する関心カテゴリ決定手段と、を備え、前記対話ルール変更手段は、前記関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する、(1)から(7)のいずれかに記載の対話ルール変更装置。
【0024】
このように、(8)の対話ルール変更装置は、関心カテゴリ決定手段により、行動履歴記憶手段に記憶されている行動履歴に基づいて、ユーザ関心カテゴリを決定し、対話ルール変更手段により、関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更することができる。
【0025】
(9)入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールをコンピュータが変更する対話ルール変更方法であって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータである対話ルールを、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更する、対話ルール変更方法。
【0026】
(10)入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールの変更をコンピュータに実行させる対話ルール変更プログラムであって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータでる対話ルールを、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更するステップ、を前記コンピュータに実行させる対話ルール変更プログラム。
【0027】
これら対話ルール変更方法及び対話ルールプログラムによれば、(1)に係る発明と同様の効果を奏する。
【発明の効果】
【0028】
本発明によれば、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムを提供することができる。
【図面の簡単な説明】
【0029】
【図1】第1実施形態に係る対話ルール変更装置とその周辺装置との関係を示す図である。
【図2】第1実施形態に係る対話ルール変更装置の機能構成を示す図である。
【図3】第1実施形態に係る行動履歴DBを示す図である。
【図4】第1実施形態に係るカテゴリ辞書DBを示す図である。
【図5】第1実施形態に係るカテゴリDBを示す図である。
【図6】第1実施形態に係る対話ルールDBを示す図である。
【図7】第1実施形態に係る対話ルールの模式図である。
【図8】第1実施形態に係る対話ルール変更装置による、入力メッセージに対して予め定められた対話ルールに従って応答メッセージを出力する処理の流れを示すフローチャートである。
【図9】第2実施形態に係る対話ルール変更装置の機能構成を示す図である。
【図10】第2実施形態に係る対話ルールDBを示す図である。
【図11】第2実施形態に係る対話ルールの模式図である。
【図12】第2実施形態に係る対話ルールが変更された例を示す図(その1)である。
【図13】第2実施形態に係る対話ルールが変更された例を示す図(その2)である。
【図14】第2実施形態に係る対話ルールが変更された例を示す図(その3)である。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態について図を参照しながら説明する。
【0031】
[第1実施形態]
[機能構成]
図1は、第1実施形態に係る対話ルール変更装置1とその周辺装置との関係を示す図である。対話ルール変更装置1は、LAN等の通信ネットワークにより、対話エージェントシステム2と複数のウェブサーバ3とに通信可能に接続されている。
【0032】
対話ルール変更装置1は、入力メッセージに対して予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステム2の対話ルールを変更する。対話ルール変更装置1の詳細は、後述する。
【0033】
対話エージェントシステム2は、LAN等の通信ネットワークにより対話ルール変更装置1と通信可能に接続されているとともに、LANやインターネット等の通信ネットワークにより複数のユーザ端末4と通信可能に接続されている。対話エージェントシステム2は、ユーザ端末4から入力メッセージを受け付ける。そして、対話エージェントシステム2は、予め設定された対話ルールに従って、受け付けた入力メッセージに対応する応答メッセージをこのユーザ端末4に対して出力する。
【0034】
ウェブサーバ3は、検索サーバやミニブログサーバやブログサーバ等であり、ウェブ上で、複数のユーザ端末4に対して各種サービスを提供する。
【0035】
なお、図1に示される矢印は、データの流れを示しており、矢印と併せて示される文字列は、データの内容を示している。例えば、対話ルール変更装置1から対話エージェントシステム2に向かう矢印は、対話ルールが対話ルール変更装置1から対話エージェントシステム2に送信(又は参照)されることを示している。また、対話エージェントシステム2から対話ルール変更装置1に向かう矢印は、対話ログが対話エージェントシステム2から対話ルール変更装置1に送信されることを示している。また、ウェブサーバ3から対話ルール変更装置1に向かう矢印は、行動履歴に係る情報がウェブサーバ3から対話ルール変更装置1に送信されることを示している。
【0036】
図2は、第1実施形態に係る対話ルール変更装置1の機能構成を示す図である。
対話ルール変更装置1は、操作部11と、表示部12と、記憶部13と、制御部14と、を備える。
【0037】
操作部11は、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール等)により構成され、操作者から直接的な入力を受け付ける。
表示部12は、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイにより構成され、対話ルール変更装置1の機能に関する情報を表示する。
【0038】
記憶部13は、行動履歴記憶手段としての行動履歴DB131と、カテゴリ辞書情報記憶手段としてのカテゴリ辞書DB132と、カテゴリDB133と、対話ルール記憶手段としての対話ルールDB134とを備える。
【0039】
行動履歴DB131は、ユーザ端末4に対するウェブサーバ3の利用履歴を行動履歴として記憶する。行動履歴には、ウェブサーバ3における検索履歴と、ブログ又はミニブログへの投稿内容と、ユーザ端末4がアクセスしたウェブページの内容との少なくともいずれかが含まれる。
【0040】
図3は、第1実施形態に係る行動履歴DB131を示す図である。
図3に示すように、行動履歴DB131は、ユーザを識別するユーザIDと、ユーザの行動履歴の行動種別と、行動履歴の内容とを関連付けて記憶する。行動履歴の内容は、行動種別が「検索」の場合、検索キーワードを示し、行動種別が「ミニブログ」又は「ブログ」の場合、投稿内容を示し、「ウェブ閲覧」の場合、閲覧されたウェブページのスニペットを示している。なお、行動履歴DB131に記憶される行動履歴には、対話エージェントシステム2におけるユーザ端末4との対話ログや、メールのメッセージ本文や、ウェブショッピングにおける商品の購入履歴等、他の行動履歴も含まれる。
【0041】
図4は、第1実施形態に係るカテゴリ辞書DB132を示す図である。
図4に示すように、カテゴリ辞書DB132は、カテゴリと、カテゴリに対応する単語とを関連付けてカテゴリ辞書情報として記憶する。
【0042】
図5は、第1実施形態に係るカテゴリDB133を示す図である。
図5に示すように、カテゴリは、複数の階層を有している。すなわち、カテゴリDB133は、上位のカテゴリと、この上位のカテゴリより1つ下の階層のカテゴリである下位のカテゴリとを関連付けて記憶する。
【0043】
図5に示すように、例えば、「カレー店:六本木」カテゴリの上位のカテゴリとして「六本木」カテゴリが存在し、「カレー店:神保町」カテゴリの上位のカテゴリとして、「神保町」カテゴリが存在する。さらに、「六本木」カテゴリ及び「神保町」カテゴリの上位のカテゴリとして、「地域」カテゴリが存在する。
【0044】
対話ルールDB134は、対話ルールを記憶する。
対話ルールは、入力メッセージに対応する処理手順が定められた検出ノードと、応答メッセージに対応する処理手順が定められた動作ノードと、検出ノードと動作ノードとの接続関係を示すエッジとから構成されるグラフ構造のデータである。
第1実施形態では、対話ルールDB134に一の対話ルールのみ記憶されており、この対話ルールは、対話エージェントシステム2を介して複数のユーザ端末4のユーザに利用される。
【0045】
図6は、第1実施形態に係る対話ルールDB134を示す図である。
図6に示すように、対話ルールDB134は、ノードに関連する情報を記憶するノードテーブル135と、エッジに関連する情報を記憶するエッジテーブル136とを備える。
【0046】
ノードテーブル135は、ノードを識別するノードIDと、ノードの種別を示すノード種別と、メッセージに対応する処理手順を示す処理内容と、ノードに付されているカテゴリとを関連付けて記憶する。
【0047】
つまり、対話ルールDB134に記憶されている対話ルールでは、各ノード(検出ノード及び動作ノード)に対し、そのメッセージ(各ノードの処理手順に対応するメッセージ)に対応するカテゴリが付されている。ここで、メッセージにカテゴリが付されているとは、メッセージに対してカテゴリを示すカテゴリの情報(例えば、カテゴリの名称や、カテゴリを識別するカテゴリコード)が付されていることをいう。
【0048】
エッジテーブル136は、接続元のノードのノードIDを示す接続元ノードIDと、接続先のノードのノードIDを示す接続先ノードIDとを関連付けて記憶する。
【0049】
接続元ノードと接続先ノードとのいずれか一方は検出ノードであり、他方は動作ノードである。つまり、接続元ノードと接続先ノードとは、検出ノードと動作ノードとの接続関係、すなわち、エッジを示している。なお、対話エージェントシステム2は、第1実施形態の対話ルールに対応する検出ノードに対応する動作ノードが複数存在する場合、ランダムに一の動作ノードを特定し、当該動作ノードに遷移する。
【0050】
図7は、第1実施形態に係る対話ルールの模式図である。
図7に示される破線ブロックは検出ノードを示しており、実線ブロックは動作ノードを示している。また、これらのブロックには、ノードIDが付されている。また、各ブロック同士を繋ぐ矢印はエッジを示しており、具体的には、始点(矢がない側)が接続元ノードを示し、終点(矢がある側)が接続先ノードを示している。例えば、ノードID「N1」のノードとノードID「N2」のノードとを接続する矢印は、接続元ノードがノードID「N1」の検出ノードであり、接続先ノードがノードID「N2」の動作ノードであることを示している。
【0051】
図2に戻り、制御部14は、対話ルール変更装置1に係る各機能を統括的に制御する。制御部14は、集計部141と、関心カテゴリ決定手段としての関心カテゴリ決定部142と、対話ルール生成手段としての対話ルール生成部143と、対話ルール変更手段としての対話ルール変更部144とを備える。
【0052】
集計部141は、複数のユーザそれぞれの行動履歴をカテゴリごとに集計する。
具体的には、集計部141は、行動履歴DB131に記憶されているユーザIDごとに以下の処理を行う。すなわち、集計部141は、行動履歴DB131に記憶されている行動履歴の形態素解析を行い、単語を抽出する。そして、集計部141は、抽出された単語をカテゴリ辞書DB132に記憶されているカテゴリに分類し、分類された単語をカテゴリごとに集計することで、行動履歴をカテゴリごとに集計する。なお、集計部141は、行動履歴から単語を抽出する場合において、一の行動履歴に同一の単語が複数含まれているとき、1個の単語のみを抽出するようにしてもよい。
【0053】
また、集計部141は、行動履歴DB131に記憶されている行動履歴が、閲覧されたウェブページのスニペットである場合、文書分類器を用いて当該スニペットをカテゴリに分類するようにしてもよい。すなわち、予めスニペットと、当該スニペットに対応するカテゴリの組み合わせを教師データとして文書分類器の学習を行った後、集計部141は、閲覧されたウェブページのスニペットを、この文書分類器を用いてカテゴリに分類するようにしてもよい。
【0054】
関心カテゴリ決定部142は、行動履歴DB131に記憶されている行動履歴に基づいて、ユーザIDごとに、ユーザの関心話題のカテゴリであるユーザ関心カテゴリを決定する。具体的には、関心カテゴリ決定部142は、ユーザIDごとに、集計部141により集計された集計値が相対的に高い1又は複数のカテゴリを、ユーザ関心カテゴリに決定する。
【0055】
対話ルール生成部143は、複数のユーザそれぞれについて、関心カテゴリ決定部142により決定されたユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成する。
【0056】
具体的には、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。
【0057】
対話ルール生成部143の処理について以下に詳述する。
まず、対話ルール生成部143は、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリのうち、一の上位のカテゴリを特定する。そして、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールにおいて、特定された上位のカテゴリが付されたノード(検出ノード及び動作ノード)を特定し、このノードの下位に直接的又は間接的に接続された1又は複数のノードを抽出する。ここで、抽出とは、対話ルールDB134に記憶されている対話ルールにおいて抽出対象となったノードに基づいて新たなノードを複製することをいい、抽出対象となったノードの内容が変更されるものではない。
【0058】
ここで、特定された上位のカテゴリが、ユーザ関心カテゴリに対して1階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、1階層下位のノードまでを対象として1又は複数のノードを抽出する。
【0059】
他方、特定された上位のカテゴリが、ユーザ関心カテゴリに対して複数階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、この階層分下位のノードまでを対象として複数のノードを抽出する。例えば、上位のカテゴリが、ユーザ関心カテゴリに対して3階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、3階層分下位のノードを抽出する。
【0060】
続いて、対話ルール生成部143は、抽出されたノードの少なくとも一部について、ノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、このユーザ関心カテゴリの上位のカテゴリとの双方に対応するメッセージに変更することによって、新規対話ルールを生成する。
【0061】
ここで、特定された上位のカテゴリが、ユーザ関心カテゴリに対して1階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、1階層下位のノードに付されたカテゴリをユーザ関心カテゴリに変更する。
【0062】
他方、特定された上位のカテゴリが、ユーザ関心カテゴリに対して複数階層上位のカテゴリである場合、対話ルール生成部143は、抽出された複数階層のノードのうち最下層のノードに付されているカテゴリをユーザ関心カテゴリに変更する。そして、対話ルール生成部143は、最下層のノードの1つ上位の階層のノードに付されているカテゴリをユーザ関心カテゴリの1つ上位のカテゴリに変更する。このように、対話ルール生成部143は、複数階層それぞれのノードに付されたカテゴリを、それぞれの階層に対応したカテゴリに変更する。
【0063】
また、対話ルール生成部143は、カテゴリがユーザ関心カテゴリに変更されたノードのメッセージを以下のように変更する。まず、対話ルール生成部143は、このユーザ関心カテゴリに対応するユーザIDに関連付けられている行動履歴を行動履歴DB131から抽出する。そして、対話ルール生成部143は、抽出された行動履歴について形態素解析を行って単語を抽出し、抽出された単語から、ユーザ関心カテゴリと、このユーザ関心カテゴリの上位のカテゴリとの双方に対する共起率が相対的に高い単語を特定する。そして、対話ルール生成部143は、変更前のメッセージについて、共起率が相対的に高い単語を含むメッセージに変更する。なお、対話ルール生成部143は、共起率が高い単語を特定する場合に、行動履歴DB131に記憶されている行動履歴に限らず、ウェブ検索の検索結果やウェブページの内容に基づいて、共起率が高い単語を特定するようにしてもよい。
【0064】
具体的な例について、図5〜図7を用いて説明を行う。例えば、ユーザ関心カテゴリが「カレー店:神保町」である場合、対話ルール生成部143は、上位のカテゴリとして「地域」を特定する。図5に示されているように、「地域」カテゴリは、「カレー店:神保町」カテゴリに対して2階層上位のカテゴリである。続いて、対話ルール生成部143は、当該上位のカテゴリ「地域」が付されたノードから2階層分下位のノードまでを対象として複数のノード(ノードIDが「N4」、「N6」、「N7」のノード)を抽出(複製)する。続いて、対話ルール生成部143は、抽出された複数階層のノードのうち最下層のノード(ノードIDが「N6」、「N7」のノード)に付されているカテゴリ「カレー:六本木」を、ユーザ関心カテゴリ「カレー:神保町」に変更する。ここで、抽出された複数階層のノードのうち最下層のノードのメッセージを、外部のグルメサイト等を「カレー」及び「神保町」で検索して、ユーザ関心カテゴリ「カレー:神保町」に対応する店名を含むメッセージに変更する。続いて、対話ルール生成部143は、最下層のノードの1つ上位の階層のノード(ノードIDが「N4」のノード)に付されているカテゴリ「六本木」を、ユーザ関心カテゴリの上位のカテゴリ「神保町」に変更する。
【0065】
また、上記実施形態(第1実施形態)では、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールから、ノードを抽出する場合に、抽出されたノードにおいて、ユーザ関心カテゴリが付されたノードが、最下位となるように抽出することとしたが、これに限らない。例えば、ユーザ関心カテゴリが付されたノードの下位のノードを抽出し、当該下位のノードのメッセージ及びカテゴリを変更するようにしてもよい。
【0066】
この場合について、図5〜図7を用いて説明を行う。例えば、ユーザ関心カテゴリが、「神保町」である場合、対話ルール生成部143は、この「神保町」の上位カテゴリとして「地域」を特定し、この「地域」の下位のカテゴリとして「六本木」を特定する。そして、対話ルール生成部143は、「六本木」が付されたノードの下位のノードを対象として複数のノード(ノードIDが「N4」、「N6」、「N7」のノード)を抽出(複製)する。続いて、対話ルール生成部143は、抽出された複数階層のノードのうちユーザ関心カテゴリが「六本木」のノード(ノードIDが「N4」のノード)に付されているカテゴリを、ユーザ関心カテゴリ「神保町」に変更する。ここで、このノード(ノードIDが「N4」のノード)の下位のノード(ノードIDが「N6」、「N7」のノード)のメッセージを、外部のグルメサイト等を「カレー」及び「神保町」で検索して、ユーザ関心カテゴリ「カレー:神保町」に対応する店名を含むメッセージに変更する。
【0067】
対話ルール変更部144は、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノード(検出ノード及び動作ノード)に対応するメッセージに付されたカテゴリとに基づいて、対話ルールDB134に記憶された対話ルールを変更する。
【0068】
具体的には、対話ルール変更部144は、対話ルールDB134に記憶されている対話ルールに対して対話ルール生成部143により生成された新規対話ルールを追加する。ここで、対話ルール変更部144は、カテゴリDB133を参照して、ユーザ関心カテゴリの上位のカテゴリを特定する。そして、対話ルール変更部144は、特定された上位のカテゴリが付された検出ノード又は動作ノードに対して対話ルール生成部143により生成された新規対話ルールが下位となるように、この新規対話ルールを追加する。
【0069】
ここで、対話ルール変更部144は、ノードテーブル135に記憶されているノードIDと重複しないように、生成された新規対話ルールのノードIDを生成するとともに、生成されたノードIDに対応するエッジを生成する。また、対話ルール変更部144は、生成された新規対話ルールの最上位のノードが検出ノードである場合、特定された上位のカテゴリが付された動作ノードを接続元ノードとし、新規対話ルールの最上位のノードを接続先ノードとするエッジを生成する。また、対話ルール変更部144は、生成された新規対話ルールの最上位のノードが動作ノードである場合、特定された上位のカテゴリが付された検出ノードを接続元ノードとし、新規対話ルールの最上位のノードが接続先ノードとするエッジを生成する。そして、対話ルール変更部144は、生成された新規対話ルールと生成されたエッジとを対話ルールDB134(ノードテーブル135及びエッジテーブル136)に記憶させる。
【0070】
[フローチャート]
続いて、対話ルール変更装置1における処理の流れについて説明する。
図8は、第1実施形態に係る対話ルール変更装置1による、入力メッセージに対して予め定められた対話ルールに従って応答メッセージを出力する処理の流れを示すフローチャートである。
【0071】
ステップS1において、制御部14(集計部141)は、ユーザの行動履歴をカテゴリごとに集計する。具体的には、制御部14(集計部141)は、行動履歴DB131に記憶されている行動履歴の形態素解析を行って単語を抽出し、抽出された単語をカテゴリ辞書DB132に記憶されているカテゴリに分類する。そして、制御部14(集計部141)は、分類された単語をカテゴリごとに集計することで、行動履歴をカテゴリごとに集計する。ステップS1の集計処理は、複数のユーザの行動履歴それぞれに対して行われる。
【0072】
ステップS2において、制御部14(関心カテゴリ決定部142)は、複数のユーザそれぞれについて、ステップS1において集計されたカテゴリの集計値が相対的に高い1又は複数のカテゴリを、ユーザ関心カテゴリに決定する。
【0073】
ステップS3において、制御部14(対話ルール生成部143)は、複数のユーザそれぞれについて、ステップS2において決定されたユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成する。具体的には、制御部14(対話ルール生成部143)は、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードの少なくとも1つについて、当該ノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、当該ノードに対応するメッセージを、ユーザ関心カテゴリと上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。ステップS3の処理は、ステップS2において決定された全てのユーザ関心カテゴリに対して行われる。
【0074】
ステップS4において、制御部14(対話ルール変更部144)は、対話ルールDB134に記憶されている対話ルールの変更を行う。具体的には、制御部14(対話ルール変更部144)は、カテゴリDB133を参照してユーザ関心カテゴリの上位のカテゴリを特定し、特定された上位のカテゴリが付された検出ノード又は動作ノードに対して、ステップS3において生成された新規対話ルールが下位となるように、新規対話ルールを追加する。ステップS4の処理は、ステップS3において生成された全ての対話ルールに対して行われる。
【0075】
以上、第1実施形態によれば、対話ルール変更装置1は、対話ルール変更部144により、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する。
【0076】
このように、対話ルール変更装置1は、ユーザの行動履歴に基づいたユーザ関心カテゴリによって対話ルールを変更するので、ユーザから対話ルールの変更操作を受け付けることを必要としない。さらに、ユーザの行動履歴に基づいたユーザ関心カテゴリは、ユーザの趣向に即しているため、対話ルール変更装置1は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステム2の対話ルールを変更することができる。
【0077】
また、対話ルール変更装置1は、対話ルール生成部143により、ユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成し、対話ルール変更部144により、対話ルールDB134に記憶されている対話ルールに対して生成された新規対話ルールを追加する。このようにすることで、対話ルール変更装置1は、ユーザ関心カテゴリに対応する対話ルールを新たに追加して、ユーザの趣向に対応する対話ルールを増加させることができる。
【0078】
また、対話ルール変更装置1は、対話ルール生成部143により、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。このようにすることで、対話ルール変更装置1は、既存のノードの構造を利用して、ユーザ関心カテゴリが付されたノードを効率よく生成することができる。
【0079】
また、対話ルール変更装置1は、対話ルール変更部144により、対話ルールDB134に記憶されている対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、対話ルール生成部143により生成された新規対話ルールを下位となるように追加する。このようにすることで、対話ルール変更装置1は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードからユーザ関心カテゴリに対応する対話に違和感なく遷移させることができる。
【0080】
また、対話ルール変更装置1は、複数のユーザの行動履歴それぞれに基づいて、対話ルールDB134に記憶されている一の対話ルールの変更を行う。このようにすることで、対話ルール変更装置1は、効率的に対話ルールの規模を大きくすることができる。
【0081】
また、対話ルール変更装置1は、関心カテゴリ決定部142により、行動履歴DB131に記憶されている行動履歴に基づいて、ユーザ関心カテゴリを決定し、対話ルール変更部144により、関心カテゴリ決定部142により決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更することができる。
【0082】
[第2実施形態]
[機能構成]
図9は、本発明の第2実施形態に係る対話ルール変更装置1Aの機能構成を示す図である。
本実施形態に示される対話ルール変更装置1Aは、対話ルールが複数のユーザそれぞれに対応して複数存在する点と、対話ルールのエッジに対して、当該エッジに関連付けられている遷移先(接続先)の動作ノードへの遷移確率を対応付けて記憶する点と、複数の対話ルールそれぞれに対して個別に対話ルールを変更しうる点とが、第1実施形態と異なり、その他の機能は、第1実施形態に示される対話ルール変更装置1と同様である。
【0083】
対話ルール変更装置1Aの記憶部13Aは、対話ルールDB134Aを備え、対話ルール変更装置1Aの制御部14Aは、対話ルール変更部144Aとを備える。
【0084】
対話ルールDB134Aは、複数の対話ルールを記憶しており、これら複数の対話ルールそれぞれは、複数のユーザそれぞれに対応している。
【0085】
図10は、第2実施形態に係る対話ルールDB134Aを示す図である。
図10に示すように、対話ルールDB134Aは、ノードに関連する情報を記憶するノードテーブル135Aと、エッジに関連する情報を記憶するエッジテーブル136Aとを記憶する。
【0086】
ノードテーブル135Aは、ユーザIDと、ノードIDと、ノード種別と、処理内容と、カテゴリとを関連付けて記憶する。
エッジテーブル136Aは、ユーザIDと、接続元ノードIDと、接続先ノードIDと、接続元のノードIDから接続先ノードIDへの遷移確率とを関連付けて記憶する。すなわち、エッジテーブル136Aは、エッジに対して、当該エッジに関連付けられている遷移先(接続先)の動作ノードへの遷移確率を対応付けて記憶する。
【0087】
なお、第2実施形態では、一の対話ルールDB134Aに対してノードテーブル135A及びエッジテーブル136Aをそれぞれ1つずつ記憶させることとしたが、対話ルールDB134Aを複数設けたり、一の対話ルールDB134Aに対してノードテーブル135A及びエッジテーブル136Aを複数記憶させたり、ユーザ端末4に対して個別にノードテーブル135A及びエッジテーブル136Aを複数記憶させたりして複数のユーザそれぞれに対応するようにしてもよい。そして、対話ルール生成部143により生成された対話ルールを、一のユーザのみが利用できるように、当該ユーザに対応する対話ルールにのみ追加するようにしてもよい。
【0088】
図11は、第2実施形態に係る対話ルールの模式図である。
図11に示されるように、第2実施形態に係る対話ルールには、第1実施形態に係る対話ルールに、遷移確率が付されている点で異なる。すなわち、各エッジに付されている数値は、遷移確率である。
【0089】
対話ルール変更部144Aは、第1実施形態において説明した機能に加えて、ユーザ関心カテゴリに関連付けられたユーザIDに対応する対話ルールの変更を行う機能を有する。
【0090】
すなわち、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルールDB134Aに記憶されている対話ルールに追加する。
【0091】
具体的には、対話ルール変更部144Aは、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリを特定する。そして、対話ルール変更部144Aは、特定された上位のカテゴリのいずれかが付されている検出ノードのうち、ユーザ関心カテゴリが付されているノードと間接的に接続されている検出ノードを特定する。そして、対話ルール変更部144Aは、ユーザ関心カテゴリが付されているノードと、特定された検出ノードとを接続するエッジを生成するとともに、生成されたエッジと、当該ユーザ関心カテゴリに対応しているユーザIDとを対話ルールDB134Aに記憶させることによって、新たに生成されたエッジを対話ルールに追加する。また、対話ルール変更部144Aは、新たに生成されたエッジが追加された後、このエッジの接続元ノードに関連付けられている下位のエッジの遷移確率が等しくなるように、遷移確率を変更する。ここで、対話ルール変更部144Aは、同一のユーザ関心カテゴリが付されている動作ノードが複数存在する場合、一の動作ノードをランダムで選択し、エッジを生成する処理を行う。
【0092】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、図11に示される対話ルールにおいて、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「カレー店:六本木」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー」を特定する。そして、対話ルール変更部144Aは、「カレー」カテゴリが付されている検出ノードであって、ユーザ関心カテゴリ「カレー店:六本木」が付されているノード(ノードID「N6」、「N7」のノード)と間接的に接続されている検出ノードとして、ノードID「N1」のノードを特定する。ここで、対話ルール変更部144Aは、同一のユーザ関心カテゴリが付されている動作ノードが複数存在するため、一の動作ノードとしてノードID「N6」のノードを選択する。そして、対話ルール変更部144Aは、ユーザ関心カテゴリ「カレー店:六本木」が付されているノード(ノードID「N6」のノード)と、特定された検出ノード(ノードID「N1」のノード)とを接続するエッジを生成し、生成されたエッジと、ユーザIDが「u001」とを関連付けて対話ルールDB134Aに記憶させることによって、新たに生成されたエッジを対話ルールに追加する。この場合、ノードが新たに追加された対話ルールは、図12に示されるものとなる。
【0093】
また、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、当該ユーザ関心カテゴリの名称を含む応答メッセージに変更する。
【0094】
具体的には、対話ルール変更部144Aは、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリを特定する。そして、対話ルール変更部144Aは、特定された上位のカテゴリのいずれかが付されている動作ノードを特定する。特定されたノードは、ユーザ関心カテゴリに対して、複数のエッジを介して間接的に上位に接続されている動作ノードとなる。そして、対話ルール変更部144Aは、特定された動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。なお、ユーザ関心カテゴリの名称を含むとは、ユーザ関心カテゴリの名称の全て又は一部を含むことをいう。
【0095】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「カレー:キーマ」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー:種類」を特定する。続いて、対話ルール変更部144Aは、「カレー:種類」カテゴリが付されている動作ノード(ノードID「N8」のノード)を、上位のカテゴリのいずれかが付されている動作ノードに特定する。続いて、対話ルール変更部144Aは、図13に示すように、この動作ノードの応答メッセージをユーザ関心カテゴリの名称を含む応答メッセージ(例えば、「どんなカレーが好き?私はキーマカレーが好き」)に変更する。
【0096】
また、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールに、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリを示すカテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。
【0097】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「六本木」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー」を特定する。続いて、対話ルール変更部144Aは、「カレー」カテゴリが付されている検出ノード(ノードID「N1」のノード)を接続元ノードとする複数のエッジの遷移確率について、ユーザ関心カテゴリ「六本木」を示すカテゴリが付された動作ノード(ノードID「N3」のノード)を接続先ノードとするエッジの遷移確率が、他の動作ノードを接続先ノードとするエッジの遷移確率に比べて高くなるように調整する。例えば、図14に示すように、対話ルール変更部144Aは、接続元ノードがノードID「N1」のノードであり、接続先ノードがノードID「N3」のノードであるエッジの遷移確率を「0.8」、接続元ノードがノードID「N1」のノードであり、接続先ノードがノードID「N2」のノードであるエッジの遷移確率を「0.2」に調整する。
【0098】
また、対話ルール変更部144Aは、一のユーザに対して複数のユーザ関心カテゴリが決定されている場合において、同一の検出ノードを接続元ノードとした動作ノードであって、それぞれが異なるユーザ関心カテゴリが付された動作ノードが存在するとき、これら異なるユーザ関心カテゴリが付された動作ノードの遷移確率を調整する。すなわち、対話ルール変更部144Aは、集計部141により集計された集計値が多いユーザ関心カテゴリの遷移確率が相対的に高くなるように遷移確率を調整する。
【0099】
第2実施形態によれば、第1実施形態において説明した効果に加え、以下のような効果がある。
【0100】
対話ルール変更装置1Aは、対話ルール変更部144Aにより、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルールDB134Aに記憶されている対話ルールに追加する。このようにすることで、対話ルール変更装置1Aは、少ない対話回数で、ユーザの趣向に対応する対話に遷移させることができる。
【0101】
また、対話ルール変更装置1Aは、対話ルール変更部144Aにより、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。ここで、ユーザ関心カテゴリの名称を含む応答メッセージが出力された場合、ユーザは、当該応答メッセージが出力されない場合に比べて、ユーザ関心カテゴリに対応するメッセージを入力する可能性が高い。よって、対話ルール変更装置1Aは、ユーザ関心カテゴリに対応する動作ノードに遷移する確率を増加させることができる。
【0102】
また、対話ルール変更装置1Aは、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。このようにすることで、対話ルール変更装置1Aは、ユーザ関心カテゴリが付された動作ノードへの遷移確率を増加させて、ユーザと対話エージェントシステム2との間で、ユーザの趣向に対応する対話が行われやすいようにすることができる。
【0103】
なお、本実施形態(第1実施形態及び第2実施形態)において、上記対話ルール変更装置1及び1A、対話エージェントシステム2、ウェブサーバ3及びユーザ端末4は、コンピュータ及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びに当該ハードウェアを制御するソフトウェアによって構成される。
【0104】
上記ハードウェアには、制御部としてのCPU(Central Processing Unit)の他、記憶部、通信装置、表示装置、入力装置及び出力装置が含まれる。記憶部としては、例えば、メモリ(RAM:Random Access Memory、ROM:Read Only Memory等)、ハードディスクドライブ(HDD:Hard Disk Drive)及び光ディスク(CD:Compact Disk、DVD:Digital Versatile Disk等)ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール、タッチパッド等)、GPS(Global Positioning System)等を利用した位置取得装置、タイマ、マイク等が挙げられる。出力装置としては、例えば、音声を出力するための音声合成装置が挙げられる。
【0105】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布されることも可能である。
【0106】
以上、上記実施形態について説明したが、上記実施形態は例示に過ぎず、図面に示す構成要素、データ構造及びフローチャート等は適宜変更可能である。また、上記実施形態に記載された本発明の効果は、上記実施形態から生じる最も好適な効果を列挙したに過ぎず、上記実施形態に記載したものに限定されるものではない。
【0107】
上記実施形態では、集計部141が、カテゴリ辞書DB132に基づいて行動履歴に含まれる単語を分類することとしたが、文書分類器を用いて分類を行ってもよい。
【0108】
また、上記実施形態では、対話ルールを対話ルール変更装置1、1Aに記憶することとしたが、これに限らず、対話エージェントシステム2等、他のシステムやサーバ等に記憶させるようにしてもよい。この場合、対話ルール変更装置1、1Aは、他のシステムやサーバ等に記憶された対話ルールを変更するようにしてもよい。
【0109】
また、上記実施形態(第2実施形態)では、動作ノードに対する遷移確率を設定することとしたが、さらに、遷移確率を時間帯、地域別に設定できるようにしてもよい。すなわち、エッジテーブル136Aに記憶されている遷移確率を、時間帯(例えば、日中、夕方、夜等)別に記憶させて、対話エージェントシステム2が、時間帯に応じて、対話ルールに適用する遷移確率を変更するようにしてもよい。例えば、深夜や早朝の時間帯である場合に、対話エージェントシステム2が、レストランの推薦に係るメッセージを出力せずにレシピに係るメッセージを出力するようにしてもよい。
【0110】
また、エッジテーブル136Aに記憶されている遷移確率を、地域別に記憶させて、対話エージェントシステム2が、ユーザ端末4から位置を取得し、当該位置に基づいて対話ルールに適用する遷移確率を変更するようにしてもよい。また、エッジテーブル136Aが、これら時間帯別、地域別に遷移確率を記憶し、対話エージェントシステム2が、これら遷移確率を時間帯及びユーザ端末の位置に基づいて適宜変更するようにしてもよい。例えば、ユーザ端末4が六本木に位置している場合に、対話エージェントシステム2が、神保町に係るメッセージを出力せずに六本木に係るメッセージを出力するようにしてもよい。
【符号の説明】
【0111】
1 対話ルール変更装置
11 操作部
12 表示部
13、13A 記憶部
14、14A 制御部
131 行動履歴DB
132 カテゴリ辞書DB
133 カテゴリDB
134、134A 対話ルールDB
141 集計部
142 関心カテゴリ決定部
143 対話ルール生成部
144、144A 対話ルール変更部
【技術分野】
【0001】
本発明は、入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの対話ルールを変更する対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムに関する。
【背景技術】
【0002】
近年、ユーザ端末からメッセージを受け付けたことに応じて、このメッセージに対応するメッセージをユーザ端末に出力する対話エージェントシステムが普及している。そして、このような対話エージェントシステムにおいて、ユーザ端末から受け付けたメッセージに対して多様なメッセージの出力を行ったり、このユーザ端末のユーザに適したメッセージの出力を行ったりする手法が提案されている。
【0003】
例えば、特許文献1には、ユーザからのメッセージと、このメッセージに対応して出力するメッセージとの関係を知識構造(対話ルール)として記憶しておき、ユーザからメッセージを受け付けたことに応じて、このメッセージに含まれる単語に基づいて、対話ルールを変更する方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−223720号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の方法では、ユーザが、対話ルールにおける所定のメッセージを変更したい場合、この所定のメッセージに直接関連するメッセージが対話エージェントシステムから出力されるまで、対話エージェントシステムとメッセージの交換を繰り返す必要がある。したがって、特許文献1に記載の方法では、所望するメッセージに対応する対話ルールを変更するのがユーザにとって煩雑である。
【0006】
さらに、特許文献1に記載の方法では、ユーザが対話エージェントシステムとメッセージの交換を行うことで対話ルールが変更される。このため、メッセージ交換のやりとりにおいて、ユーザが自身の趣向に即していないメッセージを入力してしまい、その結果、ユーザの趣向に合わない対話ルールに変更される可能性がある。よって、特許文献1に記載の方法では、ユーザが、自身の趣向に即して対話ルールを変更できないおそれがある。
【0007】
本発明は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールを変更する対話ルール変更装置であって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータを前記対話ルールとして記憶する対話ルール記憶手段と、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する対話ルール変更手段と、を備える対話ルール変更装置。
【0009】
(1)の対話ルール変更装置は、対話ルール変更手段により、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する。
【0010】
このように、(1)の対話ルール変更装置は、ユーザの行動履歴に基づいたユーザ関心カテゴリによって対話ルールを変更するので、ユーザから対話ルールの変更操作を受け付けることを必要としない。さらに、ユーザの行動履歴に基づいたユーザ関心カテゴリは、ユーザの趣向に即しているため、(1)の対話ルール変更装置は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる。
【0011】
(2)前記ユーザ関心カテゴリが付された前記検出ノード及び前記動作ノードの少なくともいずれかを含む新規対話ルールを生成する対話ルール生成手段を備え、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに対して前記対話ルール生成手段により生成された新規対話ルールを追加する、(1)に記載の対話ルール変更装置。
【0012】
(2)の対話ルール変更装置は、対話ルール生成手段により、ユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成し、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールに対して生成された新規対話ルールを追加する。このようにすることで、(2)の対話ルール変更装置は、ユーザ関心カテゴリに対応する対話ルールを新たに追加して、ユーザの趣向に対応する対話ルールを増加させることができる。
【0013】
(3)前記カテゴリは、階層を有し、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、前記対話ルール生成手段により生成された新規対話ルールを下位となるように追加する、(2)に記載の対話ルール変更装置。
【0014】
(3)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、対話ルール生成手段により生成された新規対話ルールを下位となるように追加する。このようにすることで、(3)の対話ルール変更装置は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードからユーザ関心カテゴリに対応する対話に違和感なく遷移させることができる。
【0015】
(4)前記対話ルール生成手段は、前記対話ルール記憶手段に記憶された前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリを前記ユーザ関心カテゴリに変更するとともに、前記抽出されたノードに対応するメッセージを、前記ユーザ関心カテゴリと、前記上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する、(3)に記載の対話ルール変更装置。
【0016】
(4)の対話ルール変更装置は、対話ルール生成手段により、対話ルール記憶手段に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。このようにすることで、(4)の対話ルール変更装置は、既存のノードの構造を利用して、ユーザ関心カテゴリが付されたノードを効率よく生成することができる。
【0017】
(5)前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、前記対話ルール記憶手段に記憶されている前記対話ルールに追加する、(1)から(4)のいずれかに記載の対話ルール変更装置。
【0018】
(5)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルール記憶手段に記憶されている対話ルールに追加する。このようにすることで、(5)の対話ルール変更装置は、少ない対話回数で、ユーザの趣向に対応する対話に遷移させることができる。
【0019】
(6)前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、前記ユーザ関心カテゴリの名称を含む応答メッセージに変更する、(1)から(5)のいずれかに記載の対話ルール変更装置。
【0020】
(6)の対話ルール変更装置は、対話ルール変更手段により、対話ルール記憶手段に記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。ここで、ユーザ関心カテゴリの名称を含む応答メッセージが出力された場合、ユーザは、当該応答メッセージが出力されない場合に比べて、ユーザ関心カテゴリに対応するメッセージを入力する可能性が高い。よって、(6)の対話ルール変更装置は、ユーザ関心カテゴリに対応する動作ノードに遷移する確率を増加させることができる。
【0021】
(7)前記対話ルール記憶手段は、前記エッジに対して、当該エッジに関連付けられている遷移先の動作ノードへの遷移確率を対応付けて記憶し、前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに、前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように前記複数のエッジそれぞれの遷移確率を調整する、(1)から(6)のいずれかに記載の対話ルール変更装置。
【0022】
(7)の対話ルール変更装置は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。このようにすることで、(7)の対話ルール変更装置は、ユーザ関心カテゴリが付された動作ノードへの遷移確率を増加させて、ユーザと対話エージェントシステムとの間で、ユーザの趣向に対応する対話が行われやすいようにすることができる。
【0023】
(8)前記ユーザのウェブ上の行動履歴を記憶する行動履歴記憶手段と、前記行動履歴記憶手段に記憶されている前記行動履歴に基づいて、前記ユーザ関心カテゴリを決定する関心カテゴリ決定手段と、を備え、前記対話ルール変更手段は、前記関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する、(1)から(7)のいずれかに記載の対話ルール変更装置。
【0024】
このように、(8)の対話ルール変更装置は、関心カテゴリ決定手段により、行動履歴記憶手段に記憶されている行動履歴に基づいて、ユーザ関心カテゴリを決定し、対話ルール変更手段により、関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更することができる。
【0025】
(9)入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールをコンピュータが変更する対話ルール変更方法であって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータである対話ルールを、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更する、対話ルール変更方法。
【0026】
(10)入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールの変更をコンピュータに実行させる対話ルール変更プログラムであって、前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータでる対話ルールを、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更するステップ、を前記コンピュータに実行させる対話ルール変更プログラム。
【0027】
これら対話ルール変更方法及び対話ルールプログラムによれば、(1)に係る発明と同様の効果を奏する。
【発明の効果】
【0028】
本発明によれば、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステムの対話ルールを変更することができる対話ルール変更装置、対話ルール変更方法及び対話ルール変更プログラムを提供することができる。
【図面の簡単な説明】
【0029】
【図1】第1実施形態に係る対話ルール変更装置とその周辺装置との関係を示す図である。
【図2】第1実施形態に係る対話ルール変更装置の機能構成を示す図である。
【図3】第1実施形態に係る行動履歴DBを示す図である。
【図4】第1実施形態に係るカテゴリ辞書DBを示す図である。
【図5】第1実施形態に係るカテゴリDBを示す図である。
【図6】第1実施形態に係る対話ルールDBを示す図である。
【図7】第1実施形態に係る対話ルールの模式図である。
【図8】第1実施形態に係る対話ルール変更装置による、入力メッセージに対して予め定められた対話ルールに従って応答メッセージを出力する処理の流れを示すフローチャートである。
【図9】第2実施形態に係る対話ルール変更装置の機能構成を示す図である。
【図10】第2実施形態に係る対話ルールDBを示す図である。
【図11】第2実施形態に係る対話ルールの模式図である。
【図12】第2実施形態に係る対話ルールが変更された例を示す図(その1)である。
【図13】第2実施形態に係る対話ルールが変更された例を示す図(その2)である。
【図14】第2実施形態に係る対話ルールが変更された例を示す図(その3)である。
【発明を実施するための形態】
【0030】
以下、本発明の実施形態について図を参照しながら説明する。
【0031】
[第1実施形態]
[機能構成]
図1は、第1実施形態に係る対話ルール変更装置1とその周辺装置との関係を示す図である。対話ルール変更装置1は、LAN等の通信ネットワークにより、対話エージェントシステム2と複数のウェブサーバ3とに通信可能に接続されている。
【0032】
対話ルール変更装置1は、入力メッセージに対して予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステム2の対話ルールを変更する。対話ルール変更装置1の詳細は、後述する。
【0033】
対話エージェントシステム2は、LAN等の通信ネットワークにより対話ルール変更装置1と通信可能に接続されているとともに、LANやインターネット等の通信ネットワークにより複数のユーザ端末4と通信可能に接続されている。対話エージェントシステム2は、ユーザ端末4から入力メッセージを受け付ける。そして、対話エージェントシステム2は、予め設定された対話ルールに従って、受け付けた入力メッセージに対応する応答メッセージをこのユーザ端末4に対して出力する。
【0034】
ウェブサーバ3は、検索サーバやミニブログサーバやブログサーバ等であり、ウェブ上で、複数のユーザ端末4に対して各種サービスを提供する。
【0035】
なお、図1に示される矢印は、データの流れを示しており、矢印と併せて示される文字列は、データの内容を示している。例えば、対話ルール変更装置1から対話エージェントシステム2に向かう矢印は、対話ルールが対話ルール変更装置1から対話エージェントシステム2に送信(又は参照)されることを示している。また、対話エージェントシステム2から対話ルール変更装置1に向かう矢印は、対話ログが対話エージェントシステム2から対話ルール変更装置1に送信されることを示している。また、ウェブサーバ3から対話ルール変更装置1に向かう矢印は、行動履歴に係る情報がウェブサーバ3から対話ルール変更装置1に送信されることを示している。
【0036】
図2は、第1実施形態に係る対話ルール変更装置1の機能構成を示す図である。
対話ルール変更装置1は、操作部11と、表示部12と、記憶部13と、制御部14と、を備える。
【0037】
操作部11は、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール等)により構成され、操作者から直接的な入力を受け付ける。
表示部12は、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイにより構成され、対話ルール変更装置1の機能に関する情報を表示する。
【0038】
記憶部13は、行動履歴記憶手段としての行動履歴DB131と、カテゴリ辞書情報記憶手段としてのカテゴリ辞書DB132と、カテゴリDB133と、対話ルール記憶手段としての対話ルールDB134とを備える。
【0039】
行動履歴DB131は、ユーザ端末4に対するウェブサーバ3の利用履歴を行動履歴として記憶する。行動履歴には、ウェブサーバ3における検索履歴と、ブログ又はミニブログへの投稿内容と、ユーザ端末4がアクセスしたウェブページの内容との少なくともいずれかが含まれる。
【0040】
図3は、第1実施形態に係る行動履歴DB131を示す図である。
図3に示すように、行動履歴DB131は、ユーザを識別するユーザIDと、ユーザの行動履歴の行動種別と、行動履歴の内容とを関連付けて記憶する。行動履歴の内容は、行動種別が「検索」の場合、検索キーワードを示し、行動種別が「ミニブログ」又は「ブログ」の場合、投稿内容を示し、「ウェブ閲覧」の場合、閲覧されたウェブページのスニペットを示している。なお、行動履歴DB131に記憶される行動履歴には、対話エージェントシステム2におけるユーザ端末4との対話ログや、メールのメッセージ本文や、ウェブショッピングにおける商品の購入履歴等、他の行動履歴も含まれる。
【0041】
図4は、第1実施形態に係るカテゴリ辞書DB132を示す図である。
図4に示すように、カテゴリ辞書DB132は、カテゴリと、カテゴリに対応する単語とを関連付けてカテゴリ辞書情報として記憶する。
【0042】
図5は、第1実施形態に係るカテゴリDB133を示す図である。
図5に示すように、カテゴリは、複数の階層を有している。すなわち、カテゴリDB133は、上位のカテゴリと、この上位のカテゴリより1つ下の階層のカテゴリである下位のカテゴリとを関連付けて記憶する。
【0043】
図5に示すように、例えば、「カレー店:六本木」カテゴリの上位のカテゴリとして「六本木」カテゴリが存在し、「カレー店:神保町」カテゴリの上位のカテゴリとして、「神保町」カテゴリが存在する。さらに、「六本木」カテゴリ及び「神保町」カテゴリの上位のカテゴリとして、「地域」カテゴリが存在する。
【0044】
対話ルールDB134は、対話ルールを記憶する。
対話ルールは、入力メッセージに対応する処理手順が定められた検出ノードと、応答メッセージに対応する処理手順が定められた動作ノードと、検出ノードと動作ノードとの接続関係を示すエッジとから構成されるグラフ構造のデータである。
第1実施形態では、対話ルールDB134に一の対話ルールのみ記憶されており、この対話ルールは、対話エージェントシステム2を介して複数のユーザ端末4のユーザに利用される。
【0045】
図6は、第1実施形態に係る対話ルールDB134を示す図である。
図6に示すように、対話ルールDB134は、ノードに関連する情報を記憶するノードテーブル135と、エッジに関連する情報を記憶するエッジテーブル136とを備える。
【0046】
ノードテーブル135は、ノードを識別するノードIDと、ノードの種別を示すノード種別と、メッセージに対応する処理手順を示す処理内容と、ノードに付されているカテゴリとを関連付けて記憶する。
【0047】
つまり、対話ルールDB134に記憶されている対話ルールでは、各ノード(検出ノード及び動作ノード)に対し、そのメッセージ(各ノードの処理手順に対応するメッセージ)に対応するカテゴリが付されている。ここで、メッセージにカテゴリが付されているとは、メッセージに対してカテゴリを示すカテゴリの情報(例えば、カテゴリの名称や、カテゴリを識別するカテゴリコード)が付されていることをいう。
【0048】
エッジテーブル136は、接続元のノードのノードIDを示す接続元ノードIDと、接続先のノードのノードIDを示す接続先ノードIDとを関連付けて記憶する。
【0049】
接続元ノードと接続先ノードとのいずれか一方は検出ノードであり、他方は動作ノードである。つまり、接続元ノードと接続先ノードとは、検出ノードと動作ノードとの接続関係、すなわち、エッジを示している。なお、対話エージェントシステム2は、第1実施形態の対話ルールに対応する検出ノードに対応する動作ノードが複数存在する場合、ランダムに一の動作ノードを特定し、当該動作ノードに遷移する。
【0050】
図7は、第1実施形態に係る対話ルールの模式図である。
図7に示される破線ブロックは検出ノードを示しており、実線ブロックは動作ノードを示している。また、これらのブロックには、ノードIDが付されている。また、各ブロック同士を繋ぐ矢印はエッジを示しており、具体的には、始点(矢がない側)が接続元ノードを示し、終点(矢がある側)が接続先ノードを示している。例えば、ノードID「N1」のノードとノードID「N2」のノードとを接続する矢印は、接続元ノードがノードID「N1」の検出ノードであり、接続先ノードがノードID「N2」の動作ノードであることを示している。
【0051】
図2に戻り、制御部14は、対話ルール変更装置1に係る各機能を統括的に制御する。制御部14は、集計部141と、関心カテゴリ決定手段としての関心カテゴリ決定部142と、対話ルール生成手段としての対話ルール生成部143と、対話ルール変更手段としての対話ルール変更部144とを備える。
【0052】
集計部141は、複数のユーザそれぞれの行動履歴をカテゴリごとに集計する。
具体的には、集計部141は、行動履歴DB131に記憶されているユーザIDごとに以下の処理を行う。すなわち、集計部141は、行動履歴DB131に記憶されている行動履歴の形態素解析を行い、単語を抽出する。そして、集計部141は、抽出された単語をカテゴリ辞書DB132に記憶されているカテゴリに分類し、分類された単語をカテゴリごとに集計することで、行動履歴をカテゴリごとに集計する。なお、集計部141は、行動履歴から単語を抽出する場合において、一の行動履歴に同一の単語が複数含まれているとき、1個の単語のみを抽出するようにしてもよい。
【0053】
また、集計部141は、行動履歴DB131に記憶されている行動履歴が、閲覧されたウェブページのスニペットである場合、文書分類器を用いて当該スニペットをカテゴリに分類するようにしてもよい。すなわち、予めスニペットと、当該スニペットに対応するカテゴリの組み合わせを教師データとして文書分類器の学習を行った後、集計部141は、閲覧されたウェブページのスニペットを、この文書分類器を用いてカテゴリに分類するようにしてもよい。
【0054】
関心カテゴリ決定部142は、行動履歴DB131に記憶されている行動履歴に基づいて、ユーザIDごとに、ユーザの関心話題のカテゴリであるユーザ関心カテゴリを決定する。具体的には、関心カテゴリ決定部142は、ユーザIDごとに、集計部141により集計された集計値が相対的に高い1又は複数のカテゴリを、ユーザ関心カテゴリに決定する。
【0055】
対話ルール生成部143は、複数のユーザそれぞれについて、関心カテゴリ決定部142により決定されたユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成する。
【0056】
具体的には、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。
【0057】
対話ルール生成部143の処理について以下に詳述する。
まず、対話ルール生成部143は、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリのうち、一の上位のカテゴリを特定する。そして、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールにおいて、特定された上位のカテゴリが付されたノード(検出ノード及び動作ノード)を特定し、このノードの下位に直接的又は間接的に接続された1又は複数のノードを抽出する。ここで、抽出とは、対話ルールDB134に記憶されている対話ルールにおいて抽出対象となったノードに基づいて新たなノードを複製することをいい、抽出対象となったノードの内容が変更されるものではない。
【0058】
ここで、特定された上位のカテゴリが、ユーザ関心カテゴリに対して1階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、1階層下位のノードまでを対象として1又は複数のノードを抽出する。
【0059】
他方、特定された上位のカテゴリが、ユーザ関心カテゴリに対して複数階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、この階層分下位のノードまでを対象として複数のノードを抽出する。例えば、上位のカテゴリが、ユーザ関心カテゴリに対して3階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、3階層分下位のノードを抽出する。
【0060】
続いて、対話ルール生成部143は、抽出されたノードの少なくとも一部について、ノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、このユーザ関心カテゴリの上位のカテゴリとの双方に対応するメッセージに変更することによって、新規対話ルールを生成する。
【0061】
ここで、特定された上位のカテゴリが、ユーザ関心カテゴリに対して1階層上位のカテゴリである場合、対話ルール生成部143は、当該上位のカテゴリが付されたノードから、1階層下位のノードに付されたカテゴリをユーザ関心カテゴリに変更する。
【0062】
他方、特定された上位のカテゴリが、ユーザ関心カテゴリに対して複数階層上位のカテゴリである場合、対話ルール生成部143は、抽出された複数階層のノードのうち最下層のノードに付されているカテゴリをユーザ関心カテゴリに変更する。そして、対話ルール生成部143は、最下層のノードの1つ上位の階層のノードに付されているカテゴリをユーザ関心カテゴリの1つ上位のカテゴリに変更する。このように、対話ルール生成部143は、複数階層それぞれのノードに付されたカテゴリを、それぞれの階層に対応したカテゴリに変更する。
【0063】
また、対話ルール生成部143は、カテゴリがユーザ関心カテゴリに変更されたノードのメッセージを以下のように変更する。まず、対話ルール生成部143は、このユーザ関心カテゴリに対応するユーザIDに関連付けられている行動履歴を行動履歴DB131から抽出する。そして、対話ルール生成部143は、抽出された行動履歴について形態素解析を行って単語を抽出し、抽出された単語から、ユーザ関心カテゴリと、このユーザ関心カテゴリの上位のカテゴリとの双方に対する共起率が相対的に高い単語を特定する。そして、対話ルール生成部143は、変更前のメッセージについて、共起率が相対的に高い単語を含むメッセージに変更する。なお、対話ルール生成部143は、共起率が高い単語を特定する場合に、行動履歴DB131に記憶されている行動履歴に限らず、ウェブ検索の検索結果やウェブページの内容に基づいて、共起率が高い単語を特定するようにしてもよい。
【0064】
具体的な例について、図5〜図7を用いて説明を行う。例えば、ユーザ関心カテゴリが「カレー店:神保町」である場合、対話ルール生成部143は、上位のカテゴリとして「地域」を特定する。図5に示されているように、「地域」カテゴリは、「カレー店:神保町」カテゴリに対して2階層上位のカテゴリである。続いて、対話ルール生成部143は、当該上位のカテゴリ「地域」が付されたノードから2階層分下位のノードまでを対象として複数のノード(ノードIDが「N4」、「N6」、「N7」のノード)を抽出(複製)する。続いて、対話ルール生成部143は、抽出された複数階層のノードのうち最下層のノード(ノードIDが「N6」、「N7」のノード)に付されているカテゴリ「カレー:六本木」を、ユーザ関心カテゴリ「カレー:神保町」に変更する。ここで、抽出された複数階層のノードのうち最下層のノードのメッセージを、外部のグルメサイト等を「カレー」及び「神保町」で検索して、ユーザ関心カテゴリ「カレー:神保町」に対応する店名を含むメッセージに変更する。続いて、対話ルール生成部143は、最下層のノードの1つ上位の階層のノード(ノードIDが「N4」のノード)に付されているカテゴリ「六本木」を、ユーザ関心カテゴリの上位のカテゴリ「神保町」に変更する。
【0065】
また、上記実施形態(第1実施形態)では、対話ルール生成部143は、対話ルールDB134に記憶された対話ルールから、ノードを抽出する場合に、抽出されたノードにおいて、ユーザ関心カテゴリが付されたノードが、最下位となるように抽出することとしたが、これに限らない。例えば、ユーザ関心カテゴリが付されたノードの下位のノードを抽出し、当該下位のノードのメッセージ及びカテゴリを変更するようにしてもよい。
【0066】
この場合について、図5〜図7を用いて説明を行う。例えば、ユーザ関心カテゴリが、「神保町」である場合、対話ルール生成部143は、この「神保町」の上位カテゴリとして「地域」を特定し、この「地域」の下位のカテゴリとして「六本木」を特定する。そして、対話ルール生成部143は、「六本木」が付されたノードの下位のノードを対象として複数のノード(ノードIDが「N4」、「N6」、「N7」のノード)を抽出(複製)する。続いて、対話ルール生成部143は、抽出された複数階層のノードのうちユーザ関心カテゴリが「六本木」のノード(ノードIDが「N4」のノード)に付されているカテゴリを、ユーザ関心カテゴリ「神保町」に変更する。ここで、このノード(ノードIDが「N4」のノード)の下位のノード(ノードIDが「N6」、「N7」のノード)のメッセージを、外部のグルメサイト等を「カレー」及び「神保町」で検索して、ユーザ関心カテゴリ「カレー:神保町」に対応する店名を含むメッセージに変更する。
【0067】
対話ルール変更部144は、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノード(検出ノード及び動作ノード)に対応するメッセージに付されたカテゴリとに基づいて、対話ルールDB134に記憶された対話ルールを変更する。
【0068】
具体的には、対話ルール変更部144は、対話ルールDB134に記憶されている対話ルールに対して対話ルール生成部143により生成された新規対話ルールを追加する。ここで、対話ルール変更部144は、カテゴリDB133を参照して、ユーザ関心カテゴリの上位のカテゴリを特定する。そして、対話ルール変更部144は、特定された上位のカテゴリが付された検出ノード又は動作ノードに対して対話ルール生成部143により生成された新規対話ルールが下位となるように、この新規対話ルールを追加する。
【0069】
ここで、対話ルール変更部144は、ノードテーブル135に記憶されているノードIDと重複しないように、生成された新規対話ルールのノードIDを生成するとともに、生成されたノードIDに対応するエッジを生成する。また、対話ルール変更部144は、生成された新規対話ルールの最上位のノードが検出ノードである場合、特定された上位のカテゴリが付された動作ノードを接続元ノードとし、新規対話ルールの最上位のノードを接続先ノードとするエッジを生成する。また、対話ルール変更部144は、生成された新規対話ルールの最上位のノードが動作ノードである場合、特定された上位のカテゴリが付された検出ノードを接続元ノードとし、新規対話ルールの最上位のノードが接続先ノードとするエッジを生成する。そして、対話ルール変更部144は、生成された新規対話ルールと生成されたエッジとを対話ルールDB134(ノードテーブル135及びエッジテーブル136)に記憶させる。
【0070】
[フローチャート]
続いて、対話ルール変更装置1における処理の流れについて説明する。
図8は、第1実施形態に係る対話ルール変更装置1による、入力メッセージに対して予め定められた対話ルールに従って応答メッセージを出力する処理の流れを示すフローチャートである。
【0071】
ステップS1において、制御部14(集計部141)は、ユーザの行動履歴をカテゴリごとに集計する。具体的には、制御部14(集計部141)は、行動履歴DB131に記憶されている行動履歴の形態素解析を行って単語を抽出し、抽出された単語をカテゴリ辞書DB132に記憶されているカテゴリに分類する。そして、制御部14(集計部141)は、分類された単語をカテゴリごとに集計することで、行動履歴をカテゴリごとに集計する。ステップS1の集計処理は、複数のユーザの行動履歴それぞれに対して行われる。
【0072】
ステップS2において、制御部14(関心カテゴリ決定部142)は、複数のユーザそれぞれについて、ステップS1において集計されたカテゴリの集計値が相対的に高い1又は複数のカテゴリを、ユーザ関心カテゴリに決定する。
【0073】
ステップS3において、制御部14(対話ルール生成部143)は、複数のユーザそれぞれについて、ステップS2において決定されたユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成する。具体的には、制御部14(対話ルール生成部143)は、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードの少なくとも1つについて、当該ノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、当該ノードに対応するメッセージを、ユーザ関心カテゴリと上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。ステップS3の処理は、ステップS2において決定された全てのユーザ関心カテゴリに対して行われる。
【0074】
ステップS4において、制御部14(対話ルール変更部144)は、対話ルールDB134に記憶されている対話ルールの変更を行う。具体的には、制御部14(対話ルール変更部144)は、カテゴリDB133を参照してユーザ関心カテゴリの上位のカテゴリを特定し、特定された上位のカテゴリが付された検出ノード又は動作ノードに対して、ステップS3において生成された新規対話ルールが下位となるように、新規対話ルールを追加する。ステップS4の処理は、ステップS3において生成された全ての対話ルールに対して行われる。
【0075】
以上、第1実施形態によれば、対話ルール変更装置1は、対話ルール変更部144により、ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更する。
【0076】
このように、対話ルール変更装置1は、ユーザの行動履歴に基づいたユーザ関心カテゴリによって対話ルールを変更するので、ユーザから対話ルールの変更操作を受け付けることを必要としない。さらに、ユーザの行動履歴に基づいたユーザ関心カテゴリは、ユーザの趣向に即しているため、対話ルール変更装置1は、ユーザに負担をかけることなく、当該ユーザの趣向に即して対話エージェントシステム2の対話ルールを変更することができる。
【0077】
また、対話ルール変更装置1は、対話ルール生成部143により、ユーザ関心カテゴリが付された検出ノード及び動作ノードの少なくともいずれかを含む新規対話ルールを生成し、対話ルール変更部144により、対話ルールDB134に記憶されている対話ルールに対して生成された新規対話ルールを追加する。このようにすることで、対話ルール変更装置1は、ユーザ関心カテゴリに対応する対話ルールを新たに追加して、ユーザの趣向に対応する対話ルールを増加させることができる。
【0078】
また、対話ルール変更装置1は、対話ルール生成部143により、対話ルールDB134に記憶された対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリをユーザ関心カテゴリに変更するとともに、抽出されたノードに対応するメッセージを、ユーザ関心カテゴリと、上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する。このようにすることで、対話ルール変更装置1は、既存のノードの構造を利用して、ユーザ関心カテゴリが付されたノードを効率よく生成することができる。
【0079】
また、対話ルール変更装置1は、対話ルール変更部144により、対話ルールDB134に記憶されている対話ルールにおけるユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、対話ルール生成部143により生成された新規対話ルールを下位となるように追加する。このようにすることで、対話ルール変更装置1は、ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードからユーザ関心カテゴリに対応する対話に違和感なく遷移させることができる。
【0080】
また、対話ルール変更装置1は、複数のユーザの行動履歴それぞれに基づいて、対話ルールDB134に記憶されている一の対話ルールの変更を行う。このようにすることで、対話ルール変更装置1は、効率的に対話ルールの規模を大きくすることができる。
【0081】
また、対話ルール変更装置1は、関心カテゴリ決定部142により、行動履歴DB131に記憶されている行動履歴に基づいて、ユーザ関心カテゴリを決定し、対話ルール変更部144により、関心カテゴリ決定部142により決定されたユーザ関心カテゴリと、各ノードに対応するメッセージのカテゴリとに基づいて、対話ルールを変更することができる。
【0082】
[第2実施形態]
[機能構成]
図9は、本発明の第2実施形態に係る対話ルール変更装置1Aの機能構成を示す図である。
本実施形態に示される対話ルール変更装置1Aは、対話ルールが複数のユーザそれぞれに対応して複数存在する点と、対話ルールのエッジに対して、当該エッジに関連付けられている遷移先(接続先)の動作ノードへの遷移確率を対応付けて記憶する点と、複数の対話ルールそれぞれに対して個別に対話ルールを変更しうる点とが、第1実施形態と異なり、その他の機能は、第1実施形態に示される対話ルール変更装置1と同様である。
【0083】
対話ルール変更装置1Aの記憶部13Aは、対話ルールDB134Aを備え、対話ルール変更装置1Aの制御部14Aは、対話ルール変更部144Aとを備える。
【0084】
対話ルールDB134Aは、複数の対話ルールを記憶しており、これら複数の対話ルールそれぞれは、複数のユーザそれぞれに対応している。
【0085】
図10は、第2実施形態に係る対話ルールDB134Aを示す図である。
図10に示すように、対話ルールDB134Aは、ノードに関連する情報を記憶するノードテーブル135Aと、エッジに関連する情報を記憶するエッジテーブル136Aとを記憶する。
【0086】
ノードテーブル135Aは、ユーザIDと、ノードIDと、ノード種別と、処理内容と、カテゴリとを関連付けて記憶する。
エッジテーブル136Aは、ユーザIDと、接続元ノードIDと、接続先ノードIDと、接続元のノードIDから接続先ノードIDへの遷移確率とを関連付けて記憶する。すなわち、エッジテーブル136Aは、エッジに対して、当該エッジに関連付けられている遷移先(接続先)の動作ノードへの遷移確率を対応付けて記憶する。
【0087】
なお、第2実施形態では、一の対話ルールDB134Aに対してノードテーブル135A及びエッジテーブル136Aをそれぞれ1つずつ記憶させることとしたが、対話ルールDB134Aを複数設けたり、一の対話ルールDB134Aに対してノードテーブル135A及びエッジテーブル136Aを複数記憶させたり、ユーザ端末4に対して個別にノードテーブル135A及びエッジテーブル136Aを複数記憶させたりして複数のユーザそれぞれに対応するようにしてもよい。そして、対話ルール生成部143により生成された対話ルールを、一のユーザのみが利用できるように、当該ユーザに対応する対話ルールにのみ追加するようにしてもよい。
【0088】
図11は、第2実施形態に係る対話ルールの模式図である。
図11に示されるように、第2実施形態に係る対話ルールには、第1実施形態に係る対話ルールに、遷移確率が付されている点で異なる。すなわち、各エッジに付されている数値は、遷移確率である。
【0089】
対話ルール変更部144Aは、第1実施形態において説明した機能に加えて、ユーザ関心カテゴリに関連付けられたユーザIDに対応する対話ルールの変更を行う機能を有する。
【0090】
すなわち、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルールDB134Aに記憶されている対話ルールに追加する。
【0091】
具体的には、対話ルール変更部144Aは、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリを特定する。そして、対話ルール変更部144Aは、特定された上位のカテゴリのいずれかが付されている検出ノードのうち、ユーザ関心カテゴリが付されているノードと間接的に接続されている検出ノードを特定する。そして、対話ルール変更部144Aは、ユーザ関心カテゴリが付されているノードと、特定された検出ノードとを接続するエッジを生成するとともに、生成されたエッジと、当該ユーザ関心カテゴリに対応しているユーザIDとを対話ルールDB134Aに記憶させることによって、新たに生成されたエッジを対話ルールに追加する。また、対話ルール変更部144Aは、新たに生成されたエッジが追加された後、このエッジの接続元ノードに関連付けられている下位のエッジの遷移確率が等しくなるように、遷移確率を変更する。ここで、対話ルール変更部144Aは、同一のユーザ関心カテゴリが付されている動作ノードが複数存在する場合、一の動作ノードをランダムで選択し、エッジを生成する処理を行う。
【0092】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、図11に示される対話ルールにおいて、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「カレー店:六本木」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー」を特定する。そして、対話ルール変更部144Aは、「カレー」カテゴリが付されている検出ノードであって、ユーザ関心カテゴリ「カレー店:六本木」が付されているノード(ノードID「N6」、「N7」のノード)と間接的に接続されている検出ノードとして、ノードID「N1」のノードを特定する。ここで、対話ルール変更部144Aは、同一のユーザ関心カテゴリが付されている動作ノードが複数存在するため、一の動作ノードとしてノードID「N6」のノードを選択する。そして、対話ルール変更部144Aは、ユーザ関心カテゴリ「カレー店:六本木」が付されているノード(ノードID「N6」のノード)と、特定された検出ノード(ノードID「N1」のノード)とを接続するエッジを生成し、生成されたエッジと、ユーザIDが「u001」とを関連付けて対話ルールDB134Aに記憶させることによって、新たに生成されたエッジを対話ルールに追加する。この場合、ノードが新たに追加された対話ルールは、図12に示されるものとなる。
【0093】
また、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、当該ユーザ関心カテゴリの名称を含む応答メッセージに変更する。
【0094】
具体的には、対話ルール変更部144Aは、カテゴリDB133を参照して、ユーザ関心カテゴリに対して1階層又は複数階層上位のカテゴリを特定する。そして、対話ルール変更部144Aは、特定された上位のカテゴリのいずれかが付されている動作ノードを特定する。特定されたノードは、ユーザ関心カテゴリに対して、複数のエッジを介して間接的に上位に接続されている動作ノードとなる。そして、対話ルール変更部144Aは、特定された動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。なお、ユーザ関心カテゴリの名称を含むとは、ユーザ関心カテゴリの名称の全て又は一部を含むことをいう。
【0095】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「カレー:キーマ」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー:種類」を特定する。続いて、対話ルール変更部144Aは、「カレー:種類」カテゴリが付されている動作ノード(ノードID「N8」のノード)を、上位のカテゴリのいずれかが付されている動作ノードに特定する。続いて、対話ルール変更部144Aは、図13に示すように、この動作ノードの応答メッセージをユーザ関心カテゴリの名称を含む応答メッセージ(例えば、「どんなカレーが好き?私はキーマカレーが好き」)に変更する。
【0096】
また、対話ルール変更部144Aは、対話ルールDB134Aに記憶されている対話ルールに、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリを示すカテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。
【0097】
具体的な例について、図5、図10及び図11を用いて説明を行う。例えば、ユーザ関心カテゴリに対応するユーザIDが「u001」、ユーザ関心カテゴリが「六本木」である場合、対話ルール変更部144Aは、上位のカテゴリとして「カレー」を特定する。続いて、対話ルール変更部144Aは、「カレー」カテゴリが付されている検出ノード(ノードID「N1」のノード)を接続元ノードとする複数のエッジの遷移確率について、ユーザ関心カテゴリ「六本木」を示すカテゴリが付された動作ノード(ノードID「N3」のノード)を接続先ノードとするエッジの遷移確率が、他の動作ノードを接続先ノードとするエッジの遷移確率に比べて高くなるように調整する。例えば、図14に示すように、対話ルール変更部144Aは、接続元ノードがノードID「N1」のノードであり、接続先ノードがノードID「N3」のノードであるエッジの遷移確率を「0.8」、接続元ノードがノードID「N1」のノードであり、接続先ノードがノードID「N2」のノードであるエッジの遷移確率を「0.2」に調整する。
【0098】
また、対話ルール変更部144Aは、一のユーザに対して複数のユーザ関心カテゴリが決定されている場合において、同一の検出ノードを接続元ノードとした動作ノードであって、それぞれが異なるユーザ関心カテゴリが付された動作ノードが存在するとき、これら異なるユーザ関心カテゴリが付された動作ノードの遷移確率を調整する。すなわち、対話ルール変更部144Aは、集計部141により集計された集計値が多いユーザ関心カテゴリの遷移確率が相対的に高くなるように遷移確率を調整する。
【0099】
第2実施形態によれば、第1実施形態において説明した効果に加え、以下のような効果がある。
【0100】
対話ルール変更装置1Aは、対話ルール変更部144Aにより、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、対話ルールDB134Aに記憶されている対話ルールに追加する。このようにすることで、対話ルール変更装置1Aは、少ない対話回数で、ユーザの趣向に対応する対話に遷移させることができる。
【0101】
また、対話ルール変更装置1Aは、対話ルール変更部144Aにより、対話ルールDB134Aに記憶されている対話ルールにおけるユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、ユーザ関心カテゴリの名称を含む応答メッセージに変更する。ここで、ユーザ関心カテゴリの名称を含む応答メッセージが出力された場合、ユーザは、当該応答メッセージが出力されない場合に比べて、ユーザ関心カテゴリに対応するメッセージを入力する可能性が高い。よって、対話ルール変更装置1Aは、ユーザ関心カテゴリに対応する動作ノードに遷移する確率を増加させることができる。
【0102】
また、対話ルール変更装置1Aは、ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように複数のエッジそれぞれの遷移確率を調整する。このようにすることで、対話ルール変更装置1Aは、ユーザ関心カテゴリが付された動作ノードへの遷移確率を増加させて、ユーザと対話エージェントシステム2との間で、ユーザの趣向に対応する対話が行われやすいようにすることができる。
【0103】
なお、本実施形態(第1実施形態及び第2実施形態)において、上記対話ルール変更装置1及び1A、対話エージェントシステム2、ウェブサーバ3及びユーザ端末4は、コンピュータ及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備えるハードウェア並びに当該ハードウェアを制御するソフトウェアによって構成される。
【0104】
上記ハードウェアには、制御部としてのCPU(Central Processing Unit)の他、記憶部、通信装置、表示装置、入力装置及び出力装置が含まれる。記憶部としては、例えば、メモリ(RAM:Random Access Memory、ROM:Read Only Memory等)、ハードディスクドライブ(HDD:Hard Disk Drive)及び光ディスク(CD:Compact Disk、DVD:Digital Versatile Disk等)ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボール、タッチパッド等)、GPS(Global Positioning System)等を利用した位置取得装置、タイマ、マイク等が挙げられる。出力装置としては、例えば、音声を出力するための音声合成装置が挙げられる。
【0105】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、CD−ROM等のコンピュータ可読媒体に記録して配布されることも可能である。
【0106】
以上、上記実施形態について説明したが、上記実施形態は例示に過ぎず、図面に示す構成要素、データ構造及びフローチャート等は適宜変更可能である。また、上記実施形態に記載された本発明の効果は、上記実施形態から生じる最も好適な効果を列挙したに過ぎず、上記実施形態に記載したものに限定されるものではない。
【0107】
上記実施形態では、集計部141が、カテゴリ辞書DB132に基づいて行動履歴に含まれる単語を分類することとしたが、文書分類器を用いて分類を行ってもよい。
【0108】
また、上記実施形態では、対話ルールを対話ルール変更装置1、1Aに記憶することとしたが、これに限らず、対話エージェントシステム2等、他のシステムやサーバ等に記憶させるようにしてもよい。この場合、対話ルール変更装置1、1Aは、他のシステムやサーバ等に記憶された対話ルールを変更するようにしてもよい。
【0109】
また、上記実施形態(第2実施形態)では、動作ノードに対する遷移確率を設定することとしたが、さらに、遷移確率を時間帯、地域別に設定できるようにしてもよい。すなわち、エッジテーブル136Aに記憶されている遷移確率を、時間帯(例えば、日中、夕方、夜等)別に記憶させて、対話エージェントシステム2が、時間帯に応じて、対話ルールに適用する遷移確率を変更するようにしてもよい。例えば、深夜や早朝の時間帯である場合に、対話エージェントシステム2が、レストランの推薦に係るメッセージを出力せずにレシピに係るメッセージを出力するようにしてもよい。
【0110】
また、エッジテーブル136Aに記憶されている遷移確率を、地域別に記憶させて、対話エージェントシステム2が、ユーザ端末4から位置を取得し、当該位置に基づいて対話ルールに適用する遷移確率を変更するようにしてもよい。また、エッジテーブル136Aが、これら時間帯別、地域別に遷移確率を記憶し、対話エージェントシステム2が、これら遷移確率を時間帯及びユーザ端末の位置に基づいて適宜変更するようにしてもよい。例えば、ユーザ端末4が六本木に位置している場合に、対話エージェントシステム2が、神保町に係るメッセージを出力せずに六本木に係るメッセージを出力するようにしてもよい。
【符号の説明】
【0111】
1 対話ルール変更装置
11 操作部
12 表示部
13、13A 記憶部
14、14A 制御部
131 行動履歴DB
132 カテゴリ辞書DB
133 カテゴリDB
134、134A 対話ルールDB
141 集計部
142 関心カテゴリ決定部
143 対話ルール生成部
144、144A 対話ルール変更部
【特許請求の範囲】
【請求項1】
入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールを変更する対話ルール変更装置であって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータを前記対話ルールとして記憶する対話ルール記憶手段と、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する対話ルール変更手段と、
を備える対話ルール変更装置。
【請求項2】
前記ユーザ関心カテゴリが付された前記検出ノード及び前記動作ノードの少なくともいずれかを含む新規対話ルールを生成する対話ルール生成手段を備え、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに対して前記対話ルール生成手段により生成された新規対話ルールを追加する、
請求項1に記載の対話ルール変更装置。
【請求項3】
前記カテゴリは、階層を有し、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、前記対話ルール生成手段により生成された新規対話ルールを下位となるように追加する、
請求項2に記載の対話ルール変更装置。
【請求項4】
前記対話ルール生成手段は、前記対話ルール記憶手段に記憶された前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリを前記ユーザ関心カテゴリに変更するとともに、前記抽出されたノードに対応するメッセージを、前記ユーザ関心カテゴリと、前記上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する、
請求項3に記載の対話ルール変更装置。
【請求項5】
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、前記対話ルール記憶手段に記憶されている前記対話ルールに追加する、
請求項1から4のいずれかに記載の対話ルール変更装置。
【請求項6】
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、前記ユーザ関心カテゴリの名称を含む応答メッセージに変更する、
請求項1から5のいずれかに記載の対話ルール変更装置。
【請求項7】
前記対話ルール記憶手段は、前記エッジに対して、当該エッジに関連付けられている遷移先の動作ノードへの遷移確率を対応付けて記憶し、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに、前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように前記複数のエッジそれぞれの遷移確率を調整する、
請求項1から6のいずれかに記載の対話ルール変更装置。
【請求項8】
前記ユーザのウェブ上の行動履歴を記憶する行動履歴記憶手段と、
前記行動履歴記憶手段に記憶されている前記行動履歴に基づいて、前記ユーザ関心カテゴリを決定する関心カテゴリ決定手段と、を備え、
前記対話ルール変更手段は、前記関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する、
請求項1から7のいずれかに記載の対話ルール変更装置。
【請求項9】
入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールをコンピュータが変更する対話ルール変更方法であって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータである対話ルールを、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更する、
対話ルール変更方法。
【請求項10】
入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールの変更をコンピュータに実行させる対話ルール変更プログラムであって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータでる対話ルールを、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更するステップ、
を前記コンピュータに実行させる対話ルール変更プログラム。
【請求項1】
入力メッセージに対し、予め設定された対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールを変更する対話ルール変更装置であって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータを前記対話ルールとして記憶する対話ルール記憶手段と、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する対話ルール変更手段と、
を備える対話ルール変更装置。
【請求項2】
前記ユーザ関心カテゴリが付された前記検出ノード及び前記動作ノードの少なくともいずれかを含む新規対話ルールを生成する対話ルール生成手段を備え、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに対して前記対話ルール生成手段により生成された新規対話ルールを追加する、
請求項1に記載の対話ルール変更装置。
【請求項3】
前記カテゴリは、階層を有し、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノード又は動作ノードに対して、前記対話ルール生成手段により生成された新規対話ルールを下位となるように追加する、
請求項2に記載の対話ルール変更装置。
【請求項4】
前記対話ルール生成手段は、前記対話ルール記憶手段に記憶された前記対話ルールにおける前記ユーザ関心カテゴリの上位のカテゴリが付されたノードの下位に接続されたノードを抽出し、抽出されたノードに付されたカテゴリを前記ユーザ関心カテゴリに変更するとともに、前記抽出されたノードに対応するメッセージを、前記ユーザ関心カテゴリと、前記上位のカテゴリとの双方に対応するメッセージに変更することによって新規対話ルールを生成する、
請求項3に記載の対話ルール変更装置。
【請求項5】
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードと、複数のエッジを介して当該動作ノードの上位に間接的に接続されている検出ノードとを接続するエッジを、前記対話ルール記憶手段に記憶されている前記対話ルールに追加する、
請求項1から4のいずれかに記載の対話ルール変更装置。
【請求項6】
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールにおける前記ユーザ関心カテゴリが付されている動作ノードに対して複数のエッジを介して上位に間接的に接続されている動作ノードに対応する応答メッセージを、前記ユーザ関心カテゴリの名称を含む応答メッセージに変更する、
請求項1から5のいずれかに記載の対話ルール変更装置。
【請求項7】
前記対話ルール記憶手段は、前記エッジに対して、当該エッジに関連付けられている遷移先の動作ノードへの遷移確率を対応付けて記憶し、
前記対話ルール変更手段は、前記対話ルール記憶手段に記憶されている前記対話ルールに、前記ユーザ関心カテゴリの上位のカテゴリが付された検出ノードに対応する複数のエッジが記憶されている場合において、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジが当該複数のエッジに含まれているとき、前記ユーザ関心カテゴリが付された動作ノードに対応するエッジの遷移確率が他のエッジの遷移確率に比べて高くなるように前記複数のエッジそれぞれの遷移確率を調整する、
請求項1から6のいずれかに記載の対話ルール変更装置。
【請求項8】
前記ユーザのウェブ上の行動履歴を記憶する行動履歴記憶手段と、
前記行動履歴記憶手段に記憶されている前記行動履歴に基づいて、前記ユーザ関心カテゴリを決定する関心カテゴリ決定手段と、を備え、
前記対話ルール変更手段は、前記関心カテゴリ決定手段により決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて、前記対話ルールを変更する、
請求項1から7のいずれかに記載の対話ルール変更装置。
【請求項9】
入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールをコンピュータが変更する対話ルール変更方法であって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータである対話ルールを、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更する、
対話ルール変更方法。
【請求項10】
入力メッセージに対し、予め定められた対話ルールに従って応答メッセージを出力する対話エージェントシステムの前記対話ルールの変更をコンピュータに実行させる対話ルール変更プログラムであって、
前記入力メッセージに対応する処理手順が定められた検出ノードと、前記応答メッセージに対応する処理手順が定められた動作ノードと、前記検出ノードと前記動作ノードとの接続関係を示すエッジとから構成されるデータであり、前記各ノードに対してそのメッセージのカテゴリが付されたデータでる対話ルールを、
ユーザのウェブ上の行動履歴に基づいて決定されたユーザ関心カテゴリと、前記各ノードに対応するメッセージのカテゴリとに基づいて変更するステップ、
を前記コンピュータに実行させる対話ルール変更プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−12012(P2013−12012A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−143942(P2011−143942)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(500257300)ヤフー株式会社 (1,128)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(500257300)ヤフー株式会社 (1,128)
[ Back to top ]