JP2004030682A - Method and device for retrieving and delivering document - Google Patents

Method and device for retrieving and delivering document Download PDF

Info

Publication number
JP2004030682A
JP2004030682A JP2003208580A JP2003208580A JP2004030682A JP 2004030682 A JP2004030682 A JP 2004030682A JP 2003208580 A JP2003208580 A JP 2003208580A JP 2003208580 A JP2003208580 A JP 2003208580A JP 2004030682 A JP2004030682 A JP 2004030682A
Authority
JP
Japan
Prior art keywords
search
text
search condition
condition expression
user
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
JP2003208580A
Other languages
Japanese (ja)
Other versions
JP2004030682A5 (en
JP3619825B2 (en
Inventor
Natsuko Sugaya
菅谷  奈津子
Hisamitsu Kawaguchi
川口  久光
Noriyuki Yamazaki
山崎  紀之
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003208580A priority Critical patent/JP3619825B2/en
Publication of JP2004030682A publication Critical patent/JP2004030682A/en
Publication of JP2004030682A5 publication Critical patent/JP2004030682A5/ja
Application granted granted Critical
Publication of JP3619825B2 publication Critical patent/JP3619825B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a document retrieval and delivery system for realizing a high speed text retrieval and distribution function without depending on the number of users even when the number of users increases. <P>SOLUTION: A retrieval conditional expression is analyzed, the number of retrieval terms (term hereafter) included in the retrieval conditional expression is stored in a number of term count table (table A hereafter), a finite automaton for collating all the terms included in the retrieval conditional expression is created, a user identifier table storing which user has the terms included in the retrieval conditional expression is created, terms are collated by scanning a subject text by the automaton, the number of terms in which partial character strings matches with the terms appears in the text is calculated by every user by referring to the user identifier table, stored in a storage area for the calculated number of terms in the table A, the calculated number of terms in the table A is compared with the number of terms in the retrieval conditional expression and when a comparison result matches, the text is distributed to the user. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、電子メールや情報収集ロボット等を用いて通信社や新聞社等の複数の情報源から入手した電子化文書を、ユーザが予め登録しておいた検索条件式で検索し、条件が成立したユーザに対してその電子化文書を配布する文書検索配送システムに係わり、特にユーザ数が増えても電子化文書を一度走査するだけで全てのユーザの検索を終了できる即時性の高いテキスト検索配布機能を有する文書検索配送システムに関する。
【0002】
【従来の技術】
近年、電子メールや電子ニュース等により、大量の電子化文書(以下、テキストと呼ぶ)が時々刻々とユーザのもとへ送られてくるようになった。また、インターネットを介して情報を提供する情報源が急激に増えており、これらの情報源から情報収集ロボット等を用いて収集するテキストも膨大な量となっている。このため、これらのテキストを検索し、そのテキストを求めているユーザに即座に配布する文書検索配送システムへのニーズが高まってきている。
この文書検索配送システムを実現するための核として、文書検索が用いられる(例えば、非特許文献1参照)。
これは、複数の照合すべき検索文字列(以下、検索タームと呼ぶ)からパターンマッチングマシンと呼ばれる一種の有限オートマトンを作成し、これにより、テキストをただ一度走査するだけで、同時に複数の検索タームを照合することができる方式である。
【0003】
本方式について図2を用いて説明する。
同図は、“he”、“she”、“his”および“hers”という4つの検索タームを照合する有限オートマトンの状態遷移図である。
ここで、円形は有限オートマトンの状態を、実線の矢印は状態遷移を表している。
各実線の矢印に付記されたアルファベットはこれに対応した状態遷移が起きる入力文字を、各円形の内部に記された数値は同状態の状態番号を示す。
また、破線の矢印はこの有限オートマトンに示されていない文字が入力された場合(以下、フェイルと呼ぶ)の遷移先を示している。
ここで、状態1、2、3、6、8から状態0への破線矢印は省略してある。
このフェイルによる遷移先は、実際には、図3に示すようなフェイル先状態番号テーブルによって管理される。
また、フェイルによって遷移した場合には、該入力文字に対し遷移先の状態で再照合を行う。
テキスト走査時に状態2、5、7、9に到達した場合、検索タームと一致する部分文字列がテキスト中に現われたことになるが、これは図4に示すような出力テーブルを参照することによって検出される。
この出力テーブルには、状態番号とその状態に到達したときに出力される文字列、すなわちテキスト中の部分文字列と一致した検索タームが格納されている。
以下、本方式の動作について、図2を用いて説明する。
初期状態は状態0である。
この例の場合、入力文字が“h”ならば状態1へ遷移し、“s”ならば状態3へ遷移する。
もし、ここで、これら以外の文字(¬{h、s}で表し、“¬”は次の要素に否定条件が掛かることを示す)が入ってきた場合は初期状態である状態0に戻る。
また、状態3で入力文字が“h”ならば状態4へ遷移する。
もし、ここで“h”以外の文字が入ってきた場合は状態0へ戻り、ここで再度照合処理を行う。
一方、状態4で入力文字が“e”ならば状態5へ遷移し、図4の出力テーブルを参照することによって検索ターム“she”および“he”と一致する部分文字列がテキスト中に現われたことが検出される。
ここで、もし“e”以外の例えば“i”が入力されたときは、フェイルの破線矢印を参照して状態1へ遷移する。
そして、遷移先の状態1で該入力文字“i”について再照合することにより状態6へ遷移する。
【0004】
次に、テキスト「ushers」を対象に検索タームの照合を行った場合について説明する。
まず、第一文字目“u”が入力される。
しかし、“u”は“h”および“s”以外の文字なので初期状態である状態0に戻る。
次に、第二文字目“s”が入力されることにより、状態0から状態3へ遷移する。
以下、第三文字目“h”、第四文字目“e”が入力されることにより、状態4、状態5へ遷移し、図4の出力テーブルを参照することにより、検索ターム“she”および“he”と一致する部分文字列がテキスト中に現われたことが検出される。
次に、第五文字目“r”が入力される。
しかし、状態5には、入力文字“r”に対する遷移先が存在しないためフェイルとなり、状態2へ遷移する。
ここで、“r”に対して再照合を行うことにより、状態8へ遷移する。
最後に、第六文字目“s”が入力されることにより、状態9へ遷移し、図4の出力テーブルを参照することにより、検索ターム“hers”と一致する部分文字列がテキスト中に現われたことが検出される。
このように、上記非特許文献1には、テキストに対するただ一度の走査で、同時に複数の検索タームを照合することができる文書検索方法が開示されている。
【0005】
上記非特許文献1に記載された方式を日本語に拡張したものが知られている(例えば、非特許文献2参照)。
日本語は英語と異なり文字種が多い。
そのため計算機内部では通常1文字を2バイト、すなわち英語2文字分で日本語の1文字を表現している。
この2バイト文字を1バイトに分割して、上記非特許文献1のような有限オートマトンを単純に作成したのでは、2バイト文字の一部である1バイトと英語の1バイト文字との区別がつかないため、ノイズが発生する可能性がある。
そこで上記非特許文献2では、日本工業規格で情報交換用の符号系について1バイト文字と2バイト文字の切り換えを示す3バイトの文字コード(KIおよびKOで表す)を規定していることに着目し、図5のように1バイト文字と2バイト文字を区別する有限オートマトンを作成することによってこの問題を解決している。
【0006】
なお、
1バイトは8ビットとし、1バイト文字はOO(16)からFF(16)までの256文字である。
2バイト文字は2バイトから構成され、前半1バイト、後半1バイトはともに21(16)から7E(16)までである。全部で94×94ある。
3バイトの文字コードKIは1B2442(16)である。
3バイトの文字コードKOは1B284A(16)である。
1バイト文字のうち英数字は21(16)から7E(16)までに属しており、カナ文字はAO(16)からDF(16)に属している。
【0007】
ここで、状態0から状態0への遷移は、1バイト文字照合用有限オートマトンへ遷移する1バイト文字以外かKI以外の1バイト文字が入力されたときに実行される。
また、状態3から状態3あるいは状態6への遷移は、2バイト文字照合用有限オートマトンへ遷移する2バイト文字の上位バイト以外かKO以外の1バイトコードが入力されたときに実行され、その1バイトコードが1バイト文字であったときに状態3へ遷移し、2バイト文字の上位バイトであったときに状態6へ遷移する。
ここで、状態6は2バイト文字照合用有限オートマトンへ遷移しない2バイト文字の上位バイトが入力された場合にバイトずれを防ぐために設けられている。
【0008】
バイトずれとは、2バイト文字の下位バイトが2バイト文字の上位バイトであるとみなされてしまうことである。
本方式では、状態6を設け、2バイト文字の下位バイトが入力されないと状態3へ戻れないようにすることによってこのバイトずれを防いでいる。この有限オートマトンの動作は上記非特許文献1とまったく同様である。
このように、上記非特許文献2に記載された方法を用いることにより、日本語のような1バイト文字と2バイト文字が混在する言語を対象とした場合でも、テキストに対するただ一度の走査で、同時に複数の検索タームを照合することが可能となる。
【0009】
なお、上記では、テキストから検索タームを探す手法として有限オートマトンの例を説明したが、他の手法として拡張BM法が知られている(例えば、非特許文献3)。拡張BM法は、高速なパターン・マッチング手法であるBM(Boyer−moore)法を複数個のパターン(検索文字列)が扱えるように拡張したものであり、上記非特許文献3ではEBM(Expanded−Boyer−moore)法と呼んでいる。
また、拡張BM法ではないが、多重文字列照合を行う手法も知られている(非特許文献4)。この手法は、高速なパターン・マッチング手法であるBM法と、有限オートマトンを用いて複数パターンを同時に照合するAC(Aho−Corasick)法の基本的なアイディアを組み合わせたものである。
【非特許文献1】
“Efficient String Matching:An Aid to Bibliographic Search”(Alfred V.Aho and Margaret J.Corasick、Communications of the ACM、June 1975、Vol.18、No.6、pp.333−340)
【非特許文献2】
“日本語テキスト用のAho−Corasick型パターン照合アルゴリズム”(篠原武、有川 節夫、情報処理学会研究会資料、自然言語処理、1985.11.15、Vol.86、No.48、pp.52.4.1−52.4.8)
【非特許文献3】
「5種類のパターン・マッチング手法をC言語の関数で実現する」  NIKKEI  BYTE,August  1987,p.p.175−189
【非特許文献4】
「高速な複数文字列照合アルゴリズム:FAST」  情報処理学会論文誌,Vol.30,NO.9,September  1989
【0010】
【発明が解決しようとする課題】
以上説明した上記非特許文献1、2に示された文書検索方法によると、テキストをただ一度走査するだけで、同時に複数の検索タームを照合することが可能となる。しかし、多数のユーザの検索条件式に対してテキスト検索を行う場合には以下に示す問題が生じる。
(1)ユーザ識別の問題
多数のユーザの検索条件式中に含まれる全ての検索タームで1つの有限オートマトンを作成することにより、テキストの一度の走査で全ての検索タームを照合することが可能となる。しかし、テキスト中の部分文字列と一致した検索タームがどのユーザの検索条件式中に含まれるものであるかを判別できないため、どのユーザの検索条件式が成立したのかが分からない。
(2)処理時間の問題
各ユーザの検索条件式毎に、その検索条件式中に含まれる検索タームで有限オートマトンを作成すれば、どのユーザの検索条件式が成立しているのかを判別することが可能となる。しかし、有限オートマトンの数分(すなわち、ユーザ数分)だけテキストを走査しなければならなくなるため、ユーザ数が増えるとその分検索に時間が掛かることになる。なお、有限オートマトンに代えて上記非特許文献3,4に示された手法を用いた場合についても同様である。
こうした問題に対し、本発明では以下の課題を解決することを目的とする。すなわち、本発明の目的は、複数の情報源から入手したテキストを、ユーザが予め登録しておいた検索条件式に基づき、テキストのただ一度の走査で複数のユーザの検索条件式が成立しているかどうかを判別し、条件が成立しているユーザに対してそのテキストを配布する文書検索配送システムを提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録ステップと、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布ステップを有する文書検索配送方法において、
前記テキスト検索配布ステップは、前記テキストをただ一度走査することによって前記複数の検索条件式の該テキストに対する成否を判断するテキスト検索ステップを有するようにしている。
さらに、前記検索条件式登録ステップは、前記検索条件式から全ての検索タームを抽出する検索条件式解析ステップと、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成ステップと、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成ステップと、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成ステップを有し、
前記テキスト検索配布ステップは、該テキストに対する前記検索条件式の成否の判断時に、前記多重文字列照合テーブルを参照して該テキストを走査することによって、前記検索条件式解析ステップにより抽出された全ての検索タームを照合するテキスト走査ステップと、
前記テキスト走査ステップによって照合された検索タームと前記ユーザリストと前記検索ターム数カウントテーブルを照合することにより、該テキストに対する前記検索条件式の成否を判断する検索条件式成否判断ステップを有するようにしている。
さらに、前記多重文字列照合テーブルとして有限オートマトンを用いるようにしている。
さらに、前記検索条件式成否判断ステップは、前記ユーザリストを参照し、前記テキスト走査ステップによって照合された検索タームの個数をユーザ毎に算出する検索ターム照合数算出ステップと、
前記検索ターム照合数算出ステップで算出された検索タームの個数と前記検索ターム数カウントテーブルに格納されている検索タームの個数とを比較し、一致している場合には該検索タームが含まれる検索条件式が成立しているものとみなす検索ターム数比較ステップを有するようにしている。
【0012】
また、一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録ステップと、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布ステップを有する文書検索配送方法において、
1人以上のユーザあるいはシステム管理者が指定したテキスト配布の条件を記した配布条件を含む配布条件設定式を登録する配布条件設定式登録ステップを有し、
前記テキスト検索配布ステップは、前記テキストをただ一度走査することによって前記複数の検索条件式の該テキストに対する成否を判断するテキスト検索ステップと、
前記テキスト検索ステップによって前記検索条件式が成立したユーザに対して、前記配布条件設定式登録ステップによって登録された前記配布条件が成立した時点で前記テキストを配布するテキスト配布制御ステップを有するようにしている。
さらに、前記配布条件設定式登録ステップは、前記配布条件設定式から配布条件を設定すべきユーザの識別子と配布条件を抽出する配布条件設定式解析ステップと、
前記配布条件設定式解析ステップにおいて前記配布条件設定式から抽出されたユーザの識別子と配布条件を格納した配布条件管理テーブルを作成する配布条件管理テーブル作成ステップを有し、
前記テキスト配布制御ステップは、前記配布条件管理テーブルを参照して前記配布条件の成否を判断する配布条件成否判断ステップと、
前記配布条件成否判断ステップによって前記配布条件が成立していると判断された時点でユーザに対して前記テキストを配布するテキスト配布ステップを有するようにしている。
さらに、前記配布条件として、配布する時間、配布する件数またはテキスト検索から配布までの遅延時間を用いるようにしている。
また、一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録ステップと、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布ステップを有する文書検索配送方法において、
前記検索条件式の削除が指示された場合には該検索条件式を削除する検索条件式削除ステップを有するようにしている。
さらに、前記検索条件式登録ステップは、前記検索条件式から全ての検索タームを抽出する検索条件式解析ステップと、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成ステップと、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成ステップと、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成ステップを有し、
前記検索条件式削除ステップは、削除が指示された前記検索条件式に関連する情報を前記検索ターム数カウントテーブルおよび前記ユーザリストから削除する検索条件式管理テーブル削除ステップを有するようにしている。
さらに、前記検索条件式登録ステップは、さらに、前記検索条件式解析ステップにより抽出された検索タームを格納した検索ターム管理テーブルを作成する検索ターム管理テーブル作成ステップを有し、
前記検索条件式管理テーブル削除ステップは、前記検索ターム管理テーブルを参照して、削除が指示された前記検索条件式に含まれる前記検索タームに対応する該検索条件式を指定したユーザのユーザ識別子を前記ユーザリストから削除するユーザリスト削除ステップと、
削除が指示された前記検索条件式に関連するユーザの管理情報を、前記検索ターム数カウントテーブルから削除する検索ターム数カウントテーブル削除ステップを有するようにしている。
また、一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録手段と、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布手段を有する文書検索配送装置において、
前記テキスト検索配布手段は、前記テキストをただ一度走査することによって前記複数の検索条件式の該テキストに対する成否を判断するテキスト検索手段を有するようにしている。
さらに、前記検索条件式登録手段は、前記検索条件式から全ての検索タームを抽出する検索条件式解析手段と、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成手段と、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成手段と、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成手段を有し、
前記テキスト検索配布手段は、該テキストに対する前記検索条件式の成否の判断時に、前記多重文字列照合テーブルを参照して該テキストを走査することによって、前記検索条件式解析手段により抽出された全ての検索タームを照合するテキスト走査手段と、
前記テキスト走査手段によって照合された検索タームと前記ユーザリストと前記検索ターム数カウントテーブルを照合することにより、該テキストに対する前記検索条件式の成否を判断する検索条件式成否判断手段を有するようにしている。
さらに、前記多重文字列照合テーブルとして有限オートマトンを用いるようにしている。
さらに、前記検索条件式成否判断手段は、前記ユーザリストを参照し、前記テキスト走査手段によって照合された検索タームの個数をユーザ毎に算出する検索ターム照合数算出手段と、
前記検索ターム照合数算出手段で算出された検索タームの個数と前記検索ターム数カウントテーブルに格納されている検索タームの個数とを比較し、一致している場合には該検索タームが含まれる検索条件式が成立しているものとみなす検索ターム数比較手段を有するようにしている。
【0013】
また、一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録手段と、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布手段を有する文書検索配送装置において、
1人以上のユーザあるいはシステム管理者が指定したテキスト配布の条件を記した配布条件を含む配布条件設定式を登録する配布条件設定式登録手段を有し、
前記テキスト検索配布手段は、前記テキストをただ一度走査することによって前記複数の検索条件式の該テキストに対する成否を判断するテキスト検索手段と、
前記テキスト検索手段によって前記検索条件式が成立したユーザに対して、前記配布条件設定式登録手段によって登録された前記配布条件が成立した時点で前記テキストを配布するテキスト配布制御手段を有するようにしている。
さらに、前記配布条件設定式登録手段は、前記配布条件設定式から配布条件を設定すべきユーザの識別子と配布条件を抽出する配布条件設定式解析手段と、
前記配布条件設定式解析手段において前記配布条件設定式から抽出されたユーザの識別子と配布条件を格納した配布条件管理テーブルを作成する配布条件管理テーブル作成手段を有し、
前記テキスト配布制御手段は、前記配布条件管理テーブルを参照して前記配布条件の成否を判断する配布条件成否判断手段と、
前記配布条件成否判断手段によって前記配布条件が成立していると判断された時点でユーザに対して前記テキストを配布するテキスト配布手段を有するようにしている。
さらに、前記配布条件として、配布する時間、配布する件数またはテキスト検索から配布までの遅延時間を用いるようにしている。
また、一つ以上の情報源から入手した文書情報のテキストデータを対象として、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録手段と、テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布手段を有する文書検索配送装置において、
前記検索条件式の削除が指示された場合には該検索条件式を削除する検索条件式削除手段を有するようにしている。
さらに、前記検索条件式登録手段は、前記検索条件式から全ての検索タームを抽出する検索条件式解析手段と、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成手段と、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成手段と、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成手段を有し、
前記検索条件式削除手段は、削除が指示された前記検索条件式に関連する情報を前記検索ターム数カウントテーブルおよび前記ユーザリストから削除する検索条件式管理テーブル削除手段を有するようにしている。
さらに、前記検索条件式登録手段は、さらに、前記検索条件式解析手段により抽出された検索タームを格納した検索ターム管理テーブルを作成する検索ターム管理テーブル作成手段を有し、
前記検索条件式管理テーブル削除手段は、前記検索ターム管理テーブルを参照して、削除が指示された前記検索条件式に含まれる前記検索タームに対応する該検索条件式を指定したユーザのユーザ識別子を前記ユーザリストから削除するユーザリスト削除手段と、
削除が指示された前記検索条件式に関連するユーザの管理情報を、前記検索ターム数カウントテーブルから削除する検索ターム数カウントテーブル削除手段を有するようにしている。
【0014】
【発明の実施の形態】
以下に、本発明の実施例を図を参照して説明する。
《第一実施例》
最初に、第一実施例の概略説明を図6を参照して行う。
まず、検索条件式登録処理について説明する。
まず、検索条件式を解析し、検索条件式中に含まれる検索タームを抽出する。そして、抽出された検索タームの数を、検索ターム数カウントテーブル作成処理により検索ターム数カウントテーブルに格納する。
例えば、図6において、ユーザ1:「“文書”と“検索”が含まれる文書」という検索条件式には“文書”と“検索”という2つの検索タームが含まれているので、検索ターム数カウントテーブルのユーザ1に対応する箇所に2を格納する。同様に、ユーザ2、ユーザ3に対応する箇所に1、2をそれぞれ格納する。
次に、有限オートマトン作成処理で、上記検索条件式解析で抽出された全ての検索タームを照合する有限オートマトンを作成する。この有限オートマトンは、上記非特許文献1および上記非特許文献2に示されたものと同様である。
ユーザ1:「“文書”と“検索”が含まれる文書」、ユーザ2:「“登山”が含まれる文書」およびユーザ3:「“検索”と“登録”が含まれる文書」という検索条件式から抽出した検索ターム“文書”、“検索”、“登山”および“登録”を照合する有限オートマトンの状態遷移図は図に示されたものとなる。本図では、簡単のため、状態遷移を2バイト(1文字)単位で示す。
次に、ユーザリスト作成処理で、それぞれの検索タームを指定したユーザの識別子をユーザリストとして、有限オートマトンに接続する。図6では、例えば“検索”を照合するとその末尾の状態4からユーザリストが参照され、“検索”を指定したユーザが“ユーザ1”および“ユーザ3”であることが検出される。
【0015】
次に、テキストの検索および配布処理であるテキスト検索配布処理について説明する。
この処理では、まずテキスト走査処理でテキストの走査を行い、検索タームを照合する。
例えば、テキスト:「文書を検索する」を図6に示した有限オートマトンを用いて走査した場合には、“文書”および“検索”と一致する部分文字列がテキスト中に現われたことが検出される。本図に示した有限オートマトンで、末尾の状態に“○”が記されている検索タームはテキスト中に一致する部分文字列が出現したことを示し、“×”が記されている検索タームはテキスト中に一致する部分文字列が出現しなかったことを示す。
本例では、“文書”および“検索”と一致する部分文字列がテキスト中に現われたので、その末尾の状態である状態2および状態4に“○”が記されている。
【0016】
次に、検索ターム数カウント処理でこれらテキスト中の部分文字列と一致した検索タームの出現数をユーザ毎にカウントする。
例えば、ユーザ1に対しては“文書”および“検索”が一致しているので2と、ユーザ3に対しては“検索”だけが一致しているので1とカウントする。しかし、ユーザ2はテキスト中に検索タームと一致する部分文字列が現われなかったので0である。
最後に、検索条件式チェック処理で、上記検索ターム数カウントテーブルに格納された検索ターム数と上記検索ターム数カウント処理で算出した検索ターム出現カウント数とを比較し、一致している場合には、テキスト配布処理でそのユーザに対しテキストを配布する。
例えば、図6でユーザ1は検索ターム数が2で一致しているため、テキストを配布するが、ユーザ2およびユーザ3は一致していないので配布しない。
【0017】
以上のように、本実施例では、有限オートマトンを用いてテキストを走査し、テキスト中に一致する部分文字列として現われた検索タームの出現数を、ユーザリストを参照しながら各ユーザ毎にカウントする。
そして、カウントした結果と検索ターム数カウントテーブルに予め格納しておいた検索ターム数とを比較することによって検索条件式が成立しているかどうかをチェックする。
この結果、テキストのただ一度の走査で複数のユーザの検索条件式が成立しているかどうかを判別することが可能となり、即時性の高いテキスト検索配布が実現できることになる。
【0018】
以下、本発明の第一の実施例について図1を用いて詳細に説明する。
本発明を適用した文書検索配送システムは、ディスプレイ100、キーボード101、中央演算処理装置(CPU)102、主メモリ104およびこれらを結ぶバス103から構成される。
また、バス103には、LAN(Local Area Network)等の通信回線124を介して、ニュースを配信するニュース配信元125や文書検索配送システムを利用するユーザ126が接続されている。
ニュース配信元125は電子メールや電子ニュース等を用いてニュースデータを電子化したテキストを本システムへ配信したり、インターネットを介してテキストを提示し、ユーザ126は電子メールを用いて検索条件式を本システムへ登録する。
本システムからは上記検索条件式に基づいて検索された上記テキストが電子メールを用いて該当ユーザへ配布される。
以下、本実施例では、ニュース配信元125は電子メール等を用いて本システムにテキストを配信するものとして述べるが、ニュース配信元125はテキストをインターネット上に提示するだけで、テキストの収集は情報収集ロボットを用いて行うようにしてもかまわない。
【0019】
主メモリ104には、システム制御プログラム105、検索条件式登録制御プログラム106、検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108、検索用オートマトン作成プログラム109、テキスト検索制御プログラム112、テキスト取得プログラム113、テキスト検索プログラム114、テキスト成形プログラム118、電子メールプログラム119、検索ターム数カウントテーブル120、有限オートマトン121およびユーザリスト122が格納されるとともにワークエリア123が確保される。
検索用オートマトン作成プログラム109は有限オートマトン作成プログラム110およびユーザリスト作成プログラム111で構成される。
なお、本実施例では、テキストから検索タームを探し出す手法として有限オートマトンを用いているが、テキストから検索タームを探し出す手法としては有限オートマトンに限られるものではなく、有限オートマトンを用いてもよいし、上記非特許文献3,4に示された手法を用いてもよく、この場合、検索用オートマトン作成プログラム、有限オートマトン作成プログラムの表現は適当ではなく、より一般化した表現を用いると、検索用文字列照合テーブル作成プログラム、多重文字列照合テーブル作成プログラムの様になる。
また、テキスト検索プログラム114はテキスト走査プログラム115、検索ターム数カウントプログラム116および検索条件式チェックプログラム117で構成される。
以上のプログラムはハードディスク装置(本図には示していない)、フレキシブルディスク(本図には示していない)などのコンピュータで読み書きできる記憶媒体に格納することもできる。
【0020】
システム制御プログラム105は文書検索配送システムの管理者によるキーボード101からの指示を受け起動する。
検索条件式登録制御プログラム106およびテキスト検索制御プログラム112はユーザ126からの検索条件式の登録指示やニュース配信元125からのテキストの配信により、システム制御プログラム105によって起動され、それぞれ検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108および検索用オートマトン作成プログラム109の制御と、テキスト取得プログラム113、テキスト検索プログラム114およびテキスト成形プログラム118の制御を行う。
電子メールプログラム119にはワークステーションなどで一般的に用いられている既存のメールプログラムを用いる。
本電子メールプログラム119はテキスト検索制御プログラム112の処理結果に応じて、システム制御プログラム105によって起動される。
【0021】
以下、本実施例における文書検索配送システムの処理内容について説明する。まず、システム制御プログラム105の処理内容について図7のPAD(Problem Analysis Diagram)図を用いて説明する。
システム制御プログラム105では、まずステップ700で、キーボード101から終了コマンドが入力されるまで、以下のステップを繰り返す。
この繰り返し処理では、まずステップ701でユーザ126から電子メールによって検索条件式が送られてきているかどうかを調べる。
ここで、検索条件式が送られてきている場合には、ステップ702で検索条件式登録制御プログラム106を起動して、検索条件式の登録を行う。
次に、ステップ703でニュース配信元125から電子メールによってテキストが送られてきているかどうかを調べる。
ここで、テキストが送られてきている場合には、ステップ704でテキスト検索制御プログラム112を起動して、テキストの検索を行う。
次に、ステップ705でテキスト検索制御プログラム112におけるテキスト検索の結果を調べ、成立している検索条件式が一つでも存在すると判断された場合には、ステップ706で電子メールプログラム119を起動し、成立した検索条件式を指定したユーザに対し、該当テキストを電子メールを用いて配布する。
以上がシステム制御プログラム105の処理内容である。
【0022】
次に、検索条件式登録制御プログラム106による検索条件式登録の処理内容について図8のPAD図を用いて説明する。
検索条件式登録制御プログラム106はシステム制御プログラム105によって起動される。
本プログラムは、まずステップ800で検索条件式解析プログラム107を起動し、ユーザ126から電子メールによって送られてきた検索条件式を解析する。
この検索条件式の解析処理では、検索条件式を以下のいずれかの形式に展開する。すなわち、
(a)単一検索タームのみ、
(b)複数の(a)の論理積条件、
(c)複数の(a)と複数の(b)の論理和条件
である。つまり、論理和条件の外側に論理積条件が掛からないように検索条件式を展開する。
ただし、否定条件は検索条件式全体または検索タームに掛かるようにする。
ここで、論理積条件とは、例えば、
検索式「“文書” and “検索”」
のように、「“文書”と“検索”の両方の文字列が現れる文書を探せ」という意味を持ち、論理和条件とは、例えば、
検索式「“文書” or “検索”」
のように、「“文書”か“検索”のどちらかの文字列が現れる文書を探せ」という意味を持つ。
また、否定条件とは、例えば、
検索式「¬“検索”」
のように、「“検索”が現れない文書を探せ」という意味を持つ。
例えば、“A”、“B”、“C”、“D”、“E”を検索タームとすると、それぞれ次のような形式に展開される。
(a)  A
(b)  AandBandCand・・・
(c)(AandB)orCor(DandE)or・・・
例えば、検索条件式が論理和条件に対する論理積条件である場合、すなわち論理和条件の外側に論理積条件が掛かっている場合には、図9に示すように展開して上記の条件を満たすように変形する。
ここで、展開結果における論理積条件あるいは単一の検索タームの部分を項と呼ぶ。
【0023】
次に、ステップ801で検索条件式登録制御プログラム106は、検索ターム数カウントテーブル作成プログラム108を起動して、検索条件式解析プログラム107の解析結果として得られた検索条件式中に含まれる検索タームの数や検索条件式に否定条件が掛かっているかどうかを示す情報を検索ターム数カウントテーブル120に格納する。
この検索ターム数カウントテーブル120は、検索条件式毎(すなわちユーザ毎)に、検索条件式中の項に対応してその中に含まれる検索タームの数を格納したテーブルである。
図10にその構造を示す。
本図に示す検索ターム数カウントテーブル120は、ユーザ番号1:「(“文書”and“検索”)or(“文書”and“サーチ”)」、ユーザ番号2:「“文字”and ¬“認識”and ¬“学習”」およびユーザ番号3:「¬(“検索”and“学習”) 」という3つの検索条件式に対して作成されたものである。
まず、この検索ターム数カウントテーブル120の先頭の要素として検索条件式否定フラグを設ける。
この検索条件式否定フラグには、検索条件式全体に否定条件が掛かっている場合には1を、そうでなければ0を設定する。
例えば、本図に示す例の場合、ユーザ番号3の検索条件式全体に否定条件が掛かっているので1を設定するが、その他の検索条件式には否定条件が掛かっていないので0を設定する。
この検索条件式否定フラグに対し第1項から順にその項に含まれる検索タームの数をリストとしてつないでいく。
例えば、ユーザ番号1に対応するリストの2番目の要素には、検索条件式の第1項に含まれる検索タームの数が格納されることになるが、本項には“文書”と“検索”という2つの検索タームが含まれているので2を格納する。
さらにその次の要素には、第2項に含まれる検索タームの数である2を格納する。
また、2番目以降の要素にはそれぞれ、検索タームの数を格納するのと同時に、テキスト検索時にテキスト中の部分文字列と一致した検索タームの出現数をカウントするための領域が確保されている。
【0024】
最後に、ステップ802で検索条件式登録制御プログラム106は、検索用オートマトン作成プログラム109を起動し、上記検索条件式解析プログラム107の解析結果として得られた検索条件式中に含まれる全ての検索タームを照合する有限オートマトン121を作成する。
そして、それらの検索タームが含まれる検索条件式を指定したユーザ126の識別子をリストとしてつないだユーザリスト122を作成し、これを有限オートマトン121に接続する。
この検索用オートマトン作成プログラム109の処理内容については、後で詳細に説明する。
以上が検索条件式登録制御プログラム106による検索条件式登録の処理内容である。
【0025】
次に、テキスト検索制御プログラム112によるテキスト検索の処理内容について図11のPAD図を用いて説明する。
テキスト検索制御プログラム112はシステム制御プログラム105によって起動される。
本プログラムは、まずステップ1100でテキスト取得プログラム113を起動し、ニュース配信元125から電子メール等によって送られてきたテキストをワークエリア123に格納する。
次に、ステップ1101でテキスト検索プログラム114を起動し、前記検索ターム数カウントテーブル作成プログラム108によって作成された検索ターム数カウントテーブル120および前記検索用オートマトン作成プログラム109によって作成された有限オートマトン121とユーザリスト122を用いて、ワークエリア123に格納されているテキストを検索する。
このテキスト検索プログラム114の処理内容については、後で詳細に説明する。
次に、ステップ1102で、テキスト検索プログラム114におけるテキスト検索処理の結果を調べ、成立している検索条件式が一つでも存在した場合には、ステップ1103でテキスト成形プログラム118を起動し、ワークエリア123に格納されているテキストを電子メールプログラム119が配布できるような形式に成形する。
以上がテキスト検索制御プログラム112によるテキスト検索の処理内容である。
【0026】
次に、図8に示した検索条件式登録制御プログラム106による検索条件式登録処理における検索用オートマトン作成プログラム109の処理内容について、図12のPAD図を用いて説明する。
検索用オートマトン作成プログラム109は、図12に示すように、まずステップ1200で有限オートマトン作成プログラム110を起動し、前記検索条件式解析プログラム107によって抽出された全ての検索タームを照合する有限オートマトン121を作成する。
この有限オートマトン121の作成方法には、上記非特許文献1および上記非特許文献2に開示されている方法を用いる。
次に、ステップ1201でユーザリスト作成プログラム111を起動し、前記検索条件式解析プログラム107によって抽出された検索タームが含まれる検索条件式を指定したユーザ126の識別番号(ユーザ番号)とその検索タームが含まれる項の番号(項番号)からユーザリスト122を作成し、ステップ1202でポインタを介して有限オートマトン121の出力テーブルに接続する。
【0027】
前記検索ターム数カウントテーブル120の説明に用いた3つの検索条件式から作成される有限オートマトン121とユーザリスト122の例を図13に示す。
本図に示した有限オートマトン121は、検索条件式中に含まれる“文書”、“文字”、“検索”、“サーチ”、“認識”および“学習”という6つの検索タームを照合するものである。
本図では簡単のため、状態遷移を2バイト(1文字)単位で示している。
この有限オートマトン121は上記非特許文献1および上記非特許文献2で示したものと同様なものであるが、出力テーブルの部分が異なる。
出力テーブルに格納されている各状態番号に対応して出現フラグが設けてある。この出現フラグはテキストの走査開始時に0にリセットしておき、検索タームと一致する部分文字列がテキスト中に現われた場合に1をセットする。
また、出力テーブルの末尾にはポインタが設けてあり、その検索タームを含む検索条件式のユーザ番号および項番号をリストとしてつないだユーザリスト122を指し示すようにしている。
ユーザリスト122の一つ一つの要素には、検索ターム否定フラグが設けてあり、検索条件式においてその検索タームに否定条件が掛かっている場合には1を、そうでなければ0を設定する。
例えば、本図において“文書”という検索タームはユーザ番号1の検索条件式の項番号1および2の項に否定条件無しで存在し、“認識”という検索タームはユーザ番号2の検索条件式の項番号1の項に否定条件付きで存在している。
【0028】
次に、図11に示したテキスト検索制御プログラム112におけるテキスト検索処理を実行するテキスト検索プログラム114の処理内容について、図14のPAD図を用いて説明する。
テキスト検索プログラム114は、本図に示すように、まずステップ1400でテキスト検索の初期設定として、検索ターム数カウントテーブル120に設けてある検索タームの出現数カウント用領域および有限オートマトン121の出力テーブルに設けてある出現フラグを0にリセットする。
次に、ステップ1401で、テキスト走査プログラム115を起動し、ワークエリア123に格納されているテキストを、有限オートマトン作成プログラム110によって作成された有限オートマトン121で走査し、検索タームを照合する。
この有限オートマトン121による検索タームの照合処理には上記非特許文献および上記非特許文献2に開示されている方法を用いる。
このとき、テキスト中に一致する部分文字列が出現した検索タームについては、その検索タームに対応する出力テーブルの出現フラグを1に設定する。
次に、ステップ1402で検索ターム数カウントプログラム116を起動し、テキスト中に一致する部分文字列が出現した検索タームのカウントを行う。
これは、出力テーブルに設けてある出現フラグが1であるユーザリスト122を辿り、検索ターム否定フラグが0であるユーザ番号と項番号に対応する検索ターム数カウントテーブル120における検索タームの出現数カウント用領域の値を1ずつ増やしていくことにより実現する。
次に、ステップ1403でテキスト中に一致する部分文字列が出現しなかった検索タームのカウントを行う。
これは、出力テーブルに設けてある出現フラグが0であるユーザリスト122を辿り、検索ターム否定フラグが1であるユーザ番号と項番号に対応する検索ターム数カウントテーブル120における検索タームの出現数カウント用領域の値を1ずつ増やしていくことにより実現する。
【0029】
次に、ステップ1404で検索条件式チェックプログラム117を起動し、検索ターム数カウントテーブル120を参照し、検索条件式が成立しているかどうかを調べる。
ここで、以下の2つの条件のうち、どちらかを満たしている検索条件式は成立しているものとみなせる。
条件(1):検索条件式否定フラグが0(すなわち、検索条件式に否定条件が掛かっていない)で、検索ターム数が一致している項番号が少なくとも一つある。
条件(2):検索条件式否定フラグが1(すなわち、検索条件式に否定条件が掛かっている)で、検索ターム数が一致している項番号が一つもない。
【0030】
この検索条件式の成否の判定について、図10を用いて説明する。
本発明では本図に示すように、ユーザ126が指定した検索条件式を項が論理和条件でつながれた形式に変形し、その項毎に含まれる検索ターム数を検索ターム数カウントテーブル120に格納している。
項が論理和条件でつながれているということは、それらの項のどれか一つが成立すればその検索条件式全体が成立することになる。
ここで、項は単一の検索タームあるいは検索タームの論理積条件である。
そのため、その項の中に含まれる検索タームと一致する部分文字列全てがテキスト中に出現した場合、すなわち予め検索ターム数カウントテーブル120に格納しておいた検索ターム数と検索ターム数カウントプログラム116によって算出された検索ターム出現カウント数が一致した場合、その項が成立することになる。
その結果、項の論理和条件で構成される検索条件式も成立することになる。
このように、上記条件(1)を満たせば、検索条件式は成立しているものとみなせる。
【0031】
上記条件(2)では、条件(1)と逆になる。
検索条件式に否定条件が掛かっている場合、検索条件式から否定条件を取った検索条件式が成立していれば、否定条件が掛かった元の検索条件式は成立せず、検索条件式から否定条件を取った検索条件式が成立していなければ、否定条件が掛かった元の検索条件式は成立していることになる。
予め検索ターム数カウントテーブル120に格納しておいた検索ターム数と検索ターム数カウントプログラム116によって算出された検索ターム出現カウント数が一致している項が一つもなければ、否定条件を取った検索条件式は成立せず、否定条件が掛かった元の検索条件式が成立することになる。
このように、上記条件(2)を満たせば、検索条件式は成立しているものとみなせる。
上記条件のどちらかを満たしている検索条件式は成立しているとみなせるため、ステップ1405でそのユーザ番号をテキスト検索制御プログラム112へ出力し、本プログラムを終了する。
以上が本発明の文書検索方法の実施例である。
【0032】
以下、図8に示した本実施例における検索条件式登録制御プログラム106の処理手順について具体的に説明する。
まず、図8の検索条件式登録制御プログラム106のステップ800における検索条件式解析プログラム107の処理について説明する。
検索条件式解析プログラム107は検索条件式登録制御プログラム106によって起動される。
例えば、「“文書”and(“検索”or“サーチ”)」、すなわち「“文書”を含み、かつ“検索”または“サーチ”を含む文書」というユーザ1の検索条件式の展開結果を数(1)に、「“文字”and ¬(“認識”or“学習”)」、すなわち「“文字”を含むが、“認識”も“学習”も含まない文書」というユーザ2の検索条件数の展開結果を数(2)に、「¬(“検索”and “学習”)」、すなわち「“検索”も“学習”も含まない文書」というユーザ3の検索条件式の展開結果を数(3)に示す。
【0033】
【数1】

Figure 2004030682
【数2】
Figure 2004030682
【数3】
Figure 2004030682
この結果、論理和条件の外側に論理積条件が掛かっていない検索条件式が、すなわち、「(“文書”and“検索”)or(“文書”and“サーチ”)」、「“文字”and ¬“認識”and ¬“学習”」、「¬(“検索”and “学習”)」が得られる。
これらの検索条件式中に含まれる検索タームをユーザ番号と項番号という観点から表にまとめると表1のようになる。
【0034】
【表1】
Figure 2004030682
ここで、ユーザ番号の前に“¬”が付与されているのは検索条件式全体に否定条件が掛かることを、検索タームの前に“¬”が付与されているのは検索タームに否定条件が掛かることを示す。
例えば、ユーザ番号1の検索条件式の項番号1には“文書”と“検索”という2つの検索タームが、項番号2には“文書”と“サーチ”という2つの検索タームが含まれ、ユーザ番号2の検索条件式の項番号1には“文字”、“認識”および“学習”という3つの検索タームが含まれ、このうち“認識”と“学習”には否定条件が掛かることを表している。
【0035】
次に、図8の検索条件式登録制御プログラム106のステップ801における検索ターム数カウントテーブル作成プログラム108の処理について説明する。検索ターム数カウントテーブル作成プログラム108は検索条件式登録制御プログラム106によって、検索条件式解析プログラム107の次に起動される。
本プログラムは、検索条件式解析プログラム107による解析結果に基づき検索ターム数カウントテーブル120を作成する。
表1の解析結果から作成される検索ターム数カウントテーブル120は図10のようになる。
本テーブルには、各ユーザ番号毎に項番号に対応して検索タームの数が格納される。
また前述したように、検索条件式否定フラグには検索条件式全体に否定条件が掛かっているなら1を、そうでなければ0を設定する。
【0036】
最後に、図8の検索条件式登録制御プログラム106のステップ802における検索用オートマトン作成プログラム109の処理について説明する。
本プログラムの処理内容は図12に示した。本プログラムは図1に示したように、有限オートマトン作成プログラム110およびユーザリスト作成プログラム111から構成される。
以下、順に説明する。
【0037】
有限オートマトン作成プログラム110では、検索条件式解析プログラム107によって抽出された全ての検索タームを照合する有限オートマトン121を作成する。
例えば、数(1)、数(2)、数(3)および表1に示した例の場合、検索条件式解析プログラム107の解析結果から“文書”、“検索”、“サーチ”、“文字”、“認識”および“学習”の6つの検索タームが得られる。
上記非特許文献1および上記非特許文献2に開示されている方法を用いて、これらの検索タームを照合する有限オートマトン121を作成すると、図13に示したような有限オートマトン121が得られる。
ただし、ここでは簡単のため、状態遷移を1文字すなわち2バイト単位で示している。
【0038】
ユーザリスト作成プログラム111では、検索条件式解析プログラム107によって得られた検索タームが含まれる検索条件式のユーザ番号、項番号およびその検索タームに否定条件が掛かっているかどうかという情報をリストでつなぐことによってユーザリスト122を作成し、ポインタを介して有限オートマトン121の出力テーブルに接続する。
このユーザリスト122の作成方法は前述した通りである。
表1の解析結果から作成されるユーザリスト122を図15に示す。
例えば、“学習”という検索タームはユーザ番号2の検索条件式の項番号1の項に否定条件付きで含まれ、ユーザ番号3の検索条件式の項番号1の項に否定条件無しで含まれるので、これらに対応する番号をリストでつないだ形でユーザリスト122が作成される。
そして、このようにして作成されたユーザリスト122は、有限オートマトン121の出力テーブルにポインタを介して接続される。
以上が本実施例における検索条件式登録制御プログラム106における検索条件式登録の詳細な手順である。
【0039】
以下、図11に示した本実施例におけるテキスト検索制御プログラム112の処理手順について具体的に説明する。
まず、図11のテキスト検索制御プログラム112のステップ1100におけるテキスト取得プログラム113の処理について説明する。
テキスト取得プログラム113はテキスト検索制御プログラム112によって起動される。
本プログラムでは、電子メールによって配信されたテキストをワークエリア123に格納する。
本プログラムによって、「検索した文書の書式を解析し、文字列部分を認識する」というテキストがワークエリア123に格納されたものとして、以下の説明を行う。
【0040】
図11のテキスト検索制御プログラム112のステップ1101におけるテキスト検索プログラム114の処理について説明する。
本プログラムの処理内容は図14に示した。
本プログラムは図1に示したように、テキスト走査プログラム115、検索ターム数カウントプログラム116および検索条件式チェックプログラム117から構成される。
以下、順に説明する。
まず、上記テキスト走査プログラム115、検索ターム数カウントプログラム116および検索条件式チェックプログラム117が実行される前に初期設定が行われる。
ここでは、図10および図15に示すように、検索ターム数カウントテーブル120の検索タームの出現数カウント用領域および出力テーブルの出現フラグが0にリセットされる。
【0041】
テキスト走査プログラム115では、ワークエリア123に格納されているテキストを、有限オートマトン121で走査して、検索タームを照合する。
ここで、テキスト中に一致する部分文字列が出現した検索タームに対応する出現フラグを1に設定する。
例えば、図16に示したようにテキスト「検索した文書の書式を解析し、文字列部分を認識する」を走査すると、まず、“検索”がテキスト中に現われる。
【0042】
そこで、“検索”に対応する出現フラグを1に設定する。
以下、“文書”、“文字”および“認識”の順に出現するので、それらの検索タームに対応する出現フラグを1に設定する。
“サーチ”および“学習”という検索タームについては、テキスト中に一致する部分文字列が現われないので、それらの検索タームに対応する出現フラグは0のままである。
【0043】
検索ターム数カウントプログラム116では、まず、テキスト中に一致する部分文字列が出現した検索タームのカウントを行う。
ここでは、テキスト中に一致する部分文字列が出現し、すなわち出現フラグが1で、検索タームに否定条件が掛かっていない、すなわち検索ターム否定フラグが0であるユーザ番号と項番号に対応する検索ターム数カウントテーブル120の検索タームの出現数カウント用領域を1増やす。
例えば、図17の例では、検索ターム“検索”に関してはユーザ番号3の項番号1の検索ターム否定フラグは0なのでカウントするが、検索ターム“認識”についてはユーザ番号2の項番号1の検索ターム否定フラグが1なのでカウントしない。
次に、テキスト中に一致する部分文字列が出現しなかった検索タームのカウントを行う。
ここでは、テキスト中に一致する部分文字列が出現せず、すなわち出現フラグが0で、検索タームに否定条件が掛かっている、すなわち検索ターム否定フラグが1であるユーザ番号と項番号に対応する検索ターム数カウントテーブル120の検索タームの出現数カウント用領域を1増やす。
例えば、図18の例では、検索ターム“学習”に関してはユーザ番号2の項番号1の検索ターム否定フラグは1なのでカウントするが、ユーザ番号3の項番号1の検索ターム否定フラグは0なのでカウントしない。
【0044】
次に、検索条件式チェックプログラム117では、検索ターム数カウントテーブル120を参照し、検索条件式が成立しているかどうかを調べる。
ここで、以下の2つの条件のうち、どちらかを満たしている検索条件式は成立しているとみなせるため、その検索条件式を指定したユーザの番号を出力する。
条件(1):検索条件式否定フラグが0、すなわち検索条件式に否定条件が掛かっておらず、検索ターム数が一致している項番号が少なくとも一つある。
条件(2):検索条件式否定フラグが1、すなわち検索条件式に否定条件が掛かっていて、検索ターム数が一致している項番号が一つもない。
例えば、図19の例の場合、ユーザ番号1に対応する検索条件式否定フラグが0で、項番号1の検索ターム数と検索ターム出現カウント数が一致しているため、上記条件(1)を満たしている。
また、ユーザ番号3に対応する検索条件式否定フラグが1で、検索ターム数と検索ターム出現カウント数が一致している項番号が存在しないため、上記条件(2)を満たしている。
しかし、ユーザ番号2では、検索条件式否定フラグが0であるにもかかわらず、検索ターム数と検索ターム出現カウント数が一致している項が存在しないため、上記条件をいずれも満たしてはいない。
したがって、ユーザ番号1およびユーザ番号3の検索条件式が成立しているとみなせるため、これらのユーザ番号を出力する。
【0045】
最後に、図11のテキスト検索制御プログラム112のステップ1103におけるテキスト成形プログラム118の処理について説明する。
テキスト成形プログラム118は、上記テキスト検索プログラム114の結果、ユーザ番号が出力された場合のみ、テキスト検索制御プログラム112によって起動される。
本プログラムでは、ワークエリア123に格納されているテキストを電子メールプログラム119が配布できるような形式に成形する。
例えば、テキストの先頭にヘッダと呼ばれる制御情報を付加する。
図20に本プログラムの処理結果の例を示す。
本図では、ヘッダとして“To:”、“Subject:”および
“From:”の各行が付加されている。
“To:”行にはテキストを配布する宛て先、例えば電子メールの送り先のアドレスを付加する。
図20では、ユーザ1およびユーザ3にテキストを配布するため、“ユーザ1”および“ユーザ3”と記述されている。
“Subject:”行にはユーザが識別しやすい情報を付加する。
本図では、配布するテキストの最初の数文字を抜き出して記述しているが、ここには何を付加してもよい。
“From:”行にはテキストの送り元、例えば電子メールの送り元のアドレスを付加する。
本図では、テキストを配布するシステムの名称である“文書検索配送システム”と記述されている。
以上が本実施例におけるテキスト検索制御プログラム112におけるテキスト検索の詳細な手順である。
【0046】
テキスト検索制御プログラム112の処理の結果、成立している検索条件式が一つでも存在した場合には、図7に示したように、テキスト検索制御プログラム112の終了後、電子メールプログラム119がシステム制御プログラム105によって起動される。
本プログラムでは、テキスト成形プログラム118によって付加されたヘッダを参照して、テキストを電子メールによって配布する。
例えば、図20の例の場合、ヘッダの“To:”行に相当する部分を参照し、そこに記述されている宛て先にヘッダが付加されたテキストを送付する。
本図では、“To:”行に“ユーザ1”および“ユーザ3”と記述されているため、ユーザ1とユーザ3にテキストを配布し、処理を終了する。
【0047】
以上説明したように、本発明によれば、複数ユーザの検索条件式の登録時に、それらの検索条件式中に含まれる検索タームを指定したユーザの識別情報とそのユーザが指定した検索条件式中に含まれる検索タームの数を記憶しておき、テキストの検索時に、テキスト中に一致する部分文字列が出現した検索タームのユーザ毎の数と記憶しておいたユーザ毎の検索ターム数とを比較することによって全ての検索条件式が成立しているかどうかを判別することができるため、ただ一度のテキスト走査で全てのユーザの検索条件式の成否を判定でき、全ユーザの検索条件式に関する検索処理を一度に行うことが可能となる。
その結果、複数の情報源から入手したテキストを、ユーザが予め登録しておいた検索条件式に基づき、テキストのただ一度の走査で複数ユーザの検索条件式が成立しているかどうかを判別し、条件が成立しているユーザに対して即座にそのテキストを配布することができる即時性の高い文書検索配送システムを実現することが可能となる。
また、この文書検索配送システムは即時性が高いので、ユーザがシステムに検索条件式を通知してから検索されたテキストが配送されるまでの時間が短く、この時間を監視することにより本発明が適用されているか否かを判定することが可能である。
【0048】
《第二実施例》
次に、本発明の第二の実施例について説明する。
本実施例で示す文書検索配送システムでは、ユーザ毎に配布条件を管理することにより、ある程度まとめてテキストを配布したり、決まった時間に配布するなど、ユーザの希望に応じてテキストを配布することが可能となる。
また、商業的なシステムとして用いる場合には、ユーザの契約条件に応じて時間遅延を設けてテキストを配布することも可能となる。
【0049】
本実施例は第一の実施例(図1)と基本的に同様の構成をとるが、その中の主メモリ104内の構成が異なる。
この主メモリ104内の構成は図21に示すようなものとなる。
図21に示すように、主メモリ104aに配布管理テーブル2108を確保し、システム制御プログラム105aの制御下に配布条件登録制御プログラム2100およびテキスト配布制御プログラム2104を新たに設ける。
また、配布条件登録制御プログラム2100の制御下に配布条件解析プログラム2101および配布条件登録プログラム2102を、テキスト検索制御プログラム112aの制御下に配布情報格納プログラム2103を、テキスト配布制御プログラム2104の制御下にテキスト配布プログラム2105を設ける。
このテキスト配布プログラム2105は配布条件チェックプログラム2106、電子メールプログラム119および配布情報修正プログラム2107で構成される。
電子メールプログラム119にはワークステーションなどで一般的に用いられている既存のメールプログラムを用いる。
以上のプログラムはハードディスク装置、フレキシブルディスクなどのコンピュータで読み書きできる記憶媒体に格納することもできる。
【0050】
システム制御プログラム105aは文書検索配送システムの管理者によるキーボード101からの指示を受けて起動される。
配布条件登録制御プログラム2100、検索条件式登録制御プログラム106、テキスト検索制御プログラム112aおよびテキスト配布制御プログラム2104はユーザ126からの配布条件や検索条件式の登録指示、キーボード101からの配布条件の登録指示およびニュース配信元125からのテキストの配信により、システム制御プログラム105aによって起動され、それぞれ配布条件解析プログラム2101および配布条件登録プログラム2102の制御、検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108および検索用オートマトン作成プログラム109の制御、テキスト取得プログラム113、テキスト検索プログラム114、テキスト成形プログラム118および配布情報格納プログラム2103の制御、テキスト配布プログラム2105の制御を行う。
以下、本実施例における文書検索配送システムの処理内容について説明する。
【0051】
まず、システム制御プログラム105aの処理内容について図22のPAD図を用いて説明する。
システム制御プログラム105aでは、まずステップ2200で、キーボード101から終了コマンドが入力されるまで、以下のステップを繰り返す。
この繰り返し処理では、まずステップ2201でユーザ126からの電子メールあるいはキーボード101の入力によって配布条件が送られてきているかどうかを調べる。
ここで、配布条件が送られてきている場合には、ステップ2202で配布条件登録制御プログラム2100を起動して、配布条件の登録を行う。
次に、ステップ2203でユーザ126から電子メールによって検索条件式が送られてきているかどうかを調べる。
ここで、検索条件式が送られてきている場合には、ステップ2204で検索条件式登録制御プログラム106を起動して、検索条件式の登録を行う。
次に、ステップ2205でニュース配信元125から電子メールによってテキストが送られてきているかどうかを調べる。
ここで、テキストが送られてきている場合には、ステップ2206でテキスト検索制御プログラム112aを起動して、テキストの検索を行う。
最後に、ステップ2207でテキスト配布制御プログラム2104を起動し、配布条件を判定してその条件を満たしているユーザに対してのみテキストを配布する。
以上がシステム制御プログラム105aの処理内容である。
【0052】
以下、第一の実施例にはない配布条件登録制御プログラム2100とテキスト配布制御プログラム2104および第一の実施例と処理が異なるテキスト検索制御プログラム112aの処理内容について説明する。
まず、配布条件登録制御プログラム2100による配布条件登録の処理内容について図23のPAD図を用いて説明する。
配布条件登録制御プログラム2100はシステム制御プログラム105aによって起動される。
本プログラムは、まずステップ2300で配布条件解析プログラム2101を起動し、ユーザ126からの電子メールあるいはキーボード101の入力によって送られてきた配布条件を解析する。
この配布条件の解析処理では、配布条件から以下の情報を抽出する。
(A)配布条件を設定するユーザの識別子
(B)配布条件の形式
(C)配布条件の設定値
上記(B)の配布条件の形式としては、「配布時間」、「配布件数」、「遅延時間」などの配布条件の種別を抽出する。
(C)の配布条件の設定値として抽出する値は、例えば(B)が「配布時間」ならその時間、「配布件数」なら配布する件数、「遅延時間」なら検索してから実際に配布するまでの経過時間である。
例えば、
ユーザ番号1:配布時間(18:00)
という“ユーザ番号1に対して18:00に配布する”ことを意味する配布条件が送られてきた場合には「ユーザ番号1」、「配布時間」および「18:00」を抽出する。
ユーザ番号2:配布件数(5)
という“ユーザ番号2に対して5件たまったら配布する”ことを意味する配布条件が送られてきた場合には「ユーザ番号2」、「配布件数」および「5」を抽出する。
ユーザ番号3:遅延時間(01:30)
という“ユーザ番号3に対して1時間30分遅れて配布する”ことを意味する配布条件が送られてきた場合には「ユーザ番号3」、「遅延時間」および「01:30」を抽出する。
最後に、ステップ2301で配布条件登録プログラム2102を起動し、配布条件解析プログラム2101によって解析された結果を配布管理テーブル2108に格納する。
図24に配布管理テーブル2108の例を示す。
配布管理テーブル2108には配布条件解析プログラム2101によって抽出された配布条件の形式と設定値がユーザ番号に対応する形で格納され、配布条件チェック用領域および配布テキスト番号格納用領域が確保されている。
【0053】
次に、テキスト検索制御プログラム112aによるテキスト検索の処理内容について図25のPAD図を用いて説明する。
テキスト検索制御プログラム112aはシステム制御プログラム105aによって起動される。
図25に示す本プログラムの処理内容のうち、ステップ2500〜2503におけるテキスト取得プログラム113、テキスト検索プログラム114およびテキスト成形プログラム118の処理内容は第一の実施例で述べた通りである。
テキスト検索制御プログラム112aはステップ2504で、配布情報格納プログラム2103を起動し、配布管理テーブル2108の配布テキスト番号格納用領域に検索条件が成立した配布すべきテキストの番号を追加格納する。
次に、ステップ2505で配布管理テーブル2108の配布テキスト番号格納用領域に格納してあるテキスト番号の数、あるいは現在の時間を本テーブルの配布条件チェック用領域に格納する。
このとき、配布条件の形式が「配布件数」の場合には格納してあるテキスト番号の数を、「遅延時間」の場合には現在の時間を格納する。「配布時間」の場合には何も格納する必要はない。
その後、ステップ2506でテキスト成形プログラム118によって成形されたテキストをワークエリア123に格納する。
【0054】
最後に、テキスト配布制御プログラム2104によるテキスト配布の処理内容について図26のPAD図を用いて説明する。
テキスト配布制御プログラム2104はシステム制御プログラム105aによって起動される。
本プログラムは、ステップ2600でテキスト配布プログラム2105を起動し、ユーザ毎に配布条件を判定し、その条件を満たしているユーザに対してテキストを配布する。
【0055】
テキスト配布プログラム2105の詳細な処理内容を図27に示す。
テキスト配布プログラム2105は、まずステップ2700で、配布管理テーブル2108に配布条件が格納されている全てのユーザ番号に対して以下のステップを繰り返す。
この繰り返し処理では、まずステップ2701で配布条件チェックプログラム2106を起動し、配布管理テーブル2108を用いて配布条件を満たしているか否かを判定する。
ここで、以下の条件を満たしていれば配布条件を満たしているとみなす。
条件(1):配布条件の形式が「配布時間」で、配布条件の設定値と現在の時間が一致するか、あるいは配布条件の設定値より現在の時間の方が超過している。
条件(2):配布条件の形式が「配布件数」で、配布条件の設定値と配布条件チェック用領域に格納されている件数が一致する。
条件(3):配布条件の形式が「遅延時間」で、配布条件の設定値と配布条件チェック用領域に格納されている時間から現在の時間までの経過時間が一致するか、あるいは配布条件の設定値より経過時間の方が超過している。
上記の条件を満たしている場合には、ステップ2702で配布条件を満たしていると判断し、ステップ2703で電子メールプログラム119を起動して配布管理テーブル2108の配布テキスト番号格納用領域に格納されている番号のテキストをそのユーザ番号に配布する。
最後に、ステップ2704で配布情報修正プログラム2107を起動し、テキストを配布したユーザ番号に対応する配布管理テーブル2108の配布条件チェック用領域と配布テキスト番号格納用領域をリセットする。
これは、配布条件チェック用領域をNULLクリアし、配布テキスト番号格納用領域からテキスト番号を削除することで実現する。
以上が本発明の文書検索システムの実施例である。
【0056】
以下、図23に示した本実施例における配布条件登録制御プログラム2100の処理手順について図28を用いて具体的に説明する。
まず、図23の配布条件登録制御プログラム2100のステップ2300における配布条件解析プログラム2101の処理について説明する。
配布条件解析プログラム2101は配布条件登録制御プログラム2100によって起動される。
本プログラムは、ユーザ126から電子メールで送られてきた配布条件あるいはキーボード101から入力された配布条件を解析する。
例として「ユーザ番号1:配布時間(18:00)」、「ユーザ番号2:配布件数(5)」および「ユーザ番号3:遅延時間(01:30)」という配布条件を解析した結果を図28に示す。
例えば「ユーザ番号1:配布時間(18:00)」という配布条件の場合、解析結果として、配布条件を設定するユーザ番号「1」、配布条件の形式「配布時間」、配布条件の設定値「18:00」が得られる。
【0057】
次に、図23の配布条件登録制御プログラム2100のステップ2301における配布条件登録プログラム2102の処理について説明する。
配布条件登録プログラム2102は配布条件登録制御プログラム2100によって、配布条件解析プログラム2101の次に起動される。
本プログラムは、配布条件解析プログラム2101による解析結果に基づき配布管理テーブル2108を作成する。
作成された配布管理テーブル2108の例を図28に示す。
本テーブルには、配布条件解析プログラム2101による解析結果に基づき、各ユーザ番号に対応して配布条件の形式および設定値を格納する。また、配布条件チェック用領域および配布テキスト番号格納用領域を確保する。
以上が本実施例における配布条件登録制御プログラム2100における検索条件式登録処理の詳細な手順である。
【0058】
以下、図25に示した本実施例におけるテキスト検索制御プログラム112aの処理手順について具体的に説明する。
図25に示す本プログラムの処理内容のうち、ステップ2500〜2503におけるテキスト取得プログラム113、テキスト検索プログラム114およびテキスト成形プログラム118の処理内容は第一の実施例で詳しく述べた通りである。
以下は、ステップ2504〜2506における配布情報格納プログラム2103の詳細な処理内容である。
配布情報格納プログラム2103は、テキスト検索制御プログラム112aによってテキスト成形プログラム118の次に起動される。
本プログラムは、まず、ステップ2504でテキストの番号を、検索条件式が成立したユーザ番号に対応する配布管理テーブル2108の配布テキスト番号格納用領域に格納する。
図29に本プログラムの処理内容の例を示す。
本図は、59番のテキストに対してユーザ番号1およびユーザ番号2の検索条件式が成立した場合の例である。
そのため、配布管理テーブル2108の配布テキスト番号格納用領域のユーザ番号1およびユーザ番号2に対応する場所にテキスト番号“59”が格納される。
次に、配布情報格納プログラム2103は、ステップ2504で配布管理テーブル2108の配布テキスト番号格納用領域に格納してあるテキスト番号の数、あるいは現在の時間を配布管理テーブル2108の配布条件チェック用領域に格納する。
このとき、配布条件の形式が「配布件数」の場合には格納してあるテキスト番号の数を、「遅延時間」の場合には現在の時間を格納する。「配布時間」の場合には何も格納する必要はない。
図29の例の場合、ユーザ番号2の配布条件の形式は「配布件数」であるので、配布条件チェック用領域の値を1増やして“5”にするが、ユーザ番号1の配布条件の形式は「配布時間」であるため何もしない。
最後に、配布情報格納プログラム2103はステップ2506で、テキスト成形プログラム118によって成形されたテキストをワークエリア123に格納して終了する。
【0059】
最後に、図26のテキスト配布制御プログラム2104のステップ2600におけるテキスト配布プログラム2105の処理について説明する。
テキスト配布プログラム2105の詳細な処理内容は図27に示した通りである。
まず、ステップ2700で、配布管理テーブル2108に配布条件が格納されている全てのユーザに対して以下の処理を繰り返す。
この繰り返し処理では、まずステップ2701で配布条件チェックプログラム2105を起動し、配布条件を判定する。
ここで、以下の条件を満たしていれば配布条件を満たしているとみなす。
条件(1):配布条件の形式が「配布時間」で、配布条件の設定値と現在の時間が一致するか、あるいは配布条件の設定値より現在の時間の方が超過している。
条件(2):配布条件の形式が「配布件数」で、配布条件の設定値と配布条件チェック用領域に格納されている件数が一致する。
条件(3):配布条件の形式が「遅延時間」で、配布条件の設定値と配布条件チェック用領域に格納されている時間から現在の時間までの経過時間が一致するか、あるいは配布条件の設定値より経過時間の方が超過している。
【0060】
ユーザ番号1の配布条件の形式は「配布時間」である。
しかし、現在の時間“14:00”は配布条件の設定値“18:00”を超過していないため、配布条件が満たされていない。そのため、次の繰り返しに移る。
【0061】
ユーザ番号2の配布条件の形式は「配布件数」であり、配布条件チェック用領域に格納されている件数と配布条件の設定値が“5”と一致しているので、ステップ2703で電子メールプログラム119を起動し、配布管理テーブル2108の配布テキスト番号格納用領域に格納されている番号のテキストを配布する。
本図においてユーザ番号2に対応する配布テキスト番号格納用領域には、テキスト番号19、24、33、42、59が格納されているので、ワークエリア123に格納されているテキストで同じ番号のものをユーザ番号2に配布する。
次に、ステップ2704で配布情報修正プログラム2107を起動し、テキストを配布したユーザ番号、すなわちユーザ番号2に対応する配布管理テーブル2108の配布チェック用領域および配布テキスト番号格納用領域をリセットし、次の繰り返し処理を行う。
【0062】
ユーザ番号3の配布条件の形式は「遅延時間」であり、配布条件チェック用領域に格納されている時間から現在の時間までの経過時間と配布条件の設定値に格納されている時間が“01:30”と一致しているので、ステップ2703で電子メールプログラム119を起動し、配布管理テーブル2108の配布テキスト番号格納用領域に格納されている番号のテキストを配布する。
本図においてユーザ番号3に対応する配布テキスト番号格納用領域には、テキスト番号53が格納されているので、ワークエリア123に格納されているテキストで同じ番号のものをユーザ番号3に配布する。
次に、ステップ2704で配布情報修正プログラム2107を起動し、テキストを配布したユーザ番号、すなわちユーザ番号2に対応する配布管理テーブル2108の配布チェック用領域および配布テキスト番号格納用領域をリセットする。
全ての繰り返し処理が終了したときの配布管理テーブル2108を図30に示す。
ユーザ番号2およびユーザ番号3にテキスト配布処理を行ったので、それらに対応する配布条件チェック用領域および配布テキスト番号格納用領域がリセットされている。
【0063】
以上説明したように、本発明によれば、ユーザ毎に配布条件を設定し、その配布条件にしたがって検索条件式が成立したテキストを配布することにより、ある程度まとめてテキストを配布したり、決まった時間に配布するなど、ユーザの希望に応じてテキストを配布することが可能となる。
また、商業的なシステムとして用いる場合には、ユーザの契約条件に応じて時間遅延を設けてテキストを配布することも可能となる。
その結果、複数の情報源から入手したテキストを、ユーザが予め登録しておいた検索条件式に基づき、テキストのただ一度の走査で複数ユーザの検索条件式が成立しているかどうかを判別し、ユーザの個々の希望配布条件に応じてそのテキストを配布することができる柔軟性の高い文書検索配送システムを実現することが可能となる。
【0064】
《第三実施例》
次に、本発明の第三の実施例について説明する。
本実施例で示す文書検索配送システムでは、各ユーザが指定した検索条件式に含まれる検索タームをユーザ毎に管理し、ユーザから検索条件式の削除が指示された際に、管理してある検索タームで有限オートマトンを探索し、ユーザリストのポインタを張り替えることによって、容易にユーザリストから以前の情報を削除することができる。
この実施例によれば、ユーザによる検索条件式の変更指示がある場合にも容易に変更を行うことが可能となる。
本実施例は第一の実施例(図1)と基本的に同様の構成をとるが、その中の主メモリ104内の構成が異なる。
この主メモリ104内の構成は図31に示すようなものとなる。
図31に示すように、主メモリ104bに検索ターム管理テーブル3106を確保し、システム制御プログラム105bの制御下に検索条件式削除制御プログラム3100を新たに設ける。
また、検索条件式削除制御プログラム3100の制御下にユーザリスト修正プログラム3101および検索ターム数カウントテーブル修正プログラム3104を、検索条件式登録制御プログラム106bの制御下に検索ターム管理テーブル作成プログラム3105を設ける。
ユーザリスト修正プログラム3101は有限オートマトン探索プログラム3102およびユーザリスト部分削除プログラム3103で構成される。
以上のプログラムはハードディスク装置、フレキシブルディスクなどのコンピュータで読み書きできる記憶媒体に格納することもできる。
【0065】
システム制御プログラム105bは文書検索配送システムの管理者によるキーボード101からの指示で起動される。
検索条件式削除制御プログラム3100、検索条件式登録制御プログラム106bおよびテキスト検索制御プログラム112はユーザ126からの検索条件式の登録や削除指示およびニュース配信元125からのテキストの配信により、システム制御プログラム105bによって起動され、それぞれユーザリスト修正プログラム3101および検索ターム数カウントテーブル修正プログラム3104の制御、検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108、検索用オートマトン作成プログラム109および検索ターム管理テーブル作成プログラム3105の制御、テキスト取得プログラム113、テキスト検索プログラム114およびテキスト成形プログラム118の制御を行う。
【0066】
以下、本実施例における文書検索配送システムの処理内容について説明する。まず、システム制御プログラム105bの処理内容について図32のPAD図を用いて説明する。
システム制御プログラム105bでは、まずステップ3200で、キーボード101から終了コマンドが入力されるまで、以下のステップを繰り返す。
この繰り返し処理では、まずステップ3201でユーザ126から電子メールによって検索条件式の削除指示が送られてきているかどうかを調べる。
ここで、検索条件式の削除指示が送られてきている場合には、ステップ3202で検索条件式削除制御プログラム3100を起動して、検索条件式の削除を行う。
次に、ステップ3203でユーザ126から電子メールによって検索条件式が送られてきているかどうかを調べる。
ここで、検索条件式が送られてきている場合には、ステップ3204で検索条件式登録制御プログラム106bを起動して、検索条件式の登録を行う。
次に、ステップ3205でニュース配信元125から電子メールによってテキストが送られてきているかどうかを調べる。
ここで、テキストが送られてきている場合には、ステップ3206でテキスト検索制御プログラム112を起動して、テキストの検索を行う。
次に、ステップ3207でテキスト検索制御プログラム112におけるテキスト検索の結果を調べ、成立している検索条件式が一つでも存在すると判断された場合には、ステップ3208で電子メールプログラム119を起動し、成立した検索条件式を指定したユーザに対し、該当テキストを電子メールを用いて配布する。
以上がシステム制御プログラム105bの処理内容である。
【0067】
以下、第一の実施例にはない検索条件式削除制御プログラム3100および第一の実施例と処理が異なる検索条件式登録制御プログラム106bの処理内容について説明する。
まず、検索条件式削除制御プログラム3100による検索条件式の削除処理の内容について図33のPAD図を用いて説明する。
検索条件式削除制御プログラム3100はシステム制御プログラム105bによって起動される。
本プログラムは、まずステップ3300でユーザリスト修正プログラム3101を起動し、検索条件式の削除が指定されたユーザ番号に対応するユーザリスト122を削除する。
そして、ステップ3301で検索ターム数カウントテーブル修正プログラム3104を起動し、検索条件式の削除が指定されたユーザ番号に対応する検索ターム数カウントテーブル120を削除する。
【0068】
ユーザリスト修正プログラム3101の詳細な処理内容を図34に示す。
本プログラムは、まずステップ3400で検索ターム管理テーブル3106に格納されている検索タームの数分、以下のステップを繰り返す。検索ターム管理テーブル3106については後で説明する。
繰り返し処理では、まずステップ3401で有限オートマトン探索プログラム3102を起動し、検索タームで有限オートマトン121を探索することによってユーザリスト122へのポインタを得る。
最後に、ステップ3402でユーザリスト部分削除プログラム3103を起動し、ユーザリスト122のポインタを張り替えることによって、検索条件式の削除を行うユーザ番号に対応するリストを削除する。
以上が、検索条件式削除制御プログラム3100による検索条件式削除の処理内容である。
【0069】
次に、検索条件式登録制御プログラム106bによる検索条件式の登録処理の内容について図35のPAD図を用いて説明する。
検索条件式登録制御プログラム106bはシステム制御プログラム105bによって起動される。
図35に示す本プログラムの処理内容のうち、ステップ3500〜3502における検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108および検索用オートマトン作成プログラム109の処理内容については第一の実施例で述べた通りである。
検索条件式登録制御プログラム106bはステップ3503で、検索ターム管理テーブル作成プログラム3105を起動し、検索条件式中に含まれる検索タームを検索ターム管理テーブル3106に格納する。
ここで、作成される検索ターム管理テーブル3106の例を図36に示す。
本図に示した検索ターム管理テーブル3106は、「“文書”and(“検索”or“サーチ”)」というユーザ1の検索条件式、「“文字”and ¬(“認識”or“学習”)」というユーザ2の検索条件式および「¬(“検索”and “学習”)」というユーザ3の検索条件式から抽出した検索タームから作成されたものである。
以上が本発明の文書検索方法の実施例である。
【0070】
以下、図33に示した本実施例における検索条件式削除制御プログラム3100の処理手順について図37を用いて具体的に説明する。
まず、図33の検索条件式削除制御プログラム3100のステップ3300におけるユーザリスト修正プログラム3101の処理について説明する。
ユーザリスト修正プログラム3101は検索条件式削除制御プログラム3100によって起動される。本プログラムの詳細な処理内容は図34に示した通りである。
本プログラムはステップ3400で、検索ターム管理テーブル3106に格納されている検索タームの数分、ステップ3401およびステップ3402を繰り返す。
ステップ3401では、有限オートマトン探索プログラム3102を起動し、検索タームで有限オートマトン121を探索してユーザリスト122へのポインタを得る。
ステップ3402では、ユーザリスト部分削除プログラム3103を起動し、検索条件式の削除が指定されたユーザ番号に対応するユーザリスト122を削除する。
【0071】
ユーザリスト修正プログラム3101の処理例を図37に示す。
本図は「文字」、「認識」および「学習」を検索条件式中に含むユーザ番号2の検索条件式を削除する場合の例である。
検索ターム管理テーブル3106には「文字」、「認識」および「学習」が格納されており、これらの検索タームに対して繰り返し処理が行われる。
繰り返し処理の中でステップ3401では「文字」、「認識」および「学習」で有限オートマトン121を探索し、それぞれユーザリスト122へのポインタを得る。
ステップ3402では、それらのユーザリスト122を辿り、ユーザ番号2に関するユーザリスト122を削除する。
本図では、ユーザリスト122のうちユーザ番号“2”の部分が削除される。
【0072】
次に、図33の検索条件式削除制御プログラム3100のステップ3301における検索ターム数カウントテーブル修正プログラム3104の処理について説明する。
検索ターム数カウントテーブル修正プログラム3104は、検索条件式削除制御プログラム3100によってユーザリスト修正プログラム3101の次に起動される。
本プログラムでは、検索条件式の削除が指定されたユーザ番号に対応する検索ターム数カウントテーブル120を削除する。
図38に本プログラムの処理例を示す。
本図に示す通り、ユーザ番号2に対応する検索ターム数カウントテーブルが削除される。
以上が本実施例における検索条件式削除制御プログラム3100における検索条件式削除の詳細な手順である。
【0073】
以下、図35に示した本実施例における検索条件式登録制御プログラム106bの処理手順について具体的に説明する。
図35に示す本プログラムの処理内容のうち、ステップ3500〜3502における検索条件式解析プログラム107、検索ターム数カウントテーブル作成プログラム108および検索用オートマトン作成プログラム109の処理内容については第一の実施例で述べた通りである。
以下、ステップ3503における検索ターム管理テーブル作成プログラム3105の詳細な処理内容を説明する。
検索ターム管理テーブル作成プログラム3105は、検索条件式登録制御プログラム106bによって検索用オートマトン作成プログラム109の次に起動される。
本プログラムでは、検索条件式解析プログラム107による解析結果として得られた検索条件式中に含まれる検索タームを検索ターム管理テーブル3106に格納する。
【0074】
本プログラムの処理例を図39に示す。
本図は、ユーザ番号2のユーザが「“構造”and“認識”」、すなわち「“構造”と“認識”を同時に含む文書」という検索条件式を指定した場合の例である。
この検索条件式を検索条件式解析プログラム107によって解析すると“構造”および“認識”という2つの検索タームが得られる。
これらの検索タームを検索ターム管理テーブル3106にユーザ番号に対応した形で格納する。本図では、ユーザ番号2に対応する場所に“構造”および“認識”が格納されている。
以上が本実施例における検索条件式登録制御プログラム106bにおける検索条件式登録の詳細な手順である。
【0075】
以上説明したように、本発明によれば、各ユーザが指定した検索条件式に含まれる検索タームをユーザ毎に管理し、ユーザから検索条件式の削除が指示された際に、管理してある検索タームで有限オートマトンを探索し、ユーザリストのポインタを張り替えることによって、容易にユーザリストから以前の情報を削除することが可能となる。
その結果、複数の情報源から入手したテキストを、ユーザが予め登録しておいた検索条件式に基づき、テキストのただ一度の走査で複数ユーザの検索条件式が成立しているかどうかを判別し、条件が成立しているユーザに対して即座にそのテキストを配布する文書検索配送システムにおいて、ユーザの要求に応じて検索条件式を随時変更できる文書検索配送システムを実現することが可能となる。
本実施例では、検索条件式の削除指示と登録指示が別々に送られてくる場合について説明したが、検索条件式の削除指示と登録指示が同時に送られてくる、すなわち更新指示が送られてくる場合にも削除処理と登録処理を連続して行うことにより対応できることは明らかであろう。
また、本実施例は第一の実施例に対して検索条件式の削除処理を追加したものであるが、第二の実施例に対して適用することも可能なことは明らかであろう。
【0076】
【発明の効果】
本発明によれば、ユーザ数が、すなわち検索条件式の数が大量となる場合でも、ただ一度のテキスト走査で全ての検索条件式が成立しているかどうかを判別することができるため、高速なテキスト検索を実現することが可能となる。
また、この結果、ユーザ数が増えた場合でも、ユーザ数に依らない高速なリアルタイムのテキスト検索配布が行える文書検索配送システムを提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成を示す図である。
【図2】従来技術1における有限オートマトンの構成を示す図である。
【図3】従来技術1におけるフェイル先状態番号テーブルの構成を示す図である。
【図4】従来技術1における出力テーブルの構成を示す図である。
【図5】従来技術2における日本語テキスト用有限オートマトンの例を示す図である。
【図6】本発明の概略の処理内容を示す図である。
【図7】システム制御プログラム105の処理内容を示すPAD図である。
【図8】検索条件式登録制御プログラム106の処理内容を示すPAD図である。
【図9】検索条件式の解析方法を説明するための図である。
【図10】検索ターム数カウントテーブル120の作成方法を説明するための図である。
【図11】テキスト検索制御プログラム112の処理内容を示すPAD図である。
【図12】検索用オートマトン作成プログラム109の処理内容を示すPAD図である。
【図13】有限オートマトン121およびユーザリスト122の作成方法を説明するための図である。
【図14】テキスト検索プログラム114の処理内容を示すPAD図である。
【図15】ユーザリスト122の作成処理を説明するための図である。
【図16】テキスト走査処理を説明するための図である。
【図17】テキスト中に一致する部分文字列が出現した検索タームのカウント処理を説明するための図である。
【図18】テキスト中に一致する部分文字列が出現しなかった検索タームのカウント処理を説明するための図である。
【図19】検索条件式の成立チェック処理を説明するための図である。
【図20】テキスト成形処理を説明するための図である。
【図21】本発明の第二の実施例の構成を示す図である。
【図22】システム制御プログラム105aの処理内容を示すPAD図である。
【図23】配布条件登録制御プログラム2100の処理内容を示すPAD図である。
【図24】配布管理テーブル2108の構成を示す図である。
【図25】テキスト検索制御プログラム112aの処理内容を示すPAD図である。
【図26】テキスト配布制御プログラム2104の処理内容を示すPAD図である。
【図27】テキスト配布プログラム2105の処理内容を示すPAD図である。
【図28】配布条件登録処理を説明するための図である。
【図29】配布情報格納処理を説明するための図である。
【図30】配布条件チェック処理および配布情報修正処理を説明するための図である。
【図31】本発明の第三の実施例の構成を示す図である。
【図32】システム制御プログラム105bの処理内容を示すPAD図である。
【図33】検索条件式削除制御プログラム3100の処理内容を示すPAD図である。
【図34】ユーザリスト修正プログラム3101の処理内容を示すPAD図である。
【図35】検索条件式登録制御プログラム106bの処理内容を示すPAD図である。
【図36】検索ターム管理テーブル3106の構成を示す図である。
【図37】ユーザリスト修正処理を説明するための図である。
【図38】検索ターム数カウントテーブル修正処理を説明するための図である。
【図39】検索ターム管理テーブル作成処理を説明するための図である。
【符号の説明】
100  ディスプレイ
101  キーボード
102  CPU
103  バス
104、104a、104b  主メモリ
105、105a、105b  システム制御プログラム
106、106b  検索条件式登録制御プログラム
107  検索条件式解析プログラム
108  検索ターム数カウントテーブル作成プログラム
109  検索用オートマトン作成プログラム
110  有限オートマトン作成プログラム
111  ユーザリスト作成プログラム
112、112a  テキスト検索制御プログラム
113  テキスト取得プログラム
114  テキスト検索プログラム
115  テキスト走査プログラム
116  検索ターム数カウントプログラム
117  検索条件式チェックプログラム
118  テキスト成形プログラム
119  電子メールプログラム
120  検索ターム数カウントテーブル
121  有限オートマトン
122  ユーザリスト
123  ワークエリア
124  LAN
125  ニュース配信元
126  文書検索配送システムのユーザ
2100  配布条件登録制御プログラム
2101  配布条件解析プログラム
2102  配布条件登録プログラム
2103  配布情報格納プログラム
2104  テキスト配布制御プログラム
2105  テキスト配布プログラム
2106  配布条件チェックプログラム
2107  配布情報修正プログラム
2108  配布管理テーブル
3100  検索条件式削除制御プログラム
3101  ユーザリスト修正プログラム
3102  有限オートマトン探索プログラム
3103  ユーザリスト部分削除プログラム
3104  検索ターム数カウントテーブル修正プログラム
3105  検索ターム管理テーブル作成プログラム
3106  検索ターム管理テーブル[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention searches for an electronic document obtained from a plurality of information sources such as a news agency or a newspaper company using an e-mail or an information collecting robot by a search condition formula registered in advance by a user. Related to a document search and delivery system that distributes digitized documents to established users. Particularly, even if the number of users increases, a single-time scan of the digitized documents can end the search for all users. The present invention relates to a document search and delivery system having a distribution function.
[0002]
[Prior art]
2. Description of the Related Art In recent years, a large amount of digitized documents (hereinafter, referred to as texts) have been sent to users every moment by e-mail and electronic news. Also, the number of information sources that provide information via the Internet is rapidly increasing, and the amount of text collected from these information sources by using an information collection robot or the like is enormous. Therefore, there is an increasing need for a document search and delivery system that searches for these texts and immediately distributes the texts to users seeking the texts.
A document search is used as a core for realizing this document search and delivery system (for example, see Non-Patent Document 1).
It creates a kind of finite automaton called a pattern matching machine from multiple search character strings to be matched (hereinafter referred to as search terms). Can be collated.
[0003]
This method will be described with reference to FIG.
FIG. 14 is a state transition diagram of a finite automaton that matches four search terms “he”, “she”, “his”, and “hers”.
Here, a circle represents a state of the finite state automaton, and a solid arrow represents a state transition.
The alphabet attached to each solid arrow indicates an input character at which a corresponding state transition occurs, and the numeral written inside each circle indicates the state number of the same state.
A broken arrow indicates a transition destination when a character not shown in the finite state automaton is input (hereinafter, referred to as “fail”).
Here, dashed arrows from states 1, 2, 3, 6, and 8 to state 0 are omitted.
The transition destination due to this failure is actually managed by a failure destination state number table as shown in FIG.
When a transition is made due to a failure, the input character is re-matched in the transition destination state.
When states 2, 5, 7, and 9 are reached during text scanning, a substring matching the search term has appeared in the text, which can be determined by referring to the output table shown in FIG. Is detected.
This output table stores a state number and a character string output when the state is reached, that is, a search term that matches a partial character string in the text.
Hereinafter, the operation of this method will be described with reference to FIG.
The initial state is state 0.
In this example, if the input character is "h", the state transits to state 1, and if "s", the state transits to state 3.
Here, if any other character (represented by {h, s}, and "@" indicates that a negative condition is applied to the next element) is entered, the state returns to the initial state 0.
If the input character is "h" in state 3, the state transits to state 4.
If a character other than "h" is entered here, the process returns to state 0, where the collation processing is performed again.
On the other hand, if the input character is "e" in state 4, the state transits to state 5, and a partial character string matching the search terms "she" and "he" appears in the text by referring to the output table of FIG. Is detected.
Here, if, for example, "i" other than "e" is input, the state transits to state 1 with reference to the broken arrow of fail.
Then, the state changes to state 6 by re-matching the input character “i” in state 1 at the transition destination.
[0004]
Next, a case will be described in which the search term is collated with the text "users".
First, the first character "u" is input.
However, since “u” is a character other than “h” and “s”, the state returns to the initial state 0.
Next, when the second character “s” is input, the state transits from the state 0 to the state 3.
Hereinafter, when the third character “h” and the fourth character “e” are input, the state transits to the state 4 or the state 5, and by referring to the output table of FIG. It is detected that a substring matching "he" has appeared in the text.
Next, the fifth character “r” is input.
However, state 5 fails because there is no transition destination for the input character “r”, and transitions to state 2.
Here, the state changes to the state 8 by performing the re-matching for “r”.
Finally, when the sixth character "s" is input, the state transits to the state 9, and by referring to the output table of FIG. 4, a partial character string matching the search term "hers" appears in the text. Is detected.
As described above, Non-Patent Document 1 discloses a document search method capable of collating a plurality of search terms simultaneously with a single scan of text.
[0005]
A system in which the method described in Non-Patent Document 1 is extended to Japanese is known (for example, see Non-Patent Document 2).
Japanese has many character types unlike English.
Therefore, in a computer, one character is usually expressed in two bytes, that is, two English characters represent one Japanese character.
If the two-byte character is divided into one byte and a finite automaton as described in Non-Patent Document 1 is simply created, the one-byte character that is a part of the two-byte character and the one-byte English character are distinguished. Because it is not connected, noise may occur.
Therefore, in Non-Patent Document 2, attention is paid to the fact that the Japanese Industrial Standard defines a 3-byte character code (represented by KI and KO) indicating a switch between 1-byte characters and 2-byte characters for a code system for information exchange. This problem is solved by creating a finite automaton for distinguishing between one-byte characters and two-byte characters as shown in FIG.
[0006]
In addition,
1 byte is 8 bits, 1 byte is OO (16) To FF (16) Up to 256 characters.
A two-byte character is composed of two bytes. (16) From 7E (16) Up to. There are 94 × 94 in total.
The 3-byte character code KI is 1B2442 (16) It is.
The 3-byte character code KO is 1B284A (16) It is.
21 alphanumeric characters in single byte characters (16) From 7E (16) And the kana character is AO (16) To DF (16) Belongs to.
[0007]
Here, the transition from the state 0 to the state 0 is executed when a one-byte character other than a one-byte character or a one-byte character other than the KI is input, which transits to the one-byte character matching finite state automaton.
The transition from the state 3 to the state 3 or the state 6 is executed when a one-byte code other than the upper byte or other than the KO of the two-byte character that transits to the finite state automaton for the two-byte character collation is input. When the byte code is a one-byte character, the state transits to state 3, and when the byte code is the upper byte of a two-byte character, the state transits to state 6.
Here, the state 6 is provided to prevent a byte shift when the upper byte of a two-byte character that does not transition to the finite automaton for two-byte character collation is input.
[0008]
The byte shift means that the lower byte of the double-byte character is regarded as the upper byte of the double-byte character.
In the present system, this byte shift is prevented by providing a state 6 so that the state cannot be returned to the state 3 unless the lower byte of the two-byte character is input. The operation of this finite state automaton is exactly the same as in Non-Patent Document 1.
As described above, by using the method described in Non-Patent Document 2, even in the case of a language in which one-byte characters and two-byte characters are mixed, such as Japanese, only one scan of the text can be performed. A plurality of search terms can be collated at the same time.
[0009]
In the above description, an example of a finite automaton has been described as a method of searching for a search term from a text. However, an extended BM method is known as another method (for example, Non-Patent Document 3). The extended BM method is an extension of the BM (Boyer-moore) method, which is a high-speed pattern matching method, so that it can handle a plurality of patterns (search character strings). (Boyer-moore) method.
Also, although not the extended BM method, a method of performing multiple character string matching is also known (Non-Patent Document 4). This method combines the basic ideas of the BM method, which is a high-speed pattern matching method, and the AC (Aho-Corasick) method of simultaneously matching a plurality of patterns using a finite automaton.
[Non-patent document 1]
"Efficient String Matching: An Aid to Biological Graphic Search" (Alfred V. Aho and Margaret J. Corasick, Communications of the ACM, June 1975, Vol.
[Non-patent document 2]
"Aho-Corasick-type pattern matching algorithm for Japanese text" (Takeshi Shinohara, Setsuo Arikawa, IPSJ SIG Materials, Natural Language Processing, 1985.11.15, Vol.86, No.48, pp.52. 4.1-52.4.8)
[Non-Patent Document 3]
“Implementing Five Types of Pattern Matching Techniques with C Language Functions” NIKKEI BYTE, August 1987, p. p. 175-189
[Non-patent document 4]
"Fast Multi-String Matching Algorithm: FAST" Transactions of Information Processing Society of Japan, Vol. 30, NO. 9, September 1989
[0010]
[Problems to be solved by the invention]
According to the document search methods described in Non-Patent Documents 1 and 2 described above, it is possible to collate a plurality of search terms simultaneously by scanning the text only once. However, when a text search is performed for search condition expressions of many users, the following problems occur.
(1) Problem of user identification
By creating one finite automaton with all the search terms included in the search condition expressions of many users, it becomes possible to match all the search terms by one scan of the text. However, since it is not possible to determine which user's search condition expression includes a search term that matches the partial character string in the text, it is not known which user's search condition expression is satisfied.
(2) Processing time problem
If a finite automaton is created for each user's search condition expression using search terms included in the search condition expression, it is possible to determine which user's search condition expression is satisfied. However, since the text has to be scanned only for the number of finite automata (that is, for the number of users), the search takes time as the number of users increases. Note that the same applies to the case where the method shown in the above-mentioned non-patent documents 3 and 4 is used instead of the finite state automaton.
The present invention aims to solve the following problems with respect to such a problem. That is, an object of the present invention is to obtain text obtained from a plurality of information sources based on a search condition registered by a user in advance, and a search condition of a plurality of users is established by a single scan of the text. It is an object of the present invention to provide a document search and delivery system for determining whether or not a text is present and distributing the text to users who satisfy the conditions.
[0011]
[Means for Solving the Problems]
To achieve the above object, the present invention provides
For text data of document information obtained from one or more information sources,
A search condition registering step of registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. A document search and delivery method having a text search and distribution step of distributing the text to a user whose search condition expression is satisfied,
The text search and distribution step includes a text search step of determining whether the plurality of search condition expressions are satisfied with respect to the text by scanning the text only once.
Further, the search condition expression registration step includes a search condition expression analysis step of extracting all search terms from the search condition expression,
A search term count table creating step of creating a search term count table that stores management information including the number of all search terms extracted from the user and the search condition formula of the user for each user;
A multiple character string matching table generating step of generating a multiple character string matching table to be referred to when matching all search terms extracted from the search condition expression by a single scan of text,
A user list generating step of generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The text search / distribution step scans the text with reference to the multiple character string collation table when determining whether the search condition expression for the text is successful, thereby obtaining all of the text extracted by the search condition expression analysis step. A text scanning step to match the search terms;
By comparing the search term matched by the text scanning step with the user list and the search term number count table, a search condition expression success / failure determining step of determining success / failure of the search condition expression for the text is provided. I have.
Further, a finite automaton is used as the multiple character string collation table.
Further, the search condition expression success / failure determination step refers to the user list, and a search term collation number calculation step of calculating the number of search terms collated by the text scanning step for each user;
The number of search terms calculated in the search term collation number calculation step is compared with the number of search terms stored in the search term count table, and if they match, a search including the search term is included. The method includes a search term number comparison step of regarding that the conditional expression is satisfied.
[0012]
Also, for text data of document information obtained from one or more information sources,
A search condition registering step of registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. A document search and delivery method having a text search and distribution step of distributing the text to a user whose search condition expression is satisfied,
A distribution condition setting expression registration step of registering a distribution condition setting expression including a distribution condition describing a text distribution condition designated by one or more users or a system administrator;
A text search step of determining whether or not the plurality of search condition expressions are successful for the text by scanning the text only once;
A text distribution control step of distributing the text when the distribution condition registered by the distribution condition setting expression registration step is satisfied for a user whose search condition expression is satisfied by the text search step. I have.
Further, the distribution condition setting formula registration step includes a distribution condition setting formula analyzing step of extracting an identifier of a user to set a distribution condition and a distribution condition from the distribution condition setting formula,
A distribution condition management table creating step of creating a distribution condition management table storing a user identifier and a distribution condition extracted from the distribution condition setting expression in the distribution condition setting expression analyzing step;
The text distribution control step is a distribution condition success / failure determination step of determining whether the distribution condition is successful with reference to the distribution condition management table,
The method further includes a text distribution step of distributing the text to a user when the distribution condition is determined to be satisfied by the distribution condition determination step.
Further, as the distribution condition, a distribution time, a distribution number, or a delay time from text search to distribution is used.
Also, for text data of document information obtained from one or more information sources,
A search condition registering step of registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. A document search and delivery method having a text search and distribution step of distributing the text to a user whose search condition expression is satisfied,
When the deletion of the search condition expression is instructed, the method further comprises a search condition expression deletion step of deleting the search condition expression.
Further, the search condition expression registration step includes a search condition expression analysis step of extracting all search terms from the search condition expression,
A search term count table creating step of creating a search term count table that stores management information including the number of all search terms extracted from the user and the search condition formula of the user for each user;
A multiple character string matching table generating step of generating a multiple character string matching table to be referred to when matching all search terms extracted from the search condition expression by a single scan of text,
A user list generating step of generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The search condition formula deleting step includes a search condition formula management table deleting step of deleting information related to the search condition formula instructed to be deleted from the search term number count table and the user list.
Further, the search condition expression registration step further includes a search term management table creation step of creating a search term management table storing the search terms extracted by the search condition expression analysis step,
The search condition formula management table deleting step refers to the search term management table, and specifies a user identifier of a user who has designated the search condition formula corresponding to the search term included in the search condition formula specified to be deleted. A user list deletion step of deleting from the user list;
The method further includes a search term count table deleting step of deleting management information of a user associated with the search condition expression instructed to be deleted from the search term count table.
Also, for text data of document information obtained from one or more information sources,
Search condition registering means for registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. In a document search and delivery device having a text search and distribution means for distributing the text to a user whose search condition expression is satisfied,
The text search / distribution means includes text search means for determining whether or not the plurality of search condition expressions satisfy the text by scanning the text only once.
Further, the search condition expression registration means, search condition expression analysis means for extracting all search terms from the search condition expression,
A search term count table creating means for creating a search term count table for storing management information including the number of users and all search terms extracted from the search condition formula of the user for each user;
A multi-character string collation table generating means for generating a multi-character string collation table to be referred to when all the search terms extracted from the search condition expression are collated by a single scan of the text,
User list generating means for generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The text search / distribution unit scans the text with reference to the multiple character string collation table when determining whether the search condition expression for the text is successful, thereby obtaining all of the text extracted by the search condition expression analysis unit. Text scanning means for matching search terms;
By comparing the search term matched by the text scanning means with the user list and the search term number count table, a search condition expression success / failure determination means for determining success / failure of the search condition expression for the text is provided. I have.
Further, a finite automaton is used as the multiple character string collation table.
Further, the search condition expression success / failure determination means refers to the user list, and calculates the number of search terms collated by the text scanning means for each user.
The number of search terms calculated by the search term collation number calculation means is compared with the number of search terms stored in the search term count table, and if they match, a search including the search term is included. There is provided a search term number comparison unit that considers that the conditional expression holds.
[0013]
Also, for text data of document information obtained from one or more information sources,
Search condition registering means for registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. In a document search and delivery device having a text search and distribution means for distributing the text to a user whose search condition expression is satisfied,
A distribution condition setting expression registration unit for registering a distribution condition setting expression including a distribution condition describing a text distribution condition specified by one or more users or a system administrator;
Text search means for determining whether or not the plurality of search condition expressions for the text by scanning the text only once,
Text distribution control means for distributing the text when the distribution condition registered by the distribution condition setting expression registration means is satisfied for a user whose search condition expression is satisfied by the text search means. I have.
Further, the distribution condition setting expression registering means, a distribution condition setting expression analyzing means for extracting an identifier of a user to set a distribution condition and a distribution condition from the distribution condition setting expression,
A distribution condition management table creating unit that creates a distribution condition management table storing a user identifier and a distribution condition extracted from the distribution condition setting expression in the distribution condition setting expression analyzing unit;
The text distribution control means, distribution condition success / failure determination means for determining success / failure of the distribution condition with reference to the distribution condition management table,
A text distribution means is provided for distributing the text to the user when the distribution condition is determined to be satisfied by the distribution condition fulfillment determination means.
Further, as the distribution condition, a distribution time, a distribution number, or a delay time from text search to distribution is used.
Also, for text data of document information obtained from one or more information sources,
Search condition registering means for registering a search condition specified by one or more users including one or more search terms; and, when text is obtained, determining whether the search condition is satisfied with respect to the text. In a document search and delivery device having a text search and distribution means for distributing the text to a user whose search condition expression is satisfied,
A search condition expression deleting means for deleting the search condition expression when the deletion of the search condition expression is instructed.
Further, the search condition expression registration means, search condition expression analysis means for extracting all search terms from the search condition expression,
A search term count table creating means for creating a search term count table for storing management information including the number of users and all search terms extracted from the search condition formula of the user for each user;
A multi-character string collation table generating means for generating a multi-character string collation table to be referred to when all the search terms extracted from the search condition expression are collated by a single scan of the text,
User list generating means for generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The search condition expression deleting means includes a search condition expression management table deleting means for deleting information related to the search condition expression instructed to be deleted from the search term number count table and the user list.
Further, the search condition expression registration means further includes a search term management table creation means for creating a search term management table storing the search terms extracted by the search condition expression analysis means,
The search condition expression management table deletion means refers to the search term management table, and identifies a user identifier of a user who has designated the search condition expression corresponding to the search term included in the search condition expression instructed to be deleted. User list deletion means for deleting from the user list;
There is provided a search term count table deleting means for deleting the management information of the user associated with the search condition expression instructed to be deleted from the search term count table.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described below with reference to the drawings.
<< First Example >>
First, a brief description of the first embodiment will be given with reference to FIG.
First, the search condition expression registration processing will be described.
First, a search condition expression is analyzed, and a search term included in the search condition expression is extracted. Then, the number of extracted search terms is stored in the search term count table by a search term count table creation process.
For example, in FIG. 6, the user 1: the search condition expression “document including“ document ”and“ search ”” includes two search terms “document” and “search”. "2" is stored in a location corresponding to the user 1 in the count table. Similarly, 1 and 2 are stored in locations corresponding to user 2 and user 3, respectively.
Next, in a finite automaton creation process, a finite automaton for matching all search terms extracted by the above search condition expression analysis is created. This finite automaton is the same as that shown in Non-patent Document 1 and Non-Patent Document 2.
User 1: “document including“ document ”and“ search ””, User 2: “document including“ climbing ””, and User 3: “search document including“ search ”and“ registration ”” The state transition diagram of the finite automaton that matches the search terms “document”, “search”, “climbing”, and “registration” extracted from FIG. In this figure, for simplicity, the state transition is shown in units of two bytes (one character).
Next, in a user list creation process, an identifier of a user who has designated each search term is connected to a finite automaton as a user list. In FIG. 6, for example, when “search” is collated, the user list is referred to from state 4 at the end, and it is detected that the users who specify “search” are “user 1” and “user 3”.
[0015]
Next, text search and distribution processing, which is text search and distribution processing, will be described.
In this process, first, the text is scanned by the text scanning process, and the search terms are collated.
For example, when the text: "Search for a document" is scanned using the finite automaton shown in FIG. 6, it is detected that a substring matching "Document" and "Search" appears in the text. You. In the finite state automaton shown in the figure, a search term in which “○” is written at the end indicates that a matching partial character string appears in the text, and a search term in which “×” is written is Indicates that the matching substring did not appear in the text.
In this example, since a partial character string that matches "document" and "search" appears in the text, "O" is described in the last state, that is, state 2 or state 4.
[0016]
Next, the number of occurrences of search terms that match the partial character strings in the text is counted for each user in the search term number counting process.
For example, the user 1 is counted as 2 because “document” and “search” match, and the user 3 is counted as 1 because only “search” matches. However, the value of the user 2 is 0 because no substring matching the search term appears in the text.
Finally, in the search condition expression check process, the number of search terms stored in the search term number count table is compared with the search term occurrence count calculated in the search term number count process, and if they match, In the text distribution process, the text is distributed to the user.
For example, in FIG. 6, the user 1 distributes the text because the number of search terms matches with 2, but the users 2 and 3 do not distribute the text because they do not match.
[0017]
As described above, in the present embodiment, the text is scanned using the finite automaton, and the number of occurrences of the search term appearing as a matching partial character string in the text is counted for each user while referring to the user list. .
Then, by comparing the counted result with the number of search terms stored in advance in the number-of-search-terms count table, it is checked whether or not the search condition expression is satisfied.
As a result, it is possible to determine whether or not the search condition formulas for a plurality of users are satisfied by a single scan of the text, and it is possible to realize text search distribution with high immediateness.
[0018]
Hereinafter, a first embodiment of the present invention will be described in detail with reference to FIG.
The document search and delivery system to which the present invention is applied includes a display 100, a keyboard 101, a central processing unit (CPU) 102, a main memory 104, and a bus 103 connecting these.
In addition, a news distribution source 125 for distributing news and a user 126 using a document search and distribution system are connected to the bus 103 via a communication line 124 such as a LAN (Local Area Network).
The news distribution source 125 distributes text obtained by digitizing news data to the present system using electronic mail, electronic news, or the like, or presents the text via the Internet, and the user 126 generates a search condition expression using electronic mail. Register to this system.
From the present system, the text searched based on the search condition formula is distributed to the corresponding user using an electronic mail.
Hereinafter, in the present embodiment, the news distribution source 125 will be described as distributing text to the present system using e-mail or the like. However, the news distribution source 125 only presents text on the Internet, and collects text information. A collection robot may be used.
[0019]
In the main memory 104, a system control program 105, a search condition expression registration control program 106, a search condition expression analysis program 107, a search term number count table creation program 108, a search automaton creation program 109, a text search control program 112, a text acquisition A program 113, a text search program 114, a text shaping program 118, an e-mail program 119, a search term count table 120, a finite automaton 121, and a user list 122 are stored and a work area 123 is secured.
The search automaton creation program 109 includes a finite automaton creation program 110 and a user list creation program 111.
In the present embodiment, a finite automaton is used as a method for searching for a search term from text.However, a method for searching for a search term from text is not limited to a finite automaton, and a finite automaton may be used. The methods described in Non-patent Documents 3 and 4 may be used. In this case, the expressions of the search automaton creation program and the finite automaton creation program are not appropriate, and if a more generalized expression is used, the search character It is like a column collation table creation program or a multiple character string collation table creation program.
The text search program 114 includes a text scan program 115, a search term number counting program 116, and a search condition expression check program 117.
The above programs can be stored in a computer-readable and writable storage medium such as a hard disk device (not shown in this figure) or a flexible disk (not shown in this figure).
[0020]
The system control program 105 starts upon receiving an instruction from the keyboard 101 by the administrator of the document search and delivery system.
The search condition expression registration control program 106 and the text search control program 112 are started by the system control program 105 in response to a search condition expression registration instruction from the user 126 and text distribution from the news distribution source 125, and the search condition expression analysis programs, respectively. 107, control of a search term number count table creation program 108 and a search automaton creation program 109, and control of a text acquisition program 113, a text search program 114, and a text shaping program 118.
As the e-mail program 119, an existing e-mail program generally used in a workstation or the like is used.
The e-mail program 119 is started by the system control program 105 according to the processing result of the text search control program 112.
[0021]
Hereinafter, processing contents of the document search and delivery system in the present embodiment will be described. First, the processing contents of the system control program 105 will be described with reference to a PAD (Problem Analysis Diagram) diagram of FIG.
In the system control program 105, first, in step 700, the following steps are repeated until an end command is input from the keyboard 101.
In this repetitive processing, first, at step 701, it is checked whether or not a search condition expression has been sent from the user 126 by e-mail.
If the search condition expression has been sent, the search condition expression registration control program 106 is started in step 702 to register the search condition expression.
Next, in step 703, it is checked whether a text has been sent from the news distribution source 125 by e-mail.
If the text has been sent, the text search control program 112 is activated in step 704 to search for the text.
Next, in step 705, the result of the text search in the text search control program 112 is examined. If it is determined that any one of the established search condition expressions exists, the e-mail program 119 is started in step 706, The corresponding text is distributed by e-mail to the user who specified the established search condition expression.
The above is the processing content of the system control program 105.
[0022]
Next, the content of the processing for registration of the search condition expression by the search condition expression registration control program 106 will be described with reference to the PAD diagram of FIG.
The search condition expression registration control program 106 is started by the system control program 105.
The program first starts the search condition expression analysis program 107 in step 800, and analyzes the search condition expression sent from the user 126 by e-mail.
In the analysis processing of the search condition expression, the search condition expression is developed into one of the following formats. That is,
(A) Single search terms only,
(B) a plurality of AND conditions of (a),
(C) Logical OR condition of plural (a) and plural (b)
It is. That is, the search condition expression is expanded so that the logical product condition does not fall outside the logical sum condition.
However, the negative condition is applied to the entire search condition expression or the search term.
Here, the logical product condition is, for example,
Search expression "" document "and" search ""
Has a meaning of “find a document in which both the“ document ”and“ search ”character strings appear”, and the OR condition is, for example,
Search expression "" document "or" search ""
"Meaning" find a document in which a character string of either "document" or "search" appears. "
Also, the negative condition is, for example,
Search expression "¬" Search ""
"Meaning" find a document in which "search" does not appear. "
For example, assuming that "A", "B", "C", "D", and "E" are search terms, the search terms are respectively expanded as follows.
(A) A
(B) AandBandCand ...
(C) (AandB) or Cor (DandE) or ...
For example, if the search condition expression is a logical product condition with respect to the logical sum condition, that is, if the logical product condition is applied outside the logical sum condition, the search condition expression is expanded as shown in FIG. Deform to.
Here, a part of the logical product condition or a single search term in the expansion result is called a term.
[0023]
Next, in step 801, the search condition expression registration control program 106 activates the search term number count table creation program 108, and the search terms included in the search condition expression obtained as an analysis result of the search condition expression analysis program 107. Is stored in the search term number count table 120.
The search term number count table 120 is a table that stores, for each search condition expression (that is, for each user), the number of search terms included in the search condition expression corresponding to the term in the search condition expression.
FIG. 10 shows the structure.
The search term number count table 120 shown in the figure includes a user number 1: “(“ document ”and“ search ”) or (“ document ”and“ search ”)” and a user number 2: ““ character ”and ¬” recognition. "And @" learning "" and user number 3: "@ (" search "and" learning ")" are created for three search condition expressions.
First, a search condition expression negation flag is provided as a head element of the search term number count table 120.
This search condition expression negation flag is set to 1 when a negative condition is applied to the entire search condition expression, and is set to 0 otherwise.
For example, in the example shown in this figure, 1 is set because a negative condition is applied to the entire search condition expression of the user number 3, but 0 is set because the other search expression is not applied a negative condition. .
For the search condition expression negation flag, the number of search terms included in the first term is connected as a list in order from the first term.
For example, in the second element of the list corresponding to the user number 1, the number of search terms included in the first term of the search condition expression is stored. Since two search terms "" are included, "2" is stored.
Further, the next element stores 2 which is the number of search terms included in the second term.
In addition, each of the second and subsequent elements has an area for storing the number of search terms and counting the number of occurrences of search terms that match a partial character string in the text during text search. .
[0024]
Finally, in step 802, the search condition expression registration control program 106 activates the search automaton creation program 109, and searches all search terms included in the search condition expression obtained as an analysis result of the search condition expression analysis program 107. Is created.
Then, a user list 122 is created as a list of identifiers of the users 126 specifying the search condition expressions including the search terms, and this is connected to the finite state automaton 121.
The processing contents of the search automaton creation program 109 will be described later in detail.
The above is the processing content of the search condition expression registration by the search condition expression registration control program 106.
[0025]
Next, the contents of the text search processing by the text search control program 112 will be described with reference to the PAD diagram of FIG.
The text search control program 112 is started by the system control program 105.
The program first starts the text acquisition program 113 in step 1100, and stores the text sent from the news distribution source 125 by e-mail or the like in the work area 123.
Next, in step 1101, the text search program 114 is activated, and the search term number count table 120 created by the search term count table creation program 108, the finite automaton 121 created by the search automaton creation program 109, and the user The text stored in the work area 123 is searched using the list 122.
The processing contents of the text search program 114 will be described later in detail.
Next, in step 1102, the result of the text search processing in the text search program 114 is checked. If any of the established search condition expressions exists, the text shaping program 118 is started in step 1103, and the work area The text stored in 123 is formed into a format that the e-mail program 119 can distribute.
The above is the content of the text search processing by the text search control program 112.
[0026]
Next, the processing contents of the search automaton creation program 109 in the search condition expression registration processing by the search condition expression registration control program 106 shown in FIG. 8 will be described with reference to the PAD diagram of FIG.
As shown in FIG. 12, the search automaton creation program 109 first activates the finite automaton creation program 110 in step 1200, and generates the finite automaton 121 for collating all search terms extracted by the search condition expression analysis program 107. create.
The method disclosed in Non-Patent Document 1 and Non-Patent Document 2 is used as a method for creating the finite automaton 121.
Next, in step 1201, the user list creation program 111 is activated, and the identification number (user number) of the user 126 who has specified the search condition expression including the search term extracted by the search condition expression analysis program 107, and the search term The user list 122 is created from the number of the item (item number) in which is included, and is connected to the output table of the finite state automaton 121 via a pointer in step 1202.
[0027]
FIG. 13 shows an example of the finite automaton 121 and the user list 122 created from the three search condition expressions used for describing the search term count table 120.
The finite state automaton 121 shown in the figure is for collating six search terms “document”, “character”, “search”, “search”, “recognition” and “learning” included in the search condition expression. is there.
In this figure, for simplicity, the state transition is shown in units of two bytes (one character).
This finite state automaton 121 is similar to that shown in the above-mentioned non-patent document 1 and the above-mentioned non-patent document 2, but differs in an output table part.
An appearance flag is provided corresponding to each state number stored in the output table. This appearance flag is reset to 0 at the start of text scanning, and is set to 1 when a partial character string that matches the search term appears in the text.
A pointer is provided at the end of the output table, and points to a user list 122 in which user numbers and item numbers of a search condition expression including the search term are linked as a list.
Each element of the user list 122 is provided with a search term negation flag. In the search condition expression, 1 is set if a negative condition is applied to the search term, and 0 otherwise.
For example, in this figure, the search term “document” exists without any negative condition in the terms of item numbers 1 and 2 of the search condition formula of user number 1, and the search term “recognition” exists in the search condition formula of user number 2. An item with item number 1 exists with a negative condition.
[0028]
Next, the processing content of the text search program 114 for executing the text search processing in the text search control program 112 shown in FIG. 11 will be described with reference to the PAD diagram of FIG.
As shown in this figure, the text search program 114 first sets the search term appearance count area provided in the search term number count table 120 and the output table of the finite automaton 121 as initial settings for text search in step 1400. The provided appearance flag is reset to 0.
Next, in step 1401, the text scanning program 115 is activated, the text stored in the work area 123 is scanned by the finite automaton 121 created by the finite automaton creation program 110, and the search terms are collated.
The method disclosed in Non-Patent Literature and Non-Patent Literature 2 is used for the search term collation processing by the finite automaton 121.
At this time, for a search term in which a matching partial character string appears in the text, the appearance flag of the output table corresponding to the search term is set to 1.
Next, in step 1402, the search term number counting program 116 is started, and the number of search terms in which a matching partial character string appears in the text is counted.
This is performed by tracing the user list 122 whose appearance flag is 1 provided in the output table, and counting the number of occurrences of the search term in the search term number count table 120 corresponding to the user number and the item number whose search term negation flag is 0. This is realized by increasing the value of the use area by one.
Next, in step 1403, the number of search terms for which no matching partial character string appears in the text is counted.
This is performed by tracing the user list 122 in which the appearance flag provided in the output table is 0 and counting the number of occurrences of the search term in the search term number count table 120 corresponding to the user number and the item number in which the search term negation flag is 1. This is realized by increasing the value of the use area by one.
[0029]
Next, in step 1404, the search condition expression check program 117 is started, and it is checked whether or not the search condition expression is satisfied by referring to the search term number count table 120.
Here, a search condition expression that satisfies one of the following two conditions can be regarded as being satisfied.
Condition (1): The search condition expression negation flag is 0 (that is, the search condition expression is not negated), and there is at least one item number with the same number of search terms.
Condition (2): The search condition expression negation flag is 1 (that is, the search condition expression has a negative condition), and there is no item number with the same number of search terms.
[0030]
The determination of the success or failure of the search condition expression will be described with reference to FIG.
In the present invention, as shown in the figure, the search condition expression specified by the user 126 is transformed into a form in which terms are connected by a logical sum condition, and the number of search terms included in each term is stored in the search term number count table 120. are doing.
That terms are connected by a logical sum condition means that if any one of those terms is satisfied, the entire search condition expression is satisfied.
Here, the term is a single search term or a logical AND condition of the search terms.
Therefore, when all the partial character strings that match the search term included in the term appear in the text, that is, the search term number and the search term number counting program 116 stored in the search term number count table 120 in advance. If the search term appearance count numbers calculated by the above match, the term is established.
As a result, a search condition expression composed of the OR condition of the terms is also satisfied.
Thus, if the above condition (1) is satisfied, it can be considered that the search condition expression is satisfied.
[0031]
The condition (2) is opposite to the condition (1).
When a negative condition is applied to the search condition expression, if the search condition expression that takes the negative condition from the search condition expression is satisfied, the original search condition expression with the negative condition applied does not hold, and the search condition expression If the search condition expression with the negative condition is not satisfied, the original search condition expression with the negative condition is satisfied.
If there is no item in which the number of search terms previously stored in the search term count table 120 matches the search term occurrence count calculated by the search term count program 116, the search with the negative condition is performed. The conditional expression is not satisfied, and the original search conditional expression with the negative condition is satisfied.
As described above, if the above condition (2) is satisfied, the search condition expression can be regarded as being satisfied.
Since it can be considered that a search condition expression that satisfies either of the above conditions is satisfied, the user number is output to the text search control program 112 in step 1405, and the program ends.
The above is the embodiment of the document search method of the present invention.
[0032]
Hereinafter, the processing procedure of the search condition expression registration control program 106 in the present embodiment shown in FIG. 8 will be specifically described.
First, the processing of the search condition expression analysis program 107 in step 800 of the search condition expression registration control program 106 in FIG. 8 will be described.
The search condition expression analysis program 107 is started by the search condition expression registration control program 106.
For example, the expansion result of the search condition expression of the user 1 ““ document ”and (“ search ”or“ search ”)”, that is, “the document including“ document ”and including“ search ”or“ search ”” is counted. (1) contains the number of search conditions for user 2 ““ character ”and @ (“ recognition ”or“ learning ”)”, that is, “a document that includes“ character ”but does not include“ recognition ”or“ learning ””. In the expression (2), the expansion result of the search condition expression of the user 3 of “¬ (“ search ”and“ learning ”)”, that is, “the document that does not include“ search ”and“ learning ”” is added to the number (2). It is shown in 3).
[0033]
(Equation 1)
Figure 2004030682
(Equation 2)
Figure 2004030682
[Equation 3]
Figure 2004030682
As a result, a search condition expression in which a logical product condition is not applied outside the logical sum condition is “(“ document ”and“ search ”) or (“ document ”and“ search ”)”, ““ character ”and ¬ “recognition” and ¬ “learning” ”and“ ¬ (“search” and “learning”) ”are obtained.
Table 1 summarizes the search terms included in these search condition expressions in terms of the user number and the item number.
[0034]
[Table 1]
Figure 2004030682
Here, “¬” before the user number indicates that a negative condition is applied to the entire search condition expression, and “¬” before the search term indicates that the negative condition is applied to the search term. Indicates that it is hanging.
For example, item number 1 of the search condition expression of user number 1 includes two search terms “document” and “search”, and item number 2 includes two search terms “document” and “search”. Item number 1 of the search condition expression of user number 2 includes three search terms “character”, “recognition”, and “learning”. Of these, “recognition” and “learning” have negative conditions. Represents.
[0035]
Next, the processing of the search term count table creation program 108 in step 801 of the search condition expression registration control program 106 in FIG. 8 will be described. The search term number count table creation program 108 is started by the search condition expression registration control program 106 after the search condition expression analysis program 107.
This program creates a search term number count table 120 based on the analysis result by the search condition expression analysis program 107.
The search term number count table 120 created from the analysis result of Table 1 is as shown in FIG.
This table stores the number of search terms corresponding to the item number for each user number.
As described above, the search condition expression negation flag is set to 1 if a negative condition is applied to the entire search condition expression, and is set to 0 otherwise.
[0036]
Finally, the processing of the search automaton creation program 109 in step 802 of the search condition expression registration control program 106 in FIG. 8 will be described.
The processing contents of this program are shown in FIG. This program includes a finite automaton creation program 110 and a user list creation program 111 as shown in FIG.
Hereinafter, description will be made in order.
[0037]
The finite state automaton creation program 110 creates a finite state automaton 121 that collates all search terms extracted by the search condition expression analysis program 107.
For example, in the case of the numbers (1), (2), and (3) and the examples shown in Table 1, “document”, “search”, “search”, “character” Six search terms "", "recognition" and "learning" are obtained.
When the finite automaton 121 for collating these search terms is created using the methods disclosed in Non-Patent Documents 1 and 2, the finite automaton 121 as shown in FIG. 13 is obtained.
However, here, for simplicity, the state transition is shown in units of one character, that is, two bytes.
[0038]
In the user list creation program 111, the user number and the term number of the search condition expression including the search term obtained by the search condition expression analysis program 107 and information indicating whether or not a negative condition is applied to the search term are connected in a list. Creates a user list 122 and connects to the output table of the finite state automaton 121 via a pointer.
The method of creating the user list 122 is as described above.
FIG. 15 shows a user list 122 created from the analysis results of Table 1.
For example, the search term "learning" is included with a negative condition in the item number 1 of the search condition expression of the user number 2 and is included without a negative condition in the item number 1 of the search condition expression of the user number 3. Therefore, the user list 122 is created in such a manner that the numbers corresponding to these are connected by a list.
Then, the user list 122 created in this way is connected to an output table of the finite state automaton 121 via a pointer.
The detailed procedure of the search condition expression registration in the search condition expression registration control program 106 in the present embodiment has been described above.
[0039]
Hereinafter, the processing procedure of the text search control program 112 in the present embodiment shown in FIG. 11 will be specifically described.
First, the processing of the text acquisition program 113 in step 1100 of the text search control program 112 in FIG. 11 will be described.
The text acquisition program 113 is started by the text search control program 112.
In this program, the text delivered by e-mail is stored in the work area 123.
The following description will be given on the assumption that the text “Analyze the format of the searched document and recognize the character string portion” is stored in the work area 123 by the program.
[0040]
The processing of the text search program 114 in step 1101 of the text search control program 112 in FIG. 11 will be described.
The processing contents of this program are shown in FIG.
As shown in FIG. 1, this program includes a text scanning program 115, a search term number counting program 116, and a search condition expression check program 117.
Hereinafter, description will be made in order.
First, before the text scanning program 115, the search term number counting program 116, and the search condition expression check program 117 are executed, initialization is performed.
Here, as shown in FIGS. 10 and 15, the search term appearance count counting area of the search term count table 120 and the appearance flag of the output table are reset to zero.
[0041]
In the text scanning program 115, the text stored in the work area 123 is scanned by the finite automaton 121, and the search terms are collated.
Here, the appearance flag corresponding to the search term in which the matching partial character string appears in the text is set to 1.
For example, as shown in FIG. 16, when the text “analyze the format of the searched document and recognize the character string portion” is scanned, “search” first appears in the text.
[0042]
Therefore, the appearance flag corresponding to “search” is set to “1”.
Hereinafter, since they appear in the order of “document”, “character”, and “recognition”, the appearance flag corresponding to those search terms is set to 1.
As for the search terms “search” and “learning”, since the matching partial character strings do not appear in the text, the appearance flags corresponding to those search terms remain at 0.
[0043]
The search term count program 116 first counts search terms in which a matching partial character string appears in the text.
Here, a matching partial character string appears in the text, that is, an appearance flag is 1 and a negative condition is not applied to the search term, that is, a search corresponding to the user number and the item number whose search term negative flag is 0 The number-of-appearances count area of the search term in the term number count table 120 is increased by one.
For example, in the example of FIG. 17, the search term “search” is counted because the search term negation flag of the item number 1 of the user number 3 is 0, but the search term “recognition” is searched of the item number 1 of the user number 2 Since the term negation flag is 1, it is not counted.
Next, the number of search terms for which no matching partial character string appears in the text is counted.
Here, a corresponding partial character string does not appear in the text, that is, the appearance flag is 0, and the search term has a negative condition, that is, the search term negative flag corresponds to the user number and the item number of 1 The search term appearance count counting area of the search term number count table 120 is increased by one.
For example, in the example of FIG. 18, the search term “learning” is counted because the search term negation flag of the item number 1 of the user number 2 is 1, but is counted because the search term negation flag of the item number 1 of the user number 3 is 0. do not do.
[0044]
Next, the search condition expression check program 117 refers to the search term number count table 120 to check whether the search condition expression is satisfied.
Here, since a search condition expression that satisfies one of the following two conditions can be regarded as being satisfied, the number of the user who designated the search condition expression is output.
Condition (1): The search condition expression negation flag is 0, that is, no negative condition is applied to the search condition expression, and there is at least one item number having the same number of search terms.
Condition (2): The search condition expression negation flag is 1, that is, the search condition expression has a negative condition, and there is no item number with the same number of search terms.
For example, in the case of FIG. 19, the search condition expression negative flag corresponding to the user number 1 is 0, and the number of search terms in the item number 1 and the number of occurrences of the search terms match. Meets
The condition (2) is satisfied because the search condition expression negative flag corresponding to the user number 3 is 1 and there is no item number in which the number of search terms matches the number of occurrences of the search terms.
However, for user number 2, none of the above conditions are satisfied because there is no term in which the number of search terms matches the number of occurrences of the search term even though the search condition expression negation flag is 0. .
Therefore, since it can be considered that the search condition formulas of the user number 1 and the user number 3 hold, the user numbers are output.
[0045]
Finally, the processing of the text shaping program 118 in step 1103 of the text search control program 112 in FIG. 11 will be described.
The text shaping program 118 is activated by the text search control program 112 only when a user number is output as a result of the text search program 114.
In this program, the text stored in the work area 123 is formed into a format that the e-mail program 119 can distribute.
For example, control information called a header is added to the head of the text.
FIG. 20 shows an example of the processing result of this program.
In the figure, “To:”, “Subject:” and
Each line of “From:” is added.
In the “To:” line, a destination to which the text is distributed, for example, an address of an e-mail destination is added.
In FIG. 20, “User 1” and “User 3” are described to distribute the text to User 1 and User 3.
Information that is easy for the user to identify is added to the “Subject:” line.
In the figure, the first few characters of the text to be distributed are extracted and described. However, anything may be added here.
In the “From:” line, an address of a text sender, for example, an email sender is added.
In this figure, the document is described as “document search and delivery system”, which is the name of the system that distributes the text.
The detailed procedure of the text search in the text search control program 112 according to the present embodiment has been described above.
[0046]
As a result of the processing of the text search control program 112, if even one of the satisfied search condition expressions exists, as shown in FIG. 7, after the text search control program 112 ends, the e-mail program 119 It is started by the control program 105.
In this program, the text is distributed by e-mail with reference to the header added by the text shaping program 118.
For example, in the case of the example of FIG. 20, the text corresponding to the “To:” line of the header is referred to, and the text with the header added is transmitted to the destination described therein.
In this figure, since "User 1" and "User 3" are described in the "To:" line, the text is distributed to User 1 and User 3, and the process ends.
[0047]
As described above, according to the present invention, when registering a search condition expression of a plurality of users, the identification information of the user who has designated the search term included in the search condition expression and the search condition expression designated by the user The number of search terms included in the search term is stored, and at the time of text search, the number of search terms for each user in which a matching partial character string appears in the text and the stored number of search terms for each user are calculated. By comparing, it is possible to determine whether or not all the search conditions are satisfied. Therefore, it is possible to determine whether or not the search conditions for all users are satisfied by a single text scan, and to search for the search conditions for all users. Processing can be performed at once.
As a result, text obtained from a plurality of information sources is determined based on a search condition formula registered by the user in advance, based on a single scan of the text to determine whether or not the search condition formulas of a plurality of users are satisfied, It is possible to realize a highly-immediate document search / delivery system capable of immediately distributing the text to users whose conditions are satisfied.
In addition, since the document search / delivery system is highly immediate, the time from when the user notifies the system of the search condition expression to when the searched text is delivered is short, and by monitoring this time, the present invention is realized. It is possible to determine whether or not it has been applied.
[0048]
《Second embodiment》
Next, a second embodiment of the present invention will be described.
In the document search and delivery system shown in this embodiment, by managing the distribution conditions for each user, the text can be distributed according to the user's desire, such as distributing the text to some extent or distributing it at a fixed time. Becomes possible.
When used as a commercial system, it is also possible to distribute a text with a time delay according to the contract conditions of the user.
[0049]
This embodiment has basically the same configuration as the first embodiment (FIG. 1), but differs in the configuration in the main memory 104 therein.
The configuration in the main memory 104 is as shown in FIG.
As shown in FIG. 21, a distribution management table 2108 is secured in the main memory 104a, and a distribution condition registration control program 2100 and a text distribution control program 2104 are newly provided under the control of the system control program 105a.
The distribution condition analysis program 2101 and the distribution condition registration program 2102 are controlled under the distribution condition registration control program 2100, the distribution information storage program 2103 is controlled under the text search control program 112a, and the distribution information storage program 2103 is controlled under the text distribution control program 2104. A text distribution program 2105 is provided.
The text distribution program 2105 includes a distribution condition check program 2106, an e-mail program 119, and a distribution information correction program 2107.
As the e-mail program 119, an existing e-mail program generally used in a workstation or the like is used.
The above programs can be stored in a computer-readable and writable storage medium such as a hard disk drive or a flexible disk.
[0050]
The system control program 105a is started in response to an instruction from the keyboard 101 by the administrator of the document search and delivery system.
The distribution condition registration control program 2100, the search condition expression registration control program 106, the text search control program 112 a, and the text distribution control program 2104 are commands for registering distribution conditions and search condition expressions from the user 126 and for registering distribution conditions from the keyboard 101. The system is started by the system control program 105a by text distribution from the news distribution source 125, and controls the distribution condition analysis program 2101 and the distribution condition registration program 2102, the search condition expression analysis program 107, and the search term number count table creation program 108, respectively. And control of a search automaton creation program 109, a text acquisition program 113, a text search program 114, a text shaping program 118, and a distribution information storage program. Control of the continuously 2103, to control the text distribution program 2105.
Hereinafter, processing contents of the document search and delivery system in the present embodiment will be described.
[0051]
First, the processing contents of the system control program 105a will be described with reference to the PAD diagram of FIG.
In the system control program 105a, first, in step 2200, the following steps are repeated until an end command is input from the keyboard 101.
In this repetitive processing, it is checked in step 2201 whether distribution conditions have been sent by e-mail from the user 126 or input from the keyboard 101.
If the distribution condition has been sent, the distribution condition registration control program 2100 is activated in step 2202 to register the distribution condition.
Next, in step 2203, it is checked whether a search condition expression has been sent from the user 126 by e-mail.
If the search condition expression has been sent, the search condition expression registration control program 106 is activated in step 2204 to register the search condition expression.
Next, in step 2205, it is checked whether or not text has been sent from the news distribution source 125 by e-mail.
If the text has been sent, the text search control program 112a is activated in step 2206 to search for the text.
Finally, in step 2207, the text distribution control program 2104 is activated, distribution conditions are determined, and the text is distributed only to users who satisfy the conditions.
The above is the processing content of the system control program 105a.
[0052]
Hereinafter, processing contents of the distribution condition registration control program 2100 and the text distribution control program 2104 which are not included in the first embodiment, and the text search control program 112a whose processing is different from that of the first embodiment will be described.
First, the contents of the distribution condition registration process performed by the distribution condition registration control program 2100 will be described with reference to the PAD diagram of FIG.
The distribution condition registration control program 2100 is started by the system control program 105a.
The program first starts a distribution condition analysis program 2101 in step 2300, and analyzes distribution conditions sent by e-mail from the user 126 or input from the keyboard 101.
In the distribution condition analysis process, the following information is extracted from the distribution condition.
(A) Identifier of user who sets distribution conditions
(B) Format of distribution conditions
(C) Setting value of distribution condition
As the format of the distribution condition in the above (B), types of distribution conditions such as “distribution time”, “number of distributions”, and “delay time” are extracted.
The values to be extracted as the setting values of the distribution conditions in (C) are, for example, the time when (B) is “distribution time”, the number of distributions if “number of distributions”, and the actual distribution after searching for “delay time”. It is the elapsed time until.
For example,
User number 1: Distribution time (18:00)
If the distribution condition means "distribute at 18:00 to user number 1", "user number 1", "distribution time" and "18:00" are extracted.
User number 2: Number of distributions (5)
If "distribution condition" means "distribute five items for user number 2", "user number 2", "number of distribution items" and "5" are extracted.
User number 3: Delay time (01:30)
If the distribution condition means "distribute 1 hour and 30 minutes behind user number 3", "user number 3", "delay time" and "01:30" are extracted. .
Finally, in step 2301, the distribution condition registration program 2102 is activated, and the result analyzed by the distribution condition analysis program 2101 is stored in the distribution management table 2108.
FIG. 24 shows an example of the distribution management table 2108.
The distribution management table 2108 stores the format and setting values of the distribution conditions extracted by the distribution condition analysis program 2101 in a form corresponding to the user number, and secures a distribution condition check area and a distribution text number storage area. .
[0053]
Next, the contents of a text search process performed by the text search control program 112a will be described with reference to the PAD diagram of FIG.
The text search control program 112a is started by the system control program 105a.
Among the processing contents of this program shown in FIG. 25, the processing contents of the text acquisition program 113, the text search program 114, and the text shaping program 118 in steps 2500 to 2503 are as described in the first embodiment.
In step 2504, the text search control program 112a activates the distribution information storage program 2103, and additionally stores, in the distribution text number storage area of the distribution management table 2108, the number of the text to be distributed whose search condition is satisfied.
Next, in step 2505, the number of text numbers stored in the distribution text number storage area of the distribution management table 2108 or the current time is stored in the distribution condition check area of this table.
At this time, when the format of the distribution condition is “number of distributions”, the number of stored text numbers is stored, and when the format is “delay time”, the current time is stored. Nothing needs to be stored in the case of "distribution time".
Thereafter, in step 2506, the text formed by the text forming program 118 is stored in the work area 123.
[0054]
Finally, the contents of the text distribution processing by the text distribution control program 2104 will be described with reference to the PAD diagram of FIG.
The text distribution control program 2104 is started by the system control program 105a.
The program starts the text distribution program 2105 in step 2600, determines distribution conditions for each user, and distributes text to users who satisfy the conditions.
[0055]
FIG. 27 shows the detailed processing contents of the text distribution program 2105.
First, in step 2700, the text distribution program 2105 repeats the following steps for all the user numbers whose distribution conditions are stored in the distribution management table 2108.
In this repetitive processing, the distribution condition check program 2106 is started in step 2701, and it is determined whether or not the distribution condition is satisfied by using the distribution management table 2108.
Here, if the following conditions are satisfied, it is considered that the distribution conditions are satisfied.
Condition (1): The format of the distribution condition is “distribution time”, and the set value of the distribution condition matches the current time, or the current time exceeds the set value of the distribution condition.
Condition (2): The format of the distribution condition is “number of distributions”, and the set value of the distribution condition matches the number of cases stored in the distribution condition check area.
Condition (3): the format of the distribution condition is “delay time”, and the set value of the distribution condition matches the elapsed time from the time stored in the distribution condition check area to the current time, or The elapsed time has exceeded the set value.
If the above condition is satisfied, it is determined in step 2702 that the distribution condition is satisfied, and in step 2703, the e-mail program 119 is started and stored in the distribution text number storage area of the distribution management table 2108. The text of the current number to that user number.
Finally, in step 2704, the distribution information correction program 2107 is activated, and the distribution condition check area and the distribution text number storage area of the distribution management table 2108 corresponding to the user number who distributed the text are reset.
This is realized by clearing the distribution condition check area to NULL and deleting the text number from the distribution text number storage area.
The above is the embodiment of the document search system of the present invention.
[0056]
Hereinafter, the processing procedure of the distribution condition registration control program 2100 in the present embodiment shown in FIG. 23 will be specifically described with reference to FIG.
First, the processing of the distribution condition analysis program 2101 in step 2300 of the distribution condition registration control program 2100 in FIG. 23 will be described.
The distribution condition analysis program 2101 is started by the distribution condition registration control program 2100.
This program analyzes the distribution conditions sent from the user 126 by e-mail or the distribution conditions input from the keyboard 101.
As an example, the results of analyzing distribution conditions of “user number 1: distribution time (18:00)”, “user number 2: distribution number (5)”, and “user number 3: delay time (01:30)” are shown in FIG. 28.
For example, in the case of the distribution condition of “user number 1: distribution time (18:00)”, as the analysis result, the user number “1” for setting the distribution condition, the distribution condition format “distribution time”, and the distribution condition setting value “ 18:00 "is obtained.
[0057]
Next, the processing of the distribution condition registration program 2102 in step 2301 of the distribution condition registration control program 2100 in FIG. 23 will be described.
The distribution condition registration program 2102 is started by the distribution condition registration control program 2100 after the distribution condition analysis program 2101.
This program creates a distribution management table 2108 based on the analysis result by the distribution condition analysis program 2101.
FIG. 28 shows an example of the created distribution management table 2108.
In this table, based on the analysis result by the distribution condition analysis program 2101, the format and the set value of the distribution condition are stored corresponding to each user number. In addition, a distribution condition check area and a distribution text number storage area are secured.
The above is the detailed procedure of the search condition expression registration process in the distribution condition registration control program 2100 in the present embodiment.
[0058]
Hereinafter, the processing procedure of the text search control program 112a in the present embodiment shown in FIG. 25 will be specifically described.
Of the processing contents of this program shown in FIG. 25, the processing contents of the text acquisition program 113, the text search program 114, and the text shaping program 118 in steps 2500 to 2503 are as described in detail in the first embodiment.
The following is a detailed processing content of the distribution information storage program 2103 in steps 2504 to 2506.
The distribution information storage program 2103 is started next to the text shaping program 118 by the text search control program 112a.
In this program, first, in step 2504, the text number is stored in the distribution text number storage area of the distribution management table 2108 corresponding to the user number for which the search condition expression has been satisfied.
FIG. 29 shows an example of the processing contents of this program.
This figure is an example in the case where the search condition formulas of the user number 1 and the user number 2 are satisfied for the text No. 59.
Therefore, the text number “59” is stored in a location corresponding to the user number 1 and the user number 2 in the distribution text number storage area of the distribution management table 2108.
Next, the distribution information storage program 2103 stores the number of text numbers stored in the distribution text number storage area of the distribution management table 2108 or the current time in the distribution condition check area of the distribution management table 2108 in step 2504. Store.
At this time, when the format of the distribution condition is “number of distributions”, the number of stored text numbers is stored, and when the format is “delay time”, the current time is stored. Nothing needs to be stored in the case of "distribution time".
In the example of FIG. 29, since the format of the distribution condition of the user number 2 is “number of distributions”, the value of the distribution condition check area is increased by 1 to “5”. Does nothing because it is "distribution time".
Finally, the distribution information storage program 2103 stores the text formed by the text formation program 118 in the work area 123 in step 2506, and ends the processing.
[0059]
Finally, the processing of the text distribution program 2105 in step 2600 of the text distribution control program 2104 in FIG. 26 will be described.
The detailed processing contents of the text distribution program 2105 are as shown in FIG.
First, in step 2700, the following process is repeated for all users whose distribution conditions are stored in the distribution management table 2108.
In this repetitive processing, the distribution condition check program 2105 is started in step 2701, and the distribution conditions are determined.
Here, if the following conditions are satisfied, it is considered that the distribution conditions are satisfied.
Condition (1): The format of the distribution condition is “distribution time”, and the set value of the distribution condition matches the current time, or the current time exceeds the set value of the distribution condition.
Condition (2): The format of the distribution condition is “number of distributions”, and the set value of the distribution condition matches the number of cases stored in the distribution condition check area.
Condition (3): the format of the distribution condition is “delay time”, and the set value of the distribution condition matches the elapsed time from the time stored in the distribution condition check area to the current time, or The elapsed time has exceeded the set value.
[0060]
The format of the distribution condition of the user number 1 is “distribution time”.
However, since the current time “14:00” does not exceed the set value “18:00” of the distribution condition, the distribution condition is not satisfied. Therefore, it moves to the next repetition.
[0061]
The format of the distribution condition of the user number 2 is “number of distributions”, and the number of cases stored in the distribution condition check area and the setting value of the distribution condition match “5”. 119 is started, and the text of the number stored in the distribution text number storage area of the distribution management table 2108 is distributed.
In the figure, the text numbers 19, 24, 33, 42, and 59 are stored in the distribution text number storage area corresponding to the user number 2, so that the text stored in the work area 123 has the same number. Is distributed to user number 2.
Next, in step 2704, the distribution information correction program 2107 is started, and the distribution check area and the distribution text number storage area of the distribution management table 2108 corresponding to the user number who distributed the text, that is, the user number 2, are reset. Is repeated.
[0062]
The format of the distribution condition of the user number 3 is “delay time”, and the elapsed time from the time stored in the distribution condition check area to the current time and the time stored in the set value of the distribution condition are “01”. : 30 ", the e-mail program 119 is activated in step 2703, and the text of the number stored in the distribution text number storage area of the distribution management table 2108 is distributed.
In this figure, since the text number 53 is stored in the distribution text number storage area corresponding to the user number 3, the same text number stored in the work area 123 is distributed to the user number 3.
Next, in step 2704, the distribution information correction program 2107 is activated to reset the distribution check area and the distribution text number storage area of the distribution management table 2108 corresponding to the user number to which the text has been distributed, that is, the user number 2.
FIG. 30 shows the distribution management table 2108 when all the repetition processes have been completed.
Since the text distribution processing has been performed for the user number 2 and the user number 3, the corresponding distribution condition check area and distribution text number storage area have been reset.
[0063]
As described above, according to the present invention, by setting distribution conditions for each user and distributing texts satisfying the search condition formula in accordance with the distribution conditions, the texts can be distributed to some extent or determined. It is possible to distribute the text according to the user's request, such as distributing it at time.
When used as a commercial system, it is also possible to distribute a text with a time delay according to the contract conditions of the user.
As a result, text obtained from a plurality of information sources is determined based on a search condition formula registered by the user in advance, based on a single scan of the text to determine whether or not the search condition formulas of a plurality of users are satisfied, It is possible to realize a highly flexible document search / delivery system that can distribute the text according to each user's desired distribution conditions.
[0064]
《Third embodiment》
Next, a third embodiment of the present invention will be described.
In the document search and delivery system shown in the present embodiment, search terms included in a search condition expression specified by each user are managed for each user, and when a user instructs deletion of the search condition expression, the managed search operation is performed. By searching for a finite automaton with terms and replacing pointers in the user list, previous information can be easily deleted from the user list.
According to this embodiment, it is possible to easily change the search condition formula even when the user gives an instruction to change the search condition formula.
This embodiment has basically the same configuration as the first embodiment (FIG. 1), but differs in the configuration in the main memory 104 therein.
The configuration in the main memory 104 is as shown in FIG.
As shown in FIG. 31, a search term management table 3106 is secured in the main memory 104b, and a search condition expression deletion control program 3100 is newly provided under the control of the system control program 105b.
A user list modification program 3101 and a search term count table modification program 3104 are provided under the control of the search condition expression deletion control program 3100, and a search term management table creation program 3105 is provided under the control of the search condition expression registration control program 106b.
The user list modification program 3101 includes a finite automaton search program 3102 and a user list partial deletion program 3103.
The above programs can be stored in a computer-readable and writable storage medium such as a hard disk drive or a flexible disk.
[0065]
The system control program 105b is started by an instruction from the keyboard 101 by the administrator of the document search and delivery system.
The search condition expression deletion control program 3100, the search condition expression registration control program 106 b, and the text search control program 112 are operated by the user 126 to register and delete the search condition expression and to distribute the text from the news distribution source 125 to the system control program 105 b. Control of the user list correction program 3101 and the search term number count table correction program 3104, the search condition expression analysis program 107, the search term number count table creation program 108, the search automaton creation program 109, and the search term management table creation The program 3105 is controlled, and the text acquisition program 113, the text search program 114, and the text shaping program 118 are controlled.
[0066]
Hereinafter, processing contents of the document search and delivery system in the present embodiment will be described. First, the processing contents of the system control program 105b will be described using the PAD diagram of FIG.
In the system control program 105b, first, in step 3200, the following steps are repeated until an end command is input from the keyboard 101.
In this repetitive processing, first, in step 3201, it is checked whether or not an instruction to delete the search condition expression has been sent from the user 126 by e-mail.
If an instruction to delete a search condition expression has been sent, the search condition expression deletion control program 3100 is activated in step 3202 to delete the search condition expression.
Next, in step 3203, it is checked whether a search condition expression has been sent from the user 126 by e-mail.
If the search condition expression has been sent, the search condition expression registration control program 106b is activated in step 3204 to register the search condition expression.
Next, in step 3205, it is checked whether or not text has been sent from the news distribution source 125 by e-mail.
If the text has been sent, the text search control program 112 is activated in step 3206 to search for the text.
Next, in step 3207, the result of the text search in the text search control program 112 is checked. If it is determined that any one of the established search condition expressions exists, the e-mail program 119 is started in step 3208, The corresponding text is distributed by e-mail to the user who specified the established search condition expression.
The above is the processing content of the system control program 105b.
[0067]
Hereinafter, processing contents of the search condition expression deletion control program 3100 which is not included in the first embodiment and the search condition expression registration control program 106b which is different from the first embodiment in processing will be described.
First, the contents of the search condition expression deletion processing by the search condition expression deletion control program 3100 will be described with reference to the PAD diagram of FIG.
The search condition expression deletion control program 3100 is started by the system control program 105b.
The program first starts the user list modification program 3101 in step 3300, and deletes the user list 122 corresponding to the user number designated to delete the search condition expression.
Then, in step 3301, the search term number count table correction program 3104 is started, and the search term number count table 120 corresponding to the user number designated to delete the search condition expression is deleted.
[0068]
FIG. 34 shows the detailed processing contents of the user list correction program 3101.
The program first repeats the following steps for the number of search terms stored in the search term management table 3106 in step 3400. The search term management table 3106 will be described later.
In the repetitive processing, first, the finite automaton search program 3102 is started in step 3401, and a pointer to the user list 122 is obtained by searching the finite automaton 121 with a search term.
Finally, in step 3402, the user list partial deletion program 3103 is activated, and the pointer corresponding to the user number whose search condition expression is to be deleted is deleted by changing the pointer of the user list 122.
The above is the processing content of the search condition expression deletion by the search condition expression deletion control program 3100.
[0069]
Next, the content of the registration processing of the search condition expression by the search condition expression registration control program 106b will be described with reference to the PAD diagram of FIG.
The search condition expression registration control program 106b is started by the system control program 105b.
Among the processing contents of this program shown in FIG. 35, the processing contents of the search condition expression analysis program 107, the search term number count table creation program 108, and the search automaton creation program 109 in steps 3500 to 3502 are the same as those in the first embodiment. As mentioned.
In step 3503, the search condition expression registration control program 106b activates the search term management table creation program 3105, and stores the search terms included in the search condition expression in the search term management table 3106.
Here, an example of the created search term management table 3106 is shown in FIG.
The search term management table 3106 shown in the figure includes a search condition formula for the user 1 ““ document ”and (“ search ”or“ search ”),“ “character” and $ (“recognition” or “learning”). ”And a search term extracted from the search condition formula of user 3“ と い う (“search” and “learning”) ”.
The above is the embodiment of the document search method of the present invention.
[0070]
Hereinafter, the processing procedure of the search condition expression deletion control program 3100 in the present embodiment shown in FIG. 33 will be specifically described with reference to FIG.
First, the processing of the user list modification program 3101 in step 3300 of the search condition expression deletion control program 3100 in FIG. 33 will be described.
The user list modification program 3101 is started by the search condition expression deletion control program 3100. The detailed processing contents of this program are as shown in FIG.
In step 3400, the program repeats steps 3401 and 3402 for the number of search terms stored in the search term management table 3106.
In step 3401, the finite state automaton search program 3102 is started, and the finite state automaton 121 is searched by a search term to obtain a pointer to the user list 122.
In step 3402, the user list partial deletion program 3103 is started, and the user list 122 corresponding to the user number designated to delete the search condition expression is deleted.
[0071]
FIG. 37 shows a processing example of the user list modification program 3101.
This figure shows an example of deleting the search condition expression of the user number 2 including “character”, “recognition” and “learning” in the search condition expression.
“Character”, “recognition”, and “learning” are stored in the search term management table 3106, and these search terms are repeatedly processed.
In step 3401 in the repetitive processing, the finite state automaton 121 is searched for by “character”, “recognition”, and “learning”, and pointers to the user list 122 are obtained.
In step 3402, the user list 122 is traced, and the user list 122 related to the user number 2 is deleted.
In the figure, the part with the user number “2” in the user list 122 is deleted.
[0072]
Next, the processing of the search term count table modification program 3104 in step 3301 of the search condition expression deletion control program 3100 in FIG. 33 will be described.
The search term count table correction program 3104 is started by the search condition expression deletion control program 3100 after the user list correction program 3101.
In this program, the search term number count table 120 corresponding to the user number designated to delete the search condition expression is deleted.
FIG. 38 shows a processing example of this program.
As shown in the figure, the search term count table corresponding to the user number 2 is deleted.
The above is the detailed procedure of the search condition expression deletion in the search condition expression deletion control program 3100 in the present embodiment.
[0073]
Hereinafter, the processing procedure of the search condition expression registration control program 106b in the present embodiment shown in FIG. 35 will be specifically described.
Among the processing contents of this program shown in FIG. 35, the processing contents of the search condition expression analysis program 107, the search term number count table creation program 108, and the search automaton creation program 109 in steps 3500 to 3502 are the same as those in the first embodiment. As mentioned.
Hereinafter, the detailed processing content of the search term management table creation program 3105 in step 3503 will be described.
The search term management table creation program 3105 is started next to the search automaton creation program 109 by the search condition expression registration control program 106b.
In this program, the search terms included in the search condition formula obtained as the analysis result by the search condition formula analysis program 107 are stored in the search term management table 3106.
[0074]
FIG. 39 shows a processing example of this program.
This figure shows an example in which the user of the user number 2 specifies a search condition expression ““ structure ”and“ recognition ””, that is, “a document containing both“ structure ”and“ recognition ””.
When this search condition expression is analyzed by the search condition expression analysis program 107, two search terms “structure” and “recognition” are obtained.
These search terms are stored in the search term management table 3106 in a form corresponding to the user number. In this drawing, “structure” and “recognition” are stored in a location corresponding to the user number 2.
The detailed procedure of the search condition expression registration in the search condition expression registration control program 106b in the present embodiment has been described above.
[0075]
As described above, according to the present invention, the search terms included in the search condition formula specified by each user are managed for each user, and are managed when the user instructs to delete the search condition formula. By searching the finite state automaton with the search term and replacing the pointer of the user list, it is possible to easily delete previous information from the user list.
As a result, text obtained from a plurality of information sources is determined based on a search condition formula registered by the user in advance, based on a single scan of the text to determine whether or not the search condition formulas of a plurality of users are satisfied, In a document search / delivery system that immediately distributes the text to a user whose conditions are satisfied, it is possible to realize a document search / delivery system that can change a search condition expression at any time in response to a user request.
In the present embodiment, a case has been described where the delete instruction and the registration instruction of the search condition expression are sent separately, but the delete instruction and the registration instruction of the search condition expression are sent at the same time, that is, the update instruction is sent. Obviously, it is possible to cope with the case in which the deletion process and the registration process are performed continuously.
Although the present embodiment is obtained by adding a process of deleting a search condition expression to the first embodiment, it is apparent that the present embodiment can be applied to the second embodiment.
[0076]
【The invention's effect】
According to the present invention, even when the number of users, that is, the number of search condition expressions becomes large, it is possible to determine whether all the search condition expressions are satisfied by a single text scan, and thus high-speed A text search can be realized.
As a result, even when the number of users increases, it is possible to provide a document search / delivery system capable of performing high-speed real-time text search / distribution regardless of the number of users.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a finite state automaton according to the conventional technique 1.
FIG. 3 is a diagram showing a configuration of a fail destination state number table according to the conventional technique 1.
FIG. 4 is a diagram showing a configuration of an output table according to the conventional technique 1.
FIG. 5 is a diagram showing an example of a finite state automaton for Japanese text according to Prior Art 2.
FIG. 6 is a diagram showing a schematic processing content of the present invention.
FIG. 7 is a PAD diagram showing processing contents of a system control program 105;
FIG. 8 is a PAD diagram showing processing contents of a search condition expression registration control program 106.
FIG. 9 is a diagram for explaining a method of analyzing a search condition expression.
FIG. 10 is a diagram for explaining a method of creating a search term number count table 120.
FIG. 11 is a PAD diagram showing processing contents of a text search control program 112.
FIG. 12 is a PAD diagram showing processing contents of a search automaton creation program 109.
FIG. 13 is a diagram for explaining a method of creating a finite state automaton 121 and a user list 122.
FIG. 14 is a PAD diagram showing processing contents of a text search program 114.
FIG. 15 is a diagram illustrating a process of creating a user list 122.
FIG. 16 is a diagram for explaining a text scanning process.
FIG. 17 is a diagram for explaining a count process of a search term in which a matching partial character string appears in a text.
FIG. 18 is a diagram for explaining a process of counting search terms in which a matching partial character string does not appear in a text.
FIG. 19 is a diagram illustrating a process of checking whether a search condition expression is satisfied.
FIG. 20 is a diagram illustrating a text shaping process.
FIG. 21 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 22 is a PAD diagram showing processing contents of a system control program 105a.
FIG. 23 is a PAD diagram showing processing contents of a distribution condition registration control program 2100.
FIG. 24 is a diagram showing a configuration of a distribution management table 2108.
FIG. 25 is a PAD diagram showing processing contents of a text search control program 112a.
FIG. 26 is a PAD showing the processing contents of the text distribution control program 2104.
FIG. 27 is a PAD showing the processing contents of the text distribution program 2105.
FIG. 28 is a diagram illustrating a distribution condition registration process.
FIG. 29 is a diagram for explaining distribution information storage processing.
FIG. 30 is a diagram illustrating a distribution condition check process and a distribution information correction process.
FIG. 31 is a diagram showing a configuration of a third exemplary embodiment of the present invention.
FIG. 32 is a PAD showing the processing contents of the system control program 105b.
FIG. 33 is a PAD diagram showing processing contents of a search condition expression deletion control program 3100.
FIG. 34 is a PAD showing the processing contents of the user list correction program 3101.
FIG. 35 is a PAD showing the processing contents of a search condition expression registration control program 106b.
FIG. 36 is a diagram showing a configuration of a search term management table 3106.
FIG. 37 is a diagram illustrating a user list correction process.
FIG. 38 is a diagram for describing search term number count table correction processing.
FIG. 39 is a diagram illustrating a search term management table creation process.
[Explanation of symbols]
100 display
101 keyboard
102 CPU
103 bus
104, 104a, 104b main memory
105, 105a, 105b System control program
106, 106b Search condition expression registration control program
107 search condition expression analysis program
108 Search term number count table creation program
109 Search Automaton Creation Program
110 Finite Automaton Creation Program
111 User list creation program
112, 112a Text search control program
113 Text Acquisition Program
114 Text Search Program
115 Text Scan Program
116 Search Term Count Program
117 Search condition expression check program
118 Text shaping program
119 Email Program
120 Search Term Count Table
121 Finite Automata
122 User List
123 work area
124 LAN
125 news sources
126 Document Search and Delivery System Users
2100 Distribution condition registration control program
2101 Distribution condition analysis program
2102 Distribution condition registration program
2103 Distribution information storage program
2104 Text distribution control program
2105 Text distribution program
2106 Distribution condition check program
2107 Distribution information modification program
2108 Distribution management table
3100 Search condition expression deletion control program
3101 User list modification program
3102 Finite automaton search program
3103 User list partial deletion program
3104 Search term number count table modification program
3105 Search term management table creation program
3106 Search term management table

Claims (7)

一つ以上の情報源から入手した文書情報のテキストデータを対象として検索した文書を配送する文書検索配送装置において、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録手段と、
テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布手段を有し、
前記検索条件式の削除が指示された場合には該検索条件式を削除する検索条件式削除手段を有することを特徴とした文書検索配送装置。
In a document search and delivery device for delivering a document searched for text data of document information obtained from one or more information sources,
Search condition expression registration means for registering a search condition expression specified by one or more users including one or more search terms;
When a text is obtained, a text search / distribution unit that determines whether the search condition expression for the text is satisfied, and distributes the text to a user whose search condition expression is satisfied,
A document search / delivery device comprising a search condition expression deleting means for deleting the search condition expression when the deletion of the search condition expression is instructed.
請求項1記載の文書検索配送装置において、
前記検索条件式登録手段は、
前記検索条件式から全ての検索タームを抽出する検索条件式解析手段と、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成手段と、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成手段と、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成手段を有し、
前記検索条件式削除手段は、
削除が指示された前記検索条件式に関連する情報を前記検索ターム数カウントテーブルおよび前記ユーザリストから削除する検索条件式管理テーブル削除手段を有することを特徴とする文書検索配送装置。
2. The document search and delivery device according to claim 1,
The search condition expression registration means,
Search condition expression analysis means for extracting all search terms from the search condition expression,
A search term count table creating means for creating a search term count table for storing management information including the number of users and all search terms extracted from the search condition formula of the user for each user;
A multi-character string collation table generating means for generating a multi-character string collation table to be referred to when all the search terms extracted from the search condition expression are collated by a single scan of the text,
User list generating means for generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The search condition expression deleting means,
A document search / delivery device comprising a search condition expression management table deletion unit for deleting information related to the search condition expression instructed to be deleted from the search term count table and the user list.
請求項2記載の文書検索配送装置において、
前記検索条件式登録手段は、
さらに、前記検索条件式解析手段により抽出された検索タームを格納した検索ターム管理テーブルを作成する検索ターム管理テーブル作成手段を有し、
前記検索条件式管理テーブル削除手段は、
前記検索ターム管理テーブルを参照して、削除が指示された前記検索条件式に含まれる前記検索タームに対応する該検索条件式を指定したユーザのユーザ識別子を前記ユーザリストから削除するユーザリスト削除手段と、
削除が指示された前記検索条件式に関連するユーザの管理情報を、前記検索ターム数カウントテーブルから削除する検索ターム数カウントテーブル削除手段を有することを特徴とする文書検索配送装置。
3. The document search and delivery device according to claim 2,
The search condition expression registration means,
Further, a search term management table creating means for creating a search term management table storing the search terms extracted by the search condition expression analysis means,
The search condition expression management table deletion means,
A user list deletion unit that refers to the search term management table and deletes, from the user list, a user identifier of a user who has specified the search condition expression corresponding to the search term included in the search condition expression instructed to be deleted. When,
A document search / delivery device comprising a search term count table deletion means for deleting, from the search term count table, management information of a user associated with the search condition expression instructed to be deleted.
請求項1乃至請求項3のいずれかの請求項記載の文書検索配送装置において、
検索条件式の削除指示と登録指示を含む検索条件式の更新指示を受けた場合、前記検索条件式削除手段による検索条件式の削除処理と前記検索条件式登録手段による検索条件式の登録処理を連続して行うことを特徴とする文書検索配送装置。
The document search and delivery device according to any one of claims 1 to 3,
When a search condition expression update instruction including a search condition expression deletion instruction and a registration instruction is received, the search condition expression deletion means and the search condition expression registration processing by the search condition expression registration means are executed. A document search / delivery device which is performed continuously.
一つ以上の情報源から入手した文書情報のテキストデータを対象として検索した文書を配送する文書検索配送方法において、
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録ステップと、
テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布ステップを有し、
前記検索条件式登録ステップは、
前記検索条件式から全ての検索タームを抽出する検索条件式解析ステップと、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成ステップと、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成ステップと、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成ステップを有し、
前記テキスト検索配布ステップは、前記テキストをただ一度走査することによって前記複数の検索条件式の該テキストに対する成否を判断するテキスト検索ステップを有し、
該テキスト検索ステップは、該テキストに対する前記検索条件式の成否の判断時に、前記多重文字列照合テーブルを参照して該テキストを走査することによって、前記検索条件式解析ステップにより抽出された全ての検索タームを照合するテキスト走査ステップと、前記テキスト走査ステップによって照合された検索タームと前記ユーザリストと前記検索ターム数カウントテーブルを照合することにより、該テキストに対する前記検索条件式の成否を判断することを特徴とする文書検索配送方法。
In a document search and delivery method for delivering a document searched for text data of document information obtained from one or more information sources,
A search condition expression registration step of registering a search condition expression specified by one or more users including one or more search terms;
When a text is obtained, a text search / distribution step of determining whether or not the search condition expression for the text is satisfied, and distributing the text to a user who has satisfied the search condition expression,
The search condition expression registration step includes:
A search condition expression analyzing step of extracting all search terms from the search condition expression,
A search term count table creating step of creating a search term count table that stores management information including the number of all search terms extracted from the user and the search condition formula of the user for each user;
A multiple character string matching table generating step of generating a multiple character string matching table to be referred to when matching all search terms extracted from the search condition expression by a single scan of text,
A user list generating step of generating a user list in which the user identifiers of the users who have designated the search condition expressions are connected as a list for each search term extracted from the search condition expression,
The text search distribution step includes a text search step of determining whether the plurality of search condition expressions are successful for the text by scanning the text only once,
The text search step scans the text with reference to the multiple character string collation table when determining whether the search condition expression for the text is successful, thereby obtaining all search conditions extracted by the search condition expression analysis step. A text scanning step of matching terms, and comparing the search terms matched by the text scanning step with the user list and the search term number count table to determine whether the search condition formula for the text is satisfied. Characteristic document search and delivery method.
請求項5記載の文書検索配送方法において、
前記多重文字列照合テーブルとして有限オートマトンを用いることを特徴とする文書検索配送方法。
The document search and delivery method according to claim 5,
A document search / delivery method using a finite automaton as the multiple character string collation table.
請求項5または請求項6記載の文書検索配送方法において、
前記検索条件式成否判断ステップは、
前記ユーザリストを参照し、前記テキスト走査ステップによって照合された検索タームの個数をユーザ毎に算出する検索ターム照合数算出ステップと、
前記検索ターム照合数算出ステップで算出された検索タームの個数と前記検索ターム数カウントテーブルに格納されている検索タームの個数とを比較し、一致している場合には該検索タームが含まれる検索条件式が成立しているものとみなす検索ターム数比較ステップを有することを特徴とする文書検索配送方法。
The document search / delivery method according to claim 5 or 6,
The search condition expression success / failure determining step includes:
Referring to the user list, a search term collation number calculation step of calculating the number of search terms collated by the text scanning step for each user,
The number of search terms calculated in the search term collation number calculation step is compared with the number of search terms stored in the search term number count table. A document search / delivery method comprising a search term number comparing step of determining that a conditional expression is satisfied.
JP2003208580A 2003-08-25 2003-08-25 Document retrieval and delivery method and apparatus Expired - Fee Related JP3619825B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003208580A JP3619825B2 (en) 2003-08-25 2003-08-25 Document retrieval and delivery method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003208580A JP3619825B2 (en) 2003-08-25 2003-08-25 Document retrieval and delivery method and apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP20134896A Division JP4153989B2 (en) 1996-07-11 1996-07-11 Document retrieval and delivery method and apparatus

Publications (3)

Publication Number Publication Date
JP2004030682A true JP2004030682A (en) 2004-01-29
JP2004030682A5 JP2004030682A5 (en) 2005-01-06
JP3619825B2 JP3619825B2 (en) 2005-02-16

Family

ID=31185524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003208580A Expired - Fee Related JP3619825B2 (en) 2003-08-25 2003-08-25 Document retrieval and delivery method and apparatus

Country Status (1)

Country Link
JP (1) JP3619825B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108279A (en) * 2008-10-30 2010-05-13 Kddi Corp Content distribution method and system
JP2010218140A (en) * 2009-03-16 2010-09-30 Fujitsu Ltd Retrieval device, retrieval method, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660121A (en) * 1992-03-19 1994-03-04 Hitachi Ltd Information retrieval device
JPH06325093A (en) * 1993-05-17 1994-11-25 Hitachi Ltd Document retrieval method
JPH06332959A (en) * 1993-05-18 1994-12-02 Sanyo Electric Co Ltd Picture filing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660121A (en) * 1992-03-19 1994-03-04 Hitachi Ltd Information retrieval device
JPH06325093A (en) * 1993-05-17 1994-11-25 Hitachi Ltd Document retrieval method
JPH06332959A (en) * 1993-05-18 1994-12-02 Sanyo Electric Co Ltd Picture filing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108279A (en) * 2008-10-30 2010-05-13 Kddi Corp Content distribution method and system
JP2010218140A (en) * 2009-03-16 2010-09-30 Fujitsu Ltd Retrieval device, retrieval method, and storage medium

Also Published As

Publication number Publication date
JP3619825B2 (en) 2005-02-16

Similar Documents

Publication Publication Date Title
JP4153989B2 (en) Document retrieval and delivery method and apparatus
US6496820B1 (en) Method and search method for structured documents
JP3566111B2 (en) Symbol dictionary creation method and symbol dictionary search method
US6665667B2 (en) Method of and an apparatus for retrieving and delivering documents and a recording media on which a program for retrieving and delivering documents are stored
JP3619825B2 (en) Document retrieval and delivery method and apparatus
JP2003196294A (en) Knowledge analyzing system and method
JP2004220176A (en) Database search system and search method, method for forming data file used for search, and storage medium storing data file
US20050154703A1 (en) Information partitioning apparatus, information partitioning method and information partitioning program
US20050071333A1 (en) Method for determining synthetic term senses using reference text
JP3081093B2 (en) Index creation method and apparatus and document search apparatus
JP2002014971A (en) Extracting device of information on person related with designated word and computer readable recording medium with recorded extraction program of information on person related with designated word
JPH06348757A (en) Device and method for retrieving document
US7333983B2 (en) Method of and an apparatus for retrieving and delivering documents and a recording media on which a program for retrieving and delivering documents are stored
JP2004234582A (en) Dictionary construction method, system, and screen
JP3772401B2 (en) Document classification device
JP2001147923A (en) Device and method for retrieving similar document and recording medium
JP3156613B2 (en) Document editing method
JPH11250067A (en) Information classification method and its device, and medium for storing information classification program
JP2001344246A (en) Method for preparing term table data base and method for retrieving electronic document
JP2000339346A (en) Method and device for retrieving and delivering similar document, and storage medium stored with similar document retrieval delivery program
JP4223756B2 (en) Document search method, document search program, and document search system
JP2003006229A (en) Document retrieval system, document retrieval method, and program to implement the method
JPH09212524A (en) Entire sentence retrieval method and electronic dictionary formation device
JPH10254892A (en) Document retrieving and utilizing method
JPH09305619A (en) Hierarchical index retrieving device and document retrieving method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041115

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees