JP2007156739A - テキストからキーワードを検索する効率的なシステム、および、その方法 - Google Patents

テキストからキーワードを検索する効率的なシステム、および、その方法 Download PDF

Info

Publication number
JP2007156739A
JP2007156739A JP2005349717A JP2005349717A JP2007156739A JP 2007156739 A JP2007156739 A JP 2007156739A JP 2005349717 A JP2005349717 A JP 2005349717A JP 2005349717 A JP2005349717 A JP 2005349717A JP 2007156739 A JP2007156739 A JP 2007156739A
Authority
JP
Japan
Prior art keywords
texts
keyword
index
text
word
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.)
Granted
Application number
JP2005349717A
Other languages
English (en)
Other versions
JP4172801B2 (ja
Inventor
Daisuke Takuma
大介 宅間
Yuta Tsuboi
祐太 坪井
Itsusei Yoshida
吉田 一星
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2005349717A priority Critical patent/JP4172801B2/ja
Priority to US11/555,790 priority patent/US7584184B2/en
Priority to CNB2006101463951A priority patent/CN100449546C/zh
Priority to KR1020060119819A priority patent/KR100962923B1/ko
Publication of JP2007156739A publication Critical patent/JP2007156739A/ja
Priority to US12/055,420 priority patent/US7945552B2/en
Application granted granted Critical
Publication of JP4172801B2 publication Critical patent/JP4172801B2/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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)

Abstract

【課題】所定の条件を満たすテキストにおいて高い頻度で用いられるキーワードを、これまでよりも効率的に検索する。
【解決手段】本発明のシステムは、それぞれのテキストの識別情報から当該テキストに含まれるキーワードのリストを指定する第1インデックスと、それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスと、それぞれのキーワードを含むテキストの数とを記憶している。そして、テキスト検索条件の入力を受け付けると、第1インデックスによる検索時間の見積もり、および、第2インデックスによる検索時間の見積もりを算出して、第1インデックスおよび第2インデックスの何れを用いた検索がより高速であるかを判断する。そして、テキスト検索条件を満たすテキストにおいて、高い頻度で出現するキーワードをより高速であると判断されたインデックスによって検索する。
【選択図】図1

Description

本発明は、テキストからキーワードを検索するシステム、および、その方法に関する。特に、本発明は、予め準備されたインデックスを用いてキーワードを効率的に検索するシステム、および、その方法に関する。
近年、通信ネットワークや情報処理装置の発達に伴い、多くのテキストが電子データとして蓄積されている。この結果、これらのテキストの中から有為な情報を得るための技術としてテキストマイニングが注目されてきている。テキストマイニングにおいて実用的な問題の1つに、「何らかの検索条件で絞り込まれたテキストの集合中で、何らかのカテゴリーに属するキーワードを、その出現頻度が高い順にN個検出する」という問題がある(非特許文献1を参照)。
この問題の解は、テキストの識別情報、および、キーワードの識別情報をプライマリキーとしたRDB(Relational Database)を構築することで求められる。このRDBは、例えば、あるテキストに対応付けて、そのテキストに含まれるキーワードを記録したデータベースである。しかしながら、このようなRDBを用いた場合には、テキストの数が膨大となると検索の所要時間も膨大となる。そこで、従来、この問題を複数の情報処理装置によって並列に計算する技術が提案されている(非特許文献1を参照。)。
非特許文献2および3については後述する。
Yu C, Philip G, Meng WY. Distributed top-n query processing with possibly uncooperative local systems, Proc. of the 29th Int'l Conf. on Very Large Data Bases. Berlin: Morgan Kaufmann Publishers, 2003. 117-128. Wei Wang, Jiong Yang, Richard Muntz: STING: A Statistical Information Grid Approach to Spatial Data Mining, Proceedings of the 23rd VLDB Conference, Athens, Greece, Aug 1997. Nasukawa, T. and Nagano, T. "Text analysis and knowledge mining system", IBM Systems Journal 40(4): 967-984 (2001).
しかしながら、上記の非特許文献1の方法では、並列・分散コンピューティング・システムが必要となり、膨大な費用や手間がかかる。即ち例えば、複数の情報処理装置を導入し、これらの間を高速な通信ネットワークで接続しなければならない。そこで、単一の情報処理装置でも実行できる効率的な検索技術の開発が望まれる。例えば、従来のテキスト検索の技術を応用して、テキストの識別情報やキーワードの識別情報を番号として用い、その番号に基づくインデックスやハッシュ構造のデータを予め準備することで、検索を高速化できると考えられる。具体的には、以下の2つのインデックスが考えられる。
(1)KEY_TO_DOCインデックス
これは、出現頻度順に配列されたキーワードの識別情報から、そのキーワードを含むテキストの識別情報のリストへの参照である。
(2)DOC_TO_KEYインデックス
これは、テキストの識別情報から、そのテキストに含まれるキーワードのリストへの参照である。
(1)のインデックスを用いた処理は、例えば、出現頻度の高い順にキーワードを順次選択して、そのキーワードを含むテキストのリストが、テキスト検索条件を満たすか否かを判断する処理となる。そして、テキスト検索条件を満たすテキストの数が多い順にN個のキーワードを選択すれば、それが検索結果となる。しかしながら、検索の対象となるキーワードの種類が多い場合には、キーワードの種類の数に応じた検索時間を要してしまう。
(2)のインデックスを用いた処理は、例えば、テキスト検索条件を満たすテキストを選択して、そのテキストの識別情報に対応するキーワードのリストを取得する。そして、そのキーワードを含むテキストの数をキーワード毎に集計する。しかしながら、検索の対象となるテキストの数が多い場合には、テキストの数に応じた検索時間を要してしまう。一部のテキストを標本抽出することで高速化することも考えられるが、充分な数のテキストが準備できない場合には、検索の精度が低下してしまう。
そこで本発明は、上記の課題を解決することのできるシステム、方法、および、プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、テキストからキーワードを検索するシステムであって、それぞれのテキストの識別情報から当該テキストに含まれるキーワードのリストを指定する第1インデックスを記憶する第1インデックス記憶部と、それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを、それぞれのキーワードを含むテキストの数に対応付けて記憶する第2インデックス記憶部と、キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、検索対象となる複数のテキストのうちテキスト検索条件を満たすテキストの数、および、第2インデックスに対応して記憶されたテキストの数に基づいて、第1インデックスによる検索時間の見積もり、および、第2インデックスによる検索時間の見積もりを算出して、第1インデックスおよび第2インデックスの何れを用いた検索がより高速であるかを判断する判断部と、テキスト検索条件を満たすテキストにおいて、予め定められた基準よりも高い頻度で出現するキーワードを、より高速であると判断されたインデックスによって検索して出力する検索部とを備えるシステム、当該システムによってキーワードを検索する方法、および、当該システムとして情報処理装置を機能させるプログラムを提供する。
また、本発明の第2の形態においては、テキストからキーワードを検索するシステムであって、それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを記憶する第2インデックス記憶部と、キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、複数のキーワードのうち、そのキーワードを含み、かつテキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索して出力する検索部とを備え、検索部は、高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、当該候補ワードを含み、かつテキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している候補ワード記憶部と、複数のキーワードのそれぞれを当該キーワードを含むテキストの数が大きい順に順次、高頻度ワードか否かを判断する対象となる対象ワードとして選択する選択部と、対象ワードを含むテキストの数を第2インデックス記憶部から読み出し、読み出した当該テキストの数を候補ワード出現数と比較する比較部と、読み出された当該テキストの数が、何れかの候補ワード出現数よりも大きいことを条件に、対象ワードを含むテキストのリストを第2インデックス記憶部から読み出し、読み出したリストのうちテキスト検索条件を満たすテキストの数を算出する算出部と、算出されたテキストの数が、何れかの候補ワード出現数よりも大きいことを条件に、対象ワードを候補ワードとして候補ワード記憶部に追加して、既に候補ワード記憶部に記憶されていた一の候補ワードを候補ワード記憶部から除外する更新部とを有し、選択部によって次に選択された対象ワードを含むテキストの数が、何れの候補ワード出現数よりも小さいことを条件に、候補ワード記憶部に記憶されたキーワードを高頻度ワードとして出力するシステム、および、当該システムによってキーワードを検索する方法、および、当該システムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、所定の条件を満たすテキストにおいて高い頻度で用いられるキーワードを、これまでよりも効率的に検索することができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、検索システム10の全体構成を示す。検索システム10は、テキストDB15に記憶された複数のテキストの中からキーワードを検出してそのリストを利用者に出力するシステムである。特に、検索システム10は、複数のキーワードのうち、そのキーワードを含み、かつあるテキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索するシステムである。利用者は、テキスト検索条件として自らの興味の対象を特定する条件を指定することによって、興味のある分野でよく使われるキーワードを知ることができる。
本実施例における検索システム10は、このようなキーワードの検索処理を、これまでよりも効率的に実行することを目的とする。
検索システム10は、入力部100と、第1インデックス記憶部200と、第2インデックス記憶部300と、検索部400と、判断部500とを備える。入力部100は、キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を利用者から受け付ける。具体的には、入力部100は、テキスト検索条件として、そのテキストが含んでいるべきキーワードの入力を受け付けてもよい。また、入力部100は、検索の対象となるキーワードのカテゴリーの入力を受け付ける。具体的には、入力部100は、検索の対象となるキーワードが用いられる分野、または、当該キーワードの品詞を示す情報を、カテゴリーとして受け付けてもよい。
第1インデックス記憶部200は、それぞれのテキストの識別情報からそのテキストに含まれるキーワードのリストを指定する第1インデックスを、キーワードのカテゴリー毎に記憶する。この第1インデックスは、テキストDB15に記憶された複数のテキストに基づいて予め作成され、キーワードの検索に先立って第1インデックス記憶部200に記憶されている。第2インデックス記憶部300は、それぞれのキーワードの識別情報からそのキーワードを含むテキストのリストを指定する第2インデックスを、キーワードのカテゴリー毎に記憶する。また、第2インデックス記憶部300は、この第2インデックスに対応付けて、それぞれのキーワードを含むテキストの数を記憶している。この第2インデックスも、第1インデックスと同様に、テキストDB15に記憶された複数のテキストに基づいて予め作成されている。
判断部500は、第2インデックスに対応して記憶された、それぞれのキーワードを含むテキストの数を、第2インデックス記憶部200から読み出す。判断部500は、入力されたカテゴリーに対応するキーワードを含むテキストの数、および、検索対象となる複数のテキストのうちテキスト検索条件を満たすテキストの数に基づいて、第1インデックスによる検索時間の見積もり、および、第2インデックスによる検索時間の見積もりを算出する。そして、判断部500は、算出したこれらの見積もりに基づいて、第1インデックスおよび第2インデックスの何れを用いた検索がより高速であるかを判断する。
検索部400は、テキスト検索条件を満たすテキストにおいて、予め定められた基準よりも高い頻度で出現するキーワードを、より高速であると判断されたインデックスによって検索して、利用者に出力する。この基準とは、既に述べたとおり、例えば、含んでいるテキストの数が多い順から予め定められた基準個数以内であることである。検索部400は、このような基準を満たすキーワードのリストを利用者に出力する。
図2は、第1インデックス記憶部200のデータ構造の一例を示す。第1インデックス記憶部200は、カテゴリー毎に設けられたハッシュファイル210−1〜Nのそれぞれと、カテゴリー毎に設けられたキーワードリストファイル220−1〜Nのそれぞれとを記憶する。本実施例においては説明の重複を避けるために、ハッシュファイル210−1〜Nを代表してハッシュファイル210−1について説明し、キーワードリストファイル220−1〜Nを代表してキーワードリストファイル220−1について説明する。なお、ハッシュファイル210−2〜Nのそれぞれは、ハッシュファイル210−1と略同一の構成を採り、キーワードリストファイル220−2〜Nのそれぞれは、キーワードリストファイル220−1と略同一の構成を採る。
ハッシュファイル210−1は、それぞれのテキストの識別情報(ID)に対応付けて、そのテキストに含まれるキーワードのリストを指示するポインタを記録している。例えば、テキスト0に対応するポインタAAAAは、テキスト0に含まれるキーワードのリストに対するポインタである。このポインタは、例えば、そのリストが後述するキーワードリストファイル220−1において記録されている記録位置であってもよい。
キーワードリストファイル220−1は、テキスト毎に、そのテキストに含まれるキーワードのリストを記録している。例えば、キーワードリストファイル220−1は、テキスト0に対応付けて、OS、Linux、および、sshから構成されるキーワードのリストを記録している。また、キーワードリストファイル220−1は、テキスト1に対応付けて、このテキスト1に含まれるキーワードが存在しない旨を示す値(例えば、NULL)が格納されている。なお、本例においては説明の便宜上、検索の対象となるキーワードをその文字列として示すが、実際には、キーワードリストファイル220−1は、それぞれのキーワードの識別情報を記録している。
ここで、ハッシュファイル210−1は、テキストの識別情報をハッシュ・キーとし、キーワードリストへのポインタをハッシュ値としたハッシュ構造であることが望ましい。これにより、指定したテキストに含まれるキーワードのリストを迅速に求めることができる。一方で、キーワードリストファイル220−1は、複数のキーワードを直列に連結したリスト構造のデータをキーワードリストとして記録してもよい。この場合、キーワードリストからそれぞれのキーワードを取得するためには、キーワードリストの長さに応じた処理時間を要する。
図3は、第2インデックス記憶部300のデータ構造の一例を示す。第2インデックス記憶部300は、サマリーファイル310−1〜Nと、ディストリビューションファイル320−1〜Nとを記憶する。第2インデックス記憶部300は、カテゴリー毎に設けられたサマリーファイル310−1〜Nのそれぞれと、カテゴリー毎に設けられたディストリビューションファイル320−1〜Nのそれぞれとを記憶する。本実施例においては説明の重複を避けるために、サマリーファイル310−1〜Nを代表してサマリーファイル310−1について説明し、ディストリビューションファイル320−1〜Nを代表してディストリビューションファイル320−1について説明する。なお、サマリーファイル310−2〜Nのそれぞれは、サマリーファイル310−1と略同一の構成を採り、ディストリビューションファイル320−2〜Nのそれぞれは、ディストリビューションファイル320−1と略同一の構成を採る。
サマリーファイル310−1は、それぞれのキーワードの識別情報に対応付けて、そのキーワードを含むテキストの数を記録している。例えば、キーワード15245は、「質問」というキーワードであり、そのキーワードを含むテキストの数が999000個である。ディストリビューションファイル320−1は、キーワード毎に、そのキーワードを含むテキストのリストを記録している。例えば、ディストリビューションファイル320−1は、キーワード15245に対応付けて、このキーワードを含むテキストの識別情報(0、1、2、3、…)を記録している。即ちキーワード「質問」は、テキスト0にも、テキスト1にも、テキスト2にも含まれている。
ここで、サマリーファイル310−1は、キーワードの識別情報をハッシュ・キーとし、各キーワードを含むテキストの数をハッシュ値としたハッシュ構造であることが望ましい。これにより、指定したキーワードを含むテキストのリストを迅速に求めることができる。更に、サマリーファイル310−1は、キーワードの識別情報を、そのキーワードを含むテキストの数が多い順に配列して記録していることが望ましい。これにより、後述する選択部410の処理において、キーワードをその頻度の順に選択する処理の効率を高めることができる。一方で、ディストリビューションファイル320−1は、複数のテキストの識別情報を直接に連結したリスト構造のデータを、テキストのリストとして記録してもよい。この場合、テキストのリストからそれぞれのテキストの識別情報を取得するためには、テキストのリストの長さに応じた処理時間を要する。
なお、本図の例に代えて、または、本図の例に加えて、サマリーファイル310−1は、それぞれのキーワードの識別情報に対応付けて、そのキーワードよりも含んでいるテキストの数が多い全てのキーワードを含んでいるテキストの総数を記録してもよい。即ち、サマリーファイル310−1は、あるキーワードに対応付けて、そのキーワードよりも先頭側に配列されている全てのキーワードに対応するテキスト数の合計を、更に記録してもよい。これにより、後述する第2検索時間算出部540による、検索時間を見積もる処理を高速化することができる。
図4は、検索部400の機能構成を示す。図4を用いて、検索部400が第2インデックスを用いて行う検索の機能を説明する。検索部400は、候補ワード記憶部405と、選択部410と、比較部420と、算出部440と、更新部450とを有する。検索部400は、複数のキーワードのうち、そのキーワードを含み、かつテキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを検索することを目的とする。検索されるこのキーワードを、高頻度ワードと呼ぶ。
候補ワード記憶部405は、この高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、その候補ワードを含み、かつ、テキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している。即ち例えば、高頻度ワードをN個検索するのが目的であれば、候補ワード記憶部405は、N個の候補ワードを記憶している。これらの候補ワードは、初期状態においてはどのようなキーワードであってもよい。選択部410は、検索の対象となる複数のキーワードのそれぞれを当該キーワードを含むテキストの数が多い順に順次、高頻度ワードか否かを判断する対象となる対象ワードとして選択する。例えば、選択部410は、第2インデックス記憶部300のサマリーファイル310−1に配列して記録された複数のキーワードの識別情報を、その配列順に順次取得してもよい。
比較部420は、対象ワードを含むテキストの数を、第2インデックス記憶部300のサマリーファイル310−1から読み出す。そして、比較部420は、読み出した当該テキストの数を、候補ワード記憶部405に記憶された候補ワード出現数と比較する。算出部440は、読み出された当該テキストの数が、何れかの候補ワード出現数よりも大きいことを条件に、この対象ワードを含むテキストのリストを第2インデックス記憶部300から読み出す。そして、算出部440は、読み出したリストのうちテキスト検索条件を満たすテキストの数を算出する。更新部450は、算出されたこのテキストの数が、何れかの候補ワード出現数よりも大きいことを条件に、この対象ワードを候補ワードとして候補ワード記憶部405に追加する。そして、更新部450は、既に候補ワード記憶部405に記憶されていた一の候補ワードを候補ワード記憶部405から除外する。例えば、候補ワード記憶部405にN個の候補ワードが記憶されている場合には、更新部450は、N番目に候補ワード出現数が大きい候補ワードを候補ワード記憶部405から除外する。
比較部420、算出部440、および、更新部450は、選択部410によって対象ワードが選択される毎に、以上の処理を順次繰り返し実行する。そして、検索部400は、選択部410によって選択された対象ワードを含むテキストの数が、何れの候補ワード出現数よりも小さいことを条件に、候補ワード記憶部405に記憶されたキーワードを高頻度ワードとして出力する。
図5は、判断部500の機能構成を示す。判断部500は、割合算出部510と、関数算出部520と、閾値算出部530と、第2検索時間算出部540と、第1検索時間算出部550とを有する。割合算出部510は、検索の対象となる全てのテキストの中でテキスト検索条件を満たすテキストの占める割合を示す条件充足率を算出する。関数算出部520は、各キーワードについて当該キーワードを含みかつテキスト検索条件を満たすテキストの数を示す確率変数の確率分布を、算出された条件充足率に基づいて近似的に算出する。具体的には、関数算出部520は、各キーワードについて、当該キーワードを含むテキストがテキスト検索条件を満たす確率を、上記の条件充足率によって近似することによって、この確率変数の確率分布を二項分布として算出する。
そして、関数算出部520は、各キーワードの確率変数がある閾値以上となる確率の和を求める閾値の関数を算出する。閾値算出部530は、算出されたこの関数の値が基準個数と略同一となる閾値を算出する。第2検索時間算出部540は、算出したこの閾値よりも多い数のテキストに含まれる各キーワードを、第2インデックス記憶部300のサマリーファイル310−1を用いて選択する。そして、第2検索時間算出部540は、選択したこれらのキーワードを含んでいるテキストの総数を、サマリーファイル310−1を用いて算出する。なお、既に述べたように、あるキーワードよりも出現数の多いキーワードが含まれるテキストの総数は、予め算出されてサマリーファイル310−1に記録されていてもよい。この場合、第2検索時間算出部540は、この総数をサマリーファイル310−1から取得してもよい。
そして、第2検索時間算出部540は、算出されたこの総数と、所定のアクセス時間との積を、第2インデックスによる検索時間の見積もりとして算出する。第1検索時間算出部550は、テキスト検索条件を満たすテキストの数と、所定のアクセス時間との積を、第1インデックスによる検索時間の見積もりとして算出する。この所定のアクセス時間とは、例えば、第1インデックスに含まれるテキストの識別情報の中から、ある1つ識別情報を探し出してキーワードのリストを取得する時間(ランダム・アクセス時間)に、キーワードのリストからキーワードを順次読み出す時間(シーケンシャル・アクセス時間)と1テキスト辺りのキーワードの数との積を加えた時間となる。これに代えて、この所定のアクセス時間は、上記のランダム・アクセス時間に近似されてもよいし、その他の所定の定数値によって近似されてもよい。これを受けて、判断部500は、第2検索時間算出部540によって算出された検索時間の見積もりが、第1検索時間算出部550によって算出された検索時間の見積もりよりも小さいことを条件に、第2インデックスによる検索の方が高速と判断する。
図6は、検索システム10によってキーワードを検索する処理の流れを示す。入力部100は、テキスト検索条件の入力を受け付け(S600)、カテゴリーの入力を受け付ける(S610)。判断部500は、テキスト検索条件を満たすテキストの数、および、それぞれのキーワードを含むテキストの数に基づいて、第1インデックスによる検索時間の見積もり、および、第2インデックスによる検索時間の見積もりを算出する(S620)。判断部500は、第1インデックスによる検索時間の見積もり、および、第2インデックスによる検索時間の見積もりを比較することにより、何れのインデックスを用いた検索がより高速であるかを判断する(S630)。
そして、第1インデックスを用いた検索が、第2インデックスを用いた検索よりも高速と判断されたことを条件に(S630:YES)、検索部400は、第1インデックスを用いた検索を行う(S640)。一方で、第2インデックスを用いた検索が、第1インデックスを用いた検索よりも高速と判断されたことを条件に(S630:NO)、検索部400は、第2インデックスを用いた検索を行う(S650)。
図7は、S650における処理の詳細を示す。選択部410は、入力されたカテゴリーにおいて、対象ワードとして未だ選択していないキーワードが存在するか否かを判断する(S700)。存在している場合には(S700:YES)、選択部410は、対象ワードとして未だ選択していないキーワードの中から、そのキーワードを含むテキストの数が最も多いキーワードを対象ワードとして選択する(S710)。そして、比較部420は、この対象ワードを含むテキストの数を、候補ワード記憶部405に記憶された候補ワード出現数と比較する(S720)。
この対象ワードを含むテキストの数が、何れかの候補ワード出現数よりも大きいことを条件に(S730:YES)、算出部440は、この対象ワードを含むテキストのリストを第2インデックス記憶部300から取得する(S740)。そして、算出部440は、このリストに含まれるテキストのうち、テキスト検索条件を満たすテキストの数を算出する(S750)。そして、更新部450は、算出されたこのテキストの数が、何れかの候補ワード出現数よりも大きいことを条件に、この対象ワードおよびこれらの候補ワードの中から、含まれているテキストの数が多い方から基準個数を上限として新たな候補ワードとして選択して、候補ワード記憶部405を更新する(S760)。具体的には、更新部450は、この対象ワードを候補ワードとして候補ワード記憶部405に追加する(S760)。追加した結果候補ワードの数が基準個数を超える場合には、更新部450は、既に記憶されている一の候補ワードを候補ワード記憶部405から除外する。
入力されたカテゴリーのキーワードの全てを既に対象ワードとして選択した場合には(S700:NO)、検索部400はS770に処理を移す。また、対象ワードを含むテキストの数が、何れの候補ワード出現数よりも小さいことを条件に(S730:NO)、検索部400は、S770に処理を移す。S770において、検索部400は、候補ワード記憶部405に記憶されている候補ワードを高頻度ワードとして出力する(S770)。
以上、図7のS730に示す処理によれば、全てのキーワードを対象ワードとして選択していない場合であっても、以降の処理において高頻度ワードが検索されないと判明した時点で処理を中止させる。これにより、図7に示す繰り返し処理の回数をキーワードの数よりも少なく抑えることができ、高頻度ワードの検索を効率化できる。また、発明者らの実験により、図7の処理は、実用的な用途において多くの場合、第1インデックスを用いた検索よりも高速に動作することが確かめられた。
なお、以上の図7の処理効率を検討するところ、この処理の効率が低下するのは、以下の2つの場合と考えられる。
(1)対象ワードの数が多いために繰り返し処理の回数の上限値が大きい場合。
これは、入力されたカテゴリーが多くのキーワードを含む場合であり、「名詞」などのカテゴリーが典型例として挙げられる。
(2)S730による判断がNOとならずに、繰り返し処理の回数が対象ワードの数と同程度となる場合。
これは、入力されたカテゴリーが、含まれているテキスト数の略等しい多数のキーワードを含む場合である。例えば、製品に対する意見や要望を電話で受け付けるコールセンターにおいて、オペレータは、対応したお客様の名前とそのお客様の意見などをテキストに記録する。テキストは、対応したお客様毎に管理され、統計的な解析などによって、今後の製品改良などに活用される。このような例において、同一のお客様から複数の意見が寄せられることは稀であれば、お客様の名前と言うカテゴリーに属するキーワードは、この(2)の典型例となる。
本実施例に係る検索システム10は、以上のような検索環境を、キーワードの出現数の分布などによって予め判断して、第2インデックスを用いた検索が高速か否かを適切に判断する。以下、図8においてその処理について述べる。
図8は、S620における処理の詳細を示す。図9は、S810において算出される関数を示すグラフである。割合算出部510は、条件充足率を算出する(S800)。条件充足率は、検索の対象となる全てのテキストの数を#Dとし、テキスト検索条件を満たすテキストの数を#Dとすれば、#D/#Dと表される。
次に、関数算出部520は、各キーワードの確率変数がある閾値以上となる確率の和を求める閾値の関数を算出する(S810)。具体的には、まず、関数算出部520は、各キーワードについて当該キーワードを含みかつテキスト検索条件を満たすテキストの数を示す確率変数の確率分布を、算出された条件充足率に基づいて近似的に算出する。この確率分布は、一例としては、二項分布であり、何れのキーワードについても、そのキーワードを含むテキストがテキスト検索条件を満たす確率が上記の条件充足率であると仮定することによって定められる。
ここで、キーワードiについての確率変数をXとする。また、キーワードiを含むテキストの数の分布を示す二項分布は、B(n,p)=B(#D,#D/#D)と表される。但し、キーワードiを含むテキストの数を#Dとする。また、キーワードiと、ある閾値を示す整数Mに対し、以下の確率変数Yを定義する。
=1(X≧M)
=0(X<M)
この確率変数Yを用いて、関数算出部520は、各キーワードの確率変数がこの閾値M以上となる確率の和を求める閾値Mの関数を算出する。この関数は、以下のE(Y)として表される。
E(Y)=E(Σi=1,2,…,I)=Σi=1,2,…,IE(Y)=Σi=1,2,…,IP(X≧M)
閾値算出部530は、この関数E(Y)の値が基準個数Nと略同一となる閾値Mを算出する(S820)。このときの閾値Mの値をMとする。この関数E(Y)は、図9に示すように、閾値Mに対して単調減少の関数となる。このため、例えば、閾値算出部530は、関数E(Y)の値がNとなるMの値を二分探索によって算出してもよい。また、閾値算出部530は、ある閾値Mに対するP(X≧M)の値を、例えばSTINGアルゴリズムと呼ばれる計算手順によって算出してもよい(非特許文献2の6ページ目を参照。)。これにより、S820における閾値Mの計算を高速に実現することができる。
続いて、第2検索時間算出部540は、この閾値を用いて、第2インデックスを用いた検索の処理時間の見積もりを算出する(S830)。具体的には、まず、第2検索時間算出部540は、算出したこの閾値よりも多い数のテキストに含まれる各キーワードを、第2インデックス記憶部300のサマリーファイル310−1を用いて選択する。そして、第2検索時間算出部540は、選択したこれらのキーワードを含んでいるテキストの総数を、サマリーファイル310−1を用いて算出する。なお、既に述べたように、あるキーワードよりも出現数の多いキーワードが含まれるテキストの総数は、予め算出されてサマリーファイル310−1に記録されていてもよい。この場合、第2検索時間算出部540は、この総数をサマリーファイル310−1から取得してもよい。そして、第2検索時間算出部540は、算出したこの総数と、所定のアクセス時間との積を、検索の処理時間の見積もりとして算出する。
ここで、所定のアクセス時間とは、図3に示すディストリビューションファイル320−1において、ある1つのテキストにおけるキーワードのリストを先頭から順に辿って各キーワードを選択する処理の所要時間であることが望ましい。例えば、第2検索時間算出部540は、キーワードのリストの長さの平均値を求め、その平均値と等しい長さのキーワードを辿る処理の時間をアクセス時間として算出してもよい。これに代えて、所定のアクセス時間は、所定の定数値に近似して設定されてもよい。
続いて、第1検索時間算出部550は、第1インデックスを用いた検索の処理時間の見積もりを算出する(S840)。例えば、第1検索時間算出部550は、テキスト検索条件を満たすテキストの数と、所定のアクセス時間との積を、第1インデックスによる検索時間の見積もりとして算出する。ここで、所定のアクセス時間は、例えば以下の式によって算出される。
ランダムアクセス時間 + 1つのテキストに含まれるキーワードの数の平均値 × シーケンシャルアクセス時間
ここで、ランダムアクセス時間とは、テキスト検索条件を満たす各テキストを選択して、選択された各テキストに対応するキーワードのリストを選択する処理に要する時間である。また、シーケンシャルアクセス時間とは、ある1つのテキストについて、そのテキストに含まれるキーワードを順次選択して、キーワード毎の出現回数を集計する処理に要する時間である。これらのランダムアクセス時間、および、シーケンシャルアクセス時間は、検索対象のキーワードによらず、所定の定数値に近似してもよい。
以上、図8および図9を用いて説明したように、判断部500は、第1インデックスを用いた検索の所要時間と、第2インデックスを用いた検索の所要時間とを、実際の検索処理によらず迅速に計算することができる。この結果、実際の検索処理に先立って、何れのインデックスを用いてキーワードを検索するべきかを適切に判断することができる。
図10は、本実施例によって検索されるキーワードの検索結果を示す。本図の縦軸は、あるテキストの集合において、品詞の「体言」をカテゴリーとして指定した場合について、検索システム10によって検索された高頻度ワードの一覧を示す。また、本図の横軸は、それと同一のテキストの集合において、テキストの内容の主題をカテゴリーとして指定した場合について、検索システム10によって検索された高頻度ワードの一覧を示す。
「体言」については、中国、ロイター、日本、および、東京、というキーワードが、この順に頻出するキーワードとして検索されている。「主題」については、社会、スポーツ、ビジネス、および、国際と言うキーワードが、この順に頻出するキーワードとして検索されている。このように、本実施例における検索システム10によれば、各カテゴリーにおいて頻出するキーワードを迅速に検索することができる。
また、縦軸と横軸の交点には、それぞれのキーワードが共に出現するテキストの数を示す。また、テキストの数を示す各行の次の行には、それぞれのキーワードが相関する程度を示す指標値を示す。本実施例における検索システム10は、第2インデックスを用いることによって各キーワードを含むテキストのリストを求めることもできるので、複数のキーワードが共に出現するテキストの数も効率的に算出することができる。
図11は、キーワードの検索の所要時間を従来手法と比較して示す。この検索においては、テキスト検索条件として、テキストに含まれているキーワードを用いる。即ち、この検索においては、「WIN95」というキーワードを含むテキストを検索の対象とする。また、この検索においては、一般名詞、名詞、固有名詞、コマンド、ハードウェア、ソフトウェア、および、専門用語、のそれぞれを、キーワードのカテゴリーとして用いる。そしてそれぞれのカテゴリーについて、検索に要した所要時間を計測する実験を行う。
また、図11には、本実施例に係る検索システム10による検索の所要時間を、非特許文献3に記載された技術による所要時間と比較して示す。何れのカテゴリーにおいても、従来手法と比べて極めて高速にキーワードが検索されることが確かめられた。
図12は、第1インデックス(DOC_TO_KEYインデックス)による検索と第2インデックス(KEY_TO_DOCインデックス)による検索との所要時間を比較して示す。図12に示す所要時間は、判断部500による判断結果によらず、同一条件下で第1インデックスを用いた検索と第2インデックスを用いた検索との双方を行った場合について、その所要時間を示す。また、図中の下線を示した所要時間は、判断部500の判断によってより高速にキーワードが検索できると判断されたインデックスによる検索の所要時間を示す。図から明らかなように5例のうち4例において、より高速な検索方法を正しく判断できることが確かめられた。また、残りの1例についても、判断は誤ったものの、正しい判断と比較して概ね同一の所要時間で検索が実現できることが確かめられた。
図13は、本実施例の検索システム10として機能する情報処理装置900のハードウェア構成の一例を示す。情報処理装置900は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるBIOS1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、BIOS1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置900が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、BIOS1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。BIOS1010は、情報処理装置900の起動時にCPU1000が実行するブートプログラムや、情報処理装置900のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置900に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され情報処理装置900にインストールされて実行される。プログラムが情報処理装置900等に働きかけて行わせる動作は、図1から図12において説明した検索システム10における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。例えば、本実施例に示す情報処理システム10は、テキストマイニングのみならず、カテゴリ情報を含むアノテーションのついたレコードから成るデータベースのデータマイニングにも応用できる。即ち、カテゴリー間に階層構造が規定されたデータベースにおいては、上位カテゴリーを本実施例のテキストとし、下位カテゴリーを本実施例のキーワードとして取り扱うことによって、利用者の興味を持つ下位カテゴリーをその可能性の高さに応じて列挙することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、検索システム10の全体構成を示す。 図2は、第1インデックス記憶部200のデータ構造の一例を示す。 図3は、第2インデックス記憶部300のデータ構造の一例を示す。 図4は、検索部400の機能構成を示す。 図5は、判断部500の機能構成を示す。 図6は、検索システム10によってキーワードを検索する処理の流れを示す。 図7は、S650における処理の詳細を示す。 図8は、S620における処理の詳細を示す。 図9は、S810において算出される関数を示すグラフである。 図10は、本実施例によって検索されるキーワードの検索結果を示す。 図11は、キーワードの検索の所要時間を従来手法と比較して示す。 図12は、第1インデックスによる検索と第2インデックスによる検索との所要時間を比較して示す。 図13は、本実施例の検索システム10として機能する情報処理装置900のハードウェア構成の一例を示す。
符号の説明
10 検索システム
15 テキストDB
100 入力部
200 第1インデックス記憶部
210 ハッシュファイル
220 キーワードリストファイル
300 第2インデックス記憶部
310 サマリーファイル
320 ディストリビューションファイル
400 検索部
405 候補ワード記憶部
410 選択部
420 比較部
440 算出部
450 更新部
500 判断部
510 割合算出部
520 関数算出部
530 閾値算出部
540 第2検索時間算出部
550 第1検索時間算出部
900 情報処理装置

Claims (11)

  1. テキストからキーワードを検索するシステムであって、
    それぞれのテキストの識別情報から当該テキストに含まれるキーワードのリストを指定する第1インデックスを記憶する第1インデックス記憶部と、
    それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを、それぞれのキーワードを含むテキストの数に対応付けて記憶する第2インデックス記憶部と、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、
    検索対象となる複数の前記テキストのうち前記テキスト検索条件を満たすテキストの数、および、前記第2インデックスに対応して記憶された前記テキストの数に基づいて、前記第1インデックスによる検索時間の見積もり、および、前記第2インデックスによる検索時間の見積もりを算出して、前記第1インデックスおよび前記第2インデックスの何れを用いた検索がより高速であるかを判断する判断部と、
    前記テキスト検索条件を満たすテキストにおいて、予め定められた基準よりも高い頻度で出現するキーワードを、より高速であると判断された前記インデックスによって検索して出力する検索部と
    を備えるシステム。
  2. 当該システムは、複数のキーワードのうち、そのキーワードを含み、かつ前記テキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索するものであり、
    前記検索部は、前記第2インデックスにより検索する場合において、
    前記高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、当該候補ワードを含み、かつ前記テキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している候補ワード記憶部と、
    複数のキーワードのそれぞれを当該キーワードを含むテキストの数が大きい順に順次、前記高頻度ワードか否かを判断する対象となる対象ワードとして選択する選択部と、
    前記対象ワードを含むテキストの数を前記第2インデックス記憶部から読み出し、読み出した当該テキストの数を前記候補ワード出現数と比較する比較部と、
    読み出された当該テキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードを含むテキストのリストを前記第2インデックス記憶部から読み出し、読み出したリストのうち前記テキスト検索条件を満たすテキストの数を算出する算出部と、
    算出されたテキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードおよび前記候補ワードの中から、含まれているテキストの数が多い方から前記基準個数を上限として新たな前記候補ワードとして選択して、前記候補ワード記憶部を更新する更新部と
    を有し、前記選択部によって次に選択された前記対象ワードを含むテキストの数が、何れの前記候補ワード出現数よりも小さいことを条件に、前記候補ワード記憶部に記憶されたキーワードを前記高頻度ワードとして出力する
    請求項1に記載のシステム。
  3. 前記判断部は、
    検索の対象となる全てのテキストの中で前記テキスト検索条件を満たすテキストの占める割合を示す条件充足率を算出する割合算出部と、
    各キーワードについて当該キーワードを含みかつ前記テキスト検索条件を満たすテキストの数を示す確率変数の確率分布を、前記条件充足率に基づいて近似的に算出し、算出された前記確率分布に基づいて、各キーワードの前記確率変数がある閾値以上となる確率の和を求める前記閾値の関数を算出する関数算出部と、
    算出された前記関数の値が前記基準個数と略同一となる前記閾値を算出する閾値算出部と、
    算出した前記閾値よりも多い数のテキストに含まれる各キーワードを含んでいるテキストの数を、前記第2インデックス記憶部に記憶された前記テキストの数に基づいて算出し、算出されたテキストの数と、所定のアクセス時間との積を、前記第2インデックスによる検索時間の見積もりとして算出する第2検索時間算出部と、
    検索対象となる複数の前記テキストのうち前記テキスト検索条件を満たすテキストの数と、所定のアクセス時間との積を、前記第1インデックスによる検索時間の見積もりとして算出する第1検索時間算出部と
    を有し、前記第2検索時間算出部によって算出された検索時間の見積もりが、前記第1検索時間算出部によって算出された検索時間の見積もりよりも小さいことを条件に、前記第2インデックスによる検索の方が高速と判断する
    請求項2に記載のシステム。
  4. 前記関数算出部は、各キーワードについて、当該キーワードを含むテキストが前記テキスト検索条件を満たす確率を前記条件充足率によって近似することによって、前記確率変数の確率分布を二項分布として算出し、算出した前記確率分布に基づいて前記閾値の関数を算出する
    請求項3に記載のシステム。
  5. 前記第1インデックス記憶部は、キーワードのカテゴリー毎に、それぞれのテキストの識別情報から当該テキストに含まれる当該カテゴリーのキーワードのリストを指定する第1インデックスを記憶し、
    前記第2インデックス記憶部は、キーワードのカテゴリー毎に、当該カテゴリーに含まれるキーワードの前記第2インデックスと、当該カテゴリーに含まれるそれぞれのキーワードを含むテキストの数とを記憶し、
    前記入力部は、更に、検索の対象となるキーワードのカテゴリーの入力を受け付け、
    前記判断部は、入力された前記カテゴリーに対応する、それぞれのキーワードを含むテキストの数に基づいて、前記カテゴリーに対応する前記第1インデックスおよび前記カテゴリーに対応する前記第2インデックスの何れを用いた検索がより高速であるかを判断する
    請求項1に記載のシステム。
  6. テキストからキーワードを検索するシステムであって、
    それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを記憶する第2インデックス記憶部と、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、
    複数のキーワードのうち、そのキーワードを含み、かつ前記テキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索して出力する検索部と
    を備え、前記検索部は、
    前記高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、当該候補ワードを含み、かつ前記テキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している候補ワード記憶部と、
    複数のキーワードのそれぞれを当該キーワードを含むテキストの数が大きい順に順次、前記高頻度ワードか否かを判断する対象となる対象ワードとして選択する選択部と、
    前記対象ワードを含むテキストの数を前記第2インデックス記憶部から読み出し、読み出した当該テキストの数を前記候補ワード出現数と比較する比較部と、
    読み出された当該テキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードを含むテキストのリストを前記第2インデックス記憶部から読み出し、読み出したリストのうち前記テキスト検索条件を満たすテキストの数を算出する算出部と、
    算出されたテキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードおよび前記候補ワードの中から、含まれているテキストの数が多い方から前記基準個数を上限として新たな前記候補ワードとして選択して、前記候補ワード記憶部を更新する更新部と
    を有し、前記選択部によって次に選択された前記対象ワードを含むテキストの数が、何れの前記候補ワード出現数よりも小さいことを条件に、前記候補ワード記憶部に記憶されたキーワードを前記高頻度ワードとして出力するシステム。
  7. 前記第2インデックス記憶部は、前記第2インデックスに対応付けて、更に、それぞれのキーワードを含むテキストの数に対応付けて記憶し、
    検索の対象となる全てのテキストの中で前記テキスト検索条件を満たすテキストの占める割合を示す条件充足率を算出する割合算出部と、
    各キーワードについて当該キーワードを含みかつ前記テキスト検索条件を満たすテキストの数を示す確率変数の確率分布を、前記条件充足率に基づいて近似的に算出し、算出された前記確率分布に基づいて、各キーワードの前記確率変数がある閾値以上となる確率の和を求める前記閾値の関数を算出する関数算出部と、
    算出された前記関数の値が前記基準個数と略同一となる前記閾値を算出する閾値算出部と、
    算出した前記閾値よりも多い数のテキストに含まれる各キーワードを含んでいるテキストの数を、前記第2インデックス記憶部に記憶された前記テキストの数に基づいて算出し、算出されたテキストの数と、所定のアクセス時間との積を、前記第2インデックスによる検索時間の見積もりとして算出して出力する第2検索時間算出部と
    を更に備える請求項6に記載のシステム。
  8. テキストからキーワードを検索するシステムを用いて前記キーワードを検索する方法であって、
    前記システムは、
    それぞれのテキストの識別情報から当該テキストに含まれるキーワードのリストを指定する第1インデックスを記憶する第1インデックス記憶部と、
    それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを、それぞれのキーワードを含むテキストの数に対応付けて記憶する第2インデックス記憶部と
    を有し、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付けるステップと、
    検索対象となる複数の前記テキストのうち前記テキスト検索条件を満たすテキストの数、および、前記第2インデックスに対応して記憶された前記テキストの数に基づいて、前記第1インデックスによる検索時間の見積もり、および、前記第2インデックスによる検索時間の見積もりを算出して、前記第1インデックスおよび前記第2インデックスの何れを用いた検索がより高速であるかを判断するステップと、
    前記テキスト検索条件を満たすテキストにおいて、予め定められた基準よりも高い頻度で出現するキーワードを、より高速であると判断された前記インデックスによって検索して出力するステップと
    を備える方法。
  9. テキストからキーワードを検索するシステムとして、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    それぞれのテキストの識別情報から当該テキストに含まれるキーワードのリストを指定する第1インデックスを記憶する第1インデックス記憶部と、
    それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを、それぞれのキーワードを含むテキストの数に対応付けて記憶する第2インデックス記憶部と、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、
    検索対象となる複数の前記テキストのうち前記テキスト検索条件を満たすテキストの数、および、前記第2インデックスに対応して記憶された前記テキストの数に基づいて、前記第1インデックスによる検索時間の見積もり、および、前記第2インデックスによる検索時間の見積もりを算出して、前記第1インデックスおよび前記第2インデックスの何れを用いた検索がより高速であるかを判断する判断部と、
    前記テキスト検索条件を満たすテキストにおいて、予め定められた基準よりも高い頻度で出現するキーワードを、より高速であると判断された前記インデックスによって検索して出力する検索部と
    して機能させるプログラム。
  10. テキストからキーワードを検索するシステムを用いて、前記キーワードを検索する方法であって、
    前記システムは、それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを記憶する第2インデックス記憶部を有し、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付けるステップと、
    複数のキーワードのうち、そのキーワードを含み、かつ前記テキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索して出力するステップと
    を備え、
    前記システムは、前記高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、当該候補ワードを含み、かつ前記テキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している候補ワード記憶部を更に有し、
    前記高頻度ワードを検索して出力するステップは、
    複数のキーワードのそれぞれを当該キーワードを含むテキストの数が大きい順に順次、前記高頻度ワードか否かを判断する対象となる対象ワードとして選択するステップと、
    前記対象ワードを含むテキストの数を前記第2インデックス記憶部から読み出し、読み出した当該テキストの数を前記候補ワード出現数と比較するステップと、
    読み出された当該テキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードを含むテキストのリストを前記第2インデックス記憶部から読み出し、読み出したリストのうち前記テキスト検索条件を満たすテキストの数を算出するステップと、
    算出されたテキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードおよび前記候補ワードの中から、含まれているテキストの数が多い方から前記基準個数を上限として新たな前記候補ワードとして選択して、前記候補ワード記憶部を更新するステップと
    を有し、前記比較するステップにおいて比較の対象とされた、前記対象ワードを含むテキストの数が、何れの前記候補ワード出現数よりも小さいことを条件に、前記候補ワード記憶部に記憶されたキーワードを前記高頻度ワードとして出力する方法。
  11. テキストからキーワードを検索するシステムとして、情報処理装置を機能させるプログラムであって、
    前記情報処理装置を、
    それぞれのキーワードの識別情報から当該キーワードを含むテキストのリストを指定する第2インデックスを記憶する第2インデックス記憶部と、
    キーワードを検索する対象となるテキストの条件であるテキスト検索条件の入力を受け付ける入力部と、
    複数のキーワードのうち、そのキーワードを含み、かつ前記テキスト検索条件を満たすテキストの数が多い方から、予め定められた基準個数のキーワードを選択した高頻度ワードを検索して出力する検索部と
    して機能させ、前記検索部は、
    前記高頻度ワードの候補となる候補ワードのそれぞれに対応付けて、当該候補ワードを含み、かつ前記テキスト検索条件を満たすテキストの数である候補ワード出現数を記憶している候補ワード記憶部と、
    複数のキーワードのそれぞれを当該キーワードを含むテキストの数が大きい順に順次、前記高頻度ワードか否かを判断する対象となる対象ワードとして選択する選択部と、
    前記対象ワードを含むテキストの数を前記第2インデックス記憶部から読み出し、読み出した当該テキストの数を前記候補ワード出現数と比較する比較部と、
    読み出された当該テキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードを含むテキストのリストを前記第2インデックス記憶部から読み出し、読み出したリストのうち前記テキスト検索条件を満たすテキストの数を算出する算出部と、
    算出されたテキストの数が、何れかの前記候補ワード出現数よりも大きいことを条件に、前記対象ワードおよび前記候補ワードの中から、含まれているテキストの数が多い方から前記基準個数を上限として新たな前記候補ワードとして選択して、前記候補ワード記憶部を更新する更新部と
    を有し、前記選択部によって次に選択された前記対象ワードを含むテキストの数が、何れの前記候補ワード出現数よりも小さいことを条件に、前記候補ワード記憶部に記憶されたキーワードを前記高頻度ワードとして出力する、プログラム。
JP2005349717A 2005-12-02 2005-12-02 テキストからキーワードを検索する効率的なシステム、および、その方法 Expired - Fee Related JP4172801B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005349717A JP4172801B2 (ja) 2005-12-02 2005-12-02 テキストからキーワードを検索する効率的なシステム、および、その方法
US11/555,790 US7584184B2 (en) 2005-12-02 2006-11-02 System of effectively searching text for keyword, and method thereof
CNB2006101463951A CN100449546C (zh) 2005-12-02 2006-11-13 搜索文本中关键词的***及其方法
KR1020060119819A KR100962923B1 (ko) 2005-12-02 2006-11-30 텍스트에서 키워드를 효율적으로 검색하는 시스템 및 이의방법
US12/055,420 US7945552B2 (en) 2005-12-02 2008-03-26 System of effectively searching text for keyword, and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005349717A JP4172801B2 (ja) 2005-12-02 2005-12-02 テキストからキーワードを検索する効率的なシステム、および、その方法

Publications (2)

Publication Number Publication Date
JP2007156739A true JP2007156739A (ja) 2007-06-21
JP4172801B2 JP4172801B2 (ja) 2008-10-29

Family

ID=38125795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005349717A Expired - Fee Related JP4172801B2 (ja) 2005-12-02 2005-12-02 テキストからキーワードを検索する効率的なシステム、および、その方法

Country Status (4)

Country Link
US (2) US7584184B2 (ja)
JP (1) JP4172801B2 (ja)
KR (1) KR100962923B1 (ja)
CN (1) CN100449546C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140546B2 (en) 2008-06-06 2012-03-20 International Business Machines Corporation Computer system for performing aggregation of tree-structured data, and method and computer program product therefor
US8190613B2 (en) 2007-06-19 2012-05-29 International Business Machines Corporation System, method and program for creating index for database
JP2016115288A (ja) * 2014-12-17 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを集計するシステム、方法およびプログラム
US9471548B2 (en) 2012-08-10 2016-10-18 International Business Machines Corporation Text processing method, system and computer program
US10984005B2 (en) 2016-10-05 2021-04-20 Fujitsu Limited Database search apparatus and method of searching databases

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272463A (ja) * 2006-03-30 2007-10-18 Toshiba Corp 情報検索装置、情報検索方法および情報検索プログラム
US20080114733A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation User-structured data table indexing
JP5154832B2 (ja) * 2007-04-27 2013-02-27 株式会社日立製作所 文書検索システム及び文書検索方法
JP4881219B2 (ja) * 2007-05-10 2012-02-22 キヤノン株式会社 情報処理装置、情報処理方法
CN100462979C (zh) * 2007-06-26 2009-02-18 腾讯科技(深圳)有限公司 分布式索引文件的检索方法、检索***及检索服务器
US8078454B2 (en) * 2007-09-28 2011-12-13 Microsoft Corporation Two-pass hash extraction of text strings
CN101876981B (zh) * 2009-04-29 2015-09-23 阿里巴巴集团控股有限公司 一种构建知识库的方法及装置
JP5208058B2 (ja) * 2009-06-17 2013-06-12 キヤノン株式会社 検索システム、検索方法、及びプログラム
US8326830B2 (en) * 2009-10-06 2012-12-04 Business Objects Software Limited Pattern recognition in web search engine result pages
WO2011074698A1 (ja) * 2009-12-17 2011-06-23 日本電気株式会社 テキストマイニングシステム、テキストマイニング方法および記録媒体
CN101944108A (zh) * 2010-09-07 2011-01-12 深圳市彩讯科技有限公司 一种索引文件及索引文件建立方法
KR101169377B1 (ko) 2010-09-27 2012-07-30 한국과학기술연구원 핫 토픽 이벤트 추출에 기반한 실시간 이벤트의 하이라이트 제공 시스템 및 이를 이용한 하이라이트 서비스 제공방법
WO2012083540A1 (en) * 2010-12-23 2012-06-28 Nokia Corporation Method and apparatus for providing token-based classification of device information
JP5679194B2 (ja) * 2011-05-18 2015-03-04 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2013077272A (ja) * 2011-09-30 2013-04-25 Internatl Business Mach Corp <Ibm> キーワードが出現する頻度順を求める方法、装置及びコンピュータプログラム
CN103064840A (zh) * 2011-10-20 2013-04-24 北京中搜网络技术股份有限公司 索引装置、索引方法、检索装置、检索方法和检索***
CN103186618B (zh) * 2011-12-30 2016-06-29 北京新媒传信科技有限公司 正确数据的获取方法和装置
CN104322139A (zh) * 2012-09-20 2015-01-28 东莞宇龙通信科技有限公司 终端、服务器和信息推送方法
CN104239300B (zh) * 2013-06-06 2017-10-20 富士通株式会社 从文本中挖掘语义关键词的方法和设备
CN105138523A (zh) * 2014-05-30 2015-12-09 富士通株式会社 在文本中确定语义关键词的方法和装置
US10839441B2 (en) * 2014-06-09 2020-11-17 Ebay Inc. Systems and methods to seed a search
US9959351B2 (en) 2014-06-09 2018-05-01 Ebay Inc. Systems and methods to identify values for a selected filter
CN105653654B (zh) * 2015-12-28 2021-11-30 上海瀚之友信息技术服务有限公司 一种抽奖资格索引***及方法
US10380142B2 (en) 2016-11-28 2019-08-13 Sap Se Proxy views for extended monitoring of database systems
US11321402B2 (en) * 2017-05-05 2022-05-03 Microsoft Technology Licensing, Llc. Index storage across heterogenous storage devices
WO2018212106A1 (ja) * 2017-05-19 2018-11-22 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム
CN107943892B (zh) * 2017-11-16 2021-12-21 海信集团有限公司 一种视频中主要角色名称的确定方法及装置
US11327980B2 (en) 2020-04-21 2022-05-10 International Business Machines Corporation Cached updatable top-k index
CN116756325B (zh) * 2023-08-17 2023-11-10 北京睿企信息科技有限公司 一种获取标签的数据处理***

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259418A (ja) 1988-04-11 1989-10-17 Hitachi Ltd 文字列検索装置
JP2943447B2 (ja) * 1991-01-30 1999-08-30 三菱電機株式会社 テキスト情報抽出装置とテキスト類似照合装置とテキスト検索システムとテキスト情報抽出方法とテキスト類似照合方法、及び、質問解析装置
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
US5745745A (en) * 1994-06-29 1998-04-28 Hitachi, Ltd. Text search method and apparatus for structured documents
US5937422A (en) * 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6128613A (en) * 1997-06-26 2000-10-03 The Chinese University Of Hong Kong Method and apparatus for establishing topic word classes based on an entropy cost function to retrieve documents represented by the topic words
JP3607462B2 (ja) * 1997-07-02 2005-01-05 松下電器産業株式会社 関連キーワード自動抽出装置及びこれを用いた文書検索システム
JPH11133919A (ja) 1997-10-27 1999-05-21 Advanced Display Inc 液晶表示装置
US6654739B1 (en) * 2000-01-31 2003-11-25 International Business Machines Corporation Lightweight document clustering
CN1253814C (zh) * 2000-08-04 2006-04-26 拓墣科技股份有限公司 数字文件关键特征的自动撷取方法
JP2003203089A (ja) 2002-01-07 2003-07-18 Nippon Telegr & Teleph Corp <Ntt> Webページ検索方法およびWebページ検索装置、Webページ検索プログラム並びにそのプログラムを記録した記録媒体
JP2004240769A (ja) 2003-02-06 2004-08-26 Canon Inc 情報検索装置
JP4634736B2 (ja) * 2004-04-22 2011-02-16 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 専門的記述と非専門的記述間の語彙変換方法・プログラム・システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190613B2 (en) 2007-06-19 2012-05-29 International Business Machines Corporation System, method and program for creating index for database
US8140546B2 (en) 2008-06-06 2012-03-20 International Business Machines Corporation Computer system for performing aggregation of tree-structured data, and method and computer program product therefor
US9471548B2 (en) 2012-08-10 2016-10-18 International Business Machines Corporation Text processing method, system and computer program
US9652526B2 (en) 2012-08-10 2017-05-16 International Business Machines Corporation Text processing method, system and computer program
US10353932B2 (en) 2012-08-10 2019-07-16 International Business Machines Corporation Text processing method, system and computer program
JP2016115288A (ja) * 2014-12-17 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを集計するシステム、方法およびプログラム
US10733218B2 (en) 2014-12-17 2020-08-04 International Business Machines Corporation System, method, and program for aggregating data
US10984005B2 (en) 2016-10-05 2021-04-20 Fujitsu Limited Database search apparatus and method of searching databases

Also Published As

Publication number Publication date
CN100449546C (zh) 2009-01-07
KR20070058333A (ko) 2007-06-08
KR100962923B1 (ko) 2010-06-09
US20070136274A1 (en) 2007-06-14
US7584184B2 (en) 2009-09-01
US7945552B2 (en) 2011-05-17
US20090030892A1 (en) 2009-01-29
JP4172801B2 (ja) 2008-10-29
CN1975729A (zh) 2007-06-06

Similar Documents

Publication Publication Date Title
JP4172801B2 (ja) テキストからキーワードを検索する効率的なシステム、および、その方法
US10795939B2 (en) Query method and apparatus
US20240028837A1 (en) Device and method for machine reading comprehension question and answer
KR100609253B1 (ko) 언어 모델들에 기초한 정보 검색 및 음성 인식
KR100544514B1 (ko) 검색 쿼리 연관성 판단 방법 및 시스템
US7769751B1 (en) Method and apparatus for classifying documents based on user inputs
KR100522029B1 (ko) 실시간 급상승 검색어 검출 방법 및 실시간 급상승 검색어검출 시스템
US7769771B2 (en) Searching a document using relevance feedback
JP4295062B2 (ja) 反復マッチングを利用した画像検索方法及び装置
KR100672277B1 (ko) 개인화 검색 방법 및 검색 서버
JP2015525929A (ja) 検索品質を改善するための重みベースのステミング
JP2013516022A (ja) 検索提案のクラスタ化及び提示
CN110390094B (zh) 对文档进行分类的方法、电子设备和计算机程序产品
US7752216B2 (en) Retrieval apparatus, retrieval method and retrieval program
US20060215298A1 (en) Information presentation apparatus, and information presentation method and program for use therein
CN113660541A (zh) 新闻视频的摘要生成方法及装置
JP5226241B2 (ja) タグを付与する方法
JP2020129377A (ja) コンテンツ検索方法、装置、機器、および記憶媒体
US20060230036A1 (en) Information processing apparatus, information processing method and program
JP2008077137A (ja) ドキュメントデータを検索する方法、サーバ、およびプログラム
KR100795930B1 (ko) 검색용 색인 기반 질의어 추천 방법 및 그 시스템
JP2009282593A (ja) コンテンツを検索する索引データを管理する方法、サーバ、およびプログラム
JP2002288189A (ja) 文書分類方法及び文書分類装置並びに文書分類処理プログラムを記録した記録媒体
JP3503506B2 (ja) 情報検索方法、情報検索装置及び情報検索プログラムを記録した記録媒体
JP2006185059A (ja) コンテンツ管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080521

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees