(57)【特許請求の範囲】
【請求項１】
入力された質問文からキーワードを抽出すると共に回答文の属する特定カテゴリを決定し、前記キーワードを含む構造化された文書を検索して該文書から前記特定カテゴリに属する文字列を判定して前記回答文として出力する情報検索システムにおいて、
前記検索した文書中の各文字列にその属するカテゴリを示すカテゴリ情報を付加するカテゴリ情報付加部と、
前記カテゴリ情報の付加した文書に対し所定のルールに基づいて前記キーワードを含む範囲を基本範囲として設定すると共に、前記文書のレイアウトに基づいて前記キーワードを含むレイアウト範囲を影響範囲として設定する文書解析部と、
前記文書の前記基本範囲と前記影響範囲に含まれる前記特定カテゴリの文字列に対しそれぞれの範囲に設定した点数を付与し、最も点数の高い文字列を前記回答文として判定する回答選択部と、
を含むことを特徴とする情報検索システム。
【請求項２】
前記文書解析部は、前記文書の見出し部分に前記キーワードが含まれていると該見出し部分から次の見出し部分の前までを前記影響範囲として設定することを特徴とする請求項１記載の情報検索システム。
【請求項３】
前記文書解析部は、前記文書のタイトル部に前記キーワードが含まれていると該文書の全文を前記影響範囲として設定することを特徴とする請求項１記載の情報検索システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報検索システム、特に、ＨＴＭＬ文書などの構造化された文書から、住所や日時、会社情報、金額、時間、割合などの、あるカテゴリを表す表現である固有表現を回答として出力するためのシステムに関するものである。
【０００２】
【従来の技術】
従来の情報検索システムでは、検索結果として、ＵＲＬなどの文書の位置情報に加えて、その文書のタイトル、要約文、ユーザが入力した検索キーワードの近傍の文字列などを抜粋して表示している。ユーザは、これらの情報から、実際にそれらの文書にアクセスするかどうかを判断して、必要な情報を探し出す必要がある。
しかし、インターネットのように情報量が膨大である場合には、必要な情報を効率的に見つけ出すことは困難である。
【０００３】
質疑応答システムは、そうした従来の情報検索システムの問題点を解決するために提案されているシステムであり、ユーザの自然言語形式の質問に対して、回答部分を特定してユーザに返答する。例えば、従来の情報検索システムでは、「ＡＢＣ株式会社の住所はどこですか？」という質問に対しては、「ＡＢＣ株式会社」や「住所」をキーワードとして含む文書を見つけることはできるが、実際に、文書にその住所（例えば、○○県△△市という記述）があるかどうかを考慮していない。
【０００４】
従来、このような情報検索に関する文献として、「意味制約を用いた日本語質問応答システム」，情報処理学会研究報告，2000-NL-140，pp.173-180（2000）があった。
この「意味制約を用いた日本語質問応答システム」に記載されたシステム（以下、この文献に記載されたシステムを従来システムとして説明する）は、新聞記事などの文章形式になっている情報源を利用して回答を抽出している。この従来システムは、回答を選択するために、全てのキーワードを含む複数の連続文を一つのパッセージ（回答を抽出する範囲）としている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来システムでは、新聞記事を対象文書としているために、例えばＨＴＭＬ文書などの構造化された文書の場合に、単純には適用できず、次のような問題点が発生する。
【０００６】
［問題点１］
一般的なＨＴＭＬ文書では、文章だけではなく、タグによってマークアップされた表や箇条書き表現、箇条書きの入れ子構造などを含む。従って、これらのタグを、次のように考慮する必要がある。
（１）従来システムでは、表形式などのレイアウトの違いを考慮せず、パッセージの長さの最小単位を１文単位にしている。しかし、構造化された文書では、表形式の１行を最小単位にしたり、個々の箇条書き毎に最小単位が区切られるようにするなど、レイアウトに応じた最小単位を決める必要がある。以降では、この最小単位を基本範囲と呼ぶ。基本範囲は、従来システムの１文に対応する範囲である。
【０００７】
（２）従来システムでは、一つの文に全てのキーワードが含まれていない場合に、隣接する文にパッセージを拡大している。しかし、ＨＴＭＬ文書では、<HR>タグの前後で話題が変わるので、このタグを越えてパッセージを拡大すると正しく回答できなくなる。同様に、<H1>タグなどの見出しタグの前後でも、話題が変わると考えられる。従って、これらのタグを越えてパッセージを拡大しないようにする必要がある。
（３）入れ子構造の場合には、入れ子の中にある内容は、入れ子の外にある内容と関連が深い。例えば、「東京で行われる就職セミナーはいつですか？」という質問に対して、次の文書から回答を見つけると仮定する。
【０００８】
図２は、文書の一例を示す説明図である。
図示の文書において、キーワードを質問文中の名詞にすると、「東京」と「就職セミナー」になる。図２中の下線部がキーワードである。図中の８行目の「東京」は、１０、１１行目の二つのセミナーが東京で開催されることを示していて、１０、１１行目の双方に同じように影響している。即ち、入れ子構造の場合には、入れ子の外にある内容（８行目）は、入れ子の中にある内容（１０、１１行目）に影響しているのである。また、３行目の見出しタグは、それ以下の全ての行（４〜１８行目）に影響していると考えることができる。
しかし、従来システムでは、このような文書構造を考慮していないため、正しい回答が得られない恐れがあった。
【０００９】
［問題点２］
従来システムでは、対象文書内で回答を探すことしかできないが、ＨＴＭＬ文書などのハイパーテキスト文書では、リンク先の文書に回答があると推定される場合がある。この場合には、リンク先の文書を調べるのが有効である。ただし、例えば、キーワードになっている単語にリンクが設定されている場合に、リンク先の文書を調べるなどの単純な規則にすると、無関係な文書を調べてしまうことになりかねない。なぜなら、リンク先の文書はキーワードを全て含んでいるわけではなく、無関係かもしれないからである。
【００１０】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
〈構成１〉
入力された質問文からキーワードを抽出すると共に回答文の属する特定カテゴリを決定し、キーワードを含む構造化された文書を検索して該文書から特定カテゴリに属する文字列を判定して回答文として出力する情報検索システムにおいて、検索した文書中の各文字列にその属するカテゴリを示すカテゴリ情報を付加するカテゴリ情報付加部と、カテゴリ情報の付加した文書に対し所定のルールに基づいてキーワードを含む範囲を基本範囲として設定すると共に、文書のレイアウトに基づいてキーワードを含むレイアウト範囲を影響範囲として設定する文書解析部と、文書の基本範囲と影響範囲に含まれる特定カテゴリの文字列に対しそれぞれの範囲に設定した点数を付与し、最も点数の高い文字列を回答文として判定する回答選択部とを含むことを特徴とする情報検索システム。
【００１１】
〈構成２〉
構成１に記載の情報検索システムにおいて、文書解析部は、文書の見出し部分にキーワードが含まれていると該見出し部分から次の見出し部分の前までを影響範囲として設定することを特徴とする情報検索システム。
【００１２】
〈構成３〉
構成１に記載の情報検索システムにおいて、文書解析部は、文書のタイトル部にキーワードが含まれていると該文書の全文を影響範囲として設定することを特徴とする情報検索システム。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて詳細に説明する。
《具体例１》
具体例１は、上述した問題点１を解決するために、個々のキーワードが文書内でどこまで影響するか、その範囲を計算することで、文書中に複数存在する回答候補のうちから、適切な回答を選択可能にするシステムである。この具体例１では、対象文書に対して、先ず、基本範囲（キーワードが影響する最小範囲）を決定し、次に、個々のキーワードがどこまで影響しているかその影響範囲（回答抽出の最大範囲）を調べ、この影響範囲に基づいて回答候補を抽出するようにしている。また、文書のレイアウト情報として、ＨＴＭＬ文書におけるタグの情報としている。
【００２２】
〈構成〉
図１は、本発明の情報検索システムの具体例１を示す構成図である。
図示のシステムは、コンピュータで実現され、制御部１、インタフェース部２、質問解析部３、文書検索部４、文書記憶部５、固有表現タグ付加部６、固有表現パターン記憶部７、文書解析部８、キーワード情報一時記憶部９、回答選択部１０を備えている。
【００２３】
制御部１は、本情報検索システムにおけるインタフェース部２〜回答選択部１０の制御を司るもので、制御用ソフトウェアとこれを実行するためのＣＰＵやメモリなどのハードウェアから実現されている。
インタフェース部２は、ユーザとシステムとの間の情報の入出力を行う機能部であり、例えば、キーボードやポインティングデバイスなどの入力装置やディスプレイやプリンタなどの出力装置から構成されている。
質問解析部３は、入力された質問文を解析し、文書検索部４に渡すキーワードを抽出し、また、どのようなパターンの文字列を回答すればよいかを決定する機能を有している。この処理は、例えば、従来文献に記載の「意味制約の判定」処理と「キーワードの抽出」処理のように行うものである。
【００２４】
文書検索部４は、質問解析部３で抽出した検索キーワードによって文書の検索を行う機能部である。これは、例えば従来文献に記載の「文書の取り出し」処理に対応する処理である。文書検索は、ＡＮＤ検索だけでなく、ＡＮＤ／ＯＲ検索でもよく、特に検索方法は問わないものである。
文書記憶部５は、本情報検索システムの知識源となる文書集合であり、本具体例では構造化文書（レイアウト情報を有する文書）であるＨＴＭＬ文書とする。文書記憶部５が保持する文書とは、システムがアクセスできる文書ならどこに置いてあっても構わない。例えば、インターネットを経由してアクセスできる文書でもよいし、ローカルに保持した文書であってもよい。
【００２５】
固有表現タグ付加部６は、固有表現を示す特定の文字列に対して、その文字列が固有表現であるという情報を付加する固有表現情報付加部である。即ち、この固有表現タグ付加部６は、文書検索部４で検索された文書に対して、固有表現パターン記憶部７のパターンを適用し、固有表現（あるカテゴリを表す表現）に対して、固有表現タグ（どのカテゴリに属するかの情報）を付ける機能部である。固有表現タグには、組織名、部門名、人名、日付などがある。この処理は、従来文献に記載の「固有・数値表現の特定」処理に対応するものである。
固有表現パターン記憶部７は、固有表現タグを付与する規則を記憶するための記憶部である。
【００２６】
図３および図４は、固有表現パターン記憶部７のデータ例の説明図である。
この例では、組織タグ、部門タグ、住所タグ、イベントタグ、日付タグの一部のパターンを示している。例えば、固有表現タグ付加部６は、「製品Ａの導入セミナーの連絡先はどこですか？」という文字列を入力して、図４の規則８を適用して、「製品Ａの<EVENT>導入セミナー</EVENT>の連絡先はどこですか？」という文字列を返す。固有表現タグ付加部６や固有表現パターン記憶部７に関しては、従来と同様の固有表現抽出技術を適用する。例えば、次のようになる。
図５は、タグを付加した文書の説明図である。
図５において、（１）は元の文書であり、この文書にタグを付加したのが（２）の文書である。尚、（２）中の<KEYWORD>タグや<DOT>タグについては後述する。
【００２７】
文書解析部８は、タグの包含関係を木構造にし、キーワードの基本範囲と影響範囲の計算を行う機能部である。この処理は、固有表現タグ付加部６によってタグ付けされた文書に対して実行される。
【００２８】
文書解析部８は、次のように基本範囲を決定する。
（１）タイトル部分（<TITLE>タグから</TITLE>タグまで）について、タイトル部分（<TITLE>タグから</TITLE>タグまで）を、基本範囲とする。
<BODY>タグ内では、
（２）見出し部分（<Hn>タグから</Hn>タグまで（１≦ｎ））について、見出し部分（<Hn>タグから</Hn>タグまで（１≦ｎ））を、基本範囲とする
（３）<TABLE>タグ内では、個々の行を別々の基本範囲にする。即ち、<TR>タグから</TR>タグまでを一つの基本範囲にする。
【００２９】
図６は、他の文書の説明図であり、これは<TABLE>タグを有する文書を示している。
例えば、図６の８行目なら、「<TR><TD>会場</TD><TD>○○市××町1-2△△ビル1F</TD></TR>」を基本範囲とする。
（４）<DL>タグ内では、<DL><DT>の組合せを一つの基本範囲にする。
【００３０】
また、上記の（１）から（４）に該当しない場合には、次のようにする。
（５）区切り線（<HR>）、表（<TABLE>）、箇条書き（<UL>、<OL>）、定義型リスト（<DL>）、入力フォーム（<FORM>）、フォーマット済みテキスト（<PRE>）、見出し（<Hn>）など、ＨＴＭＬ文書をブラウザで表示したときに、レイアウトが変わったり、区切り線やヘッダが表示される位置で区切る。例えば、図６の６行目からは表形式になってレイアウトが変わるので、５行目の「就職セミナー」がキーワードになっていたら、その基本範囲は５行目だけになる。
（６）<P><LI>タグや句点「。」で区切る。例えば、図５（２）の１２行目の「製品Ｂ」がキーワードになっていたら、その基本範囲は１２行目だけになる。
【００３１】
また、影響範囲は次のようにする。図７は、キーワードの影響範囲を示す説明図である。
１．タイトル部分にあるキーワードは、そのファイル全体に影響する。
２．見出し部分にあるキーワードは、章節関係に基づいた影響範囲にする。つまり、次の見出しまたは＜ＨＲ＞タグまで影響する。例えば、図７（１）において、「製品Ａ」と「基本仕様」がキーワードになっていると仮定する。この場合には、「製品Ａ」は、＜Ｈ１＞タグに囲まれているため、次の＜Ｈ１＞タグまでが一つの章に相当する。従って、影響範囲は、「＜Ｈ１＞製品Ｂ＜／Ｈ１＞」までとなる。また、「基本仕様」は、＜Ｈ２＞タグに囲まれているため、その影響範囲は、次の＜Ｈ１＞または＜Ｈ２＞タグまでが一つの節に相当するので、「＜Ｈ１＞製品Ｂ＜／Ｈ１＞」までとなる。
３．箇条書きなどが入れ子構造になっている場合には、入れ子の外にあるキーワードは、入れ子内に影響する。例えば、図７（２）の８行目のキーワード「東京」は、９〜１２行目に影響する。
４．＜ＤＯＴ＞タグを越えて影響範囲を広げる。例えば、図５（２）の１２行目の「製品Ｂ」は１５行目まで影響する。また、この影響範囲は、＜Ｐ＞、＜ＨＲ＞、＜ＴＡＢＬＥ＞など、文章が内容的に区切られる位置まで広げる。
【００３２】
キーワード情報一時記憶部９は、例えば半導体メモリ上に構成され、文書解析部８で計算された、これらの基本範囲と影響範囲の情報を格納する機能部である。
回答選択部１０は、このように決められた基本範囲と影響範囲とを利用して、個々の回答候補に点数をつけ、その評価を行う機能部である。尚、これら質問解析部３、文書検索部４、固有表現タグ付加部６、文書解析部８、回答選択部１０は、それぞれ、各機能部に対応したソフトウェアとこれを実行するためのハードウェアから実現されているものである。
【００３３】
〈動作〉
図８は、具体例１の動作を示すフローチャートである。
以下、このフローチャートに沿って動作を説明する。ここでは例として、インタフェース部２を通じて、質問文「製品Ｂに関する連絡先はどこですか？」が入力されたとする。
【００３４】
［ステップ１００］
質問解析部３は、質問文を解析し、キーワードと、回答として抽出すべき固有表現を決定する。これは、従来文献に記載されている「意味制約の判定」「キーワードの抽出」の方法が適用可能である。例えば、質問文「製品Ｂに関する連絡先はどこですか？」では、「製品Ｂ」「連絡先」がキーワードになる。なぜなら、この質問に含まれる名詞は「製品Ｂ」「連絡先」「どこ」であって、このうち、「どこ」は疑問詞であり、ストップワードになるからである。
また、回答として抽出すべき固有表現を決定する。名詞列に「いつ」があれば日付タグ（<DATE>）、「どこ」があれば住所タグ（<ADD>）内の範囲を回答とする。この質問例では、「どこ」があるので住所タグ内の文字列を回答とする。ただし、キーワードや回答すべき固有表現の決定方法は、この方法に限定しない。質問文から判定できなければ、ユーザに再び問い合わせてもよい。
【００３５】
［ステップ１１０］
文書検索部４は、ステップ１００で得られたキーワードを入力として、文書記憶部５の文書群に対して検索を行う。結果としてキーワードを含む文書が複数個得られる。例えば「製品Ｂ」「連絡先」をキーワードとして検索した結果、次の文書集合を得たとする。
（文書Ａ、文書Ｂ、文書Ｃ、…）
複数の文書を得た場合には、上位１０件など、一部の文書だけをステップ１２０以降の処理対象としてもよい。
【００３６】
［ステップ１２０］
固有表現タグ付加部６は、ステップ１１０で得たそれぞれの文書に対して、固有表現タグを付加する。その後に、ステップ１００で得たキーワードと同じ文字列を、次の置換規則によってキーワードタグに置換する。
（キーワード）→<KEYWORD WORD=$1 NO=KeyNo>
（例）  製品Ｂ→<KEYWORD WORD=製品Ｂ NO=1>
ただし、変数KeyNoは、ステップ１００で得たキーワードを一意に識別する識別子とする。この例では、「製品Ｂ」をKeyNo=1、「連絡先」をKeyNo=2とする。
例えば、「製品Ｂ」という文字列が、文書中に出現すると、そこを<KEYWORD WORD=製品Ｂ NO=1>で置き換える。また、句点「。」を「。<DOT>」に置き換える。
結果として、図５（１）の文書は図５（２）のようにタグが付けられる。
【００３７】
［ステップ１３０］
文書解析部８は、ステップ１２０で得られたそれぞれの文書に対して、影響範囲を表す木構造を作成する。この処理は、ステップ１３０の処理で、基本範囲や影響範囲を計算し易いようにするためである。従って、全てのタグの包含関係を、親子ノードにするのではなく、それらの計算に影響するタグ（<TITLE>、<BODY>、<Hn>、<TABLE>、<TR>、<UL>、<OL>、<DT>、…）に対して親子関係を作る。また、<P>、<LI>タグなど、必ずしも</P>タグなどの終端タグが存在しないものは、親子関係にしない。
図９は、図５（２）の文書に対する木構造を示す説明図である。
図１０は、図６の５から８行目の木構造を示す説明図である。
ただし、図１０の例では、「就職セミナー」「会場」をキーワードにしている。
尚、この木構造の作成処理は、従来のXMLパーザなどの、XML文書のタグの包含関係を木構造にする技術を利用する。
【００３８】
［ステップ１４０］
ステップ１３０で得られた木構造に対して、基本範囲を決定する。結果として、キーワード情報一時記憶部９にデータを一時的に保存する。キーワード情報一時記憶部９は、処理対象文書中のキーワードの出現位置に関する情報を保存する。各レコードが、文書中に出現した一つ一つのキーワードに対応する。
図１１は、キーワード情報一時記憶部９のデータの説明図であり、図１１（１）にこのステップ１４０におけるキーワード情報一時記憶部９の保存データを示している。
この例は、図９のキーワード情報を示している。キーワード情報一時記憶部９は、ノードＩＤ、KeyNo、キーワードの親ノード、キーワードの基本範囲、キーワードの影響範囲の項目を持つ。ノードＩＤの項目には、図９、図１０にある各ノードの左にある数字が入る。例えば、図９のＩＤ１１、ＩＤ２６、ＩＤ２７、ＩＤ４１がキーワードのノードである。KeyNo項目は、キーワードの識別子である。キーワードの基本範囲項目は、そのキーワードが影響する最小範囲である。図９のＩＤ１１ならば、ＩＤ９からＩＤ２３になる。キーワードの影響範囲は、そのキーワードが影響する最大範囲である。図９のＩＤ１１ならば、ＩＤ７からＩＤ２３になる。
キーワード情報一時記憶部９へのデータの登録方法は、深さ優先探索による。根ノード（ＨＴＭＬタグのノード、図９のＩＤ０）を最初の処理対象ノードにして、次に示すステップ１０００以降の処理を実行して登録される。
【００３９】
図１２は、ステップ１４０の動作を示すフローチャートである。
［ステップ１０００］
処理対象ノードの全ての下位ノードで実行したか。実行したなら終了する。そうでなければステップ１０１０へ行く。
［ステップ１０１０］
未処理の下位ノードの一つを処理対象ノードにする。
［ステップ１０２０］
処理対象ノードが、更に下位ノードを持つなら、再帰的に、処理対象ノードに対して、ステップ１０００からの処理を実行する。再帰が終了したら、ステップ１０００に戻る。図９の例では、処理対象ノードがＩＤ５「<H1>」であるときには、下位のノードとしてＩＤ６「製品名Ａ」を持つから、ＩＤ５を初期ノードとして再帰的にステップ１０００を実行する。再帰処理が終了したら、ステップ１０００へ戻り、ＩＤ５の次のノード（ＩＤ７）を実行する。
一方、下位ノードを持たないならステップ１０３０へ行く。
【００４０】
［ステップ１０３０］
処理対象ノードがキーワードかどうかを調べる。キーワードでないならステップ１０００へ戻る。キーワードならばステップ１０４０へ行く。図９の例では、処理対象ノードがＩＤ１１、２６、２７、４１の場合にステップ１０４０へ行く。
［ステップ１０４０］
処理対象ノードの親ノードを調べる。親ノードが<TITLE>タグまたは<Hn>タグまたは<TR>タグならステップ１０５０へ行く。図９の例では、ＩＤ２６の場合が該当する。親ノードが<BODY>タグまたは<UL>タグまたは<OL>タグならステップ１０６０へ行く。図９の例ではＩＤ１１、２７、４１が該当する。親ノードが<DL>タグならステップ１０７０へ行く。
【００４１】
［ステップ１０５０］
その親ノードの全ての子ノードを基本範囲にする。図９のＩＤ２６の親ノード（ＩＤ２５）には、子ノードとしてＩＤ２６しか該当しない。従って、これだけが基本範囲となる。図１０のＩＤ１６の親ノード（ＩＤ１４）は、ＩＤ１５から２２までが該当する。このステップ１０５０が終了するとステップ１０８０に移行する。
【００４２】
［ステップ１０６０］
キーワードの前後の<DOT><P><HR><LI>タグ、または、子ノードを持つノードまでを基本範囲とする（但し、<DOT><P><HR><LI>タグ、子ノードを持つノード自体は含めない）。例えば、図９のＩＤ１１のときは、ＩＤ９からＩＤ２３までが該当する。ＩＤ２７のときは、ＩＤ２７からＩＤ２８までが該当する。ＩＤ４１のときは、ＩＤ４０からＩＤ５３までが該当する。このステップ１０６０が終了するとステップ１０８０に移行する。
【００４３】
［ステップ１０７０］
キーワードの前後の<DT>タグまでを基本範囲にする（但し、<DT>タグ自体は含めない）。その後、ステップ１０８０へ行く。
［ステップ１０８０］
キーワード情報一時記憶部９に新しいレコードを追加する。基本範囲項目には、ステップ１０５０からステップ１０７０までで決定された基本範囲を設定する。ステップ１０００に戻り、次のノードについて処理する。
このようなステップ１４０の処理を全て行うと、図１１（１）のようになる。
【００４４】
[ステップ１５０]
文書解析部８は、ステップ１４０で得られたキーワード情報一時記憶部９の個々のレコードに対して、影響範囲項目を計算する。これは次に説明するステップ１１００以降の処理を実行してデータが設定される。
図１３は、ステップ１５０の処理の動作を示すフローチャートである。
［ステップ１１００］
そのレコードの親ノード項目を調べる。
そのキーワードの親ノードが<TITLE>タグならばステップ１１２０へ行く。
そのキーワードの親ノードが<Hn>タグならばステップ１１３０へ行く。
そのキーワードの親ノードが<UL><OL>タグならばステップ１１４０へ行く。
そのキーワードの親ノードが<BODY>タグならばステップ１１５０へ行く。
それ以外の場合には、ステップ１１６０へ行く。
図９の例では、処理対象ノードがＩＤ２６の場合にステップ１１３０へ行く。また、処理対象ノードがＩＤ１１、２７、４１の場合にステップ１１５０へ行く。
【００４５】
［ステップ１１２０］
その親ノードから、最後のＩＤまでを影響範囲とし、影響範囲項目に値を登録する。ステップ１１００に戻る。
［ステップ１１３０］
その親ノードが、<Hn>タグならば、そのタグ以降に現れる<HR>タグ、または次の<H1>タグまでの間を影響範囲とする。<H2>タグならば、そのタグ以降に現れる<HR>タグ、または、次の<H1>タグまたは<H2>タグまたは<H3>タグまたは<H4>タグまでの間を影響範囲とする。即ち、章節関係に基づいた影響範囲を求める。
そして、影響範囲項目に値を登録する。その後、ステップ１１００に戻る。
図９のＩＤ２６の影響範囲は、親ノード（ＩＤ２５）の位置からＩＤ５３までになる。
【００４６】
［ステップ１１４０］
そのキーワードの前後の<LI>タグの間の全ての要素を影響範囲とし、影響範囲項目に値を登録する。その後、ステップ１１００に戻る。
［ステップ１１５０］
そのキーワードの前後の<P><HR>タグまたは下位ノードを持つノードまでを影響範囲とする。これにより、基本範囲の決定で<DOT>タグで区切られていた範囲がつながって一つの影響範囲になる。影響範囲項目に値を登録し、ステップ１１００に戻る。図９のＩＤ１１の影響範囲は、ＩＤ５が子ノードをもつので、ＩＤ７から始まる。また、ＩＤ２４が<HR>タグなので、ＩＤ２３までになる。図９のＩＤ２７の影響範囲は、ＩＤ２５が子ノードをもつので、ＩＤ２７から始まる。また、ＩＤ３９が<P>タグなので、ＩＤ３８までになる。図９のＩＤ４１の影響範囲は、ＩＤ３９が<P>タグなので、ＩＤ４０から始まる。また、ＩＤ５３までになる。
【００４７】
［ステップ１１６０］
影響範囲を基本範囲と同じにする。その後ステップ１１００に戻る。
全ての影響範囲を計算した結果は、図１１（２）に示すようになる。
【００４８】
［ステップ１６０］
回答選択部１０は、回答候補を見つけ、回答に点数をつける。次に説明するステップ１２００以降の処理を実行して決定される
図１４は、ステップ１６０の動作を示すフローチャートである。
［ステップ１２００］
木構造に対して、深さ優先探索を行い、全ての回答候補を抽出する。回答候補は、ステップ１００で質問文から判断された固有表現タグ内の文字列である。「製品Ｂに関する連絡先はどこですか？」ならば<ADD>タグ内を回答候補にする。この例では、ＩＤ２１〜２３「△△市◎◎町5-6  △△ビル3F」とＩＤ５１〜５３「△△市◎◎町5-6  △△ビル4F」になる。
【００４９】
［ステップ１２１０］
それぞれの回答候補の範囲と、キーワード情報一時記憶部９の基本範囲、影響範囲を比較する。キーワード情報一時記憶部９の基本範囲や影響範囲を比較する。キーワード情報一時記憶部９の基本範囲や影響範囲に回答候補が包含されていれば点数を与える。加算点数は影響範囲≦基本範囲とする。
図１５は、図９の回答候補とキーワードの包含関係を示す説明図である。
図中、実線が基本範囲との包含関係、破線が影響範囲との包含関係である。この場合、回答候補（ＩＤ２１〜２３）は、ＩＤ１１のキーワードの基本範囲（ＩＤ９〜２３）に包含されている。一方、回答候補（ＩＤ５１〜５３）は、ＩＤ４１のキーワードの基本範囲（ＩＤ４０〜５３）とＩＤ２６の影響範囲（ＩＤ２５〜５３）に包含されている。仮に、基本範囲の包含関係に２点、影響範囲の包含関係に１．５点加算すると、回答候補（ＩＤ５１〜５３）の方が点数が高くなり、回答と判断される。
【００５０】
［ステップ１７０］
検索された全ての文書の回答候補のうち、最高点の候補を回答とする。その際、同一文字列の回答候補の点数を足し合わせるなど、従来文献に記載の方法を採用してもよい。
【００５１】
〈効果〉
以上のように、具体例１によれば、ＨＴＭＬ文書の構造を利用して、キーワードの基本範囲と影響範囲を計算した。この方法によれば、ＨＴＭＬ文書に対して、見出しなどの離れた位置のキーワードが回答選択に影響を与える場合に対応でき、正確に回答を抽出することができる。
【００５２】
《具体例２》
ハイパーテキスト文書には、他の文書のリンクが存在する。従って、具体例１におけるステップ１１０で得た文書群の、リンク先の文書に回答があることがある。
図１６は、リンクが存在する文書の一例を示す説明図である。
例えば、「製品Ｂに関する連絡先はどこですか？」という質問で、図１６（１）の１５行目のように、キーワード「連絡先」にリンクが設定されている場合に、このリンクは、もう一つのキーワード「製品Ｂ」の影響範囲内にあり（「製品Ｂ」の親ノードが<H1>であるため影響範囲は「製品Ｂ」から文書Ａの終端までとなるため）、このリンク先の文書「address.html」（図１６（２））に回答がある可能性が高い。
そこで、具体例２では、キーワードの影響範囲を利用して、リンク先の文書も回答を探す対象にするかどうかを判断する。
【００５３】
〈構成〉
図１７は、具体例２の情報検索システムの構成図である。
図示のシステムは、制御部１、インタフェース部２、質問解析部３、文書検索部４、文書記憶部５、固有表現タグ付加部６、固有表現パターン記憶部７、文書解析部８、キーワード情報一時記憶部９、回答選択部１０、リンク先探索判断部１１から構成されており、これは具体例１のシステム構成にリンク先探索判断部１１を追加したものである。リンク先探索判断部１１は、<A HREF="http://***">タグに囲まれているキーワードを見つけ出し、そのリンク先の文書に対して回答抽出処理を実行するかどうかを判断する機能を有している。そして、リンク先の文書に対して回答抽出処理を実行する場合には、リンク元の文書の回答抽出処理ではキーワードを含んでいなくてもよいように処理する。
その他の構成については具体例１と同様であるため、ここでの説明は省略する。
【００５４】
〈動作〉
図１８は、具体例２の動作を示すフローチャートである。
以下の例では「製品Ｂに関する連絡先はどこですか？」という質問で、図１６（１）（２）の文書を対象にして回答を抽出する。
具体例２は、先ず、具体例１のステップ１１０に相当する処理が異なる。ステップ１１０の代わりに次のステップ２００の処理を行う。
【００５５】
［ステップ２００］
具体例１では、検索結果の文書を、
（文書Ａ、文書Ｂ、文書Ｃ、…）
のように、文書名の配列構造で格納していた。具体例２では、ステップ１１０に相当する処理で検索された文書と、リンク先探索判断部１１によって新たに回答抽出処理の対象になった文書とを区別する方法がある。そこで、ステップ２００では、次のように、２次元配列にする。
（（文書Ａ，null），
（文書Ｂ，null），
（文書Ｃ，null）、…）
各列の１列目は文書名である。２列目は、その文書が、ステップ１１０に相当する処理で検索された文書ならnullである。リンク先探索判断部１１によって追加された文書なら、リンク元の文書のキーワード情報一時記憶部９から、その文書に引き継がれるキーワードを格納する。例えば、リンク先探索判断部１１によって、文書Ａの処理中に、リンク先の文書「http://www.aa.co.jp/address.html#productB」が対象になり、その文書に、KeyNoが１、２のキーワードが引き継がれたとする。この場合には、次のように、文書Ａの後に、文書「http://www.aa.co.jp/address.html#productB」を追加する。
（（文書Ａ，null），
（http://www.aa.co.jp/address.html#productB,(1,2)），
（文書Ｂ，null），
（文書Ｃ，null）、…）
【００５６】
また、この引き継がれたキーワードを利用して回答候補の点数づけを行うために、ステップ１６０に相当する処理が異なる。ステップ１６０の代わりにステップ２１０の処理を行う。
［ステップ２１０］
回答選択部１０は、回答候補を見つけ、回答に点数を付ける。次のステップ１３００以降の処理を実行して決定される。
図１９は、ステップ２１０の処理を示すフローチャートである。
［ステップ１３００］
木構造に対して深さ優先探索を行い、全ての回答候補を抽出する。但し、処理対象の文書名が「http://www.aa.co.jp/address.html#productB」のように、「#name」部分を含むかどうかを調べる。含むならステップ１３１０へ行く。
【００５７】
［ステップ１３１０］
「#name」がある場合には、リンク先の文書で、<A NAME="name">以降の範囲で回答候補を抽出する。従って、木構造の中で、<A NAME="name">タグを見つけ、それ以降の範囲で、深さ優先探索を行い、回答候補を抽出する。その後ステップ１３３０へ行く。
例えば、図１６（２）の文書「http://www.aa.co.jp/address.html」は、次の図２０に示すような木構造となる。
図２０は、図１６（２）の文書の木構造を示す説明図である。
この場合には、<A NAME="productB">タグを見つけ、それ以降の範囲（ＩＤ１６からＩＤ２５）から回答候補を抽出する。結果として、ＩＤ２１〜２３「△△市◎◎町5-6  △△ビル4F」が回答候補になる。
【００５８】
［ステップ１３２０］
木構造に対して、深さ優先探索を行い、全ての回答候補を抽出する。その後、ステップ１３３０へ行く。
［ステップ１３３０］
それぞれの回答候補の範囲と、キーワード情報一時記憶部９の基本範囲、影響範囲、リンク元の文書から引き継がれたキーワードを比較する。キーワード情報一時記憶部９の基本範囲や影響範囲に回答候補が包含されていれば点数を与える。加算点数は、影響範囲≦基本範囲とする。
また、リンク元の文書から引き継がれたキーワードは、その文書全体または<A NAME="productB">タグ以降に影響していると考え、点数を与える。即ち、具体例２では、文書解析部８において、リンク元の文書から引き継がれたキーワード（リンク先の文書を回答候補文書とするか否かを判断するために用いたキーワード）の影響範囲は、文書全体または<A NAME="productB">タグといったような特定の位置以降として計算する。また、回答選択部１０における加算点数の付与は、影響範囲の点数と同じとする。
【００５９】
図２１は、図２０の回答候補とキーワード情報の包含関係の説明図である。
図中、太線がリンク先の文書から引き継がれたキーワードとの関係である。この場合、回答候補（ＩＤ２１〜２３）は、引き継がれたキーワードとの関連があり、それぞれ１．５点ずつ加算されている。但し、キーワード情報一時記憶部９のＩＤ３は、KeyNoが引き継がれたキーワードと重複するので加算していない。
以上のように、リンク先の文書に対して点数加算処理が実行される。
【００６０】
また、具体例２では、ステップ２１０とステップ１７０との間に次のステップ２２０を挿入する。
［ステップ２２０］
ステップ１５０の処理で、キーワード情報一時記憶部９にデータが登録されている。
リンク先探索判断部１１は、キーワード情報一時記憶部９の個々のレコードに対して、そのキーワードが＜Ａ＞タグ（アンカータグ）で囲まれているかどうかを調べ、囲まれている場合には、そのリンク先の文書も処理対象にするかどうかを判断する。
具体的には次の図２２に示す処理を実行する。
【００６１】
図２２は、ステップ２２０の動作を示すフローチャートである。
［ステップ１４００］
キーワード情報一時記憶部９の全てのレコードに対して、以下の処理を実行したら終了する。そうでないなら、処理対象のレコードを決定して、ステップ１４１０へ行く。
［ステップ１４１０］
そのキーワードが＜Ａ＞タグで囲まれ、他の文書へのリンクになっているかどうかを調べる。そのキーワードのＩＤから、ＩＤを１ずつ減らしていき、基本範囲を超えるまでに、先に＜／Ａ＞が見つかったら、＜Ａ＞タグで囲まれていない。先に＜Ａ＞タグが見つかり、それが他の文書へのリンクであるならステップ１４２０へ行く。基本範囲を超えたら、＜Ａ＞で囲まれていない。
＜Ａ＞タグで囲まれていないと判断されたら、ステップ１４００へ戻り、次の要素で実行する。
【００６２】
図２３は、図１６（１）の文書を木構造にして示す説明図である。
また、図２４は、図２３のキーワード情報一時記憶部９のデータを示している。
図２３のＩＤ１２については、ＩＤ１０に<A>タグがあり、他の文書へのリンクになっているので、ステップ１４２０へ行く。ＩＤ３３も同様である。ＩＤ１７、１８は<A>タグで囲まれていない。
［ステップ１４２０］
キーワード情報一時記憶部９の他のレコードの基本範囲または影響範囲に、そのキーワードが含まれているかどうかを調べる。質問文中のキーワードの全てのKeyNoが含まれていたら、その<A>タグに記載されている文書も処理対象にするために、ステップ１４３０へ行く。そうでないならステップ１４００へ戻り、次の要素で実行する。例えば、ＩＤ１２は、他のレコードの基本範囲にも影響範囲にも含まれていない（図２４参照）ので、ステップ１４００に戻る。ＩＤ３３は、第２レコードのＩＤ１７の影響範囲に含まれる。ＩＤ３３のKeyNoは２で、ＩＤ１７のKeyNoは１であり、質問文中の全てのキーワードに含まれていることになるので、ステップ１４３０へ行く。
【００６３】
［ステップ１４３０］
このアドレスを第１列に、処理対象のキーワードのKeyNoと、このキーワードを影響範囲に含んでいる他のキーワードのKeyNoを第２列にして、ステップ１１０に相当する処理で得た文書群に追加する。これが、上述した文書（http://www.aa.co.jp/address.html#productB,(1,2)）である。
その後は、ステップ１４００へ戻り、次のレコードで実行する。
【００６４】
〈効果〉
以上のように、具体例２では、キーワードの影響範囲を利用して、リンク先の文書も回答を探す対象とするかどうかを判断するようにしたので、具体例１の効果に加えて、回答があると思われるリンク先の文書を、文書構造から判断することができる効果がある。
【００６５】
《具体例３》
具体例１では、回答候補の位置と影響範囲との包含関係を利用して回答を決定していた。しかし、具体例１では、単に包含関係だけを利用していただけで、個々のキーワードがどのようなタグ内にあるのか、キーワードと回答候補の位置との距離関係などを考慮していなかった。そこで、具体例３では、それらの違いに応じて回答候補に与える点数を変えるようにしている。
【００６６】
〈構成〉
具体例３の図面上の構成については図１に示した具体例１と同様であるため、ここでの説明は省略し、以降、図１の構成を援用して説明する。
具体例３の回答選択部１０は、キーワードが、例えばタイトル中にあるか、見出し中にあるかといった、キーワードの存在する位置や、キーワードと回答候補との距離に基づいて回答候補に付与する点数を増減させるようにしたものである。尚、それ以外の基本的な構成は具体例１、２と同様である。
図６のように、表構造になっている場合には、キーワードと回答が同じ行にある確率が高いために、高得点を与える。例えば、「就職セミナーの会場はどこですか？」という質問で、図１０のように、ＩＤ１６の親ノードが<TR>タグの場合に、その基本範囲内にある回答（ＩＤ１９から２１）に高得点を与える。また、回答候補とキーワードが別々の文にある場合には、その距離が離れているほど点数を下げる。
また、「東京で行われる就職セミナーはいつですか？」という質問で、図７（２）の文書から回答を選ぶ場合には、８行目のキーワード「東京」と入れ子関係になっている１０行目と１１行目の「<DATE>2001年7月10日</DATE>」と「<DATE>2001年7月15日</DATE>」に同点数を与える。
【００６７】
〈動作〉
具体例３では、具体例１のステップ１６０に対応する回答候補の点数付け処理を次のように変更する。
図２５は、ステップ１６０に対応する動作のフローチャートである。
［ステップ１５００］
木構造に対して深さ優先探索を行い、全ての回答候補を抽出する。この処理は図１４のステップ１２００と同じ処理である。
［ステップ１５１０］
それぞれの回答候補の範囲と、キーワード情報一時記憶部９の基本範囲を比較する。基本範囲と包含関係にある組合せ（図１５において、実線になっている組合せ）に対して２点加算する。但し、キーワードの親ノードが<TR>タグである場合には３点加算する。
【００６８】
［ステップ１５２０］
それぞれの回答候補の範囲と、キーワード情報一時記憶部９の影響範囲とを比較する。影響範囲と包含関係にある組合せ（図１５において、破線になっている組合せ）に対して加算する。加算点数は次のようにする。
（１）そのキーワードの親ノードが<TITLE>タグならば、１．２点を加算する。
（２）そのキーワードの親ノードが<Hn>ならば、１．５点を加算する。例えば、図１５において、ＩＤ４１の親ノードは<H1>タグなので、ＩＤ４１と回答候補の第１レコードの間では、１．５点加算する。結果として、ＩＤ４１の合計点数は３．５点になる。
（３）そのキーワードの親ノードが<UL>または<OL>タグで、キーワードと回答候補が入れ子関係ならば（例えば、図７（２）の８から１２行目の場合）、１．５点を加算する。
【００６９】
図２６は、図７（２）の文書を木構造にした説明図である。
また、図２７は、図２６の回答候補とキーワードの包含関係を示す図である。
図２７で、回答候補（ＩＤ２５〜２７）と、回答候補ＩＤ３３〜３５は、ＩＤ１９のキーワードと入れ子関係があり、１．５点が加算されている。
（４）そのキーワードの親ノードが<UL>または<OL>または<BODY>タグである場合には、その間に<DOT>タグの数に応じて１／ｎ点（ｎはキーワードと回答の間の<DOT>の数）を加算する。
ただし、各加算点数はこれらの値に限定するものではなく、適宜、選択が可能である。
【００７０】
〈効果〉
具体例３では、個々のキーワードが、どのようなタグ内にあるのか、キーワードと回答候補の位置関係などを考慮して回答候補に与える点数を変えるようにしたので、より妥当な回答を選択することができる。
【００７１】
《利用形態の説明》
上記各具体例は次のように構成してもよい。
（１）ユーザへの情報提示方法は、固有表現などの回答パターンに一致した範囲だけをユーザに表示してもよいし、範囲内にあるキーワードを含めて、一定範囲の情報を表示してもよい。
（２）ステップ１００で得られたキーワードを入力として、文書検索部４で検索する際に類語辞書を用いてキーワードを拡張してもよい。
（３）文書記憶部５に格納されている文書には、予め固有表現を示す情報が付加されていてもよい。例えば、予め、固有表現タグ付加部６によって、固有表現を示すためのタグが付加されていてもよい。このようにすれば、実際の処理での固有表現タグの付加作業が省略できるため、より処理を高速化することができる。（４）KeyNoが同一のものが複数ある場合には、１回だけ加点してもよいし、そうでなくてもよい。
【００７２】
（５）具体例１におけるステップ１７０で、最高点の候補のみを回答としていたが、例えば、一定点数以上の候補を全て回答としたり、全てのKeyNoに対して影響関係があった候補を全て回答とすることで、複数の回答を返してもよい。
（６）表構造の影響範囲を、１行毎にしていたが、影響範囲を表全体にしてもよい。または、そのキーワードが表の１行目だった場合にのみ、影響範囲を表全体にしてもよい。
（７）具体例２では、リンク先の文書から更にリンク先の文書がある場合、リンクの階層毎に点数付けの値を低くするよう構成してもよい。
（８）各具体例では、レイアウト情報をＨＴＭＬ文書におけるタグによるものとしたが、これ以外のものでも、例えばタイトルや見出しあるいはリンク関係といった文書のレイアウトが判断できるものであればどのようなものであってもよい。
【図面の簡単な説明】
【図１】  本発明の情報検索システムの具体例１を示す構成図である。
【図２】  文書の一例を示す説明図である。
【図３】  固有表現パターン記憶部のデータ例の説明図（その１）である。
【図４】  固有表現パターン記憶部のデータ例の説明図（その２）である。
【図５】  タグを付加した文書の説明図である。
【図６】  他の文書の一例を示す説明図である。
【図７】  キーワードの影響範囲を示す説明図である。
【図８】  具体例１の動作を示すフローチャートである。
【図９】  図５（２）の文書に対する木構造を示す説明図である。
【図１０】  図６の文書（一部）の木構造を示す説明図である。
【図１１】  キーワード情報一時記憶部のデータを示す説明図である。
【図１２】  ステップ１４０の動作を示すフローチャートである。
【図１３】  ステップ１５０の動作を示すフローチャートである。
【図１４】  ステップ１６０の動作を示すフローチャートである。
【図１５】  図９の回答候補とキーワードの包含関係を示す説明図である。
【図１６】  リンクが存在する文書の一例を示す説明図である。
【図１７】  具体例２の情報検索システムの構成図である。
【図１８】  具体例２の動作を示すフローチャートである。
【図１９】  ステップ２１０の処理を示すフローチャートである。
【図２０】  図１６（２）の文書の木構造を示す説明図である。
【図２１】  図２０の回答候補とキーワード情報の包含関係の説明図である。
【図２２】  ステップ２２０の動作を示すフローチャートである。
【図２３】  図１６（１）の文書を木構造にして示す説明図である。
【図２４】  図２３のキーワード情報一時記憶部のデータを示す説明図である。
【図２５】  具体例３のステップ１６０に対応する動作のフローチャートである。
【図２６】  図７（２）の文書を木構造にした説明図である。
【図２７】  図２６の回答候補とキーワードの包含関係を示す説明図である。
【図１】
0004106889.tif 000002
【図２】
0004106889.tif 000003
【図３】
0004106889.tif 000004
【図４】
0004106889.tif 000005
【図５】
0004106889.tif 000006
【図６】
0004106889.tif 000007
【図７】
0004106889.tif 000008
【図８】
0004106889.tif 000009
【図９】
0004106889.tif 000010
【図１０】
0004106889.tif 000011
【図１１】
0004106889.tif 000012
【図１２】
0004106889.tif 000013
【図１３】
0004106889.tif 000014
【図１４】
0004106889.tif 000015
【図１５】
0004106889.tif 000016
【図１６】
0004106889.tif 000017
【図１７】
0004106889.tif 000018
【図１８】
0004106889.tif 000019
【図１９】
0004106889.tif 000020
【図２０】
0004106889.tif 000021
【図２１】
0004106889.tif 000022
【図２２】
0004106889.tif 000023
【図２３】
0004106889.tif 000024
【図２４】
0004106889.tif 000025
【図２５】
0004106889.tif 000026
【図２６】
0004106889.tif 000027
【図２７】
0004106889.tif 000028