JP4381423B2 - 文書収集装置、文書収集方法、プログラムおよび記録媒体 - Google Patents

文書収集装置、文書収集方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP4381423B2
JP4381423B2 JP2007011181A JP2007011181A JP4381423B2 JP 4381423 B2 JP4381423 B2 JP 4381423B2 JP 2007011181 A JP2007011181 A JP 2007011181A JP 2007011181 A JP2007011181 A JP 2007011181A JP 4381423 B2 JP4381423 B2 JP 4381423B2
Authority
JP
Japan
Prior art keywords
document
block
search
character string
text
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.)
Active
Application number
JP2007011181A
Other languages
English (en)
Other versions
JP2008176685A (ja
Inventor
吉秀 佐藤
晴美 川島
裕一郎 関口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007011181A priority Critical patent/JP4381423B2/ja
Publication of JP2008176685A publication Critical patent/JP2008176685A/ja
Application granted granted Critical
Publication of JP4381423B2 publication Critical patent/JP4381423B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、インターネットを始めとするネットワーク上に存在するHTML等の構造化された文書データから、検索エンジンを用いて、任意のキーワードを含む文書データを検索し、ヘッダやフッタ等、本文以外の情報を除いた純粋な本文文字列を収集する技術に関する。
インターネット等のネットワーク上に存在するHTML形式の文書データには、本文以外の情報として、タイトル、作成日時(タイムスタンプ)、作者、サイト内の他のページに移るためのリンクを含むメニュー欄、また場合によっては企業広告等、様々な付随情報が記述されている。
無数に存在する文書データから、所望の文書データを効率よく獲得するために、検索エンジンが構築され、検索サービスとして提供されている。利用者が、あるキーワードを含む文書を収集しようとする場合、通常は、このような検索サービスを利用する。
様々な付随情報を含む文書データを対象とする検索エンジンにおいて、タイトル、タイムスタンプ、作者、メニュー、広告等の付随情報を含んだままの状態で、検索用インデクスを生成すると、利用者が入力した検索キーワードを、本文中に含む文書のみを必ず発見できるとは限らない。
たとえば、○○新聞社が関与する事件に関するニュース記事を収集するために「○○新聞」というキーワードで検索すると、○○新聞社が発行するニュース記事全てがヒットすることがあり、収集効率が著しく低下する。
一部の検索エンジンでは、このような問題に対処するために、HTML形式の文書データから、付随情報を除いた本文のみを抽出することによって、本文のみからインデクスを生成する技術を導入している。
HTML形式の文書データを複数の領域に分割し、これら複数の領域のうちで、同一ドメイン内の多数の文書データ中で、共通して出現する領域は、メニューや広告等であり、共通して出現する頻度が低い領域が本文であると判定する技術が知られている(たとえば、特許文献1参照)。
上記従来例において、本文の領域が決定された後に、本文の出現位置を、抽出規則として保存し、この保存されている抽出規則に基づいて、新規の文書から、本文を自動的に抽出する。このようにして、利用者は、検索キーワードを本文中に含む文書を発見することができる。
特開2004−220251号公報
しかし、利用者が、通常の検索エンジンを用いて文書を収集する場合、概要を示すために、本文の一部を抜粋した抜粋文のみが、検索エンジンから提供されるので、本文全体を収集するためには、上記文書へのリンク情報を利用して、ネットワーク上から文書データを取得し、そこからさらに本文を抜き出す必要がある。つまり、検索エンジンがインデクス生成のために内部で実行しているのと同様の処理を、利用者が実行する必要がある。
したがって、上記従来例では、本文を抽出する場合、結局、検索エンジンで導入されている設備と同等の大規模な設備を導入するので、一般の利用者が実現することは、事実上不可能であるという問題がある。
また、上記従来技術では、本文を抽出する抽出規則を獲得する場合、同一ドメイン内の多数の文書データを使用するので、同一ドメイン内で多数の文書データが存在していることが前提であり、特定の検索キーワードを含む文書データのみでは、文書データの数が不足することが多いという問題がある。
本発明は、インターネット等のネットワーク上に存在するHTML等の構造化された膨大な文書データから、利用者が入力した検索キーワードを含む文書の本文全体を収集する場合、検索エンジンが採用するような大規模な設備を構築せずに、検索キーワードを含む文書の本文全体を収集することができる文書収集装置、文書収集方法、プログラムおよび記録媒体を提供することを目的とする。
また、本発明は、インターネット等のネットワーク上に存在するHTML等の構造化された膨大な文書データから、利用者が入力した検索キーワードを含む文書の本文全体を収集する場合、上記検索キーワードを含む文書が1件であっても、検索キーワードを含む文書の本文全体を収集することができる文書収集装置、文書収集方法、プログラムおよび記録媒体を提供することを目的とする。
本発明は、ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集する文書収集装置であって、ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得する文書検索部と、上記文書検索部が取得した文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得する検索結果解析部と、上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得するページ取得部と、上記ページ取得部が取得した文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得するブロック分割部と、上記ブロック分割部が取得した1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択するブロック選択部と、上記ブロック選択部が選択した文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定する本文判定部とを有する文書収集装置である。
本発明によれば、インターネット等のネットワーク上に存在するHTML等の構造化された膨大な文書データから、利用者が入力した検索キーワードを含む文書の本文全体を収集する場合、検索エンジンが採用するような大規模な設備を構築せずに、検索キーワードを含む文書の本文全体を収集することができるという効果を奏する。
また、本発明は、インターネット等のネットワーク上に存在するHTML等の構造化された膨大な文書データから、利用者が入力した検索キーワードを含む文書の本文全体を収集する場合、上記検索キーワードを含む文書が1件であっても、検索キーワードを含む文書の本文全体を収集することができるという効果を奏する。
発明を実施するための最良の形態は、以下の実施例である。
図1は、本発明の実施例1である文書収集装置100を示すブロック図である。
文書収集装置100は、文書検索部1と、検索結果解析部2と、検索結果管理部3と、ページ取得部4と、ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集する文書収集装置であって、ブロック分割部5と、ブロック記録部6と、抜粋文部分文字列取得部7と、ブロック選択部8と、本文判定部9と、文書記録部10とを有する。
文書検索部1は、ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得する文書検索部である。
文書検索部1は、利用者が入力する検索キーワードを受け付け、インターネット等のネットワークNW上で運営されている検索エンジン20を利用し、上記検索キーワードを含む文書を検索する文書検索部である。上記検索エンジン20は、HTML(HyperText Markup Language)やRSS(Rich Site Summary)等と呼ばれる構造化された形式で、検索結果を返送する。通常、利用者がネットワークNW上の検索エンジン20を利用する場合、HTML形式で取得した検索結果を、ブラウザ(Browser)と呼ぶ閲覧ソフトで、可読性を高め、これを表示、閲覧することが多い。
HTMLも、RSSも、検索結果に関する様々な情報が、タグによって構造化された状態で格納されている点では同じである。つまり、検索結果ページのタイトルや検索時刻、検索によって見つかった文書(以下、「ヒット文書」と呼ぶ)のタイトル、上記ヒット文書の概要を示す本文の抜粋文、上記ヒット文書の全文を表示するためのリンク情報であるURL(Uniform Resource Locator)等、検索結果に関する様々な情報が、タグによって構造化された状態で格納されている点では、HTMLも、RSSも、同じである。
図2は、「restaurant」という検索キーワードについての検索結果(RSS)の例を示す図である。
図2において、左端に示す数字は、行数であり、実際のRSSには含まれていない。
0行目は、文字コード等を記述した行である。2行目と33行目とは、RSSの開始と終了とを示すタグであり、対になっている。このように、RSSでは、<タグ>……</タグ>の形式でタグの開始と終了とを表わし、開始タグと終了タグとの間に、文字列を挟むことによって、各文字列を構造的に意味付けしている。
4行目〜7行目は、検索結果全体に共通する事項を記述する行であり、本検索結果を再取得するために必要なURL、「restaurant」というキーワードで検索した結果であることを示すタイトル、検索を実行した時刻等が記述されている。
4行目と7行目とは、channelタグの開始と終了とを表わし、channelタグの内側にtitleタグとdc:dateタグとを含む階層構造を有する。
9行目以降が、ヒット文書を列挙している箇所である。9行目の<item>タグから14行目の</item>タグまでが、1件目のヒット文書を示す。
10行目のtitleタグは、上記文書のタイトルであり、11行目のlinkタグは、上記文書を取得するためのURLであり、12行目のdescriptionタグは、上記文書の概要を把握するために抜粋された本文の一部である。13行目のdc:dateタグは、上記文書の更新時刻を示す。
16行目〜21行目は、2件目のヒット文書の情報を、1件目と同様の構造で記述した箇所である。以下、上記と同様に、23行目〜27行目は、3件目の文書、……と続く。
文書検索部1は、上記RSSを検索結果解析部2に送出し、処理を終わる。
検索結果解析部2は、上記RSSのタグ構造を解析し、ヒット文書のURLと抜粋文とを全て取得し、各文書を識別する文書IDを付与し、検索結果管理部3に格納する。つまり、検索結果解析部2は、文書検索部が取得した文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得する検索結果解析部の例である。この処理は、図2に示す例において、<item>タグの開始位置と、これに対応する終了タグとを検出し、上記タグ間に含まれているlinkタグとdescriptionタグとによって提供される文字列を取得し、さらに、この処理を、全てのitemタグについて繰り返す処理である。
図2に示す例において、descriptionタグで挟まれている文字列には、前後が省略されたことを示す「……」の記号が含まれているが、これらの記号を、記録する際には削除する。
図3は、検索結果管理部3に記録されているデータの例を示す図である。
文書ID d1、d2、d3、……は、文書を識別する文書IDであり、各文書IDに対応して、上記RSSを解析して取得したURLと、抜粋文とが記録されている。
ページ取得部4は、検索結果管理部3から、文書IDとURLとによって構成されている組を、1組ずつ取得し、上記URLに基づいて、ネットワークNW上からヒット文書の本文を含むHTMLデータを取得する。そして、文書IDと上記HTMLデータとを、ブロック分割部5に送出する。ページ取得部4とブロック分割部5とが行う2つの処理を、全ての文書について繰り返す(図9参照)。すなわち、ページ取得部4は、タグによって構造化された文書データを取得する手段の例である。
つまり、ページ取得部4は、リンク情報に基づいて、ネットワーク上からリンク先ページの文書データを取得するページ取得部の例である。
ブロック分割部5は、HTMLデータを、ブロックと呼ぶいくつかの領域に分割し、各ブロックに含まれている文字情報を取得する。つまり、ブロック分割部5は、ページ取得部が取得した文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得するブロック分割部の例である。ブロックに分割する目的は、HTMLデータ中の不要な情報を省き、純粋な本文のみを取得するためである。ただし、この時点では、分割されたブロックのうちで、本文であるブロックを特定することが不可能であるので、複数のブロックを本文の候補として取得する。
次に、HTMLデータの構造について説明する。
HTMLデータは、図2に示すRSSに類する記述形態を持つ文書であり、ページのタイトルや本文の他に、サイト内の各ページに移るためのリンクを含むメニューや、文字のサイズや、フォント、色等、体裁を決定するタグが含まれている。
図4は、取得したHTMLデータをブラウザで表示している例を示す図であり、Weblog(ウェブログ、以下「ブログ」と呼ぶ)と呼ばれる形式のページの例を示す図である。
図4中、文書ID d1に対応する本文は、図中の「おいしいレストランを見つけました。……かなりおすすめです!」の部分である。また、図4には、「日々の日記」というブログ全体のタイトル、ブログ内の記事を分類するためのカテゴリ一覧、別の日の記事に移るためのリンク情報を含むカレンダー、記事に対するコメントを列挙しているコメント一覧等、本文以外の情報が多数含まれている。
ページは、ブログのタイトル(「日々の日記」)、図4の左側のメニュー、右側の記事の3つの領域に、大きく分割することができる。たとえば、図4の左側のメニュー領域を、さらに「カテゴリ」、「カレンダー」、「コメント一覧」に分割することができる。また、上記「カテゴリ」を、さらに「グルメ」、「日記」、「ニュース」の3項目に分割することができる。図4の右側を、上半分の2006年11月13日の記事の領域と、下半分のコメントの領域とに分割することができ、それぞれを、さらに細かく分割することができる。
HTMLでは、上記のような階層的なデータ構造を、タグを用いて記述している。よく用いられるのは、divタグ(divisionタグ)であり、<div>……</div>で挟まれた領域が、ひとまとまりの領域である。このように、<div>で始まり、</div>で終わる領域を、以下、「divブロック」という。
たとえば、左半分の「カテゴリ」、「カレンダー」、「コメント一覧」等の項目が並んでいる領域全体が、1つのdivブロックであり、右半分の領域が、1つのdivブロックであり、右半分のうちの上半分の記事の領域が、1つのdivブロックであり、下半分のコメントの領域が、1つのdivブロックであり、……等である。
また、divタグによる構造化だけではなく、他のタグによって構造化される場合もある。
図5は、2006年11月13日の記事の領域が、3行1列の表構造として記述されている例を示す図である。
図5中、表構造であることを明示するために、破線の罫線を用いているが、実際のHTMLデータ中、罫線幅が0である表として記述されると、図4に示す表示になる。
図6は、表構造を用いた場合におけるHTMLデータの例を示す図である。
HTMLにおける表は、tableタグとして記述され、行を、trタグで表現し、列を、tdタグで表現する。<td>……</td>で挟まれるtdブロックによって、3つの領域に分割することができる。ただし、簡単のために、リンクや表内での右寄せ等に関するタグを省略してある。
また、カレンダー等も、tableタグを用いて記述することが多い。このように、HTMLデータは、様々なタグを用いた階層構造として記述される。
ブロック分割部5は、文書IDとHTMLデータとを、ページ取得部4から受け取ると、まず、HTMLデータを、ブロックの単位に分割する。各ブロックを識別するブロックIDを付与し、それぞれのブロックに含まれている文字情報を、HTMLデータ中から取得し、ブロック記録部6に、上記文字情報を、文書ID,ブロックIDとともに記録する。
HTMLデータには、データの先頭と末尾に記述されている最も上位階層のHTMLブロックから、上記divブロック、tdブロック等、様々な種類のブロックが存在する。全てのブロックを、本文の候補としてもよいが、HTMLブロックが本文のみを含むブロックである場合は、殆どないと言ってよい。つまり、HTMLデータ中に、本文以外の情報を含む場合がほとんどである。また、titleタグは、タイトルを記述するために用いられるタグであるので、これも、本文のみを含むブロックであることはないと言ってよい。そこで、divブロックやtdブロック等、予め定めてある一部のブロックのみに注目して、分割すればよい。
同一タグが、入れ子構造になってブロックを形成している場合、それぞれを取得する。divブロックについて見ると、図4に示すHTMLページの右半分の「おすすめレストランを発見!」から、最下部の「場所をもうちょっと詳しく教えてもらえますか?」のコメントまでの文字情報が、1つのブロックである。そのうちの上半分の「おすすめレストランを発見!」から、「トラックバック(0)」までの文字情報が、1ブロックであり、下半分の「コメント」から、「場所をもうちょっと詳しく教えてもらえますか?」までの文字情報が、1ブロックである。
以下、説明を省略するが、上半分のブロック内にも、複数のdivブロックが存在し、下半分のコメントのブロック内にも、複数のdivブロックが存在する。これら全てが、取得の対象である。
図7は、ブロック記録部6に記録されているデータの例を示す図である。
上記方法で取得したブロック内の文字情報は、文書d1における本文の候補として、図7に示すように、ブロック記録部6に記録される。文書d1のブロックb1は、「カテゴリ グルメ 日記ニュース」という文字情報を含むブロックである。これと同様に、文書ID、ブロックID、ブロック内の文字情報が列挙されている。文書d1について、ページ取得部4とブロック分割部5とによる処理が終わると、続いて、文書d2、d3を処理し、ブロック内の文字情報を、上記と同様に、ブロック記録部6に記録する。
次に、上記実施例の動作について説明する。
図8は、本発明の実施例1である文書収集装置100の動作原理を示すフローチャートである。
まず、利用者が入力した検索キーワードに基づいて、インターネット等のネットワークNW上に存在する検索エンジン20に、検索処理を実行させる(S1)。この検索処理の結果から、上記キーワードを含む文書にアクセスするためのリンク情報と、上記文書の概要を示す文字列である抜粋文とを取得する(S2)。
次に、上記取得したリンク情報に基づいて、リンク先のページを取得し(S3)、上記ページ中に含まれている文字列を、1以上のブロックに分割する(S4)。つまり、上記ページ中に含まれている文字列を、そのまま取得するか、または複数ブロックに分割する。
なお、上記「ページ中に含まれている文字列を、そのまま取得するか、または複数ブロックに分割下ブロック」を、以下では、「分割された1以上のブロック」という。この分割された1以上のブロックのうちで、最も「本文らしいブロック」を判定し、上記ブロック内の文字列を出力する(S5)。この出力した文字列と、S2で取得した抜粋文の文字列とを比較し、より本文らしい文字列が本文であると判定する(S6)。
図9は、ページ取得からブロック分割までの処理の流れを示すフローチャートである。
最初に、ページ取得部4が、検索結果管理部3から文書IDとURLとを、1組取得し(S11)、URLに基づいて、ネットワークNW上からHTMLデータを取得する(S12)。
取得したHTMLデータと文書IDとを、ブロック分割部5に送出し(S13)、
ブロック分割部5が、上記HTMLデータ中の各ブロックに含まれている文字情報を取得し、文書IDとブロックIDとを付加してブロック記録部6に出力する(S14)。検索結果管理部3に記録されている全ての文書について、上記S11〜S14のステップを実施し(S15のYES)、処理を終える。
ただし、検索エンジン20によっては、全角の空白を半角に変換する、半角のカタカナを全角のカタカナに変換する、「カ」と「゛」との2文字で記述されている文字を、「ガ」という1文字に変換する等、元の文字列を一部加工したものを抜粋文として提供する場合がある。これに対し、ブロック内の文字情報は、各ページのHTMLから、文書収集装置100が直接取得するので、抜粋文が、実際の本文の文字列の一部と完全に一致することを期待することはできない。
そこで、ブロック選択部8は、検索結果管理部3に記録されている各文書の抜粋文と、ブロック記録部6に記録されている各ブロック内の文字情報とを照合し、いずれか1ブロックを本文であると判定する。
つまり、ブロック選択部8は、ブロック分割部5が取得した1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択するブロック選択部の例である。
図10は、抜粋文中の部分文字列の取得から本文の判定までの処理の流れを示すフローチャートである。
最初に、抜粋文部分文字列取得部7が、検索結果管理部3から、文書IDと抜粋文との組を取得し(S21)、抜粋文から1以上の部分文字列を生成する。
Ngramという手法で、部分文字列を生成する。上記「Ngram」は、元となる文字列から、N文字の部分文字列を取得し、この場合、1文字ずつずらしながら、N文字の部分文字列を取得する。図3に示す文書d1(抜粋文)「おいしいレストランを見つけました。メニューは豊富です。横浜にも支店が」について、N=5で部分文字列を生成すると、「おいしいレ」、「いしいレス」、「しいレスト」、「いレストラ」、「レストラン」、「ストランを」、……、「。横浜にも」、「横浜にも支」、「浜にも支店」、「にも支店が」の、合計30個の部分文字列が生成される。上記Nの値を、予め決定する。ただ、Nの値があまりに大きいと、以下のステップでブロック内の文字情報と照合する際に合致する頻度が低くなり、結果として、本文を抽出する精度が下がるので、上記Nの値を10程度以下に設定することが望ましい。
抜粋文部分文字列取得部7は、生成した30個の部分文字列と、文書d1(文書IDがd1である文書)とを、ブロック選択部8に送出する(S22)。抜粋文の文字数が、値Nに満たなければ、抜粋文自体を、唯一の部分文字列としてブロック選択部8に送出する。
つまり、抜粋文部分文字列取得部7は、抜粋文の先頭から順に1文字ずつまたは、複数文字ずつずらしながら、固定長の文字列を取得することによって、抜粋文中の部分文字列を取得する手段である。
ブロック選択部8は、受け取った文書d1に対応する文字情報(つまり本文の候補)を、ブロック記録部6から取得する。すなわち、図7で、文書IDがd1である文字情報を全て取得する。取得した各文字情報に、上記30個の部分文字列を照合し、上記文字情報中に含まれている部分文字列の数を集計し、上記文字情報中に含まれている部分文字列の数をブロックのスコアとする(S23)。
たとえば、図7に示すd1、b1のブロックは、「カテゴリ グルメ日記 ニュース」という文字情報を持つが、この文字列中に「おいしいレ」「いしいレス」等の30個の部分文字列が、1個も含まれていないので、文書d1のブロックb1のスコアは、0である。同様の処理を行うと、文書d1のブロックb15は、本文からコメントまでを全て包含するブロックであるので、30個の部分文字列を全て含み、そのスコアは、30である。また、文書d1のブロックb17は、本文を包含するブロックであるので、上記と同様に、そのスコアは30である。ブロック選択部8は、各ブロックのスコアを、バッファに保持する。
S24で、S23で算出したブロックのスコアと、各ブロック内の文字情報の長さとに基づいて、ブロック選択部8が、上記算出したブロックについて、次のように、本文らしさを判定する。
まず、スコアが大きいブロックを選択する。同一スコアのブロックが複数存在する場合、文字情報の長さを算出し、長さが短いブロックを採用する。上記例では、文書d1のブロックb15と、文書d1のブロックb17とが、ともにスコア30である。スコアは、部分文字列の数である30を超えることがないので、これら2ブロックが、スコア最大のブロックである。
引き続いて、各文字情報の長さを比較すると、「おしいレストランを見つけました。メニューは豊富です。……かなりおすすめです!」という文字情報を持つ文書d1のブロックb17よりも、コメント等も含む文書d1のブロックd15が長い。ここで、コメントなどを含む文書を、本文候補から除外するために、文字列長の短い文書d1のブロックb17を、本文であると判定する。選択されたブロック内の文字列と、文書IDとを、本文判定部9に送出する。
文字列長が最も短いブロックが複数存在する場合、Nの値を少しずつ増加させながら、上記と同様の処理を実行し、ブロック内の文字列と抜粋文とを比較し、より長い文字列が一致するブロックを、本文であると判定すればよい。つまり、抜粋文に最も似ているブロックが本文であると考える。
最後に、S25で、本文判定部9が、S24で選択した文字列の長さと、S21で取得した抜粋文の長さとを比較し、抜粋文の方が長い場合、抜粋文が本文であると判定し、抜粋文の方が短い場合、S24で選択した文字列が本文であると判定する。
つまり、本文判定部9は、ブロック選択部が選択した文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定する本文判定部の例である。
そして、判定された本文と、文書IDとを、文書記録部10に記録する。なお、抜粋文の長さを算出する場合、抜粋文を分割した部分文字列の個数aと、部分文字列を構成する文字の数Nの値とから逆算する。抜粋文の長さ=a+(N―1)を計算する。または、検索結果管理部3に記録されている抜粋文の長さを直接算出する。
S25の処理は、文書データが正しいHTML形式で記述されていない等の理由で、ブロック分割が正常に行われず、抜粋文よりも短い文字列が本文であると判定される場合に対処するためのステップである。つまり、抜粋文は、本文の一部を抜粋したものであるので、抜粋文よりも本文が短いことはない。したがって、S25で、長さを比較し、より本文選択の精度を向上させる。
図11は、文書記録部11に記録されているデータの例であり、各文書のIDと、文書の本文とを対応して記録している。
上記S21〜S25の処理を、検索結果管理部3に記録されている全ての文書について実行する(S26のYES)と、文書記録部10には、図11に示すように、各文書の文書IDと上記文書の本文文字列とが記録され、キーワード「restaurant」を含むヒット文書の本文全体を一覧することができる。
なお、文書検索部1は、タグによって構造化された文書データを収集する手段であり、HTMLやXML(Extensible Markup Language)のように、タグによって構造化された文書データを対象に収集する。
上記実施例において、ページ取得部4は、タグによって構造化された文書データを取得する手段であり、ブロック分割部5は、1組のタグによって挟まれた文字列を、1または複数のブロックに分割する手段である。また、上記抜粋文から1以上の文字列を漏れなく取得する抜粋文部分文字列取得部を有し、ブロック選択部8は、抜粋文部分文字列取得部7が上記抜粋文から取得した文字列のうちで、上記ブロック内の文字列の一部となっている文字列の個数を集計し、上記個数が最も大きいブロックを選択し、この選択したブロックが1個であれば、上記ブロックを出力し、選択したブロックが複数存在すれば、ブロック内の文字列の長さが同じかまたは短いブロックを出力する手段である。
さらに、上記実施例において、抜粋文部分文字列取得部7は、抜粋文の先頭から順に1文字ずつまたは、複数文字ずつずらしながら、固定長の文字列を取得することによって、抜粋文中の部分文字列を取得する手段である。
そして、本文判定部9は、ブロック選択部8が選択した文字列と、上記抜粋文との長さを比較し、同じまたは長い文字列が本文であると判定する手段である。
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集する文書収集方法であって、ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得し、記憶装置に記憶する文書検索工程と、上記文書検索工程で取得された文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得し、記憶装置に記憶する検索結果解析工程と、上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得し、記憶装置に記憶するページ取得工程と、上記ページ取得工程で取得された文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得し、記憶装置に記憶するブロック分割工程と、上記ブロック分割工程で取得された1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択し、記憶装置に記憶するブロック選択工程と、上記ブロック選択工程で選択された文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定し、記憶装置に記憶する本文判定工程とを有する文書収集方法の例である。
また、上記実施例をプログラムの発明として把握することができる。つまり、上記実施例は、ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集するプログラムにおいて、ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得し、記憶装置に記憶する文書検索手順と、上記文書検索手順で取得された文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得し、記憶装置に記憶する検索結果解析手順と、上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得し、記憶装置に記憶するページ取得手順と、上記ページ取得手順で取得された文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得し、記憶装置に記憶するブロック分割手順と、上記ブロック分割手順で取得された1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択し、記憶装置に記憶するブロック選択手順と、上記ブロック選択手順で選択された文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定し、記憶装置に記憶する本文判定手順とをコンピュータに実行させるプログラムの例である。
そして、このプログラムを、記録媒体に記録するようにしてもよい。なお、上記記録媒体として、CD、DVD、HD、光ディスク、光磁気ディスク、半導体メモリが考えられる。
本発明の実施例1である文書収集装置100を示すブロック図である。 「restaurant」という検索キーワードについての検索結果(RSS)の例を示す図である。 検索結果管理部3に記録されているデータの例を示す図である。 取得したHTMLデータをブラウザで表示している例を示す図であり、Weblog(ウェブログ、以下「ブログ」と呼ぶ)と呼ばれる形式のページの例を示す図である。 2006年11月13日の記事の領域が、3行1列の表構造として記述されている例を示す図である。 表構造を用いた場合におけるHTMLデータの例を示す図である。 ブロック記録部6に記録されているデータの例を示す図である。 本発明の実施例1である文書収集装置100の動作原理を示すフローチャートである。 ページ取得からブロック分割までの処理の流れを示すフローチャートである。 抜粋文の分割から本文の判定までの処理の流れを示すフローチャートである。 文書記録部11に記録されているデータの例であり、各文書のIDと、文書の本文とを対応して記録している。
符号の説明
100…文書収集装置、
1…文書検索部、
2…検索結果解析部、
3…検索結果管理部、
4…ページ取得部、
5…ブロック分割部、
6…ブロック記録部、
7…抜粋文部分文字列取得部、
8…ブロック選択部、
9…本文判定部、
10…文書記録部、
20…検索エンジン、
NW…ネットワーク。

Claims (8)

  1. ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集する文書収集装置であって、
    ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得する文書検索部と;
    上記文書検索部が取得した文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得する検索結果解析部と;
    上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得するページ取得部と;
    上記ページ取得部が取得した文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得するブロック分割部と;
    上記ブロック分割部が取得した1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択するブロック選択部と;
    上記ブロック選択部が選択した文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定する本文判定部と;
    を有することを特徴とする文書収集装置。
  2. 請求項1において、
    上記ページ取得部は、タグによって構造化された文書データを取得する手段であり、
    上記ブロック分割部は、1組のタグによって挟まれた文字列を、1または複数のブロックに分割する手段であることを特徴とする文書収集装置。
  3. 請求項1または請求項2において、
    上記抜粋文から1以上の文字列を漏れなく取得する抜粋文部分文字列取得部を有し、
    上記ブロック選択部は、上記抜粋文部分文字列取得部が上記抜粋文から取得した文字列のうちで、上記ブロック内の文字列の一部となっている文字列の個数を集計し、上記個数が最も大きいブロックを選択し、この選択したブロックが1個であれば、上記ブロックを出力し、選択したブロックが複数存在すれば、ブロック内の文字列の長さが同じかまたは短いブロックを出力する手段であることを特徴とする文書収集装置。
  4. 請求項3において、
    上記抜粋文部分文字列取得部は、抜粋文の先頭から順に1文字ずつまたは、複数文字ずつずらしながら、固定長の文字列を取得することによって、抜粋文中の部分文字列を取得する手段であることを特徴とする文書収集装置。
  5. 請求項1または請求項2において、
    上記本文判定部は、上記ブロック選択部が選択した文字列と、上記抜粋文との長さを比較し、同じまたは長い文字列が本文であると判定する手段であることを特徴とする文書収集装置。
  6. ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集する文書収集方法であって、
    文書検索手段が、ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得し、記憶装置に記憶する文書検索工程と;
    検索結果解析手段が、上記文書検索工程で取得された文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得し、記憶装置に記憶する検索結果解析工程と;
    上記リンク情報に基づいて、ページ取得手段が、上記ネットワーク上からリンク先ページの文書データを取得し、記憶装置に記憶するページ取得工程と;
    ブロック分割手段が、上記ページ取得工程で取得された文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得し、記憶装置に記憶するブロック分割工程と;
    ブロック選択手段が、上記ブロック分割工程で取得された1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択し、記憶装置に記憶するブロック選択工程と;
    本文判定手段が、上記ブロック選択工程で選択された文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定し、記憶装置に記憶する本文判定工程と;
    を有することを特徴とする文書収集方法。
  7. ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集するプログラムにおいて、
    ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得し、記憶装置に記憶する文書検索手順と;
    上記文書検索手順で取得された文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得し、記憶装置に記憶する検索結果解析手順と;
    上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得し、記憶装置に記憶するページ取得手順と;
    上記ページ取得手順で取得された文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得し、記憶装置に記憶するブロック分割手順と;
    上記ブロック分割手順で取得された1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択し、記憶装置に記憶するブロック選択手順と;
    上記ブロック選択手順で選択された文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定し、記憶装置に記憶する本文判定手順と;
    をコンピュータに実行させるプログラム。
  8. ネットワーク上に存在する構造化された文書データから、特定の検索キーワードを含む文書の一部分である文字情報を収集するプログラムにおいて、
    ネットワーク上に存在する検索エンジンに対して、上記検索キーワードに基づいて検索を実行させ、上記検索キーワードを含む文書一覧情報を取得し、記憶装置に記憶する文書検索手順と;
    上記文書検索手順で取得された文書一覧情報を解析し、各文書にアクセスするためのリンク情報と、各文書の概要を示す文字列である抜粋文とを取得し、記憶装置に記憶する検索結果解析手順と;
    上記リンク情報に基づいて、上記ネットワーク上からリンク先ページの文書データを取得し、記憶装置に記憶するページ取得手順と;
    上記ページ取得手順で取得された文書データの構造を解析し、上記文書データ中に含まれている文字情報のうちで、一部または全ての文字列を、1または複数のブロックとして取得し、記憶装置に記憶するブロック分割手順と;
    上記ブロック分割手順で取得された1以上のブロックのうちで、上記抜粋文中に含まれている文字または文字列をより多く含むブロックを選択し、記憶装置に記憶するブロック選択手順と;
    上記ブロック選択手順で選択された文字列と、上記抜粋文とを比較し、いずれか一方を本文であると判定し、記憶装置に記憶する本文判定手順と;
    をコンピュータに実行させるプログラムを記録したコンピュータ読取可能な記録媒体。
JP2007011181A 2007-01-22 2007-01-22 文書収集装置、文書収集方法、プログラムおよび記録媒体 Active JP4381423B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007011181A JP4381423B2 (ja) 2007-01-22 2007-01-22 文書収集装置、文書収集方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011181A JP4381423B2 (ja) 2007-01-22 2007-01-22 文書収集装置、文書収集方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2008176685A JP2008176685A (ja) 2008-07-31
JP4381423B2 true JP4381423B2 (ja) 2009-12-09

Family

ID=39703643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007011181A Active JP4381423B2 (ja) 2007-01-22 2007-01-22 文書収集装置、文書収集方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4381423B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5203070B2 (ja) 2008-07-07 2013-06-05 株式会社ジャパンディスプレイウェスト 画像入出力装置およびその受光レベル補正方法、ならびに画像入力方法
JP5564442B2 (ja) * 2011-01-11 2014-07-30 日本電信電話株式会社 文章検索装置
JP5559104B2 (ja) * 2011-07-29 2014-07-23 日本電信電話株式会社 情報抽出方法、情報抽出装置、情報抽出プログラム
JP5739310B2 (ja) * 2011-11-15 2015-06-24 日本電信電話株式会社 文書特徴抽出装置、文書特徴抽出方法、文書特徴抽出プログラム
JP5820770B2 (ja) * 2012-05-21 2015-11-24 日本電信電話株式会社 本文抽出装置及び方法及びプログラム
JP6104729B2 (ja) * 2013-06-17 2017-03-29 株式会社Nttドコモ コンテンツ検索システム、コンテンツ検索方法、及びコンテンツ検索プログラム

Also Published As

Publication number Publication date
JP2008176685A (ja) 2008-07-31

Similar Documents

Publication Publication Date Title
JP5238418B2 (ja) 情報推薦装置および情報推薦方法
CN103034633B (zh) 生成扩展的搜索结果页面摘要的方法及装置
US20150067476A1 (en) Title and body extraction from web page
US8655648B2 (en) Identifying topically-related phrases in a browsing sequence
JP4381423B2 (ja) 文書収集装置、文書収集方法、プログラムおよび記録媒体
CN109543126B (zh) 基于块文字占比的网页正文信息提取方法
US20110173528A1 (en) Determining Semantically Distinct Regions of a Document
WO2000075809A1 (fr) Procede de triage d'informations, trieur d'informations, support enregistre sur lequel le programme de triage d'informations est enregistre
JP2007527558A (ja) ウェブサイトなどの情報源によるナビゲーション
JPH07325827A (ja) ハイパーテキスト自動生成装置
WO2010109709A1 (ja) コンテンツ推薦装置及び方法
JP4839195B2 (ja) Xml文書の適合度の算出方法およびそのプログラムと、情報処理装置
KR101607468B1 (ko) 콘텐츠에 대한 키워드 태깅 방법 및 시스템
JP2011215950A (ja) キーワード提示装置、方法及びプログラム
KR20100132376A (ko) 스니펫 제공 장치 및 방법
JP2010061587A (ja) 類似文書判定装置、類似判定方法およびそのプログラム
JP2017117021A (ja) キーワード抽出装置、コンテンツ生成システム、キーワード抽出方法、およびプログラム
KR101178208B1 (ko) 키워드 추출 장치 및 방법
JP2006302024A (ja) 関連文書表示方法及びプログラム
JP4610543B2 (ja) 期間抽出装置,期間抽出方法,その方法を実装した期間抽出プログラム及びそのプログラムを格納した記録媒体
JP4010058B2 (ja) 文書関連付け装置、文書閲覧装置、文書関連付けプログラムを記録したコンピュータ読み取り可能な記録媒体及び文書閲覧プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4606349B2 (ja) 話題画像抽出方法及び装置及びプログラム
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
JP2005196572A (ja) 複数文書の要約作成方法
JP2009175826A (ja) テキスト検索装置、テキスト検索方法、テキスト検索プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090821

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: 20090911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4381423

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350