JP4106889B2 - 情報検索システム - Google Patents
情報検索システム Download PDFInfo
- Publication number
- JP4106889B2 JP4106889B2 JP2001290552A JP2001290552A JP4106889B2 JP 4106889 B2 JP4106889 B2 JP 4106889B2 JP 2001290552 A JP2001290552 A JP 2001290552A JP 2001290552 A JP2001290552 A JP 2001290552A JP 4106889 B2 JP4106889 B2 JP 4106889B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- keyword
- range
- tag
- answer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、情報検索システム、特に、HTML文書などの構造化された文書から、住所や日時、会社情報、金額、時間、割合などの、あるカテゴリを表す表現である固有表現を回答として出力するためのシステムに関するものである。
【0002】
【従来の技術】
従来の情報検索システムでは、検索結果として、URLなどの文書の位置情報に加えて、その文書のタイトル、要約文、ユーザが入力した検索キーワードの近傍の文字列などを抜粋して表示している。ユーザは、これらの情報から、実際にそれらの文書にアクセスするかどうかを判断して、必要な情報を探し出す必要がある。
しかし、インターネットのように情報量が膨大である場合には、必要な情報を効率的に見つけ出すことは困難である。
【0003】
質疑応答システムは、そうした従来の情報検索システムの問題点を解決するために提案されているシステムであり、ユーザの自然言語形式の質問に対して、回答部分を特定してユーザに返答する。例えば、従来の情報検索システムでは、「ABC株式会社の住所はどこですか?」という質問に対しては、「ABC株式会社」や「住所」をキーワードとして含む文書を見つけることはできるが、実際に、文書にその住所(例えば、○○県△△市という記述)があるかどうかを考慮していない。
【0004】
従来、このような情報検索に関する文献として、「意味制約を用いた日本語質問応答システム」,情報処理学会研究報告,2000-NL-140,pp.173-180(2000)があった。
この「意味制約を用いた日本語質問応答システム」に記載されたシステム(以下、この文献に記載されたシステムを従来システムとして説明する)は、新聞記事などの文章形式になっている情報源を利用して回答を抽出している。この従来システムは、回答を選択するために、全てのキーワードを含む複数の連続文を一つのパッセージ(回答を抽出する範囲)としている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来システムでは、新聞記事を対象文書としているために、例えばHTML文書などの構造化された文書の場合に、単純には適用できず、次のような問題点が発生する。
【0006】
[問題点1]
一般的なHTML文書では、文章だけではなく、タグによってマークアップされた表や箇条書き表現、箇条書きの入れ子構造などを含む。従って、これらのタグを、次のように考慮する必要がある。
(1)従来システムでは、表形式などのレイアウトの違いを考慮せず、パッセージの長さの最小単位を1文単位にしている。しかし、構造化された文書では、表形式の1行を最小単位にしたり、個々の箇条書き毎に最小単位が区切られるようにするなど、レイアウトに応じた最小単位を決める必要がある。以降では、この最小単位を基本範囲と呼ぶ。基本範囲は、従来システムの1文に対応する範囲である。
【0007】
(2)従来システムでは、一つの文に全てのキーワードが含まれていない場合に、隣接する文にパッセージを拡大している。しかし、HTML文書では、<HR>タグの前後で話題が変わるので、このタグを越えてパッセージを拡大すると正しく回答できなくなる。同様に、<H1>タグなどの見出しタグの前後でも、話題が変わると考えられる。従って、これらのタグを越えてパッセージを拡大しないようにする必要がある。
(3)入れ子構造の場合には、入れ子の中にある内容は、入れ子の外にある内容と関連が深い。例えば、「東京で行われる就職セミナーはいつですか?」という質問に対して、次の文書から回答を見つけると仮定する。
【0008】
図2は、文書の一例を示す説明図である。
図示の文書において、キーワードを質問文中の名詞にすると、「東京」と「就職セミナー」になる。図2中の下線部がキーワードである。図中の8行目の「東京」は、10、11行目の二つのセミナーが東京で開催されることを示していて、10、11行目の双方に同じように影響している。即ち、入れ子構造の場合には、入れ子の外にある内容(8行目)は、入れ子の中にある内容(10、11行目)に影響しているのである。また、3行目の見出しタグは、それ以下の全ての行(4〜18行目)に影響していると考えることができる。
しかし、従来システムでは、このような文書構造を考慮していないため、正しい回答が得られない恐れがあった。
【0009】
[問題点2]
従来システムでは、対象文書内で回答を探すことしかできないが、HTML文書などのハイパーテキスト文書では、リンク先の文書に回答があると推定される場合がある。この場合には、リンク先の文書を調べるのが有効である。ただし、例えば、キーワードになっている単語にリンクが設定されている場合に、リンク先の文書を調べるなどの単純な規則にすると、無関係な文書を調べてしまうことになりかねない。なぜなら、リンク先の文書はキーワードを全て含んでいるわけではなく、無関係かもしれないからである。
【0010】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
〈構成1〉
入力された質問文からキーワードを抽出すると共に回答文の属する特定カテゴリを決定し、キーワードを含む構造化された文書を検索して該文書から特定カテゴリに属する文字列を判定して回答文として出力する情報検索システムにおいて、検索した文書中の各文字列にその属するカテゴリを示すカテゴリ情報を付加するカテゴリ情報付加部と、カテゴリ情報の付加した文書に対し所定のルールに基づいてキーワードを含む範囲を基本範囲として設定すると共に、文書のレイアウトに基づいてキーワードを含むレイアウト範囲を影響範囲として設定する文書解析部と、文書の基本範囲と影響範囲に含まれる特定カテゴリの文字列に対しそれぞれの範囲に設定した点数を付与し、最も点数の高い文字列を回答文として判定する回答選択部とを含むことを特徴とする情報検索システム。
【0011】
〈構成2〉
構成1に記載の情報検索システムにおいて、文書解析部は、文書の見出し部分にキーワードが含まれていると該見出し部分から次の見出し部分の前までを影響範囲として設定することを特徴とする情報検索システム。
【0012】
〈構成3〉
構成1に記載の情報検索システムにおいて、文書解析部は、文書のタイトル部にキーワードが含まれていると該文書の全文を影響範囲として設定することを特徴とする情報検索システム。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて詳細に説明する。
《具体例1》
具体例1は、上述した問題点1を解決するために、個々のキーワードが文書内でどこまで影響するか、その範囲を計算することで、文書中に複数存在する回答候補のうちから、適切な回答を選択可能にするシステムである。この具体例1では、対象文書に対して、先ず、基本範囲(キーワードが影響する最小範囲)を決定し、次に、個々のキーワードがどこまで影響しているかその影響範囲(回答抽出の最大範囲)を調べ、この影響範囲に基づいて回答候補を抽出するようにしている。また、文書のレイアウト情報として、HTML文書におけるタグの情報としている。
【0022】
〈構成〉
図1は、本発明の情報検索システムの具体例1を示す構成図である。
図示のシステムは、コンピュータで実現され、制御部1、インタフェース部2、質問解析部3、文書検索部4、文書記憶部5、固有表現タグ付加部6、固有表現パターン記憶部7、文書解析部8、キーワード情報一時記憶部9、回答選択部10を備えている。
【0023】
制御部1は、本情報検索システムにおけるインタフェース部2〜回答選択部10の制御を司るもので、制御用ソフトウェアとこれを実行するためのCPUやメモリなどのハードウェアから実現されている。
インタフェース部2は、ユーザとシステムとの間の情報の入出力を行う機能部であり、例えば、キーボードやポインティングデバイスなどの入力装置やディスプレイやプリンタなどの出力装置から構成されている。
質問解析部3は、入力された質問文を解析し、文書検索部4に渡すキーワードを抽出し、また、どのようなパターンの文字列を回答すればよいかを決定する機能を有している。この処理は、例えば、従来文献に記載の「意味制約の判定」処理と「キーワードの抽出」処理のように行うものである。
【0024】
文書検索部4は、質問解析部3で抽出した検索キーワードによって文書の検索を行う機能部である。これは、例えば従来文献に記載の「文書の取り出し」処理に対応する処理である。文書検索は、AND検索だけでなく、AND/OR検索でもよく、特に検索方法は問わないものである。
文書記憶部5は、本情報検索システムの知識源となる文書集合であり、本具体例では構造化文書(レイアウト情報を有する文書)であるHTML文書とする。文書記憶部5が保持する文書とは、システムがアクセスできる文書ならどこに置いてあっても構わない。例えば、インターネットを経由してアクセスできる文書でもよいし、ローカルに保持した文書であってもよい。
【0025】
固有表現タグ付加部6は、固有表現を示す特定の文字列に対して、その文字列が固有表現であるという情報を付加する固有表現情報付加部である。即ち、この固有表現タグ付加部6は、文書検索部4で検索された文書に対して、固有表現パターン記憶部7のパターンを適用し、固有表現(あるカテゴリを表す表現)に対して、固有表現タグ(どのカテゴリに属するかの情報)を付ける機能部である。固有表現タグには、組織名、部門名、人名、日付などがある。この処理は、従来文献に記載の「固有・数値表現の特定」処理に対応するものである。
固有表現パターン記憶部7は、固有表現タグを付与する規則を記憶するための記憶部である。
【0026】
図3および図4は、固有表現パターン記憶部7のデータ例の説明図である。
この例では、組織タグ、部門タグ、住所タグ、イベントタグ、日付タグの一部のパターンを示している。例えば、固有表現タグ付加部6は、「製品Aの導入セミナーの連絡先はどこですか?」という文字列を入力して、図4の規則8を適用して、「製品Aの<EVENT>導入セミナー</EVENT>の連絡先はどこですか?」という文字列を返す。固有表現タグ付加部6や固有表現パターン記憶部7に関しては、従来と同様の固有表現抽出技術を適用する。例えば、次のようになる。
図5は、タグを付加した文書の説明図である。
図5において、(1)は元の文書であり、この文書にタグを付加したのが(2)の文書である。尚、(2)中の<KEYWORD>タグや<DOT>タグについては後述する。
【0027】
文書解析部8は、タグの包含関係を木構造にし、キーワードの基本範囲と影響範囲の計算を行う機能部である。この処理は、固有表現タグ付加部6によってタグ付けされた文書に対して実行される。
【0028】
文書解析部8は、次のように基本範囲を決定する。
(1)タイトル部分(<TITLE>タグから</TITLE>タグまで)について、タイトル部分(<TITLE>タグから</TITLE>タグまで)を、基本範囲とする。
<BODY>タグ内では、
(2)見出し部分(<Hn>タグから</Hn>タグまで(1≦n))について、見出し部分(<Hn>タグから</Hn>タグまで(1≦n))を、基本範囲とする
(3)<TABLE>タグ内では、個々の行を別々の基本範囲にする。即ち、<TR>タグから</TR>タグまでを一つの基本範囲にする。
【0029】
図6は、他の文書の説明図であり、これは<TABLE>タグを有する文書を示している。
例えば、図6の8行目なら、「<TR><TD>会場</TD><TD>○○市××町1-2△△ビル1F</TD></TR>」を基本範囲とする。
(4)<DL>タグ内では、<DL><DT>の組合せを一つの基本範囲にする。
【0030】
また、上記の(1)から(4)に該当しない場合には、次のようにする。
(5)区切り線(<HR>)、表(<TABLE>)、箇条書き(<UL>、<OL>)、定義型リスト(<DL>)、入力フォーム(<FORM>)、フォーマット済みテキスト(<PRE>)、見出し(<Hn>)など、HTML文書をブラウザで表示したときに、レイアウトが変わったり、区切り線やヘッダが表示される位置で区切る。例えば、図6の6行目からは表形式になってレイアウトが変わるので、5行目の「就職セミナー」がキーワードになっていたら、その基本範囲は5行目だけになる。
(6)<P><LI>タグや句点「。」で区切る。例えば、図5(2)の12行目の「製品B」がキーワードになっていたら、その基本範囲は12行目だけになる。
【0031】
また、影響範囲は次のようにする。図7は、キーワードの影響範囲を示す説明図である。
1.タイトル部分にあるキーワードは、そのファイル全体に影響する。
2.見出し部分にあるキーワードは、章節関係に基づいた影響範囲にする。つまり、次の見出しまたは<HR>タグまで影響する。例えば、図7(1)において、「製品A」と「基本仕様」がキーワードになっていると仮定する。この場合には、「製品A」は、<H1>タグに囲まれているため、次の<H1>タグまでが一つの章に相当する。従って、影響範囲は、「<H1>製品B</H1>」までとなる。また、「基本仕様」は、<H2>タグに囲まれているため、その影響範囲は、次の<H1>または<H2>タグまでが一つの節に相当するので、「<H1>製品B</H1>」までとなる。
3.箇条書きなどが入れ子構造になっている場合には、入れ子の外にあるキーワードは、入れ子内に影響する。例えば、図7(2)の8行目のキーワード「東京」は、9〜12行目に影響する。
4.<DOT>タグを越えて影響範囲を広げる。例えば、図5(2)の12行目の「製品B」は15行目まで影響する。また、この影響範囲は、<P>、<HR>、<TABLE>など、文章が内容的に区切られる位置まで広げる。
【0032】
キーワード情報一時記憶部9は、例えば半導体メモリ上に構成され、文書解析部8で計算された、これらの基本範囲と影響範囲の情報を格納する機能部である。
回答選択部10は、このように決められた基本範囲と影響範囲とを利用して、個々の回答候補に点数をつけ、その評価を行う機能部である。尚、これら質問解析部3、文書検索部4、固有表現タグ付加部6、文書解析部8、回答選択部10は、それぞれ、各機能部に対応したソフトウェアとこれを実行するためのハードウェアから実現されているものである。
【0033】
〈動作〉
図8は、具体例1の動作を示すフローチャートである。
以下、このフローチャートに沿って動作を説明する。ここでは例として、インタフェース部2を通じて、質問文「製品Bに関する連絡先はどこですか?」が入力されたとする。
【0034】
[ステップ100]
質問解析部3は、質問文を解析し、キーワードと、回答として抽出すべき固有表現を決定する。これは、従来文献に記載されている「意味制約の判定」「キーワードの抽出」の方法が適用可能である。例えば、質問文「製品Bに関する連絡先はどこですか?」では、「製品B」「連絡先」がキーワードになる。なぜなら、この質問に含まれる名詞は「製品B」「連絡先」「どこ」であって、このうち、「どこ」は疑問詞であり、ストップワードになるからである。
また、回答として抽出すべき固有表現を決定する。名詞列に「いつ」があれば日付タグ(<DATE>)、「どこ」があれば住所タグ(<ADD>)内の範囲を回答とする。この質問例では、「どこ」があるので住所タグ内の文字列を回答とする。ただし、キーワードや回答すべき固有表現の決定方法は、この方法に限定しない。質問文から判定できなければ、ユーザに再び問い合わせてもよい。
【0035】
[ステップ110]
文書検索部4は、ステップ100で得られたキーワードを入力として、文書記憶部5の文書群に対して検索を行う。結果としてキーワードを含む文書が複数個得られる。例えば「製品B」「連絡先」をキーワードとして検索した結果、次の文書集合を得たとする。
(文書A、文書B、文書C、…)
複数の文書を得た場合には、上位10件など、一部の文書だけをステップ120以降の処理対象としてもよい。
【0036】
[ステップ120]
固有表現タグ付加部6は、ステップ110で得たそれぞれの文書に対して、固有表現タグを付加する。その後に、ステップ100で得たキーワードと同じ文字列を、次の置換規則によってキーワードタグに置換する。
(キーワード)→<KEYWORD WORD=$1 NO=KeyNo>
(例) 製品B→<KEYWORD WORD=製品B NO=1>
ただし、変数KeyNoは、ステップ100で得たキーワードを一意に識別する識別子とする。この例では、「製品B」をKeyNo=1、「連絡先」をKeyNo=2とする。
例えば、「製品B」という文字列が、文書中に出現すると、そこを<KEYWORD WORD=製品B NO=1>で置き換える。また、句点「。」を「。<DOT>」に置き換える。
結果として、図5(1)の文書は図5(2)のようにタグが付けられる。
【0037】
[ステップ130]
文書解析部8は、ステップ120で得られたそれぞれの文書に対して、影響範囲を表す木構造を作成する。この処理は、ステップ130の処理で、基本範囲や影響範囲を計算し易いようにするためである。従って、全てのタグの包含関係を、親子ノードにするのではなく、それらの計算に影響するタグ(<TITLE>、<BODY>、<Hn>、<TABLE>、<TR>、<UL>、<OL>、<DT>、…)に対して親子関係を作る。また、<P>、<LI>タグなど、必ずしも</P>タグなどの終端タグが存在しないものは、親子関係にしない。
図9は、図5(2)の文書に対する木構造を示す説明図である。
図10は、図6の5から8行目の木構造を示す説明図である。
ただし、図10の例では、「就職セミナー」「会場」をキーワードにしている。
尚、この木構造の作成処理は、従来のXMLパーザなどの、XML文書のタグの包含関係を木構造にする技術を利用する。
【0038】
[ステップ140]
ステップ130で得られた木構造に対して、基本範囲を決定する。結果として、キーワード情報一時記憶部9にデータを一時的に保存する。キーワード情報一時記憶部9は、処理対象文書中のキーワードの出現位置に関する情報を保存する。各レコードが、文書中に出現した一つ一つのキーワードに対応する。
図11は、キーワード情報一時記憶部9のデータの説明図であり、図11(1)にこのステップ140におけるキーワード情報一時記憶部9の保存データを示している。
この例は、図9のキーワード情報を示している。キーワード情報一時記憶部9は、ノードID、KeyNo、キーワードの親ノード、キーワードの基本範囲、キーワードの影響範囲の項目を持つ。ノードIDの項目には、図9、図10にある各ノードの左にある数字が入る。例えば、図9のID11、ID26、ID27、ID41がキーワードのノードである。KeyNo項目は、キーワードの識別子である。キーワードの基本範囲項目は、そのキーワードが影響する最小範囲である。図9のID11ならば、ID9からID23になる。キーワードの影響範囲は、そのキーワードが影響する最大範囲である。図9のID11ならば、ID7からID23になる。
キーワード情報一時記憶部9へのデータの登録方法は、深さ優先探索による。根ノード(HTMLタグのノード、図9のID0)を最初の処理対象ノードにして、次に示すステップ1000以降の処理を実行して登録される。
【0039】
図12は、ステップ140の動作を示すフローチャートである。
[ステップ1000]
処理対象ノードの全ての下位ノードで実行したか。実行したなら終了する。そうでなければステップ1010へ行く。
[ステップ1010]
未処理の下位ノードの一つを処理対象ノードにする。
[ステップ1020]
処理対象ノードが、更に下位ノードを持つなら、再帰的に、処理対象ノードに対して、ステップ1000からの処理を実行する。再帰が終了したら、ステップ1000に戻る。図9の例では、処理対象ノードがID5「<H1>」であるときには、下位のノードとしてID6「製品名A」を持つから、ID5を初期ノードとして再帰的にステップ1000を実行する。再帰処理が終了したら、ステップ1000へ戻り、ID5の次のノード(ID7)を実行する。
一方、下位ノードを持たないならステップ1030へ行く。
【0040】
[ステップ1030]
処理対象ノードがキーワードかどうかを調べる。キーワードでないならステップ1000へ戻る。キーワードならばステップ1040へ行く。図9の例では、処理対象ノードがID11、26、27、41の場合にステップ1040へ行く。
[ステップ1040]
処理対象ノードの親ノードを調べる。親ノードが<TITLE>タグまたは<Hn>タグまたは<TR>タグならステップ1050へ行く。図9の例では、ID26の場合が該当する。親ノードが<BODY>タグまたは<UL>タグまたは<OL>タグならステップ1060へ行く。図9の例ではID11、27、41が該当する。親ノードが<DL>タグならステップ1070へ行く。
【0041】
[ステップ1050]
その親ノードの全ての子ノードを基本範囲にする。図9のID26の親ノード(ID25)には、子ノードとしてID26しか該当しない。従って、これだけが基本範囲となる。図10のID16の親ノード(ID14)は、ID15から22までが該当する。このステップ1050が終了するとステップ1080に移行する。
【0042】
[ステップ1060]
キーワードの前後の<DOT><P><HR><LI>タグ、または、子ノードを持つノードまでを基本範囲とする(但し、<DOT><P><HR><LI>タグ、子ノードを持つノード自体は含めない)。例えば、図9のID11のときは、ID9からID23までが該当する。ID27のときは、ID27からID28までが該当する。ID41のときは、ID40からID53までが該当する。このステップ1060が終了するとステップ1080に移行する。
【0043】
[ステップ1070]
キーワードの前後の<DT>タグまでを基本範囲にする(但し、<DT>タグ自体は含めない)。その後、ステップ1080へ行く。
[ステップ1080]
キーワード情報一時記憶部9に新しいレコードを追加する。基本範囲項目には、ステップ1050からステップ1070までで決定された基本範囲を設定する。ステップ1000に戻り、次のノードについて処理する。
このようなステップ140の処理を全て行うと、図11(1)のようになる。
【0044】
[ステップ150]
文書解析部8は、ステップ140で得られたキーワード情報一時記憶部9の個々のレコードに対して、影響範囲項目を計算する。これは次に説明するステップ1100以降の処理を実行してデータが設定される。
図13は、ステップ150の処理の動作を示すフローチャートである。
[ステップ1100]
そのレコードの親ノード項目を調べる。
そのキーワードの親ノードが<TITLE>タグならばステップ1120へ行く。
そのキーワードの親ノードが<Hn>タグならばステップ1130へ行く。
そのキーワードの親ノードが<UL><OL>タグならばステップ1140へ行く。
そのキーワードの親ノードが<BODY>タグならばステップ1150へ行く。
それ以外の場合には、ステップ1160へ行く。
図9の例では、処理対象ノードがID26の場合にステップ1130へ行く。また、処理対象ノードがID11、27、41の場合にステップ1150へ行く。
【0045】
[ステップ1120]
その親ノードから、最後のIDまでを影響範囲とし、影響範囲項目に値を登録する。ステップ1100に戻る。
[ステップ1130]
その親ノードが、<Hn>タグならば、そのタグ以降に現れる<HR>タグ、または次の<H1>タグまでの間を影響範囲とする。<H2>タグならば、そのタグ以降に現れる<HR>タグ、または、次の<H1>タグまたは<H2>タグまたは<H3>タグまたは<H4>タグまでの間を影響範囲とする。即ち、章節関係に基づいた影響範囲を求める。
そして、影響範囲項目に値を登録する。その後、ステップ1100に戻る。
図9のID26の影響範囲は、親ノード(ID25)の位置からID53までになる。
【0046】
[ステップ1140]
そのキーワードの前後の<LI>タグの間の全ての要素を影響範囲とし、影響範囲項目に値を登録する。その後、ステップ1100に戻る。
[ステップ1150]
そのキーワードの前後の<P><HR>タグまたは下位ノードを持つノードまでを影響範囲とする。これにより、基本範囲の決定で<DOT>タグで区切られていた範囲がつながって一つの影響範囲になる。影響範囲項目に値を登録し、ステップ1100に戻る。図9のID11の影響範囲は、ID5が子ノードをもつので、ID7から始まる。また、ID24が<HR>タグなので、ID23までになる。図9のID27の影響範囲は、ID25が子ノードをもつので、ID27から始まる。また、ID39が<P>タグなので、ID38までになる。図9のID41の影響範囲は、ID39が<P>タグなので、ID40から始まる。また、ID53までになる。
【0047】
[ステップ1160]
影響範囲を基本範囲と同じにする。その後ステップ1100に戻る。
全ての影響範囲を計算した結果は、図11(2)に示すようになる。
【0048】
[ステップ160]
回答選択部10は、回答候補を見つけ、回答に点数をつける。次に説明するステップ1200以降の処理を実行して決定される
図14は、ステップ160の動作を示すフローチャートである。
[ステップ1200]
木構造に対して、深さ優先探索を行い、全ての回答候補を抽出する。回答候補は、ステップ100で質問文から判断された固有表現タグ内の文字列である。「製品Bに関する連絡先はどこですか?」ならば<ADD>タグ内を回答候補にする。この例では、ID21〜23「△△市◎◎町5-6 △△ビル3F」とID51〜53「△△市◎◎町5-6 △△ビル4F」になる。
【0049】
[ステップ1210]
それぞれの回答候補の範囲と、キーワード情報一時記憶部9の基本範囲、影響範囲を比較する。キーワード情報一時記憶部9の基本範囲や影響範囲を比較する。キーワード情報一時記憶部9の基本範囲や影響範囲に回答候補が包含されていれば点数を与える。加算点数は影響範囲≦基本範囲とする。
図15は、図9の回答候補とキーワードの包含関係を示す説明図である。
図中、実線が基本範囲との包含関係、破線が影響範囲との包含関係である。この場合、回答候補(ID21〜23)は、ID11のキーワードの基本範囲(ID9〜23)に包含されている。一方、回答候補(ID51〜53)は、ID41のキーワードの基本範囲(ID40〜53)とID26の影響範囲(ID25〜53)に包含されている。仮に、基本範囲の包含関係に2点、影響範囲の包含関係に1.5点加算すると、回答候補(ID51〜53)の方が点数が高くなり、回答と判断される。
【0050】
[ステップ170]
検索された全ての文書の回答候補のうち、最高点の候補を回答とする。その際、同一文字列の回答候補の点数を足し合わせるなど、従来文献に記載の方法を採用してもよい。
【0051】
〈効果〉
以上のように、具体例1によれば、HTML文書の構造を利用して、キーワードの基本範囲と影響範囲を計算した。この方法によれば、HTML文書に対して、見出しなどの離れた位置のキーワードが回答選択に影響を与える場合に対応でき、正確に回答を抽出することができる。
【0052】
《具体例2》
ハイパーテキスト文書には、他の文書のリンクが存在する。従って、具体例1におけるステップ110で得た文書群の、リンク先の文書に回答があることがある。
図16は、リンクが存在する文書の一例を示す説明図である。
例えば、「製品Bに関する連絡先はどこですか?」という質問で、図16(1)の15行目のように、キーワード「連絡先」にリンクが設定されている場合に、このリンクは、もう一つのキーワード「製品B」の影響範囲内にあり(「製品B」の親ノードが<H1>であるため影響範囲は「製品B」から文書Aの終端までとなるため)、このリンク先の文書「address.html」(図16(2))に回答がある可能性が高い。
そこで、具体例2では、キーワードの影響範囲を利用して、リンク先の文書も回答を探す対象にするかどうかを判断する。
【0053】
〈構成〉
図17は、具体例2の情報検索システムの構成図である。
図示のシステムは、制御部1、インタフェース部2、質問解析部3、文書検索部4、文書記憶部5、固有表現タグ付加部6、固有表現パターン記憶部7、文書解析部8、キーワード情報一時記憶部9、回答選択部10、リンク先探索判断部11から構成されており、これは具体例1のシステム構成にリンク先探索判断部11を追加したものである。リンク先探索判断部11は、<A HREF="http://***">タグに囲まれているキーワードを見つけ出し、そのリンク先の文書に対して回答抽出処理を実行するかどうかを判断する機能を有している。そして、リンク先の文書に対して回答抽出処理を実行する場合には、リンク元の文書の回答抽出処理ではキーワードを含んでいなくてもよいように処理する。
その他の構成については具体例1と同様であるため、ここでの説明は省略する。
【0054】
〈動作〉
図18は、具体例2の動作を示すフローチャートである。
以下の例では「製品Bに関する連絡先はどこですか?」という質問で、図16(1)(2)の文書を対象にして回答を抽出する。
具体例2は、先ず、具体例1のステップ110に相当する処理が異なる。ステップ110の代わりに次のステップ200の処理を行う。
【0055】
[ステップ200]
具体例1では、検索結果の文書を、
(文書A、文書B、文書C、…)
のように、文書名の配列構造で格納していた。具体例2では、ステップ110に相当する処理で検索された文書と、リンク先探索判断部11によって新たに回答抽出処理の対象になった文書とを区別する方法がある。そこで、ステップ200では、次のように、2次元配列にする。
((文書A,null),
(文書B,null),
(文書C,null)、…)
各列の1列目は文書名である。2列目は、その文書が、ステップ110に相当する処理で検索された文書ならnullである。リンク先探索判断部11によって追加された文書なら、リンク元の文書のキーワード情報一時記憶部9から、その文書に引き継がれるキーワードを格納する。例えば、リンク先探索判断部11によって、文書Aの処理中に、リンク先の文書「http://www.aa.co.jp/address.html#productB」が対象になり、その文書に、KeyNoが1、2のキーワードが引き継がれたとする。この場合には、次のように、文書Aの後に、文書「http://www.aa.co.jp/address.html#productB」を追加する。
((文書A,null),
(http://www.aa.co.jp/address.html#productB,(1,2)),
(文書B,null),
(文書C,null)、…)
【0056】
また、この引き継がれたキーワードを利用して回答候補の点数づけを行うために、ステップ160に相当する処理が異なる。ステップ160の代わりにステップ210の処理を行う。
[ステップ210]
回答選択部10は、回答候補を見つけ、回答に点数を付ける。次のステップ1300以降の処理を実行して決定される。
図19は、ステップ210の処理を示すフローチャートである。
[ステップ1300]
木構造に対して深さ優先探索を行い、全ての回答候補を抽出する。但し、処理対象の文書名が「http://www.aa.co.jp/address.html#productB」のように、「#name」部分を含むかどうかを調べる。含むならステップ1310へ行く。
【0057】
[ステップ1310]
「#name」がある場合には、リンク先の文書で、<A NAME="name">以降の範囲で回答候補を抽出する。従って、木構造の中で、<A NAME="name">タグを見つけ、それ以降の範囲で、深さ優先探索を行い、回答候補を抽出する。その後ステップ1330へ行く。
例えば、図16(2)の文書「http://www.aa.co.jp/address.html」は、次の図20に示すような木構造となる。
図20は、図16(2)の文書の木構造を示す説明図である。
この場合には、<A NAME="productB">タグを見つけ、それ以降の範囲(ID16からID25)から回答候補を抽出する。結果として、ID21〜23「△△市◎◎町5-6 △△ビル4F」が回答候補になる。
【0058】
[ステップ1320]
木構造に対して、深さ優先探索を行い、全ての回答候補を抽出する。その後、ステップ1330へ行く。
[ステップ1330]
それぞれの回答候補の範囲と、キーワード情報一時記憶部9の基本範囲、影響範囲、リンク元の文書から引き継がれたキーワードを比較する。キーワード情報一時記憶部9の基本範囲や影響範囲に回答候補が包含されていれば点数を与える。加算点数は、影響範囲≦基本範囲とする。
また、リンク元の文書から引き継がれたキーワードは、その文書全体または<A NAME="productB">タグ以降に影響していると考え、点数を与える。即ち、具体例2では、文書解析部8において、リンク元の文書から引き継がれたキーワード(リンク先の文書を回答候補文書とするか否かを判断するために用いたキーワード)の影響範囲は、文書全体または<A NAME="productB">タグといったような特定の位置以降として計算する。また、回答選択部10における加算点数の付与は、影響範囲の点数と同じとする。
【0059】
図21は、図20の回答候補とキーワード情報の包含関係の説明図である。
図中、太線がリンク先の文書から引き継がれたキーワードとの関係である。この場合、回答候補(ID21〜23)は、引き継がれたキーワードとの関連があり、それぞれ1.5点ずつ加算されている。但し、キーワード情報一時記憶部9のID3は、KeyNoが引き継がれたキーワードと重複するので加算していない。
以上のように、リンク先の文書に対して点数加算処理が実行される。
【0060】
また、具体例2では、ステップ210とステップ170との間に次のステップ220を挿入する。
[ステップ220]
ステップ150の処理で、キーワード情報一時記憶部9にデータが登録されている。
リンク先探索判断部11は、キーワード情報一時記憶部9の個々のレコードに対して、そのキーワードが<A>タグ(アンカータグ)で囲まれているかどうかを調べ、囲まれている場合には、そのリンク先の文書も処理対象にするかどうかを判断する。
具体的には次の図22に示す処理を実行する。
【0061】
図22は、ステップ220の動作を示すフローチャートである。
[ステップ1400]
キーワード情報一時記憶部9の全てのレコードに対して、以下の処理を実行したら終了する。そうでないなら、処理対象のレコードを決定して、ステップ1410へ行く。
[ステップ1410]
そのキーワードが<A>タグで囲まれ、他の文書へのリンクになっているかどうかを調べる。そのキーワードのIDから、IDを1ずつ減らしていき、基本範囲を超えるまでに、先に</A>が見つかったら、<A>タグで囲まれていない。先に<A>タグが見つかり、それが他の文書へのリンクであるならステップ1420へ行く。基本範囲を超えたら、<A>で囲まれていない。
<A>タグで囲まれていないと判断されたら、ステップ1400へ戻り、次の要素で実行する。
【0062】
図23は、図16(1)の文書を木構造にして示す説明図である。
また、図24は、図23のキーワード情報一時記憶部9のデータを示している。
図23のID12については、ID10に<A>タグがあり、他の文書へのリンクになっているので、ステップ1420へ行く。ID33も同様である。ID17、18は<A>タグで囲まれていない。
[ステップ1420]
キーワード情報一時記憶部9の他のレコードの基本範囲または影響範囲に、そのキーワードが含まれているかどうかを調べる。質問文中のキーワードの全てのKeyNoが含まれていたら、その<A>タグに記載されている文書も処理対象にするために、ステップ1430へ行く。そうでないならステップ1400へ戻り、次の要素で実行する。例えば、ID12は、他のレコードの基本範囲にも影響範囲にも含まれていない(図24参照)ので、ステップ1400に戻る。ID33は、第2レコードのID17の影響範囲に含まれる。ID33のKeyNoは2で、ID17のKeyNoは1であり、質問文中の全てのキーワードに含まれていることになるので、ステップ1430へ行く。
【0063】
[ステップ1430]
このアドレスを第1列に、処理対象のキーワードのKeyNoと、このキーワードを影響範囲に含んでいる他のキーワードのKeyNoを第2列にして、ステップ110に相当する処理で得た文書群に追加する。これが、上述した文書(http://www.aa.co.jp/address.html#productB,(1,2))である。
その後は、ステップ1400へ戻り、次のレコードで実行する。
【0064】
〈効果〉
以上のように、具体例2では、キーワードの影響範囲を利用して、リンク先の文書も回答を探す対象とするかどうかを判断するようにしたので、具体例1の効果に加えて、回答があると思われるリンク先の文書を、文書構造から判断することができる効果がある。
【0065】
《具体例3》
具体例1では、回答候補の位置と影響範囲との包含関係を利用して回答を決定していた。しかし、具体例1では、単に包含関係だけを利用していただけで、個々のキーワードがどのようなタグ内にあるのか、キーワードと回答候補の位置との距離関係などを考慮していなかった。そこで、具体例3では、それらの違いに応じて回答候補に与える点数を変えるようにしている。
【0066】
〈構成〉
具体例3の図面上の構成については図1に示した具体例1と同様であるため、ここでの説明は省略し、以降、図1の構成を援用して説明する。
具体例3の回答選択部10は、キーワードが、例えばタイトル中にあるか、見出し中にあるかといった、キーワードの存在する位置や、キーワードと回答候補との距離に基づいて回答候補に付与する点数を増減させるようにしたものである。尚、それ以外の基本的な構成は具体例1、2と同様である。
図6のように、表構造になっている場合には、キーワードと回答が同じ行にある確率が高いために、高得点を与える。例えば、「就職セミナーの会場はどこですか?」という質問で、図10のように、ID16の親ノードが<TR>タグの場合に、その基本範囲内にある回答(ID19から21)に高得点を与える。また、回答候補とキーワードが別々の文にある場合には、その距離が離れているほど点数を下げる。
また、「東京で行われる就職セミナーはいつですか?」という質問で、図7(2)の文書から回答を選ぶ場合には、8行目のキーワード「東京」と入れ子関係になっている10行目と11行目の「<DATE>2001年7月10日</DATE>」と「<DATE>2001年7月15日</DATE>」に同点数を与える。
【0067】
〈動作〉
具体例3では、具体例1のステップ160に対応する回答候補の点数付け処理を次のように変更する。
図25は、ステップ160に対応する動作のフローチャートである。
[ステップ1500]
木構造に対して深さ優先探索を行い、全ての回答候補を抽出する。この処理は図14のステップ1200と同じ処理である。
[ステップ1510]
それぞれの回答候補の範囲と、キーワード情報一時記憶部9の基本範囲を比較する。基本範囲と包含関係にある組合せ(図15において、実線になっている組合せ)に対して2点加算する。但し、キーワードの親ノードが<TR>タグである場合には3点加算する。
【0068】
[ステップ1520]
それぞれの回答候補の範囲と、キーワード情報一時記憶部9の影響範囲とを比較する。影響範囲と包含関係にある組合せ(図15において、破線になっている組合せ)に対して加算する。加算点数は次のようにする。
(1)そのキーワードの親ノードが<TITLE>タグならば、1.2点を加算する。
(2)そのキーワードの親ノードが<Hn>ならば、1.5点を加算する。例えば、図15において、ID41の親ノードは<H1>タグなので、ID41と回答候補の第1レコードの間では、1.5点加算する。結果として、ID41の合計点数は3.5点になる。
(3)そのキーワードの親ノードが<UL>または<OL>タグで、キーワードと回答候補が入れ子関係ならば(例えば、図7(2)の8から12行目の場合)、1.5点を加算する。
【0069】
図26は、図7(2)の文書を木構造にした説明図である。
また、図27は、図26の回答候補とキーワードの包含関係を示す図である。
図27で、回答候補(ID25〜27)と、回答候補ID33〜35は、ID19のキーワードと入れ子関係があり、1.5点が加算されている。
(4)そのキーワードの親ノードが<UL>または<OL>または<BODY>タグである場合には、その間に<DOT>タグの数に応じて1/n点(nはキーワードと回答の間の<DOT>の数)を加算する。
ただし、各加算点数はこれらの値に限定するものではなく、適宜、選択が可能である。
【0070】
〈効果〉
具体例3では、個々のキーワードが、どのようなタグ内にあるのか、キーワードと回答候補の位置関係などを考慮して回答候補に与える点数を変えるようにしたので、より妥当な回答を選択することができる。
【0071】
《利用形態の説明》
上記各具体例は次のように構成してもよい。
(1)ユーザへの情報提示方法は、固有表現などの回答パターンに一致した範囲だけをユーザに表示してもよいし、範囲内にあるキーワードを含めて、一定範囲の情報を表示してもよい。
(2)ステップ100で得られたキーワードを入力として、文書検索部4で検索する際に類語辞書を用いてキーワードを拡張してもよい。
(3)文書記憶部5に格納されている文書には、予め固有表現を示す情報が付加されていてもよい。例えば、予め、固有表現タグ付加部6によって、固有表現を示すためのタグが付加されていてもよい。このようにすれば、実際の処理での固有表現タグの付加作業が省略できるため、より処理を高速化することができる。(4)KeyNoが同一のものが複数ある場合には、1回だけ加点してもよいし、そうでなくてもよい。
【0072】
(5)具体例1におけるステップ170で、最高点の候補のみを回答としていたが、例えば、一定点数以上の候補を全て回答としたり、全てのKeyNoに対して影響関係があった候補を全て回答とすることで、複数の回答を返してもよい。
(6)表構造の影響範囲を、1行毎にしていたが、影響範囲を表全体にしてもよい。または、そのキーワードが表の1行目だった場合にのみ、影響範囲を表全体にしてもよい。
(7)具体例2では、リンク先の文書から更にリンク先の文書がある場合、リンクの階層毎に点数付けの値を低くするよう構成してもよい。
(8)各具体例では、レイアウト情報をHTML文書におけるタグによるものとしたが、これ以外のものでも、例えばタイトルや見出しあるいはリンク関係といった文書のレイアウトが判断できるものであればどのようなものであってもよい。
【図面の簡単な説明】
【図1】 本発明の情報検索システムの具体例1を示す構成図である。
【図2】 文書の一例を示す説明図である。
【図3】 固有表現パターン記憶部のデータ例の説明図(その1)である。
【図4】 固有表現パターン記憶部のデータ例の説明図(その2)である。
【図5】 タグを付加した文書の説明図である。
【図6】 他の文書の一例を示す説明図である。
【図7】 キーワードの影響範囲を示す説明図である。
【図8】 具体例1の動作を示すフローチャートである。
【図9】 図5(2)の文書に対する木構造を示す説明図である。
【図10】 図6の文書(一部)の木構造を示す説明図である。
【図11】 キーワード情報一時記憶部のデータを示す説明図である。
【図12】 ステップ140の動作を示すフローチャートである。
【図13】 ステップ150の動作を示すフローチャートである。
【図14】 ステップ160の動作を示すフローチャートである。
【図15】 図9の回答候補とキーワードの包含関係を示す説明図である。
【図16】 リンクが存在する文書の一例を示す説明図である。
【図17】 具体例2の情報検索システムの構成図である。
【図18】 具体例2の動作を示すフローチャートである。
【図19】 ステップ210の処理を示すフローチャートである。
【図20】 図16(2)の文書の木構造を示す説明図である。
【図21】 図20の回答候補とキーワード情報の包含関係の説明図である。
【図22】 ステップ220の動作を示すフローチャートである。
【図23】 図16(1)の文書を木構造にして示す説明図である。
【図24】 図23のキーワード情報一時記憶部のデータを示す説明図である。
【図25】 具体例3のステップ160に対応する動作のフローチャートである。
【図26】 図7(2)の文書を木構造にした説明図である。
【図27】 図26の回答候補とキーワードの包含関係を示す説明図である。
Claims (3)
- 入力された質問文からキーワードを抽出すると共に回答文の属する特定カテゴリを決定し、前記キーワードを含む構造化された文書を検索して該文書から前記特定カテゴリに属する文字列を判定して前記回答文として出力する情報検索システムにおいて、
前記検索した文書中の各文字列にその属するカテゴリを示すカテゴリ情報を付加するカテゴリ情報付加部と、
前記カテゴリ情報の付加した文書に対し所定のルールに基づいて前記キーワードを含む範囲を基本範囲として設定すると共に、前記文書のレイアウトに基づいて前記キーワードを含むレイアウト範囲を影響範囲として設定する文書解析部と、
前記文書の前記基本範囲と前記影響範囲に含まれる前記特定カテゴリの文字列に対しそれぞれの範囲に設定した点数を付与し、最も点数の高い文字列を前記回答文として判定する回答選択部と、
を含むことを特徴とする情報検索システム。 - 前記文書解析部は、前記文書の見出し部分に前記キーワードが含まれていると該見出し部分から次の見出し部分の前までを前記影響範囲として設定することを特徴とする請求項1記載の情報検索システム。
- 前記文書解析部は、前記文書のタイトル部に前記キーワードが含まれていると該文書の全文を前記影響範囲として設定することを特徴とする請求項1記載の情報検索システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001290552A JP4106889B2 (ja) | 2001-09-25 | 2001-09-25 | 情報検索システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001290552A JP4106889B2 (ja) | 2001-09-25 | 2001-09-25 | 情報検索システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003099454A JP2003099454A (ja) | 2003-04-04 |
JP4106889B2 true JP4106889B2 (ja) | 2008-06-25 |
Family
ID=19112849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001290552A Expired - Fee Related JP4106889B2 (ja) | 2001-09-25 | 2001-09-25 | 情報検索システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4106889B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323670A (ja) * | 2005-05-19 | 2006-11-30 | Nippon Telegr & Teleph Corp <Ntt> | 方法質問応答方法、方法質問応答装置およびプログラム |
JP4129048B2 (ja) | 2005-06-15 | 2008-07-30 | 松下電器産業株式会社 | 固有表現抽出装置、方法、及びプログラム |
-
2001
- 2001-09-25 JP JP2001290552A patent/JP4106889B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003099454A (ja) | 2003-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6957213B1 (en) | Method of utilizing implicit references to answer a query | |
CN101454750B (zh) | 命名实体的消歧 | |
US6823325B1 (en) | Methods and apparatus for storing and retrieving knowledge | |
US9002764B2 (en) | Systems, methods, and software for hyperlinking names | |
US8412514B1 (en) | Method and apparatus for compiling and querying a QA database | |
JP3027052B2 (ja) | 文書検索システム | |
JP3696731B2 (ja) | 構造化文書の検索方法および装置および構造化文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20040268236A1 (en) | System and method for structured document authoring | |
US20020133483A1 (en) | Systems and methods for computer based searching for relevant texts | |
JP4521343B2 (ja) | 文書処理装置及び文書処理方法 | |
JPH11110416A (ja) | データベースからドキュメントを検索するための方法および装置 | |
JP4347226B2 (ja) | 情報抽出プログラムおよびその記録媒体、情報抽出装置ならびに情報抽出規則作成方法 | |
JP4502114B2 (ja) | データベース検索装置 | |
JPWO2003034279A1 (ja) | 情報検索方法、情報検索プログラム、情報検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2020098596A (ja) | ウェブページから情報を抽出する方法、装置及び記憶媒体 | |
Pasini et al. | Huge automatically extracted training sets for multilingual word sense disambiguation | |
JP3617096B2 (ja) | 関係表現抽出装置および関係表現検索装置、関係表現抽出方法、関係表現検索方法 | |
JP4143085B2 (ja) | 同義語獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体 | |
JPH0844771A (ja) | 情報検索装置 | |
JP4106889B2 (ja) | 情報検索システム | |
JP4439497B2 (ja) | 検索処理装置及びプログラム | |
KR20030006201A (ko) | 홈페이지 자동 검색을 위한 통합형 자연어 질의-응답시스템 | |
KR100376931B1 (ko) | 정보 검색 기술을 이용한 한영번역 데이터베이스 시스템 구축 방법 | |
JPH09319767A (ja) | 類義語辞書登録方法 | |
JPH11259524A (ja) | 情報検索システム、情報検索システムにおける情報処理方法および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080324 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |