(57)【要約】  一実施形態に係る分類装置は、ユーザと対話システムとの対話に関する対話ログを記憶する対話ログ記憶部にアクセス可能であり、対象ログ抽出部及び分類関係生成部を備える。対象ログ抽出部は、前記対話ログ記憶部から、前記対話システムが前記ユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、前記第１の検索が失敗したことを示す情報と、前記対話システムが前記第１の発話より後に生じた前記ユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む１つの対話に関する対話ログのセットを抽出する。分類関係生成部は、前記第１の分類と前記データとを互いに関連付けた分類関係を生成する。
2016147401.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話システムとの対話に関する対話ログを記憶する対話ログ記憶部にアクセス可能な分類装置であって、
前記対話ログ記憶部から、前記対話システムが前記ユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、前記第１の検索が失敗したことを示す情報と、前記対話システムが前記第１の発話より後に生じた前記ユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む１つの対話に関する対話ログのセットを抽出する対象ログ抽出部と、
前記第１の分類と前記データとを互いに関連付けた分類関係を生成する分類関係生成部と、
を具備する分類装置。
【請求項２】
前記対話ログのセットは、前記第２の検索に使用された第２の分類を示す情報をさらに含み、
前記分類関係生成部は、前記第１の分類が前記第２の分類の下位分類であることを示す分類関係をさらに生成する、請求項１に記載の分類装置。
【請求項３】
前記分類関係生成部によって生成された分類関係を含む分類データを複数のユーザ毎に格納し、さらに、前記複数のユーザに共有される共有分類データを格納する分類データ記憶部と、
対象の分類関係を有するユーザの数、前記複数のユーザを対象にして前記対象の分類関係が検索に利用された頻度を示す分類関係利用頻度、及び前記複数のユーザを対象として前記対象の分類関係を用いた検索の結果が利用された頻度を示す検索結果利用頻度に基づいて、前記対象の分類関係の重要度を計算する重要度計算部と、
前記重要度が閾値以上である場合、前記対象の分類関係を前記共有分類データに追加する更新部と、
をさらに具備する請求項１に記載の分類装置。
【請求項４】
前記対話ログに含まれる分類間の類似度を計算する類似度計算部をさらに具備し、
前記対象ログ抽出部は、前記類似度に基づいて、話題の変化を検出する、請求項１に記載の分類装置。
【請求項５】
ユーザと対話システムとの対話に関する対話ログから、前記対話システムが前記ユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、前記第１の検索が失敗したことを示す情報と、前記対話システムが前記第１の発話より後に生じた前記ユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む１つの対話に関する対話ログのセットを抽出することと、
前記第１の分類と前記データとを互いに関連付けた第１の分類関係を生成することと、
を具備する分類方法。
【請求項６】
コンピュータを、
ユーザと対話システムとの対話に関する対話ログから、前記対話システムが前記ユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、前記第１の検索が失敗したことを示す情報と、前記対話システムが前記第１の発話より後に生じた前記ユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む１つの対話に関する対話ログのセットを抽出する手段と、
前記第１の分類と前記データとを互いに関連付けた第１の分類関係を生成する手段として機能させるための分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、分類装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザの発話に応答して番組検索や音楽検索などの検索を行う自動対話システムが知られている。検索サービスにおいては、データの分類は一般にサービス提供側で行われる。このため、ユーザが指定した分類で検索を行う場合、ユーザが所望する検索結果が得られないことがあり、例えば、１件のデータもヒットしないことがある。検索サービスにおいては、ユーザ向けにデータの分類を自動的にカスタマイズできることが求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−２３８５６７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、データの分類を対話ログからカスタマイズすることができる分類装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
一実施形態に係る分類装置は、ユーザと対話システムとの対話に関する対話ログを記憶する対話ログ記憶部にアクセス可能であり、対象ログ抽出部及び分類関係生成部を備える。対象ログ抽出部は、前記対話ログ記憶部から、前記対話システムが前記ユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、前記第１の検索が失敗したことを示す情報と、前記対話システムが前記第１の発話より後に生じた前記ユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む１つの対話に関する対話ログのセットを抽出する。分類関係生成部は、前記第１の分類と前記データとを互いに関連付けた分類関係を生成する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る対話システムを示すブロック図。
【図２】対話の例を示す図。
【図３】図２に示される対話に基づいて生成される分類関係を示す図。
【図４】図２に示される対話に基づいて分類が行われた後における対話の例を示す図。
【図５】図１に示した対話ログ記憶部に格納されている対話ログの例を示す図。
【図６】図１に示した対象ログ抽出部のログ抽出処理の手順例を示すフローチャート。
【図７Ａ】図１に示した分類データ記憶部に格納されている分類データの例を示す図。
【図７Ｂ】図２に示される対話に基づいて分類が行われた後における、図１に示した分類データ記憶部に格納されている分類データの例を示す図。
【図８】第３の実施形態に係る対話システムを示すブロック図。
【図９Ａ】図３に示した分類データ記憶部に格納されている共有分類データを示す図。
【図９Ｂ】図３に示した分類データ記憶部に格納されている更新後の共有分類データを示す図。
【図１０】第３の実施形態に係る対話システムを示すブロック図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら実施形態を説明する。以下の実施形態では、同様の構成要素に同様の参照符号を付して、重ねての説明を省略する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態に係る対話システム１００を概略的に示している。対話システム１００は、図１に示されるように、音声認識部１０１、意図理解部１０２、辞書記憶部１０３、意図モデル記憶部１０４、対話制御部１０５、応答生成部１０６、対話ログ管理部１０７、対話ログ記憶部１０８、対象ログ抽出部１０９、分類関係生成部１１０、及び分類データ記憶部１１１を備える。対象ログ抽出部１０９及び分類関係生成部１１０を含む部分を分類装置と称する。
【０００９】
本実施形態では、対話システム１００は、インターネットなどのネットワークを介してクライアント（ユーザ装置）と通信することができるサーバに実装される。クライアントは、例えば、スマートフォンやテレビなどの端末装置である。また、本実施形態では、音声信号が対話システム１００とクライアントとの間でやり取りされる。例えば、ユーザが発した音声（発話）は、クライアントに設けられたマイクロホンによって音声信号に変換され、対話システム１００に送られる。なお、対話システム１００の一部又は全部がクライアントに実装されてもよい。
【００１０】
音声認識部１０１は、ユーザの発話に対して音声認識を行い、その発話に対応する自然言語テキスト（以下、単にテキストと記載する。）を生成する。
【００１１】
意図理解部１０２は、辞書記憶部１０３に記憶されている辞書と意図モデル記憶部１０４に記憶されている意図モデルとを使用してテキストを分析することで発話の意図を理解する。例えば、意図理解部１０２は、辞書を参照してテキストに対して形態素解析及び意味クラス解析を行う。それにより、テキストは単語に分割され、単語それぞれに、単語の意味を表す意味クラスなどの情報が付与される。辞書には、単語が意味クラスなどの情報と関連付けて登録されている。続いて、意図理解部１０２は、単語及びその意味クラスなどの素性を用いて意図モデルを参照することにより発話の意図を理解する。意図モデルは、多数の発話サンプルから意味クラス及び単語などを素性とした学習により予め生成される。意図理解部１０２は、発話（テキスト）及び発話の意図を含む意図理解結果を出力する。意図理解の方法は、ここで説明した例に限定されない。
【００１２】
対話制御部１０５は、意図理解結果に基づいてアクションを実行する。例えば、発話の意図が検索である場合、対話制御部１０５は、発話から特定される分類を用いてデータベースを検索し、検索結果をユーザに通知する。応答生成部１０６は、ユーザの発話に対する応答文を生成する。応答文は、音声合成技術によって音声信号に変換され、クライアントに送られる。
【００１３】
対話ログ管理部１０７は、意図理解部１０２、対話制御部１０５、及び応答生成部１０６が実行した処理に関する情報を収集し、対話ログ記憶部１０８に格納する。対話ログ記憶部１０８は、ユーザと対話システム１００との対話に関する対話ログを記憶する。
【００１４】
対象ログ抽出部１０９は、対話ログ記憶部１０８から、１つの対話に関する対話ログのセットを抽出する。例えば、対話ログのセットは、ユーザの第１の発話と、第１の発話より後に生じたユーザの第２の発話と、対話システム１００が第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、第１の検索が失敗したことを示す情報と、対話システム１００が第２の発話に基づいて実行した第２の検索に使用された第２の分類を示す情報と、第２の検索の結果として取得されたデータを示す情報と、を含む。
【００１５】
分類関係生成部１１０は、対象ログ抽出部１０９によって抽出された対話ログのセットに基づいてデータの分類を行う。上記の例によれば、分類関係生成部１１０は、対話ログのセットに含まれる情報から、第１の検索に使用された第１の分類、第１の検索が失敗したこと、第２の検索に使用された第２の分類、及び第２の検索の結果として取得されたデータを特定する。そして、分類関係生成部１１０は、第１の分類とデータとを関連付けた分類関係と、第１の分類が第２の分類の下位分類であることを示す分類関係と、を生成し、分類データ記憶部１１１に格納する。分類関係を生成する処理は、任意のタイミングで実行されることができる。例えば、分類関係を生成する処理は、周期的に実行されてもよく、前回の処理後に一定数の対話ログが対話ログ記憶部１０８に追加されたときに実行されてもよい。
【００１６】
上記の要素を備える対話システム１００は、ユーザとの対話に関する対話ログに基づいてデータの分類を行う。それにより、ユーザ向けにデータの分類をカスタマイズすることができる。
【００１７】
なお、ユーザの発話は、キーボードやタッチパネルを用いてテキストで入力され、対話システム１００に送られもよい。この場合、音声認識部１０１を削除することができる。また、応答文は、音声合成を適用することなしにクライアントに送られ、ユーザに表示されてもよい。
【００１８】
次に、対話システム１００の動作について説明する。  
図２は、ユーザと対話システム１００との対話の例を示す。この例では、クライアントがテレビ装置であり、対話システム１００は、データベースからユーザが所望する番組を取得し、取得した番組をテレビ装置に提供する。
【００１９】
図２に示されるように、まず、ユーザが「ジャンルがサスペンスドラマである番組が見たい。」と発話する。対話システム１００は、この発話を受けて「サスペンスドラマ」で検索を行う。検索の結果として番組が１件も見つからず、対話システム１００は、応答文「見つかりませんでした。」を出力する。ユーザは、この応答文を受けて「えっ？ドラマだよ。」と発話する。対話システム１００は、この発話から、ユーザが他の分類を指定したことと、訂正及び不満を述べたことを検出する。対話システム１００は、「ドラマ」で検索を行う。検索の結果として２０件の番組が見つかり、対話システム１００は、応答文「ドラマで検索しました。２０件見つかりました。」を出力するとともに、見つかった番組のリストを提示する。次に、ユーザは、リストを見て「ＡＡＡを再生して。」と発話する。ここで、ＡＡＡには具体的なテレビ番組名が入る。対話システム１００は、この発話を受けて、応答文「ＡＡＡを再生します。」を出力し、ＡＡＡのデータをテレビ装置に提供する。
【００２０】
意図理解部１０２は、ユーザの発話「ジャンルがサスペンスドラマである番組が見たい。」から、ユーザが「サスペンスドラマ」という分類を指定したことを検出する。さらに、意図理解部１０２は、ユーザの発話「えっ？ドラマだよ。」から、ユーザが前に述べた分類とは異なる「ドラマ」という分類を指定したことを検出する。分類「サスペンスドラマ」での検索に失敗したが、分類「ドラマ」での検索に成功したことから、分類「サスペンスドラマ」は分類「ドラマ」と近い関係にあると判断され、番組「ＡＡＡ」が「サスペンスドラマ」と関連付けられる。
【００２１】
また、最初の検索で１件もヒットせず再度検索を行う場合、ユーザは、一般に、最初の検索で指定した分類より上位の分類を指定する。そのため、「サスペンスドラマ」が「ドラマ」の下位分類であると判断される。「サスペンスドラマ」が「ドラマ」の下位分類であるとして、「サスペンスドラマ」と「ドラマ」が関連付けられる。
【００２２】
図３は、図２に示される対話に基づいて生成される分類関係を示している。図３に示される例では、最初は、実線で示されるように、「国内ドラマ」が「ドラマ」の下位分類に属し、さらに、番組「ＡＡＡ」が「ドラマ」及び「国内ドラマ」に関連付けられている。図２に示される対話に基づいて分類が行われた後には、破線で示されるように、番組「ＡＡＡ」が「サスペンスドラマ」に関連付けられ、さらに、「サスペンスドラマ」が「ドラマ」の下位分類に分類される。
【００２３】
図４は、図２に示される対話に基づいて分類が行われた後におけるユーザと対話システム１００との対話の例を示す。図４に示されるように、まず、ユーザが「ジャンルがサスペンスドラマである番組が見たい。」と発話する。対話システム１００は、この発話を受けて「サスペンスドラマ」で検索を行う。「ＡＡＡ」が「サスペンスドラマ」に関連付けられているので、検索の結果「ＡＡＡ」が見つかる。対話システム１００は、応答文「サスペンスドラマで検索しました。１件見つかりました。」を出力する。ユーザは、この応答文を受けて「それ再生して」と発話する。対話システム１００は、この発話を受けて、応答文「了解しました。ＡＡＡを再生します。」を出力し、「ＡＡＡ」のデータをテレビ装置に提供する。
【００２４】
このようにして、図２に示される対話に基づいて分類が行われた後では、「サスペンスドラマ」という分類で検索を行うと、番組「ＡＡＡ」がヒットするようになる。ユーザと対話システム１００との対話に関する対話ログに基づいてデータの分類を行うことにより、分類精度を向上することができる。
【００２５】
図５は、対話ログ記憶部に記憶されている対話ログの例を示す。図５に示されるように、対話ログは、ＩＤ、Ｉｎｐｕｔ、Ｏｕｔｐｕｔ、意図、引数のフィールドに分けて記録されている。ＩＤフィールドは、ログを一意に特定するための識別情報を格納する。Ｉｎｐｕｔフィールドは、ユーザの発話、クライアント（本例ではテレビ）の状態、クライアントのアクション結果などの情報を格納する。Ｏｕｔｐｕｔフィールドは、クライアントへのアクションコマンド、ユーザへのメッセージなどの情報を格納する。Ｉｎｐｕｔフィールド及びＯｕｔｐｕｔフィールドでは、情報は、ＪＳＯＮ形式で構造化されている。なお、ＪＳＯＮ形式は構造化の書式の一例であり、情報は他の書式で記述されてもよい。意図フィールドは、意図理解部１０２が出力する意図を格納する。引数フィールドは、意図理解部１０２が出力する意図に付随する引数を格納する。引数は、例えば、意味クラスとキーワードの組である。
【００２６】
ＩＤが１〜５であるログは、図２に示される対話に対応するログであり、ＩＤが６のログは、図２に示される対話の次に生じた対話に対応するログである。  
Ｉｎｐｕｔフィールドについて説明する。dialogue.textは、ユーザの発話を表す。ＩＤ＝１では、ユーザの発話は、dialogue.textに記述された「ジャンルがサスペンスドラマである番組が見たい」である。dialogue.screenは、クライアントのスクリーンの状態を表す。ＩＤ＝１では、dialogue.screenはOAであり、これは、クライアントが放送中の番組を表示していることを示す。ＩＤ＝５では、dialogue.screenはresult.searchであり、これは、クライアントが検索結果を表示していることを示す。resultは、クライアントのアクション結果を表す。検索などのアクションの成功又は失敗又はエラーを示す状態はresult.statusに記述され、検索結果の件数はresult.args.hitに記述される。
【００２７】
Ｉｎｐｕｔフィールドについて説明する。commandは、システムがクライアントへ指示するアクションコマンドを表す。コマンドの種類はcommand.actionに記述され、コマンドの引数はcommand.args.genreに記述される。ＩＤ＝１では、番組の検索を行うことを示すprogram.searchがcommand.actionに記述され、「サスペンスドラマ」がcommand.args.genreに記述されている。ttsはシステムからユーザへの応答文を示す。ＩＤ＝２では、「見つかりませんでした」がtts.textに記述されている。
【００２８】
説明を簡単にするために、対話ログには時刻及びユーザ情報のフィールドが含まれていない。対話ログは、時刻及びユーザＩＤなどを使用してユーザ毎に時系列にイベントが特定できるように、時刻及びユーザ情報のフィールドを含む。なお、対話システムが１人のユーザだけに使用される場合などでは、ユーザＩＤは不要である。
【００２９】
図６は、対象ログ抽出部１０９のログ抽出処理の手順例を示している。図６のステップＳ６０１では、対象ログ抽出部１０９は、対話ログ記憶部１０８に格納されている対話ログから、アクション実行（検索）が失敗した箇所を示す情報を検出する。例えば、対象ログ抽出部１０９は、result.args.hit=0又はresult.status=okであるログを検出する。対象ログ抽出部１０９は、検出したログの直前のログのＯｕｔｐｕｔフィールドから、検索結果の元となるアクションコマンド（検索式）を抽出し、アクションコマンドにgenreが用いられているかを確認する。genreが用いられている場合、対象ログ抽出部１０９は、そのログを対象ログの開始位置とする。図５の例では、ＩＤ＝２のログが検出され、ＩＤ＝１のＯｕｔｐｕｔフィールドからアクションコマンドが抽出される。アクションコマンドにgenreが用いられているので、対象ログの開始位置がＩＤ＝１に決定される。
【００３０】
ステップＳ６０２では、対象ログ抽出部１０９は、アクション実行に失敗した後の対話ログから、アクション実行（検索）が成功した箇所を示す情報を検出する。例えば、対象ログ抽出部１０９は、result.args.hit>0かつresult.status=okであるログを検出する。図５の例では、ＩＤ＝４のログが検出される。対象ログ抽出部１０９は、ＩＤ＝４のアクション結果の元となったアクションコマンドをＩＤ＝３のＯｕｔｐｕｔフィールドから取得する。
【００３１】
ステップＳ６０３では、対象ログ抽出部１０９は、意図フィールドにいいかえが格納されているログを検出する。図５の例では、ＩＤ＝３のログが検出される。ＩＤ＝３の発話は、ＩＤ＝１の発話を言い換えたものであると判断される。
【００３２】
ステップＳ６０４では、対象ログ抽出部１０９は、話題変化の検出を行う。例えば、対象ログ抽出部１０９は、ステップＳ６０２で検出されたアクション成功ログの直後のログ（ＩＤ＝５）のdialog.screenがresult.searchであり且つcommand.actionがprogram.playであることから、ＩＤ＝５のログがＩＤ＝４のログと関連性があることを検出する。また、対象ログ抽出部１０９は、ＩＤ＝５のcommand.args.keywordが「ＡＡＡ」であり、ＩＤ３のアクション結果に「ＡＡＡ」が含まれている場合に、ＩＤ＝３の検索条件とＩＤ５のアクションに関連性があると見なす。ＩＤ＝６のinput.screenがOAであり、command.args.keywordの「ＢＢＢ」が分類ではなく、また、意図が「いいかえ」、「訂正」などでないことから、対象ログ抽出部１０９は、ここで話題が変化したことを検出する（ステップＳ６０５）。ここで、「ＢＢＢ」には具体的なテレビ番組名が入る。対象ログ抽出部１０９は、対象ログをＩＤ＝１からＩＤ＝５までに絞り処理を終了する。  
このようにして、対象ログ抽出部１０９は、データの分類をカスタマイズするために使用する対話ログのセットを抽出する。
【００３３】
分類関係生成部１１０は、対象ログ抽出部１０９によって抽出された対話ログのセットから、分類関係を生成し、分類データ記憶部１１１に格納する。図７Ａ及び図７Ｂは、分類データ記憶部１１１に格納されている分類の書式例を示す。relaion_idは、関係を特定するＩＤを示し、user_nameは、関係を作成したユーザを示す。図７Ａ及び図７Ｂに示される例では、mainはシステムが予め作成したことを示し、hanakoは対話を行ったユーザ名である。Subjectは主語、predicateは述語、objectは対象であり、この３つの組により分類の関係性が表現される。
【００３４】
分類関係生成部１１０は、対象ログ抽出部１０９が抽出したＩＤ＝３のcommand.args.genreとＩＤ＝５のcommand.args.keywordから「ＡＡＡ」が「ドラマ」ジャンルの番組であること、並びに、ＩＤ＝１のcommand.args.genreとＩＤ＝３のcommand.args.genreが言い換え関係であることから、図７Ｂのrelation_id=3に示すように「サスペンスドラマ」は「ドラマ」の下位分類である関係を作成する。ここでは、ユーザは最も詳細な分類を指定して検索すると仮定し、最下層の分類関係が作成される。具体的には、分類関係生成部１１０は、「サスペンスドラマ」が「ドラマ」の下位階層に属する分類の下位分類であるみなす。例えば、分類関係生成部１１０は、図７Ｂのrelation_id=4に示すように、「サスペンスドラマ」が「国内ドラマ」の下位分類であるという分類関係を生成する。最後に、分類関係生成部１１０は、図７Ｂのrelation_id=5に示すように、「ＡＡＡ」を最下層分類の「サスペンスドラマ」ジャンルの番組である分類関係を生成する。分類関係生成部１１０によって分類のカスタマイズがなされた後では、対話システム１００は、ユーザの発話に基づいて検索を行う場合、そのユーザに関して作成された分類関係（分類データ）を参照する。なお、分類データは、クラウド上のサーバで一元管理してもよく、クライアント側で管理してもよい。
【００３５】
以上のように、本実施形態では、対話ログ記憶部１０８から、対話システム１００がユーザの第１の発話に基づいて実行した第１の検索に使用された第１の分類を示す情報と、第１の検索が失敗したことを示す情報と、対話システム１００が第１の発話より後に生じたユーザの第２の発話に基づいて実行した第２の検索の結果として取得されたデータを示す情報と、を含む、１つの対話に関する対話ログのセットを抽出し、第１の分類とデータとを互いに関連付けた分類関係を生成する。それにより、ユーザ向けにデータの分類をカスタマイズすることができる。
【００３６】
（第２の実施形態）
図８は、第２の実施形態に係る対話システム８００を概略的に示している。図８に示される対話システム８００は、図１に示される対話システム１００の構成に加えて、重要度計算部８０１及び分類関係更新部８０２を備える。本実施形態では、複数のユーザが対話システム８００を利用し、分類データ記憶部１１１は、これらユーザの分類データに基づいて生成される共有分類データを管理する。
【００３７】
重要度計算部８０１は、ユーザ数、分類関係利用頻度、及び検索結果利用頻度の少なくとも１つに基づいて、分類関係の重要度を計算する。ユーザ数は、計算対象の分類関係を有するユーザの数を示す。分類関係利用頻度は、全ユーザを対象にして計算対象の分類関係が検索に利用された頻度を示す。検索結果利用頻度は、全ユーザを対象として計算対象の分類関係を用いた検索の結果が利用された頻度を示す。例えば、クライアントがテレビ装置である例では、検索結果が利用された頻度は、検索により得られた番組が再生された回数に対応する。分類関係更新部８０２は、重要度が閾値以上である分類関係を共有分類データに反映させる。分類更新は、ユーザによる分類カスタマイズが発生したリアルタイムで行ってもよく、一定時間ごとに行ってもよい。
【００３８】
図９Ａは、ユーザ１、２、３それぞれについて分類のカスタマイズがなされた状態を概略的に示している。重要度計算部８０１は、例えば、次の式で分類関係の重要性を計算する。  
重要度＝ユーザ数＋分類関係利用頻度＋検索結果利用頻度
図９Ａに示される状態で分類関係の重要度を計算する。ここでは、説明を簡単にするために、分類関係利用頻度は全て１であり、検索結果利用頻度は全て１であるとする。
【００３９】
番組Ｉ１が分類Ｃ２に所属する分類関係の重要度＝３＋１＋１＝５
番組Ｉ１が分類Ｃ３に所属する分類関係の重要度＝１＋１＋１＝３
番組Ｉ３が分類Ｃ４に所属する分類関係の重要度＝１＋１＋１＝３
分類Ｃ４が分類Ｃ３の下位分類である分類関係の重要度＝１＋１＋１＝３
分類関係更新部８０２は、閾値以上の重要度を持つ分類関係を用いて、共有分類データを更新する。例えば閾値を４とする。この場合、図９Ｂに示すように、番組Ｉ１が分類Ｃ２に所属する分類関係が共有分類データに追加される。なお、閾値は、対話システム１００を用いるユーザの数又は検索回数の分布から動的に設定されてもよい。共有分類データは、全てのユーザに共有される。具体的には、共有分類データに追加された共有分類は、全てのユーザの分類データに含まれるようになる。また、例えば、新たなユーザが発生した場合、このユーザの初期の分類データを共有分類データと同じものとすることができる。
【００４０】
以上のように、第２の実施形態は、分類関係の重要度を計算し、重要度の高い分類関係を用いて共有分類データを更新する。これにより、重要度の高い分類関係を全てのユーザで共有することができる。その結果、分類精度が向上する。
【００４１】
（第３の実施形態）
図１０は、第３の実施形態に係る対話システム１０００を概略的に示している。図１０に示される対話システム１０００は、図１に示される対話システム１００の構成に加えて、類似度計算部１００１を備える。類似度計算部１００１は、対話ログに含まれる分類間の類似度を計算する。
【００４２】
第１の実施形態では、話題変化は、クライアント状態、引数が分類でないこと、及び訂正がないことに基づいて判定される。ユーザが関連のない分類を言う可能性と、ユーザが関連のあるキーワードを言う可能性もある。そこで、類似度計算部１００１は、分類間の類似度を計算し、対象ログ抽出部１０９は、類似度を用いて話題の変化を検出する。それにより、より正確に話題の変化を検出することが可能となる。具体的には、類似度計算部１００１は、キーワードで検出された番組の中から再生或いは録画などの処理がなされた番組の分類と対話ログ中の話題として出現した分類の類似度を計算し、対象ログ抽出部１０９は、類似度が閾値より小さい場合に話題が変化したことを検出する。
【００４３】
類似度計算の方法は、既存の方法を用いることができる。例えば、図７Ａ、図７Ｂ、図９Ａ、図９Ｂに示すような分類の関係を示すグラフのパスの近さを用いて計算する方法、電子番組表やwikipediaなどのインターネット上の番組内容を記述したテキスト情報からキーワードを抽出し、単語のベクトル空間モデルを用いて計算する手法を用いることができる。
【００４４】
以上のように、第３の実施形態は、分類間の類似度を計算し、類似度を用いて話題の変化を検出する。それにより、対話ログ中での話題の変化をより正確に検出することが可能となる。
【００４５】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の対話システムによる効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の対話システムと同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００４６】
なお、本実施形態におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００４７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2016147401.tif 000003
【図２】
2016147401.tif 000004
【図３】
2016147401.tif 000005
【図４】
2016147401.tif 000006
【図５】
2016147401.tif 000007
【図６】
2016147401.tif 000008
【図７Ａ】
2016147401.tif 000009
【図７Ｂ】
2016147401.tif 000010
【図８】
2016147401.tif 000011
【図９Ａ】
2016147401.tif 000012
【図９Ｂ】
2016147401.tif 000013
【図１０】
2016147401.tif 000014
【国際調査報告】
2016147401.tif 000015
2016147401.tif 000016
2016147401.tif 000017
2016147401.tif 000018