(57)【要約】【課題】質問応答システムにおいて、利用されている知識の更新状況を可視化でき、ユーザがこれを適切に把握できるようにする【解決手段】ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答システムにおいて、過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録しておく。ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を取得する一方、今回の質問に対する回答を知識データベースを検索して作成する。今回の質問に対する回答に、取得した過去の回答を付加してユーザに提示する。【選択図】　　図１
2004118739.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答システムにおいて、
過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録する記録手段と、
ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を前記記録手段から取得する手段と、
前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成する手段と、
前記今回の質問に対する回答に、前記記録手段から取得した過去の回答を付加して出力する手段と、
を具備することを特徴とする質問応答システム。
【請求項２】
前記記録手段から取得した過去の回答を時系列に沿ってソートして出力することを特徴とする請求項１に記載の質問応答システム。
【請求項３】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答システムにおいて、
前記ユーザを特定するためのユーザ情報を登録する手段と、
過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録する記録手段と、
前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定する手段と、
特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を前記記録手段から取得する手段と、
取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定する手段と、
前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知する手段と、
を具備することを特徴とする質問応答システム。
【請求項４】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答方法において、
過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録するステップと、
ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を取得するステップと、
前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成するステップと、
前記今回の質問に対する回答に、取得した前記過去の回答を付加して出力するステップと、
を具備することを特徴とする質問応答方法。
【請求項５】
取得した前記過去の回答を時系列に沿ってソートするステップをさらに具備することを特徴とする請求項４に記載の質問応答方法。
【請求項６】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答方法において、
前記ユーザを特定するためのユーザ情報を登録するステップと、
過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録するステップと、
前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定するステップと、
特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を取得するステップと、
取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定するステップと、
前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知するステップと、
を具備することを特徴とする質問応答方法。
【請求項７】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答プログラムにおいて、
過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録する手順と、
ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を取得する手順と、
前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成する手順と、
前記今回の質問に対する回答に、取得した前記過去の回答を付加して出力する手順と、
をコンピュータに実行させる質問応答プログラム。
【請求項８】
取得した前記過去の回答を時系列に沿ってソートする手順をさらに具備することを特徴とする請求項７に記載の質問応答プログラム。
【請求項９】
ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答プログラムにおいて、
前記ユーザを特定するためのユーザ情報を登録する手順と、
過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録する手順と、
前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定する手順と、
特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を取得する手順と、
取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定する手順と、
前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知する手順と、
をコンピュータに実行させる質問応答プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザの入力した質問に対する回答を出力する質問応答システム（ｑｕｅｓｔｉｏｎ　ａｎｓｗｅｒｉｎｇ　ｓｙｓｔｅｍ）に関する。
【０００２】
【従来の技術】
インターネットの検索エンジンに代表されるように、ユーザの検索要求に適合する文書を検索してランキングする文書検索（ｄｏｃｕｍｅｎｔ　ｒｅｔｒｉｅｖａｌ）技術は広く普及している。しかし、文書検索は、「．．．に関する新聞記事が読みたい」、「．．．に関するＷｅｂページが見たい」といった検索要求を満足することはできるが、「○×社の社長は誰か？」、「富士山の高さは？」、「鯨は絶滅しかかっているか？」といった質問に対する答えを回答することができない。すなわち、文書検索は文書あるいは文書中のパッセージを回答するものであるに過ぎず、ユーザは文書検索の出力結果から自分で答えを探しださなくてはならない。
【０００３】
入力された質問に対する答えを出力するものとして、質問応答システム（ｑｕｅｓｔｉｏｎ　ａｎｓｗｅｒｉｎｇ　ｓｙｓｔｅｍ）がある。質問応答システムは、例えば、「○×社の社長は誰か？」という質問に対し、○×社のホームページなど○×社に関する文書を出力するのではなく、○×社の社長の人名といった答えを出力する。また、「富士山の高さは？」のような質問に対しては、「富士山は３７７６ｍです。」のような答えを出力する。質問応答システムは、例えば非特許文献１に見られるように、古くからエキスパートシステムの一種として研究が行われてきたが、近年、情報検索（ｉｎｆｏｒｍａｔｉｏｎ　ｒｅｔｒｉｅｖａｌ）や情報抽出（ｉｎｆｏｒｍａｔｉｏｎ　ｅｘｔｒａｃｔｉｏｎ）などの研究の発展形として新たに注目を集めている。
【０００４】
一般に、質問応答システムは電子的な知識データベース（以下、単に「知識」という）に基づいて処理を行っている。質問に回答するための知識としては、例えば「円錐の体積を求める公式は？」との質問に対する回答のように、恒常的な（普遍的な）答えを与える知識と、「○×社の社長は？」、「○×社の従業員数は？」との質問に対する回答のように、時間の推移や状況の変化に伴って変化するような答えを与える知識とに分けられる。
【０００５】
このような従来の質問応答システムには次の問題点がある。すなわち、従来の質問応答システムにおいてユーザとの間で、質問（Ｑｕｅｓｔｉｏｎ，以下「Ｑ」と表記する）：「○×社の社長は？」に対する回答（Ａｎｓｗｅｒ，以下「Ａ」と表記する）：「Ａ氏です。」のような対話が行われたのちに、○×社の社長に新たにＢ氏が就任し、これに伴いシステムの知識が更新されたとする。従来システムはこのような知識の更新についてユーザに対し何ら情報を提供しない。したがって、質問応答システムから上記回答を受けたユーザは、Ｂ氏の社長就任ののちに再び同じ質問をしない限り、「○×社の社長はＡ氏である」という古い認識のままとなる。
【０００６】
一方、Ｂ氏の社長就任後に、同じ質問をした別のユーザは、Ａ：「○×社の社長はＢ氏です。」という最新の正しい答えが示された回答を得ることができる。しかしながら、この別のユーザは、Ｂ氏社長就任までの経緯や、システムの知識がいつどのような頻度で更新されたか、といったことまでは知り得ない。つまり、Ｂ氏が昔から社長であったのか、それとも最近社長になったばかりなのか、といった答えの吟味に有用な情報を回答とともに得ることはできない。
【０００７】
上記のような一般的な事例に止まらず、例えば製品についての問合わせに回答するような事例に質問応答システムを適用する場合など、かかる問題を解決してより良い情報サービスを提供できるよう性能を向上することが望ましい。
【０００８】
【非特許文献１】
Ｗｅｎｄｙ　Ｇ．　Ｌｅｈｎｅｒｔ：　”Ｔｈｅ　Ｐｒｏｃｅｓｓ　ｏｆ　Ｑｕｅｓｔｉｏｎ　Ａｎｓｗｅｒｉｎｇ　−　Ａ　Ｃｏｍｐｕｔｅｒ　Ｓｉｍｕｌａｔｉｏｎ　ｏｆ　Ｃｏｇｎｉｔｉｏｎ”，Ｌａｗｒｅｎｃｅ　Ｅｒｌｂａｕｍ　Ａｓｓｏｃｉａｔｅｓ，　Ｐｕｂｌｉｓｈｅｒｓ，　Ｈｉｌｌｓｄａｔｅ，　Ｎｅｗ　Ｊｅｒｓｅｙ，　１９７８
【０００９】
【発明が解決しようとする課題】
本発明はかかる事情を考慮してなされたものであり、ユーザの入力した質問に対する回答を出力する質問応答システムを改善することを目的とし、同システムが利用している知識の更新状況をユーザが把握できるよう可視化する。これにより、システムから得られた回答がどれくらい新しいものであるか、また、同様な質問に対してシステムが過去にどのように回答していたかをユーザが把握できるようにする。また、ある時点でシステムが出力した回答がその後の知識の更新により陳腐化したような場合であっても、その事実が通知され、これをユーザが把握できるようにする。
【００１０】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【００１１】
本発明に係る質問応答システムは、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答システムにおいて、過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録する記録手段と、ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を前記記録手段から取得する手段と、前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成する手段と、前記今回の質問に対する回答に、前記記録手段から取得した過去の回答を付加して出力する手段と、を具備することを特徴とする質問応答システムである。
【００１２】
上記質問応答システムの構成において、前記記録手段から取得した過去の回答を時系列に沿ってソートして出力するようにしてもよい。
【００１３】
また、本発明に係る質問応答システムは、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答システムにおいて、前記ユーザを特定するためのユーザ情報を登録する手段と、過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録する記録手段と、前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定する手段と、特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を前記記録手段から取得する手段と、取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定する手段と、前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知する手段と、を具備することを特徴とする質問応答システムである。
【００１４】
本発明に係る質問応答方法は、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答方法において、過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録するステップと、ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を取得するステップと、前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成するステップと、前記今回の質問に対する回答に、取得した前記過去の回答を付加して出力するステップと、を具備することを特徴とする質問応答方法である。
【００１５】
上記質問応答方法において、取得した前記過去の回答を時系列に沿ってソートするステップをさらに具備してもよい。
【００１６】
また、本発明に係る質問応答方法は、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答方法において、前記ユーザを特定するためのユーザ情報を登録するステップと、過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録するステップと、前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定するステップと、特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を取得するステップと、取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定するステップと、前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知するステップと、を具備することを特徴とする質問応答方法である。
【００１７】
また、本発明に係るコンピュータプログラムは、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答プログラムにおいて、過去に入力された質問と該過去の質問に対する過去の回答との組からなる履歴を記録する手順と、ユーザが今回入力した質問について、同一又は類似する過去の質問を検索し、該過去の質問に対する過去の回答を取得する手順と、前記ユーザが入力した今回の質問に対する回答を、前記知識データベースを検索して作成する手順と、前記今回の質問に対する回答に、取得した前記過去の回答を付加して出力する手順と、をコンピュータに実行させる質問応答プログラムである。
【００１８】
なお、上記プログラムの構成において、取得した前記過去の回答を時系列に沿ってソートする手順をさらに具備してもよい。
【００１９】
また、本発明に係るコンピュータプログラムは、ユーザが入力した質問について、適宜更新される知識を保持する知識データベースを検索し、得られた検索結果に基づいて回答を作成して出力する質問応答プログラムにおいて、前記ユーザを特定するためのユーザ情報を登録する手順と、過去に入力された質問、該過去の質問に対する過去の回答、および前記ユーザ情報の組からなる履歴を記録する手順と、前記知識データベースにおける知識の更新を検知し、更新前後の知識の差分から、該更新がなされた知識を特定する手順と、特定された前記知識に基づいて過去の質問を検索し、該過去の質問に対する過去の回答を取得する手順と、取得された前記過去の質問をなしたユーザを前記ユーザ情報に基づいて特定する手順と、前記過去の質問に対する前記過去の回答と、更新された前記知識に基づく未提示の回答との組を、特定された前記ユーザに通知する手順と、をコンピュータに実行させる質問応答プログラムである。
【００２０】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【００２１】
（第１実施形態）
図１は本発明の第１実施形態に係る質問応答システムの概略構成を示すブロック図である。この質問応答システムは、例えば汎用の計算機（コンピュータ）および同計算機上で動作するソフトウェアを用いて実現することができ、入力部６および出力部８からなるユーザインターフェース４、検索部１０、知識生成部１４、回答作成部１８、記憶部２０から構成される。ユーザインタフェース４には、キーボードやマウスなどの入力装置、ディスプレイなどの出力装置等のハードウェアが用いられる。また、記憶部２０には主記憶（ＲＡＭ）や外部記憶装置（ＨＤＤ）などが用いられる。
【００２２】
検索部１０、知識生成部１４、回答作成部１８は、汎用のオペレーティングシステムの下で動作するコンピュータプログラムのモジュールとして実現できる。
【００２３】
以下、先ずは本システムの全体的な処理手順を説明し、その後に主要なモジュールによる具体的な処理手順について詳述する。
【００２４】
（全体的な処理手順）
図１において、点線の矢印は質問に関する情報の流れを、実線の矢印は回答に関する情報の流れを、太線の矢印は過去の回答に関する情報の流れを表している。
【００２５】
まず、知識源である文書データ１６を知識生成部１４により解析し、知識データベース１２を作成する。なお、新しい文書データ１６が得られた場合には、適宜、知識生成部１４が知識データベース１２を更新する。
【００２６】
ユーザ２が入力部６を操作して質問を入力すると、検索部１０は入力された質問をもとに知識データベース１２を検索する。検索結果は質問に答える回答であり、回答作成部１８に渡される。質問および回答のデータは、記憶部２０に記録される。
【００２７】
回答作成部１８は、検索部１０から今回の質問および回答を受け取るとともに、今回の質問と同一の質問あるいは類似の質問に対しシステムが過去に出力した回答を記憶部２０から読み出し、これを整形して回答情報を作成し、出力部８に渡す。すなわち、本発明と従来の質問応答システムとの相違点は、図１の太線で示される過去の回答に関する回答情報を付加してユーザに今回の回答を提示する点にある。
【００２８】
（知識生成部の処理手順）
図２は第１実施形態における知識生成部１４の処理手順を示すフローチャートである。上述したように知識生成部１４は、一定時間毎に新しい文書データ１６の存在有無をチェックする（ステップＳ１，Ｓ２）。新しい文書データ１６がある場合には、知識生成部１４は新しい文書データ１６を読み出し（ステップＳ３）、これを解析し（ステップＳ４）、解析結果に基づく知識を生成する（ステップＳ４）。生成された知識に基づいて知識データベース１２は更新される（ステップＳ５）。
【００２９】
ステップＳ４における知識の生成方法としては、形態素解析等の公知技術を利用することができる。例えば、文書データ１６が「○×社（社長：○×太郎）」という表現を含む場合、これを形態素解析して、
「／○×社＜固有名詞＞／（＜記号＞／社長＜一般名詞＞／：＜記号＞／○×太郎＜固有名詞＞／）＜記号＞／」
という解析結果が得られる。なお、「／」は品詞の区切りを表す。
そして、
「／Ｘ＜固有名詞＞／（＜記号＞／社長＜一般名詞＞／：＜記号＞／Ｙ＜固有名詞＞／）＜記号＞／」
という形態素パターンについて、
「Ｘ［ＰＲＥＳＩＤＥＮＴ＝＝Ｙ］」
という表現形式の知識を生成する規則をあらかじめ用意しておく。上記文書データ１６の形態素結果にこの規則を適用して該表現形式に則った知識、すなわち、「○×社［ＰＲＥＳＩＤＥＮＴ＝＝○×太郎］」
という知識を生成する。知識生成部１４は、このような規則をベースにした知識を多数、生成して知識データベース１２に登録する。
【００３０】
次に、新しい文書データ１６が得られ、この文書中に、「△△次郎氏、○×社の社長に就任」という表現が出てきたとする。ここで、
「／Ｘ＜固有名詞＞／氏＜接尾語＞／、＜記号＞／Ｙ＜固有名詞＞／の＜助詞＞／社長＜一般名詞＞／に＜助詞＞／就任＜動詞＞」
という形態素パターンについて、「Ｙ［ＰＲＥＳＩＤＥＮＴ＝＝Ｘ］」という知識を生成する規則を用意しておけば、上記と同様に文書データ１６から「○×社［ＰＲＥＳＩＤＥＮＴ＝＝△△次郎］」という知識を生成することが可能である。ただし、この例では知識データベース１２中に「○×社［ＰＲＥＳＩＤＥＮＴ＝＝○×太郎］」という、上記の新しい知識とは矛盾する既存知識が存在することになるから、この場合には、例えば、既存知識「○×社［ＰＲＥＳＩＤＥＮＴ＝＝○×太郎］」を新しい知識「○×社［ＰＲＥＳＩＤＥＮＴ＝＝△△次郎］」で上書きする。
【００３１】
同様の処理により、例えば「６万人の従業員を抱える○×社」という文書中の表現をもとに「○×社［＃ＥＭＰＬＯＹＥＥＳ＝６万］」（「○×社の従業員数は６万である」）という知識を生成したり、「○×社は従業員を５万人にまで減らした」という表現をもとに「○×社［＃ＥＭＰＬＯＹＥＥＳ＝５万］」という知識を生成して、「○×社［＃ＥＭＰＬＯＹＥＥＳ＝６万］」という既存知識を上書きする。
【００３２】
（検索部の処理手順）
図３は、第１実施形態における検索部１０の処理手順を示すフローチャートである。検索部１０は、先ず入力部６から質問を受け取り（ステップＳ１１）、次にこの受け取った質問に基づく検索条件を生成する（ステップＳ１２）。具体的には、例えば「○×社の社長は？」、「○×社の従業員数は？」との質問を、「○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］」，「○×社［＃ＥＭＰＬＯＹＥＥＳ＝＝＊］」という内部的な検索条件に変換する。ここで、文字「＊」はワイルドカードを表す。なお、検索条件に正規表現を指定可能に構成しても良い。
【００３３】
ステップＳ１２の検索条件にマッチする情報、すなわち回答を知識データベース１２から検索する（ステップＳ１３）。例えば、前記「○×社［ＰＲＥＳＩＤＥＮＴ＝＝△△次郎］」や「○×社［＃ＥＭＰＬＯＹＥＥＳ＝５万］」といった知識がマッチすることから、それぞれ「△△次郎」、「５万人」といった回答を得ることができる。
【００３４】
検索部１０は、このようにして得られた回答を、質問とともに回答作成部１８に渡し（ステップＳ１４）、またこれら質問と回答からなる組を記憶部２０に記憶する（ステップＳ１５）。これは、過去の質問および回答についてのログとなる。なお、実際には、「Ｑ：○×社の社長は？，Ａ：△△次郎」のように質問の表層表現および回答からなる組をログとして保持することに代えて、「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：△△次郎」のように検索条件および回答からなる組をログとして記録する。また、これら各データにはタイムスタンプ情報（データがいつ記録されたのかを表す情報）を付加しておくことが好ましい。
【００３５】
（回答作成部の処理手順）
図４は、第１実施形態における回答作成部１８の処理手順を示すフローチャートである。回答作成部１８は、まず検索部１０から今回の質問および回答を受け取る（ステップＳ２１）。上記の例に沿うと、「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：△△次郎」、「Ｑ：○×社［＃ＥＭＰＬＯＹＥＥＳ＝＝＊］，Ａ：５万人」というデータを受け取ることになる。
【００３６】
従来の質問応答システムでは、ここで「△△次郎」や「５万人」という回答を出力して処理を終了する。これに対し、本実施形態の回答作成部１８は、記憶部２０に格納されているログを検索し（ステップＳ２２）、今回の質問と同一あるいは類似の質問と、これに対しシステムが過去に出力した回答との組を得る（ステップＳ２３）。得られた過去の回答情報は、今回の質問の回答に付加されて出力部８に渡される（ステップＳ２４）。
【００３７】
例えば、検索部１０から渡された今回の質問および回答が「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：△△次郎」であった場合、ログの検索によって、たとえば、「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：○×太郎」という過去の質問およびこれに対する回答のデータが得られる。
【００３８】
ここで、ログに保持されている各データには上述のようにタイムスタンプが付与されており、図５（ａ）に示すように、「○×社の社長は？」という質問３０、および、「△△次郎」という今回の回答に加え、「？？？？年？月の時点での回答：○×太郎」という具合に、過去の回答が付加された回答情報３１を出力部８を通じてユーザ２に提示することができる。
【００３９】
同様に、検索部１０から渡された質問および回答が「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：５万人」であった場合、ログの検索により「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：６万人」、「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：８万人」というタイムスタンプつきのデータが得られる。この場合、図５（ｂ）に示すように、「○×社の従業員数は？」という質問３２、および、これに対する「５万人」という今回の回答に加え、タイムスタンプに従ってソート（たとえば時間順）された過去の回答が付加された回答情報３４を提示することもできる。
【００４０】
従来の質問応答システムでは、図５における「△△次郎」や「５万人」という今回の回答しか得られない。このため、例えば「△△次郎」が社長に就任したのは最近のことなのか、昔からなのかといったことや、従業員数が「５万人」との回答が得られているが今後は６万人になると思われるか、それとも４万人になると思われるかといった、回答を吟味して有益な判断を下せるようにするための情報をユーザに提供できなかった。これに対し、本発明の実施形態によれば、上記のような付加的な回答情報を今回の回答と対比させて提示でき、このような問題を解決できる。また、本実施形態は、システム側においてしばしば頻繁に更新される知識の更新内容を可視化するものであるということができ、これによりユーザがシステムを使いやすくなり、システムの回答に対するユーザの信頼感を増す効果もあると考えられる。
【００４１】
（第２実施形態）
図６は本発明の第２実施形態に係る質問応答システムの概略構成を示すブロック図である。第２実施形態の質問応答システムは、ネットワーク４２を介してユーザの端末４０と通信可能に構成されている。
【００４２】
第２実施形態の質問応答システムは、入力部６および出力部８からなるユーザインターフェース４、検索部１０、知識生成部１４、回答作成部１８、記憶部２０、ユーザ情報管理部４３、知識管理部４４、通信処理部４６から構成される。
【００４３】
ユーザインタフェース４の入力部６は、端末４０においてユーザから入力された質問等の入力情報をネットワーク４２を介して受信して質問応答システムに取り込む。また、同ユーザインタフェース４の出力部８は、質問応答システムにおいて作成された回答等の出力情報をネットワーク４２を介して端末４０に送信する。このような構成において、本実施形態はユーザ情報管理部４３、知識管理部４４、および通信処理部４６がさらに追加された構成を有する。
【００４４】
以下、第１実施形態と同様に、先ず本システムの全体的な処理手順を説明し、その後に主要なモジュールによる具体的な処理手順について詳述する。
【００４５】
（全体的な処理手順）
図６において、点線の矢印は質問に関する情報の流れを、実線の矢印は回答に関する情報の流れを、２点鎖線の矢印はユーザに関する情報の流れを表している。
【００４６】
第１実施形態と同様に知識生成部１４は知識データベース１２の作成および更新を行う。さらに本実施形態では、知識生成部１４は知識データベース１２が更新された場合に、その旨を知識管理部４４に通知する。
【００４７】
ユーザは、本システムを利用して質問をし、かつ知識の更新情報の通知を受ける場合には、まず端末４０を介して自身のユーザ情報を本システムに登録しておく。端末４０において入力された質問およびユーザ情報は、ネットワーク４２を介して入力部６に入力される。ユーザ情報は自分のユーザＩＤ（例えば電子メールアドレス）を含む。入力部６に入力されたユーザ情報はユーザ情報管理部４３に渡され、知識更新情報の通知のために管理される。
【００４８】
検索部１０は入力された質問をもとに知識データベース１２を検索する。検索結果は質問に答える回答であり、記憶部２０に渡される。ここで、第１実施形態の記憶部２０は質問（検索条件でもよい）と回答との組をログとして記録するものであったが、本実施形態の記憶部２０は、質問、回答、およびユーザ情報の３つの情報からなる組を記録する。
【００４９】
知識管理部４４は、知識データベース１２が更新された場合に、ログを検索し、該更新された知識と関連のある質問を得る。上述したように質問はその回答およびユーザ情報が付加されて記録されている。知識管理部４４はこれら質問、回答、およびユーザ情報の組の情報に基づいて、知識更新の旨を通知する通知情報を作成して通信処理部４６に渡す。通信処理部４６は、通知情報に含まれるユーザ情報からユーザを特定し、ネットワーク４２を介して通知情報を送信する。
【００５０】
以下、知識管理部４４の具体的な処理手順を説明する。
【００５１】
図７は第２実施形態における知識管理部４４の処理手順を示すフローチャートである。知識管理部４４は、図７に示すステップＳ３１〜Ｓ３４がループ処理であることからも分かるように、知識生成部１４からの通知を常に待機している。
【００５２】
知識生成部１４から知識データベース１２が更新されたという通知を受けると（ステップＳ３１）、知識管理部４４は知識データベース１２にアクセスし、更新前の知識と更新後の知識との差分を求める（ステップＳ３２）。なお、知識が更新される際には、知識データベース１２の複製を作成するなどして、更新前後の知識を保持しておく。このような知識データベース１２の複製は知識管理部４４において管理される。
【００５３】
ステップＳ３２の差分処理により、例えば、第１実施形態で示した
「○×社［ＰＲＥＳＩＤＥＮＴ＝＝○×太郎］」
という知識が、
「○×社［ＰＲＥＳＩＤＥＮＴ＝＝△△次郎］」
という知識に置き換えられたこと、
また、
「○×社［＃ＥＭＰＬＯＹＥＥＳ＝＝６万人］」
という知識が、
「○×社［＃ＥＭＰＬＯＹＥＥＳ＝＝５万人］」
という知識に置き換えられたことが特定される。
上記のような差分処理結果に基づいて、知識管理部４４はログを検索し、過去になされた質問のうち、該当するものを得る。なお、質問の表現形式と、知識において質問に相当する表現形式とは一致している必要がある。また、上述したが、記憶部２０には質問、回答、およびユーザ情報の３つの情報からなる組がログとして記録されている。知識管理部４４は、該当する質問、回答、およびユーザ情報のログを記憶部２０から取得する（ステップＳ３３）。
【００５４】
具体的には、例えば以下のようなデータが取り出される。
「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：○×太郎，Ｕ：ユーザ１」
「Ｑ：○×社［ＰＲＥＳＩＤＥＮＴ＝＝＊］，Ａ：○×太郎，Ｕ：ユーザ２」
「Ｑ：○×社［＃ＥＭＰＬＯＹＥＥＳ＝＝＊］，Ａ：６万人，Ｕ：ユーザ１」
ここで、上記１件目のデータは、ユーザ１の「○×社の社長は誰か？」との質問に対して、システムが「○×太郎」と回答したことが過去にあったという事実を表している。同様に、上記３件目のデータは、ユーザ１の「○×社の従業員数は？」との質問に対して、システムが「６万人」と回答したことが過去にあったという事実を表している。
【００５５】
なお、第１実施形態と同様に、上記各データにはタイムスタンプが付加されているものとする。
【００５６】
そして知識管理部４４は、上記の例の場合、ユーザ１およびユーザ２に対し、知識が更新された旨を通知するよう通信処理部４６に指令を出す（ステップＳ３４）。通信処理部４６は、具体的には、例えばユーザ１に対し図８に示すような内容の電子メール（通知情報）を送信する。この図８に示す電子メール５０には、ユーザ１からの、過去における「○×社の社長は誰か？」との質問に対してシステムは「○×太郎」と回答したが、知識の更新により、現在では「△△次郎」という回答が得られる旨が記されている。
【００５７】
また、同様に、過去における「○×社の従業員数は？」とのユーザ１からの質問に対してシステムが「６万人」と回答したが、知識の更新により現在では「５万人」という回答が得られる旨が記されている。
【００５８】
知識管理部４４は、過去の質問履歴に応じて、ユーザ２に対しても同様の通知を行う。
【００５９】
以上のように、知識の更新と連動してユーザに通知がなされることにより、ユーザは繰り返し質問を入力しなくとも過去に行った質問に対する最新の回答を常に入手できるようになる。なお、全ての質問について必ずしも上記のような通知を行う必要がない場合に、ユーザが質問を入力する時点で、「この質問に対する回答が変わった場合に通知を行いますか？」というような通知の要否をユーザが指定できるよう構成することが好ましい。
【００６０】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。例えば、上述した第１実施形態と第２実施形態とを組み合わせて実施してもよい。また、実施形態の説明では、日本語の質問を入力として受け付け、日本語の文書データ１６を知識源として扱う場合について説明したが、本発明に係る質問応答システムは、扱う言語を日本語に限定しない。例えば、英語を扱う場合には、日本語形態素解析に代えて品詞同定（Ｐａｒｔ−ｏｆ−Ｓｐｅｅｃｈ　ｔａｇｇｉｎｇ）の処理などを行うことにより、質問応答に用いられる知識データベース１２の生成および検索を実現できる。
【００６１】
【発明の効果】
以上説明したように、本発明によれば、ユーザの入力した質問に対する回答を出力する質問応答システムにおいて、利用されている知識の更新状況を可視化でき、ユーザがこれを適切に把握できるようになる。これにより、システムから得られた回答がどれくらい新しいものであるか、また、同様な質問に対してシステムが過去にどのように回答していたかをユーザが把握できる。また、ある時点でシステムが出力した回答がその後の知識の更新により陳腐化したような場合であっても、その事実を通知できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る質問応答システムの概略構成を示すブロック図
【図２】第１実施形態における知識生成部の処理手順を示すフローチャート
【図３】第１実施形態における検索部の処理手順を示すフローチャート
【図４】第１実施形態における回答作成部の処理手順を示すフローチャート
【図５】第１実施形態における回答および過去の回答の表示例を示す図
【図６】本発明の第２実施形態に係る質問応答システムの概略構成を示すブロック図
【図７】第２実施形態における知識管理部の処理手順を示すフローチャート
【図８】第２実施形態におけるユーザへの通知情報の一例を示す図
【符号の説明】
２…ユーザ
４…ユーザインターフェース
６…入力部
８…出力部
１０…検索部
１２…知識データベース（ＤＢ）
１４…知識生成部
１６…文書データ
１８…回答作成部
２０…記憶部
【図１】
2004118739.tif 000003
【図２】
2004118739.tif 000004
【図３】
2004118739.tif 000005
【図４】
2004118739.tif 000006
【図５】
2004118739.tif 000007
【図６】
2004118739.tif 000008
【図７】
2004118739.tif 000009
【図８】
2004118739.tif 000010