JP5269399B2 - 構造化文書検索装置、方法およびプログラム - Google Patents

構造化文書検索装置、方法およびプログラム Download PDF

Info

Publication number
JP5269399B2
JP5269399B2 JP2007303305A JP2007303305A JP5269399B2 JP 5269399 B2 JP5269399 B2 JP 5269399B2 JP 2007303305 A JP2007303305 A JP 2007303305A JP 2007303305 A JP2007303305 A JP 2007303305A JP 5269399 B2 JP5269399 B2 JP 5269399B2
Authority
JP
Japan
Prior art keywords
search
component
structured document
word
structured
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
Application number
JP2007303305A
Other languages
English (en)
Other versions
JP2009129176A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007303305A priority Critical patent/JP5269399B2/ja
Priority to US12/205,636 priority patent/US20090138473A1/en
Publication of JP2009129176A publication Critical patent/JP2009129176A/ja
Application granted granted Critical
Publication of JP5269399B2 publication Critical patent/JP5269399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の構成要素をそれぞれ有する複数の構造化文書から所望の文書を検索するための構造化文書検索装置、方法およびプログラムに関する。
現在、インターネットなどの情報通信技術の進歩により、膨大な情報量の電子データから必要なデータを容易に検索することが可能となっている。反面、情報量が膨大であるために、必要な情報がデータの中に埋没してしまい、思うように検索ができない結果、データを十分に活用できないという弊害も発生している。
こうした弊害を解消するため、電子データを構造化文書とし、これにより情報の共有化を容易にしたり、情報の検索をより効率良くできるようにしたりする研究がなされている。例えば、HTML(Hyper Text Markup Language)では、タグ(tag)により表された複数の構成要素、例えば文書タイトル、見出し、段落によって記載されている。
また、近年注目されているXML(Extensible Markup Language)は、このタグを独自に作成することができるため、HTMLよりも柔軟性、拡張性に優れている。XMLは、タグを階層的に記述することにより、文書構造を木構造で表現できる。
このXMLなどの構造化文書に対して、SQL(Structured Query Language)に似た構文をもち、検索位置、検索条件、情報抽出部分などを記述できる問合せ言語が提供されている。これらの問合せ言語は、定められた構文にしたがって着目する構成要素を指定して厳密にデータ/文書を検索する目的で作られている。このため、ユーザは、検索対象のデータ構造を理解している必要があるばかりでなく、正しい検索条件を組み立てるスキルが求められる。
一方、特定の構文をユーザに意識させることなく、任意のキーワードや自然文形式の検索要求に基づいて文書の検索を行う情報検索技術の研究開発が従来から行われている。一般的には検索要求と文書との間の関連度(検索スコア)を計算し、その大きい順(降順)に検索結果を順位付け(ランキング)する。
検索要求から検索に用いる語である検索語を形態素解析などの技術を用いて抽出し、その出現文書数や各文書での出現回数などの統計情報をもとに検索スコアを求めるのが一般的である。このようなランキング型の情報検索技術をそのまま構造化文書に適用すると、書誌情報のような定型データ部分が弊害となって検索スコアが正しく計算されないケースが生じる。
例えば、検索結果の上位から検索要求の関連語を取得し、再検索を行うことで検索要求中の語だけでなく幅広く関連情報を検索する手法が知られているが、同じ著者の文書が上位に集中すると、その著者名が関連語として取得され、検索結果に悪影響を及ぼすケースなどが考えられる。
これに対して、検索要求がキーワードや文形式の情報検索技術で構造化文書を扱う方式として代表的なものに以下の二つがある。
(1)構文解析などの技術を用いて検索要求をSQLなどの問合せ言語の形式に変換、実行する方式。
(2)語の出現箇所に合わせて検索スコアを調整する方式、すなわち、事前に重要な構成要素を定義しておき、その箇所に出現した場合は検索スコアを増加させるなどを行う方式。
(1)については事前に対象データの構造に関する知識など、検索要求を問合せ言語に変換するための知識ベースを構築しておかなくてはならない。(2)についても事前にどの部分が重要かなどの知識を定義しておかなくてはならない。このように(1)及び(2)のいずれにおいても、対象データ/文書が変わる度に新しい知識を用意しなくてはいけない。さらに(1)では(0か1かの)厳密な検索を対象としているため、文形式のような曖昧な条件に基づいたランキング型の検索に対応していない。
例えば、特許文献1では、予め構成要素のデータの種類を解析、推定しておくことで事前に専用の知識を用意しなくとも、キーワードや文形式の検索要求から問合せ言語を用いた場合と同様のデータ検索を行う手法が提案されている。しかし、この手法では(1)の方式と同様にランキング型検索への対応が考慮されていない。さらに、検索対象とする構成要素の指定を検索要求中に行う必要がある、また推定できるデータの種類にだけ対応しているといった課題がある。
また、特許文献2では、文書のレイアウト情報を用いて構成要素の種類を推定する手法が提案されているが、レイアウト情報のない構造化文書には対応できないという問題がある。
特開2004−164104公報 特開2003−99454公報 特開2007−148785公報 酒井他:Cross-language情報検索のためのBMIR-J2を用いた一考察、情報処理学会研究報告99-NL-129, pp.41-48, 1999. 「3 ベースライン:日本語単言語検索(J−MIR)」(p.44)
上述したように、構造化文書の検索において、問合せ言語を用いた方式ではユーザは検索対象の文書構造を理解している必要があるばかりでなく、正しい検索条件を組み立てるスキルが求められる。また、キーワードや文形式に基づいて検索する方式では、事前に対象データ/文書に関する知識を定義しておく必要がある。また一般的な検索装置は、問合せ言語型の検索かランキング型の検索のどちらか一方にだけに対応しており、2つの型の検索を組み合わせた柔軟な検索を実行することができない。
この発明は上記事情に着目してなされたもので、その目的とするところは、複数の構造化文書から所望の文書を検索する際に、ユーザにデータ構造を意識させることなく、簡単に的確な検索結果を得ることができる構造化文書検索装置、方法およびプログラムを提供することにある。
上記目的を達成するためにこの発明に係わる構造化文書検索装置は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索するための検索装置であって、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類する第1の分類部と、前記複数の構造化文書を検索するための検索文字列を入力する入力部と、前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する第2の分類部と、前記複数の構造化文書から、前記第1構成要素に前記第1の検索語を含み、かつ、前記第2構成要素を持つ構造化文書集合を抽出する抽出部と、前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けする順序付け部とを具備することを特徴とする。
また、この発明に係わる構造化文書検索方法は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置に用いられ、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類するステップと、前記複数の構造化文書を検索するための検索文字列を入力するステップと、前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類するステップと、前記複数の構造化文書から、前記第1の検索語を前記第1構成要素に含み、かつ、前記第2構成要素を持つ構造化文書集合を抽出するステップと、前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けするステップとを具備することを特徴とする。
また、この発明に係わる構造化文書検索プログラムは、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置を制御するプログラムであって、コンピュータに、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類する処理と、前記複数の構造化文書を検索するための検索文字列を入力する処理と、前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する処理と、前記複数の構造化文書から、前記第1の検索語を前記第1構成要素に含み、かつ、前記第2構成要素を持つ構造化文書集合を抽出する処理と、前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けする処理とを実行させることを特徴とする。
したがってこの発明によれば、複数の構造化文書から所望の文書を検索する際に、ユーザにデータ構造を意識させることなく、簡単に的確な検索結果を得ることができる構造化文書検索装置、方法およびプログラムを提供することができる。
以下、図面を参照しながら本発明の実施の形態を詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る構造化文書検索装置の構成例を示したものである。
構造化文書格納部101は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を格納する。構造化文書は、例えば、XML(eXtensible Markup Language)で記述されたもので、構成要素単位でテキストデータを取得できる形式で構造化文書格納部101に保持される。
索引作成部102は、上記構造化文書格納部101に格納された構造化文書を読み出して、各構成要素のテキストデータから文書検索用の索引語を形態素解析などの技術を用いて抽出し、抽出元の文書の構成要素と対応付けた索引データを作成する。
索引データ格納部103は、索引語からその索引語が出現した文書の構成要素を取得できる形式で、上記索引作成部102により作成された索引データを格納する。
構成要素分類部104は、上記構造化文書格納部101に格納された構造化文書のテキストデータを構成要素毎に走査し、テキストデータから得られる統計情報に基づいて、構成要素を定型表現の第1の構成要素と非定型表現の第2の構成要素とに分類する。例えば、テキストデータの文字列の長さの平均値がしきい値より短い構成要素は第1の構成要素と、それ以外は第2の構成要素というように分類される。さらに、構成要素分類部104は、第1の構成要素について、形態素解析などを用いて構成語彙の一覧を作成する。
構成要素分類データ格納部105は、上記構成要素分類部104により分類された構成要素の種類を構成要素名から取得できる形式で格納する。
第1の構成要素語彙格納部106は、上記構成要素分類部104で作成された第1の構成要素の語彙の一覧を格納する。
検索要求入力部107は、キーワード、あるいは、文形式で表される検索文字列を含む検索要求の入力を受け付ける。
検索語分類部108は、上記検索要求入力部107で入力された検索文字列に含まれる検索語を、上記第1の構成要素語彙格納部106を参照して、第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する。第1の検索語は絞込み検索部109に、第2の検索語はランキング型検索部110にそれぞれ供給される。
絞込み検索部109は、構造化文書格納部101に格納された複数の構造化文書から上記第1の検索語を第1の構成要素に含む文書集合を抽出する。例えば、絞込み検索部109は、上記第1の検索語と、それらが出現する第1の構成要素とをもとに生成された検索式を用いて、ランキング型検索部110での検索対象となる文書を絞り込む。
ランキング型検索部110は、上記文書集合を上記検索語分類部108から供給される第2の検索語と文書集合中の第2構成要素との間の検索スコアによって順位付けを行う。すなわち、上記絞込み検索部109により絞り込まれた構造化文書を検索対象とし、それら文書の構成要素のうち第2の構成要素と分類された部分について、上記第2の検索語を用いてランキング型の検索処理を行う。検索スコアは、例えば、検索対象の文書集合について、第2の構成要素のテキストデータ中に第2の検索語が出現する頻度と、第2構成要素のテキストデータ中に第2の検索語が出現する構造化文書の数とをもとに計算される。
検索結果提示部111は、上記ランキング型検索部110により検索された結果を提示する。
なお、この構造化文書検索装置は、例えば、CPU、メモリ、ディスク装置を備えるコンピュータで実現できる。構造化文書格納部101、索引データ格納部103、構成要素分類データ格納部105、および第1の構成要素語彙格納部106は、ディスク装置中のデータとして構成される。検索要求入力部107はキーボードのような入力装置、検索結果提示部111はディスプレイのような表示装置、索引作成部102、構成要素分類部104、検索語分類部108、絞込み検索部109、ランキング型検索部110はCPUとメモリ上で実行される制御プログラムにより実現する。
□図2は、本実施形態の検索対象とする構造化文書を例示したものである。XML形式により文書構造が表現されている。
□図2に示した構造化文書は、図3に示すような木構造に変換することができる。図中の各ノードが構成要素、リーフ(末端のノード)は各構成要素中のテキストデータを表現している。ここでは、構成要素の名前は、木構造のルート(一番上のノード)からその構成要素までの経路上のタグの名前を/で結合した形式で表記する。図3の例では、以下の6種類が構造化文書の構成要素となる。□
□□doc
□□doc/head
□□doc/head/category
□□doc/head/author
□□doc/head/title
□□doc/body
□なお、図3の例では、リーフにだけテキストデータがあるが、木のルートや中間ノード、すなわち「doc」や「doc/head」の部分にテキストデータがあってもかまわない。
□上記構造化文書格納部101は、図2に例示した構造化文書を、図4に示すようにテーブル形式で格納する。文書IDは、構造化文書を個々に識別するための識別情報で、図4では、図2の文書に対して文書IDとして「did1」が付与されている場合が示されている。構成要素名は、上記説明した形式の構成要素の名前で、文書の個々の構成要素を識別する機能を有する。テキストは各構成要素中のテキストデータで、図2の構造化文書においては、「doc」と「doc/head」にはテキストデータがないため、該当部分は空になっている。なお、構造化文書格納部101は異なる文書構造の文書が混在していてもかまわない。
□図5は、上記索引作成部102により作成される索引データの構成の一例を示したものである。索引データは、検索用の索引語とその索引語の出現文書の情報とが対応付けたテーブル形式で表現される。出現文書の情報は、構成要素単位で表わされ、索引語が出現した文書の文書ID、構成要素名、および、その構成要素中に何回出現したかを表す出現頻度を一組としたものとする。例えば、図5に示すように、「文書ID:構成要素名:出現頻度」のセットがコンマで区切られて列挙される。
次に、このように構成された構造化文書検索装置の動作について説明する。
(索引データ作成処理)
□図6は、索引作成部102の処理手順を示すフローチャートである。索引作成部102は、構造化文書格納部101に格納された構造化文書をもとに索引データを作成する。
図6において、索引作成部102は、構造化文書格納部101から図4の形式のデータを構成要素単位で読み出して後述する処理を行い、処理すべき構成要素が無くなれば処理を終了する(ステップS601)。
索引作成部102は、上記読み出されたデータから当該構成要素のテキストデータを取得する(ステップS602)。そして、テキストデータが空である場合は、すなわち、「doc」や「doc/head」のように対応する構成要素にテキストが無ければ何もしないでステップS601に移行し、次の構成要素の処理に移る(ステップS603)。テキストデータが有る場合には、索引作成部102は、形態素解析によりテキストデータを語単位に分割し(ステップS604)、各語の中から検索時に利用する索引語を品詞に基づき選択する(ステップS605)。
なお、形態素解析は、自然言語処理の基盤として一般的な技術であるため、ここでは詳細な説明は省略する。形態素解析は、テキストデータを語単位に分割し、かつ各語の品詞の判定結果を出力するものである。例えば、「情報検索技術の技術動向」に対しては「情報<名詞>/検索<名詞>/技術<名詞>/の<助詞>/技術<名詞>/動向<名詞>」といった結果を出力する。ここで/は語の区切りを表し、また、<>で囲まれたのは各語の品詞の判定結果である。この形態素解析の結果から、例えば、名詞だけ、あるいは、名詞と動詞といった、接続語を除く、予め定められた品詞の語だけを索引語として選択する。
上記ステップS605で索引語が選択される度に、索引作成部102は、上記図5に示した索引データを更新する(ステップS606)。すなわち、索引作成部102は、選択された索引語が索引データになければ新たな行を追加して索引語を格納する。例えば、文書ID「did1」とする文書で、その構成要素「doc/head/title」のテキストデータから選択された索引語「技術」が索引データになければ、索引語を「技術」、出現文書の情報を「did1:doc/head/title:1」とした行を索引データに追加する。
また、索引データに既出の索引語については、出現文書の情報の更新を行う。その索引語が出現した構成要素とその文書に関する情報、すなわち、「文書ID:構成要素名」がその索引語の出現箇所の情報として記憶されていない場合は、その情報を追加する。例えば、上記の例で索引語「技術」が索引データに登録済みであるが、その出現箇所の情報として「did1:doc/head/title」が無ければ「技術」の出現箇所の情報として、「did1:doc/head/title:1」を追加し、次のように「技術」の出現箇所の情報を更新する。
技術 did1:doc/head/title:1
のように「技術」の出現箇所の情報を更新する。
また、索引語が既出で、かつ、出現箇所の情報も既出であれば、対応する出現箇所の出現頻度をインクリメントする。例えば、上記の例で「情報<名詞>/検索<名詞>/技術<名詞>/の<助詞>/技術<名詞>/動向<名詞>」の2番目の「技術」を索引語として選択した場合には、すでに索引データ中には、
技術 …, did1:doc/head/title:1
というデータが存在するので、「did1:doc/head/title」の出現頻度をインクリメントし、以下のようにデータを更新する。
技術 …, did1:doc/head/title:2
以上のように処理した結果を索引作成部102は索引データ格納部103に格納する。
(構成要素解析処理)
□図7は、構成要素分類部104の処理手順を示すフローチャートである。構成要素分類部104は構造化文書格納部101を参照し、構成要素毎の統計情報に基づいて各構成要素を定型表現の第1の構成要素と、非定型表現の第2の構成要素に分類する。さらに、第1の構成要素については、その構成要素のテキストデータを構成する語彙を抽出する。
□図7において、最初に構成要素分類部104は、構造化文書格納部101を参照し、構成要素毎に一文書あたりの平均テキスト長を統計情報として求める(ステップS701)。例えば、構造化文書格納部101に構成要素「doc/head/title」の部分に以下のテキストデータを有する文書があったとき、
did1 doc/head/title 情報検索技術の技術動向
did2 doc/head/title X社向け成果物管理システムの見積もり
did3 doc/head/title 営業連絡先一覧
□構成要素「doc/head/title」について、文字単位で計算した平均テキスト長は(11+18+7)/3=12.0となる。
□他の構成要素についても同様に平均テキスト長を計算し、図2に例示した構造化文書に含まれる各構成要素について、以下のように求められたものとする。
doc 0.0
doc/head 0.0
doc/head/category 3.0
doc/head/author 3.8
doc/head/title 12.0
doc/body 1023.4
このように求められた平均テキスト長を予め定められた基準値と比較し、平均テキスト長が基準値より短い場合は第1の構成要素、平均テキスト長が基準値以上の場合は第2の構成要素として各構成要素を分類する(ステップS702)。例えば、基準値を8文字とした場合、上記の例では、「doc」,「doc/head」,「doc/head/category」,「doc/head/author」が第1の構成要素、「doc/head/title」 ,「doc/body」が第2の構成要素に分類される。そして、構成要素分類部104は、図8に示すように、この分類結果を構成要素名に対応付けて構成要素分類データ格納部105に格納する。図8では、第1の構成要素には“1”、第2の構成要素には“2”として構成要素の種類が表されている。
さらに、構成要素分類部104は、この分類結果に従い、索引データ格納部103中の各索引語について第1の構成要素および第2の構成要素それぞれに出現する割合を計算する(ステップS703)。例えば、索引語「技術」に関する出現文書の情報が以下のとおりであったとする。
did1:doc/head/title:2,did1:doc/body:1,did4:doc/head/title:1,did5:doc/head/cateogory:1
構成要素の種類毎に出現する割合は、まず、構成要素毎に当該索引語が何回出現するかを集計する。上記の「技術」の例であれば、以下のようになる。
doc/head/title 2
doc/body 1
doc/head/category 1
この集計結果をもとに、構成要素分類部104は、構成要素分類データ格納部105に格納された構成要素の分類結果を参照し、第1の構成要素で出現した回数と第2の構成要素で出現した回数をそれぞれ求め、各出現回数の割合を計算する。例えば、索引語「技術」については「doc/head/title」と「doc/head/category」が第1の構成要素であることから第1の構成要素での出現回数は3回、「doc/body」が第2の構成要素であることから第2の構成要素での出現回数は1回となる。これらの値から、索引語「技術」については第1の構成要素に出現する割合は3/(3+1)=0.75、第2の構成要素に出現する割合は1/(3+1)=0.25と計算される。
構成要素分類部104は、各索引語について第1の構成要素および第2の構成要素の出現割合をそれぞれ計算した後、第1の構成要素の出現割合が予め定められた値より大きい索引語を選択し、その索引語が出現した構成要素名とともに第1の構成要素語彙格納部106に格納する(ステップS704)。例えば、「報告書」について第1の構成要素に出現する割合が0.95で、第1の構成要素としては「doc/head/category」だけに出現した場合について考える(0.05の割合で第2の構成要素「doc/head/title」や「doc/body」に出現するものとする)。基準値を0.9とした場合、上記の「技術」は選択されないが、「報告書」は選択され、出現した第1の構成要素の構成要素名「doc/head/category」とともに図9に示す形式で第1の構成要素語彙格納部106に格納される。
図9の例では「報告書」の他に「開発」も第1の構成要素の出現割合が0.9以上であったとして第1の構成要素語彙格納部106に格納されている。なお、図9では「報告書」は第1の構成要素中に「doc/head/category」にだけ出現するが、「開発」は「doc/head/category」と「doc/head/author」に出現する場合を示している。複数の構成要素に出現する場合は、図9の「開発」のように’,’で区切って構成要素名が列挙される。
なお、上記では各構成要素のテキストデータ全体の長さを基準に構成要素を2種類に分類したが、空白や改行などの予め定められた区切り文字でテキストデータを分割し(以下、単位テキストと呼ぶ)、その平均長で予め定めた基準値により分類してもよい。単位テキストの平均長を基準にすることで、分類コードなどの単語が空白や改行などの区切り文字で列挙されている構成要素を第1の構成要素として判定できるようになる。
あるいは、各構成要素のテキストデータに対して形態素解析を行い、構成要素毎に異なる語彙数(何種類の語がその構成要素で使われたかを示す数)をその構成要素が現われた文書数で割った平均語彙数を統計情報としてもよい。平均語彙数が予め定めた基準値以下の構成要素は第1の構成要素、基準値以上の構成要素は第2の構成要素として分類できる。
また、上記で第2の構成要素と判定された構成要素であっても、予め用意された定型表現を集めた辞書中の語彙、あるいは、定型表現のテンプレートとしての表記パターンに内容が一定以上の割合で合致するものは第1の構成要素と判定するようにしてもよい。辞書としては地名や人名などが考えられる。また、表記パターンとしては以下のように金額や日時などの表現を抽出できるものを用意することが考えられる。
<数字列>円 …パターン1
<数字列>年<数字列>月<数字列>日 …パターン2
株式会社<固有名詞> …パターン3
<地名>[<地名>…][<数字列><助数詞>…] …パターン4
上記のパターンでは<数字列>は、算用数字、あるいは、漢数字の並びを表し、<固有名詞>、<地名>、<助数詞>は形態素解析で判定された品詞である。住所中の「丁目」や「番」、「号」などは<助数詞>と判定される。また、パターン4での「[」、「]」は、省略可能な部分を表し、また、その中の「…」はその前に記載された品詞の語が任意回数繰り返されることを表現している。各構成要素中の文字列について、形態素解析を行い、その結果について上記のパターンとの照合を行う。
例えば、次のような22文字の文字列について説明する。
株式会社A社(東京都港区芝浦一丁目1番1号)
上記文字列を形態素解析した結果は、以下のようになる。
株式<名詞>/会社<名詞>/A社<固有名詞>/(<記号>/東京都<地名>/港区<地名>/芝浦<地名>/一<数字>/丁目<助数詞>/1<数字>/番<助数詞>/1<数字>/号<助数詞>/)<記号>
上記のパターンと照合すると、また、次の部分がパターン3と照合できる。
株式<名詞>/会社<名詞>/A社<固有名詞>
また、次の部分がパターン4と照合できる。
東京都<地名>/港区<地名>/芝浦<地名>/一<数字>/丁目<助数詞>/1<数字>/番<助数詞>/1<数字>/号<助数詞>
この結果、上記の文字列については22文字中「(」と「)」を除いた20文字について、すなわち、20文字/22文字≒91%の部分について上記のパターンと照合できたことになる。例えば、平均テキスト長が20文字以上の構成要素を第2の構成要素と分類する場合でも、例外として、定型表現辞書、パターンに80%以上が照合できた場合は第1の構成要素と判定する場合、「株式会社A社(東京都港区一丁目1番1号)」が含まれる構成要素の平均テキスト長が20文字を超えていても平均照合率が80%以上であれば、第1の構成要素と判定する。
このように、構成要素を第1構成要素と第2構成要素とに分類するための統計情報としては、構成要素のテキストデータ中の語彙と定型表現を集めた辞書中の語彙との合致する割合、あるいは構成要素のテキストデータの表記パターンと予め用意された定型表現のテンプレートの表記パターンとの合致する割合を用いてもよい。
なお、辞書やパターンと照合することにより特定の種類の表現を判定する技術としては固有表現抽出技術がある。固有表現抽出技術については、特許文献3などで公知の技術である。上記の手法に限らずに、公知の固有表現抽出技術を適用し、固有表現として抽出された割合が一定以上のものを第1の構成要素と判定してもよい。さらに、上記では照合率を基準としていたが、それに加えて上記の文献にあるような確信度も基準にして、一定値以上の確信度で照合できた割合を基準としてもよい。
また、上記とは逆に一旦、第1の構成要素と判定されたものについても、特定の種類の語彙が一定割合以上出現するものは第2の構成要素と判定してもよい。例えば、テキスト長などにかかわらず、テキストデータに含まれる品詞の割合、例えば<助詞>などの付属語や<接続詞>などの接続語の割合が一定値以上出現するものは第2の構成要素と判定するようにする。
例えば、「固有表現抽出装置および方法」のような文字列は長さとしては短いが、形態素解析を行うと「および」が<接続詞>と判定され、付属語の割合が3文字/13文字≒23%となる。タイトルのような短い文字列から構成されているが、ランキング型の検索の対象とすることが適している構成要素はこの手法を用いることが有効である。第1の構成要素は、比較的短い文字列から構成されているが、ランキング型の検索の対象とすることが適している構成要素はこの手法を用いることが有効である。
さらに、構成要素の親子関係を用いて構成要素の種類を分類するようにしてもよい。例えば、ある構成要素(a/bとする)が第2の構成要素と分類できれば、その子孫にあたる構成要素(a/b/cやa/b/d/eなど)も第2の構成要素と分類してもよい。このようにすることで、文章中の下線や太字のような文字修飾を表現するための構成要素を第2の構成要素と分類できるようになる。
(検索語分類処理)
図10は、検索語分類部108の処理手順を示すフローチャートである。検索語分類部108は、ユーザから入力された検索要求から検索処理に用いる検索語を抽出し、この検索語を後段の絞込み検索部109で用いる第1の検索語と、ランキング型検索部110で用いる第2の検索語とに分類する。
先ず、検索語分類部108は、検索要求入力部107により入力された検索要求の検索文字列に対して形態素解析を行い、語単位に分割する(ステップS1001)。検索語分類部108は、上記形態素解析の結果に基づいて検索語の抽出を行う(ステップS1002)。検索語の抽出では最初に、第1の構成要素語彙格納部106を参照し、その中に有る語は絞込み検索部109で用いる第1の検索語として分類する。
上記分類された第1の検索語は、それが出現する第1の構成要素の構成要素名と対応付けられて「検索語:構成要素名,構成要素名,…」の形式で絞込み検索部109に供給される。一方、上記分類で残った語からは、上記図6のステップS605の処理と同様にして品詞に基づいてランキング型検索部110で用いる第2の検索語が選択される。第2の検索語は、語の一覧としてランキング型検索部110に供給される。
例えば、「情報検索に関する報告書」という検索要求に対しては、形態素解析(ステップS1001)の結果は次のようになる。
情報<名詞>/検索<名詞>/に<助詞>/関する<サ変動詞>/報告書<名詞>
この結果の中で「報告書」は第1の構成要素語彙格納部106にあることから、「報告書」が出現する構成要素名「doc/head/category」と対応付けられて絞込み検索部109に供給される。その他の語については、名詞だけを検索語として選択する場合は、「情報」、「検索」がランキング型検索部110に供給される。
なお、上記例では第1の検索語を除いて第2の検索語を分類したが、第1の検索語と第2の検索語とが重複するようにしてもよい。例えば、上記では第1の検索語として分類された「報告書」を除いて第2の検索語を分類したが、「報告書」を除外せずに第2の検索語を分類するようにしてもよい。このようにすると、「報告書」も名詞であることから、第2の検索語として抽出され、「情報」、「検索」、「報告書」がランキング型検索部110に供給される。「報告書」は第2の構成要素に出現する割合が0ではないため、このようにすると、除外する場合に比べて検索の再現率を向上させることができる。
(絞込み検索処理)
図11は、絞込み検索部109の処理手順を示すフローチャートである。絞込み検索部109は、上記検索語分類部108から供給された第1の検索語と構成要素名とをもとにブール式形式の検索式を生成し、その検索式によってランキング型検索部110の検索対象の文書を絞り込む。
検索式は「構成要素名=‘検索語’」の形式で、構成要素中に検索語が出現する文書を限定するための項を論理演算子and(論理和)やor(論理積)で結合した形式で表現される。演算子は、原則として左から順番に評価されるが、‘(’と‘)’で囲まれた部分があればその部分は優先的に評価される。
絞込み検索部109は、以下のルールに基づいて検索式を生成する(ステップS1101)。
ルール1:同一の検索語に複数の構成要素が対応付けられていたら、「構成要素名=’検索語’」をorで結合した式を‘()’で囲み、構成要素が1つだけであれば「構成要素名=’検索語’」だけを生成する
ルール2:ルール1で複数の検索式が生成された場合は、それらをすべてandで結合する
例えば、検索語分類部108から「報告書:doc/head/category」のみが供給された場合、ルール1から検索式「doc/head/category=‘報告書’」が生成される。この場合、検索語分類部108から供給されたのは1つの検索語だけであることから、ルール1で生成される検索式は1つだけで、ルール2は適用されない。
複数の検索語、例えば、「報告書:doc/head/category」の他に、「開発:doc/head/category, doc/head/author」が供給された場合には、ルール1で「doc/head/category=‘報告書’」の他に「(doc/head/category=‘開発’ordoc/head/author=‘開発’)」が生成され、それらがルール2によりandで結合された次の(式1)が最終的な検索式となる。
doc/head/category=‘報告書’and(doc/head/category=‘開発’ordoc/head/author=‘開発’)…(式1)
なお、絞込み検索部109が検索式を生成するためのルールは上記のルール1とルール2に限定されるものではない。例えば、ルール1で複数の検索式が生成されたときに、それらの検索式の中で参照する構成要素が重複しているものについてはorで接続するなど他のルールを設けてもよい。
絞込み検索部109は、このように生成された検索式を評価し、検索対象の文書を絞り込む(ステップS1102)。例えば、索引データ格納部103の中で「報告書」の索引データの出現文書の情報が、
did1:doc/head/category:1, did7:doc/head/category:1, did9:doc/head/category:1, …
とすると、検索式「doc/head/category=‘報告書’」の評価結果は「報告書」が「doc/head/category」に出現する文書{dic1, dic7, dic9, …}となる。
同様に「開発」の索引データが、
開発 did1:doc/body:3, did3:doc/head/category:1, did7:doc/head/author:1, …
であったとき、上記(式1)の評価結果は、
{did1, did7, did9, …} and ({did3, …} or {did7, …}) = {did1, did7, did9, …} and {did3, did7, …} = {did7, …}
となる。
このように、検索対象として絞り込まれた文書集合は、文書IDの一覧の形式でランキング型検索部110に供給される。
(ランキング型検索処理)
ランキング型検索部110は、絞込み検索部109で絞り込まれた文書集合に対してランキング型の文書検索(検索スコアにより文書を順位付ける型の文書検索)を行う。ランキング型の文書検索の方式としてはベクトル空間モデルや確率モデルなどの手法が提案されているが、ここではtf・idf方式として知られている文書の検索スコアに基づき、そのスコアの降順に検索結果を出力する。
tf・idf方式では文書の検索スコアは、文書中に出現する各検索語について、その文書での出現頻度tf(term frequency)とその検索語の出現文書数に基づき計算されたidf(inverted document frequency)の積和、すなわち、図12に示す式にしたがって計算される。
例えば、検索語分類部108より第2の検索語として「情報」と「検索」がランキング型検索部110に供給され、かつ索引データ格納部103中で「情報」と「検索」の索引データが、
情報 …, did1:doc/head/title:1, did1:doc/body:5, …
検索 …, did1:doc/head/title:1, did1:doc/body:3, …
であった場合、文書「did1」の「情報」の出現頻度は1+5=6、「検索」の出現頻度は1+3=4とそれぞれ計算できる。
さらに、全文書数Nが256文書で、「情報」の出現文書dfが31文書、「検索」の出現文書dfが15文書であったとき、「情報」のidfはlog(256/(31+1))=3.0、「検索」のidfはlog(256/(15+1))=4.0となる。この場合の文書「did1」のスコアSは、次のように計算される(logの底数は2とする)。
3.0*6+4.0*4=34.0
各索引語の出現文書は索引データ格納部103中の索引データを参照し、その索引語が何種類の文書に出現したかをカウントすればよい。このようにして、検索結果提示部111には、検索スコアの降順に文書ID、検索スコア、および第2の構成要素の文書要約を一覧とした検索結果が提示される。もちろん、検索スコア計算はtf・idf方式に限定されるものではなく、他の方式により検索スコアを計算してもよい。
なお、文書要約では、第2の構成要素のテキストを図4に例示されたような順番で構造化文書格納部101から取得し、例えば予め定められた文字数(例えば100文字)を超えない範囲で検索語が出現した前後一定数(例えば10文字)の文字列を取得し、それを‘/’で結合した形式で生成する。構成要素分類データ格納部105を参照することにより、構造化文書格納部101から所望の文書について第2の構成要素のテキストを取得することは容易である。例えば、検索語「情報」と「検索」に対しては文書「did1」の要約結果は、以下のようになる。
情報検索技術の技術動向につい/WWW上の検索サイトが一般的に利用/…
(要約処理)
要約処理は、第2の構成要素のテキストデータについて、以下の手順で行う。
ステップ1:テキスト中で検索語が次に出現する箇所(最初にこのステップを実行する場合には先頭に出現する箇所)、もし、出現箇所が残っていなければ処理を終了する。
ステップ2:検索語の前後10文字を要約として切り出す。
補足2−1:前後10文字以内に構成要素の境界があった場合には、それより先は出力しない。
補足2−2:要約中のテキストに切り出したテキストを加えると100文字を超える場合は処理を終了する。
補足2−3:要約中のテキストに切り出したテキストが包含される場合はステップ1へ戻り、次の出現箇所に進む。
補足2−4:要約中のテキストが、切り出したテキストに包含される場合は、そのテキストを要約から削除する(区切り記号の‘/’は適宜、削除する)。
ステップ3:要約が空でなければ区切り文字‘/’で区切って、ステップ2で切り出したテキストを要約に加えて(空であれば、そのまま要約の先頭にして)、ステップ1に戻る。
図4に示された文書を例にとると、第2の構成要素を上から順番に、すなわち、「doc/head/title」,「doc/body」の順番に検索語「情報」と「検索」が出現する箇所を調べていく。「did1」の文書に対しては、まず、構成要素「doc/head/title」の「情報検索の技術動向について」で、検索語が出現する箇所を探索する。検索語「情報」が先頭に出現し、その前後10文字を上記のステップ2に従って切り出して、要約に追加する。「情報」は構成要素「doc/head/title」の先頭であるため後ろ10文字が切り出され、「情報検索の技術動向につい」(テキストA)が要約の初期値となる。
次に「検索」が3文字目から出現するので同様に要約のためのテキストを構成要素「doc/head/title」から切り出し、その結果は「情報検索の技術動向について」(テキストB)となる。「検索」の前2文字「情報」と後9文字が切り出されているが、どちらも10文字以内に構成要素の境界に到達したためである。今回、切り出したテキストBは要約中のテキストAを包含するため、テキストAは要約から削除され、テキストBが要約の初期値となる。これ以上、「情報」と「検索」の出現する箇所はないため、構成要素「doc/head/title」についての処理は終了する。
構成要素「doc/body」についても同様の処理が行われ、先頭の「WWWサイト上の検索サイトが一般的に利用されるようになり」の部分から「WWWサイト上の検索サイトが一般的に利用」が切り出される。上記構成要素「doc/head/title」から切り出された要約の初期値にそれが追加されて、図4に示された文書の要約は、「情報検索の技術動向について/WWWサイト上の検索サイトが一般的に利用」となる。
以上述べたように、上記第1の実施形態では、構造化文書の各構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類し、入力検索文字列に含まれる検索語を第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する。そして、複数の構造化文書から第1の検索語を第1構成要素に含む文書集合を抽出する絞り込み検索をした後、上記文書集合を第2の検索語と文書集合中の第2構成要素との間の検索スコアによって順序付けするランキング型の検索を行うようにする。
したがって上記第1の実施形態によれば、キーワードや文形式の検索要求から構造化文書に対して検索対象を絞り込むための検索式を生成することでユーザは文書構造を意識することなく、手軽に検索ノイズの削減などを行って的確な文書検索を実現できる。
(第2の実施形態)
本発明の第2の実施形態は、ランキング型検索部110によって検索された上位一定数の文書から検索文字列の関連語を抽出して、第2の検索語に追加して検索文字列に適合する文書を再検索(疑似適合性フィードバック、あるいは、ローカルフィードバックと呼ばれる方式)するようにしたものである。
図13は、第2の実施形態の構造化文書検索装置の構成を示したもので、上記図1に示したランキング型検索部110の後段に関連語抽出部1301および再検索部1302を加えたものである。なお、図13において、上記図1と同様の構成については同一の符号を付し、詳しい説明は省略する。
関連語抽出部1301は、上記ランキング型検索部110の検索スコアの計算において、tf・idf方式で検索された上位の文書(第2の検索語に基づいて検索された上位一定数の結果=初期検索結果の上位一定数の文書)の第2の構成要素のテキストデータをもとに検索文字列に関連する複数の関連語を抽出する。
再検索部1302は、関連語抽出部1301で抽出された関連語と上記第2の検索語とを用いて検索文字列に適合する文書を再検索する。
図14は、疑似適合性フィードバックの手順を示すフローチャートである。
図14において、ランキング型検索部110は、上記図12に示した検索スコアの計算式に基づいて初期検索(第2の検索語に基づいた検索)を実行する(ステップS1401)。関連語抽出部1301は、この検索結果の上位文書から関連語の抽出元となるテキストデータを取得する(ステップS1402)。疑似適合性フィードバックの詳細については、上述した非特許文献1などを参考にされたい。本実施形態では、関連語抽出部1301は、構成要素分類データ格納部105を参照し、検索結果の上位一定数の文書それぞれについて第2の構成要素のテキストデータだけを構造化文書格納部101から取得する。
関連語抽出部1301は、取得されたテキストデータについて形態素解析を行い(ステップS1403)、図6の品詞による索引語の選択(ステップS605)や図10の検索語の抽出・分類(ステップS1002)と同様に、形態素解析の結果から品詞に基づいて関連語の候補を選択する(ステップS1404)。そして、関連語抽出部1301は、図15に示す式にしたがって、上記選択された関連語の各候補と検索要求との間の関連度を計算し、関連度の大きい順に一定数を関連語として選択する(ステップS1405)。
再検索部1302は、上記検索語分類部108から供給された第2の検索語に上記選択された関連語を追加して、図12に示した検索スコアに基づき再検索を行う(ステップS1406)。
例えば、「did1」の文書が初期検索「情報検索に関する報告書」の上位に出現した場合、第2の構成要素「doc/head/title」および「doc/body」のテキストデータを取得し、形態素解析などを行った結果、検索要求に含まれない以下の語が関連語の候補として取得される。
技術、動向、WWW、サイト、…
関連語抽出部1301は、他の上位文書から取得した候補も含めて図15に示す式にしたがって関連度を計算し、関連度の高い順に一定数を関連語として選択する。
上記第2の実施形態のように、疑似適合性フィードバックを採用することで、検索要求中の語が出現する文書に限らずに幅広く文書を検索できるようになる。また、その際に本実施形態では書誌情報のような断片的な情報である第1の構成要素を除外し、第2の構成要素からだけ関連語を取得することで、著者名のような文書内容とは無関係な関連語が取得されることを抑止できる。
上記の手順では、関連語を選択する際に初期検索の上位文書について第2の構成要素のテキストデータを取得し、形態素解析など施しているが、予め、形態素解析などにより関連語の候補となるものを抽出し、構造化文書格納部101に抽出元の構成要素と対応付けて格納しておいてもよい。このようにすると、関連語抽出部1301で形態素解析などの処理を行うことなく、第2の構成要素をもとに関連語の候補を直接取得し、図15に示す式で一定数の関連語を選択できるようになる。なお、本発明は図15の式に基づく疑似適合性フィードバックの手法に留まらずに、他の公知の手法を選択してもよい。
また、上記の疑似適合性フィードバックにおいて、関連語抽出部1301により関連語の候補から選択された関連語をそのまま追加するのではなく、ユーザにより選択された関連語だけを追加して再検索するようにしてもよい。具体的には、上記選択された関連語をユーザに提示し、実際に検索に利用する関連語をユーザが選択できるようにする。その際に、第2の構成要素毎に一定数の関連語を取得し、構成要素毎にユーザに提示するようにしてもよい。このようにすることで、構成要素毎に目的や課題の記述などの役割が明確な場合は、それぞれの記述の役割毎に関連語をユーザに提示できるようになる。
図16に、このように構成した場合の関連部抽出部の機能ブロックを示す。
関連語取得部1601は、上記関連語抽出部1301と同様に、ランキング型検索部110による検索結果の上位文書の第2の構成要素毎に関連語を取得する。
関連語絞込み部1602は、上記関連語取得部1601で取得された関連語を取得元の構成要素名と対応した形式で関連語提示部1603に提示し、その中で、ユーザが関連語指定部1604を介して指定した関連語を再検索部1302に出力する。
構成要素名はそのまま表示するのではなく、例えば、
doc/head/title 表題
doc/body 本文
のように構成要素名と表示用の文字列の対応表を備え、関連語は後者と対応付けて提示する。
関連語提示部1603はディスプレイ装置のような表示装置、関連語指定部1604はマウスやキーボードのような入力装置により構成される。
図17は、関連語取得部1601の処理手順を示すフローチャートである。
関連語取得部1601は、図14のステップS1401と同様に、ランキング型検索部110により初期検索を行う(ステップS1701)。その結果の上位一定数の文書について、第2の構成要素毎に以降の処理を実行する。まず、関連語取得部1601は、初期検索結果の上位文書の中に含まれる第2の構成要素名を一つずつ取り出し(ステップS1702)、未処理の構成要素が残っていなかったら関連語取得処理を終了する(ステップS1703)。上位文書に含まれている第2の構成要素名は、図4に例示されている図1の構造化文書格納部101と図8に例示されている構成要素分類データ格納部105を照合することで取得できる。具体的には、初期検索(ステップS1701)の結果の上位から順番に構造化文書格納部101を参照し、着目している文書中にどのような構成要素が含まれているかを調べ、各構成要素について構成要素分類データ格納部105を参照して、その種別を判定する。
図17のステップS1703では、関連語取得部1601は、処理済みの構成要素名の一覧を保持するようにしておき、着目している第2の構成要素が処理済みか、あるいは、未処理であるかをその一覧に基づいて判定する。新たに未処理と判定された構成要素に含まれるテキストデータを上位文書の文書毎に取得する(ステップS1704)。
形態素解析(ステップS1705)、関連語候補の選択(ステップS1706)、関連語の選択(ステップS1707)は、図14のステップS1403〜S1305と同様の処理である。関連語取得部1601は、これらの処理をステップS1704で取得したテキストデータそれぞれに対して実行し、選択した関連語を構成要素名とともに関連語絞込み部1602に出力する。
図18に、関連語提示部1603に提示される画面構成の一例を示す。構成要素の表示用の名称(図18中の「表題」および「本文」)の後に、図17の処理により取得した関連語(「表題」について技術,製品、および「本文」についてWWW,エンタープライズ)が表示される。各関連語はパーソナル・コンピュータなどのGUI(Graphical User Interface)で用いられるチェックボックスと共に表示される。図18の画面例ではチェックボックスをマウスなどのポインティングデバイスで指定すると、当該チェックボックスに対応する関連語が選択されたものと見なされる。図18中の「検索」、「クリア」はGUI上のボタンであり、「検索」ボタンが押下されると、再検索部1302は、ステップS1406と同様に、検索語分類部108から供給された第2の検索語に上記選択された関連語を追加して、再検索処理を実行する。「クリア」ボタンが押下されると、すべての関連語が未選択の状態に戻される。
このように、関連語を構成要素に対応付けて提示することで、構成要素毎に目的や課題の記述などの役割が明確な場合は、ユーザはそれぞれの記述の役割に対応する関連語を選択できるようになる。このようにすることで、さらにユーザの検索目的に適合する検索結果を容易に得られるようになる。
図19に、第2の実施形態による検索フローの具体例を示す。ユーザが検索要求入力部107において検索文字列として「A社 G06F 電子番組表からのキーワード抽出」を入力したものとする。検索語分類部108は、第1の検索語として「A社」と「G06F」を分類し、第2の検索語として「電子番組表からのキーワード抽出」を分類する。
絞込み検索部109は、上記抽出された第1の検索語を用いて図19に示すような検索式を生成して、検索対象の文書の絞込みを行う。図19では「A社」がpatent/head/applicant、「G06F」がpatent/head/ipcのいずれも第1構成要素に分類される構成要素に出現する場合について検索式の生成例を示している。さらに、ランキング型検索部110は、第2の検索語として分類された「電子番組表からのキーワード抽出」を用いて、上記絞り込まれた文書集合に対してランキング形式の検索を行う。関連語抽出部1301は、ランキング型検索部110の検索結果の上位文書の第2の構成要素のテキストデータから関連語を抽出する。
したがって上記第1及び第2の実施形態によれば、キーワードや文形式の検索要求から構造化文書に対して検索対象を絞り込むための検索式を生成することでユーザは文書構造を意識することなく、手軽に検索ノイズの削減などを行って的確な文書検索を実現できる。また、文書の中の適切な範囲を対象にランキング型の検索や関連語の取得を行うことで検索精度の向上や適切な検索ナビゲーションを実現できる。
なお、この発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態に係る構造化文書検索装置のブロック図。 構造化文書の一例を示す図。 図2に示した構造化文書を木構造で表した図。 構造化文書格納部に格納されるデータ構成の一例を示す図。 索引データ格納部に格納されるデータ構成の一例を示す図。 索引作成部の処理手順を示すフローチャート。 構成要素分類部の処理手順を示すフローチャート。 構成要素分類データ格納部に格納されるデータ構成の一例を示す図。 構成要素別語彙格納部に格納されるデータ構成の一例を示す図。 検索語分類部の処理手順を示すフローチャート。 絞込み検索部の処理手順を示すフローチャート。 検索スコアの算出式を示した図。 本発明の第2の実施形態に係る構造化文書検索装置のブロック図。 疑似適合性フィードバックの処理手順を示すフローチャート。 関連語候補スコアの算出式を示した図。 関連語抽出部の他の構成例を示すブロック図。 関連語取得部の処理手順を示すフローチャート。 関連語提示部に提示される画面構成の一例を示す図。 第2の実施形態による検索フローの具体例を示す図。
符号の説明
101・・・構造化文書格納部
102・・・索引作成部
103・・・索引データ格納部
104・・・構成要素分類部
105・・・構成要素分類データ格納部
106・・・第1の構成要素語彙格納部
107・・・検索要求入力部
108・・・検索語分類部
109・・・絞込み検索部
110・・・ランキング型検索部
111・・・検索結果提示部
1301・・・関連語抽出部
1302・・・再検索部
1601・・・関連語取得部
1602・・・関連語絞込み部
1603・・・関連語提示部
1604・・・関連語指定部

Claims (12)

  1. テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索するための検索装置であって、
    前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類する第1の分類部と、
    前記複数の構造化文書を検索するための検索文字列を入力する入力部と、
    前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する第2の分類部と、
    前記複数の構造化文書から、前記第1構成要素に前記第1の検索語を含み、かつ、前記第2構成要素を持つ構造化文書集合を抽出する抽出部と、
    前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けする順序付け部と
    を具備することを特徴とする構造化文書検索装置。
  2. 前記統計情報は、前記構成要素のテキストデータの長さであることを特徴とする請求項1記載の構造化文書検索装置。
  3. 前記統計情報は、前記構成要素のテキストデータに含まれる品詞の割合であることを特徴とする請求項1記載の構造化文書検索装置。
  4. 前記統計情報は、前記構成要素のテキストデータ中の語彙の種類の数であることを特徴とする請求項1記載の構造化文書検索装置。
  5. 前記統計情報は、前記構成要素のテキストデータ中の語彙と定型表現を集めた辞書中の語彙との合致する割合であることを特徴とする請求項1記載の構造化文書検索装置。
  6. 前記統計情報は、前記構成要素のテキストデータの表記パターンと予め用意された定型表現のテンプレートの表記パターンとの合致する割合であることを特徴とする請求項1記載の構造化文書検索装置。
  7. 前記検索スコアは、前記構造化文書集合について、前記第2構成要素のテキストデータ中に前記第2の検索語が出現する頻度と、前記第2構成要素のテキストデータ中に前記第2の検索語が出現する構造化文書の数とをもとに計算されることを特徴とする請求項1記載の構造化文書検索装置。
  8. 前記順序付けられた構造化文書集合について前記第2構成要素のテキストデータを対象とする要約を提示する提示部をさらに具備することを特徴とする請求項1記載の構造化文書検索装置。
  9. 前記順序づけられた構造化文書集合中の前記第2構成要素のテキストデータをもとに前記検索文字列に関連する関連語を抽出する抽出部と、
    前記関連語及び前記第2の検索語を用いて、前記順序づけられた構造化文書集合から前記検索文字列に適合する文書を再検索する再検索部と
    をさらに具備することを特徴とする請求項1記載の構造化文書検索装置。
  10. 前記順序づけられた構造化文書集合中の前記第2構成要素のテキストデータをもとに前記検索文字列に関連する複数の関連語を抽出する抽出部と、
    前記関連語からユーザによって選択された関連語及び前記第2の検索語を用いて、前記順序づけられた構造化文書集合から前記検索文字列に適合する文書を再検索する再検索部と
    をさらに具備することを特徴とする請求項1記載の構造化文書検索装置。
  11. テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索する情報処理装置により実行される構造化文書検索方法であって
    前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類するステップと、
    前記複数の構造化文書を検索するための検索文字列を入力するステップと、
    前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類するステップと、
    前記複数の構造化文書から、前記第1の検索語を前記第1構成要素に含み、かつ、前記第2構成要素を持つ構造化文書集合を抽出するステップと、
    前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けするステップと
    することを特徴とする構造化文書検索方法。
  12. テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置を制御するプログラムであって、
    コンピュータに、
    前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第1構成要素と非定型表現の第2構成要素とに分類する処理と、
    前記複数の構造化文書を検索するための検索文字列を入力する処理と、
    前記検索文字列を前記第1構成要素に出現する割合がしきい値を超える第1の検索語としきい値以下の第2の検索語とに分類する処理と、
    前記複数の構造化文書から、前記第1の検索語を前記第1構成要素に含み、かつ、前記前記第2構成要素を持つ構造化文書集合を抽出する処理と、
    前記構造化文書集合を前記第2の検索語と前記構造化文書集合中の第2構成要素との間の検索スコアによって順序付けする処理と
    を実行させることを特徴とする構造化文書検索プログラム。
JP2007303305A 2007-11-22 2007-11-22 構造化文書検索装置、方法およびプログラム Expired - Fee Related JP5269399B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007303305A JP5269399B2 (ja) 2007-11-22 2007-11-22 構造化文書検索装置、方法およびプログラム
US12/205,636 US20090138473A1 (en) 2007-11-22 2008-09-05 Apparatus and method for retrieving structured documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007303305A JP5269399B2 (ja) 2007-11-22 2007-11-22 構造化文書検索装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009129176A JP2009129176A (ja) 2009-06-11
JP5269399B2 true JP5269399B2 (ja) 2013-08-21

Family

ID=40670620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007303305A Expired - Fee Related JP5269399B2 (ja) 2007-11-22 2007-11-22 構造化文書検索装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US20090138473A1 (ja)
JP (1) JP5269399B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396331B2 (en) * 2007-02-26 2013-03-12 Microsoft Corporation Generating a multi-use vocabulary based on image data
WO2014022715A1 (en) * 2012-08-01 2014-02-06 Google Inc. Categorizing search terms
US9600529B2 (en) * 2013-03-14 2017-03-21 Wal-Mart Stores, Inc. Attribute-based document searching
US11500930B2 (en) * 2019-05-28 2022-11-15 Slack Technologies, Llc Method, apparatus and computer program product for generating tiered search index fields in a group-based communication platform

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4469432B2 (ja) * 1999-02-09 2010-05-26 株式会社ジャストシステム インターネット情報処理装置、インターネット情報処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001195408A (ja) * 2000-01-06 2001-07-19 Hitachi Information Systems Ltd 大量文書類似検索システム
WO2001075728A1 (en) * 2000-03-30 2001-10-11 I411, Inc. Methods and systems for enabling efficient retrieval of data from data collections
JP2002163277A (ja) * 2000-11-28 2002-06-07 Auto Network Gijutsu Kenkyusho:Kk 文書情報供給システム、情報端末装置および文書情報供給方法
JP4025178B2 (ja) * 2002-11-11 2007-12-19 株式会社東芝 構造化データ検索方法、構造化データ検索装置およびプログラム
JP4091586B2 (ja) * 2004-09-30 2008-05-28 株式会社東芝 構造化文書管理システム、索引構築方法及びプログラム
JP4490930B2 (ja) * 2006-02-07 2010-06-30 株式会社東芝 構造化文書検索装置および構造化文書検索方法
US8024329B1 (en) * 2006-06-01 2011-09-20 Monster Worldwide, Inc. Using inverted indexes for contextual personalized information retrieval
WO2007149216A2 (en) * 2006-06-21 2007-12-27 Information Extraction Systems An apparatus, system and method for developing tools to process natural language text

Also Published As

Publication number Publication date
US20090138473A1 (en) 2009-05-28
JP2009129176A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
KR102158352B1 (ko) 정책정보 문서의 요지 정보 제공 방법, 정책정보 제공 시스템, 이를 위한 컴퓨터 프로그램
US10552467B2 (en) System and method for language sensitive contextual searching
US8024175B2 (en) Computer program, apparatus, and method for searching translation memory and displaying search result
US20120197864A1 (en) Trusted query system and method
JP2011501258A (ja) 情報抽出装置および方法
JP4865526B2 (ja) データマイニングシステム、データマイニング方法及びデータ検索システム
TW200805095A (en) Data product search using related concepts
JP2014106665A (ja) 文書検索装置、文書検索方法
JP2005043977A (ja) 文書間の類似度算出方法および装置
JP6409071B2 (ja) 文の並び替え方法および計算機
JPH0484271A (ja) 文書内情報検索装置
JP5269399B2 (ja) 構造化文書検索装置、方法およびプログラム
JP2014010758A (ja) ファイル管理装置、ファイル管理方法、及びプログラム
JP3612769B2 (ja) 情報検索装置および情報検索方法
Nanba et al. Bilingual PRESRI-Integration of Multiple Research Paper Databases.
JP2014102625A (ja) 情報検索システム、プログラム、および方法
JP2008077252A (ja) 文書ランキング方法、文書検索方法、文書ランキング装置、文書検索装置、及び記録媒体
JP4428703B2 (ja) 情報検索方法及びそのシステム並びにコンピュータプログラム
JP2007128224A (ja) 文書インデキシング装置、文書インデキシング方法及び文書インデキシングプログラム
Pembe et al. A tree-based learning approach for document structure analysis and its application to web search
Lama Clustering system based on text mining using the K-means algorithm: news headlines clustering
Mukherjee et al. Automatic extraction of significant terms from the title and abstract of scientific papers using the machine learning algorithm: A multiple module approach
JP2004220226A (ja) 検索文書のための文書分類方法及び装置
JP5187187B2 (ja) 体験情報検索システム
JP5094096B2 (ja) 有名人の別表現の自動抽出装置、方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130508

R151 Written notification of patent or utility model registration

Ref document number: 5269399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees