JP2004030682A - Method and device for retrieving and delivering document - Google Patents
Method and device for retrieving and delivering document Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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】
【数2】
【数3】
この結果、論理和条件の外側に論理積条件が掛かっていない検索条件式が、すなわち、「(“文書”and“検索”)or(“文書”and“サーチ”)」、「“文字”and ¬“認識”and ¬“学習”」、「¬(“検索”and “学習”)」が得られる。
これらの検索条件式中に含まれる検索タームをユーザ番号と項番号という観点から表にまとめると表1のようになる。
【0034】
【表1】
ここで、ユーザ番号の前に“¬”が付与されているのは検索条件式全体に否定条件が掛かることを、検索タームの前に“¬”が付与されているのは検索タームに否定条件が掛かることを示す。
例えば、ユーザ番号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
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
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
If the input character is "h" in
If a character other than "h" is entered here, the process returns to
On the other hand, if the input character is "e" in
Here, if, for example, "i" other than "e" is input, the state transits to
Then, the state changes to
[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
Next, when the second character “s” is input, the state transits from the
Hereinafter, when the third character “h” and the fourth character “e” are input, the state transits to the
Next, the fifth character “r” is input.
However,
Here, the state changes to the
Finally, when the sixth character "s" is input, the state transits to the
As described above, Non-Patent
[0005]
A system in which the method described in Non-Patent
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
Therefore, in Non-Patent
[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
The transition from the
Here, the
[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
As described above, by using the method described in
[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
(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
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
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
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
[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,
[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
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
[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
In addition, a
The
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
[0019]
In the
The search
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
The
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
The search condition expression
As the
The
[0021]
Hereinafter, processing contents of the document search and delivery system in the present embodiment will be described. First, the processing contents of the
In the
In this repetitive processing, first, at
If the search condition expression has been sent, the search condition expression
Next, in
If the text has been sent, the text
Next, in
The above is the processing content of the
[0022]
Next, the content of the processing for registration of the search condition expression by the search condition expression
The search condition expression
The program first starts the search condition
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
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
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
Further, the
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
Then, a
The processing contents of the search
The above is the processing content of the search condition expression registration by the search condition expression
[0025]
Next, the contents of the text search processing by the text
The text
The program first starts the
Next, in
The processing contents of the
Next, in
The above is the content of the text search processing by the text
[0026]
Next, the processing contents of the search
As shown in FIG. 12, the search
The method disclosed in
Next, in
[0027]
FIG. 13 shows an example of the
The
In this figure, for simplicity, the state transition is shown in units of two bytes (one character).
This
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
Each element of the
For example, in this figure, the search term “document” exists without any negative condition in the terms of
[0028]
Next, the processing content of the
As shown in this figure, the
Next, in
The method disclosed in Non-Patent Literature and
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
This is performed by tracing the
Next, in
This is performed by tracing the
[0029]
Next, in
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
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
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
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
The above is the embodiment of the document search method of the present invention.
[0032]
Hereinafter, the processing procedure of the search condition expression
First, the processing of the search condition
The search condition
For example, the expansion result of the search condition expression of the
[0033]
(Equation 1)
(Equation 2)
[Equation 3]
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]
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,
[0035]
Next, the processing of the search term count
This program creates a search term number count table 120 based on the analysis result by the search condition
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
The processing contents of this program are shown in FIG. This program includes a finite
Hereinafter, description will be made in order.
[0037]
The finite state
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
However, here, for simplicity, the state transition is shown in units of one character, that is, two bytes.
[0038]
In the user
The method of creating the
FIG. 15 shows a
For example, the search term "learning" is included with a negative condition in the
Then, the
The detailed procedure of the search condition expression registration in the search condition expression
[0039]
Hereinafter, the processing procedure of the text
First, the processing of the
The
In this program, the text delivered by e-mail is stored in the
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
[0040]
The processing of the
The processing contents of this program are shown in FIG.
As shown in FIG. 1, this program includes a
Hereinafter, description will be made in order.
First, before the
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
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
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
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
[0044]
Next, the search condition
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
The condition (2) is satisfied because the search condition expression negative flag corresponding to the
However, for
Therefore, since it can be considered that the search condition formulas of the
[0045]
Finally, the processing of the
The
In this program, the text stored in the
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, “
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
[0046]
As a result of the processing of the text
In this program, the text is distributed by e-mail with reference to the header added by the
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 "
[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
The configuration in the
As shown in FIG. 21, a distribution management table 2108 is secured in the
The distribution
The
As the
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
The distribution condition
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
In this repetitive processing, it is checked in
If the distribution condition has been sent, the distribution condition
Next, in
If the search condition expression has been sent, the search condition expression
Next, in step 2205, it is checked whether or not text has been sent from the
If the text has been sent, the text
Finally, in
The above is the processing content of the system control program 105a.
[0052]
Hereinafter, processing contents of the distribution condition
First, the contents of the distribution condition registration process performed by the distribution condition
The distribution condition
The program first starts a distribution
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 2: Number of distributions (5)
If "distribution condition" means "distribute five items for
User number 3: Delay time (01:30)
If the distribution condition means "distribute 1 hour and 30 minutes behind
Finally, in
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
[0053]
Next, the contents of a text search process performed by the text
The text
Among the processing contents of this program shown in FIG. 25, the processing contents of the
In
Next, in
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
[0054]
Finally, the contents of the text distribution processing by the text
The text
The program starts the
[0055]
FIG. 27 shows the detailed processing contents of the
First, in
In this repetitive processing, the distribution
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
Finally, in
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
First, the processing of the distribution
The distribution
This program analyzes the distribution conditions sent from the
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
The distribution
This program creates a distribution management table 2108 based on the analysis result by the distribution
FIG. 28 shows an example of the created distribution management table 2108.
In this table, based on the analysis result by the distribution
The above is the detailed procedure of the search condition expression registration process in the distribution condition
[0058]
Hereinafter, the processing procedure of the text
Of the processing contents of this program shown in FIG. 25, the processing contents of the
The following is a detailed processing content of the distribution
The distribution
In this program, first, in
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
Therefore, the text number “59” is stored in a location corresponding to the
Next, the distribution
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
Finally, the distribution
[0059]
Finally, the processing of the
The detailed processing contents of the
First, in
In this repetitive processing, the distribution
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
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
In the figure, the
Next, in
[0062]
The format of the distribution condition of the
In this figure, since the
Next, in
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
[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
The configuration in the
As shown in FIG. 31, a search term management table 3106 is secured in the
A user
The user
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
The search condition expression
[0066]
Hereinafter, processing contents of the document search and delivery system in the present embodiment will be described. First, the processing contents of the
In the
In this repetitive processing, first, in
If an instruction to delete a search condition expression has been sent, the search condition expression
Next, in
If the search condition expression has been sent, the search condition expression
Next, in
If the text has been sent, the text
Next, in
The above is the processing content of the
[0067]
Hereinafter, processing contents of the search condition expression
First, the contents of the search condition expression deletion processing by the search condition expression
The search condition expression
The program first starts the user
Then, in
[0068]
FIG. 34 shows the detailed processing contents of the user
The program first repeats the following steps for the number of search terms stored in the search term management table 3106 in
In the repetitive processing, first, the finite
Finally, in
The above is the processing content of the search condition expression deletion by the search condition expression
[0069]
Next, the content of the registration processing of the search condition expression by the search condition expression
The search condition expression
Among the processing contents of this program shown in FIG. 35, the processing contents of the search condition
In
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
The above is the embodiment of the document search method of the present invention.
[0070]
Hereinafter, the processing procedure of the search condition expression
First, the processing of the user
The user
In
In step 3401, the finite state
In
[0071]
FIG. 37 shows a processing example of the user
This figure shows an example of deleting the search condition expression of the
“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
In
In the figure, the part with the user number “2” in the
[0072]
Next, the processing of the search term count
The search term count
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
The above is the detailed procedure of the search condition expression deletion in the search condition expression
[0073]
Hereinafter, the processing procedure of the search condition expression
Among the processing contents of this program shown in FIG. 35, the processing contents of the search condition
Hereinafter, the detailed processing content of the search term management
The search term management
In this program, the search terms included in the search condition formula obtained as the analysis result by the search condition
[0074]
FIG. 39 shows a processing example of this program.
This figure shows an example in which the user of the
When this search condition expression is analyzed by the search condition
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
The detailed procedure of the search condition expression registration in the search condition expression
[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
FIG. 3 is a diagram showing a configuration of a fail destination state number table according to the
FIG. 4 is a diagram showing a configuration of an output table according to the
FIG. 5 is a diagram showing an example of a finite state automaton for Japanese text according to
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
FIG. 8 is a PAD diagram showing processing contents of a search condition expression
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
FIG. 12 is a PAD diagram showing processing contents of a search
FIG. 13 is a diagram for explaining a method of creating a
FIG. 14 is a PAD diagram showing processing contents of a
FIG. 15 is a diagram illustrating a process of creating a
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
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
FIG. 26 is a PAD showing the processing contents of the text
FIG. 27 is a PAD showing the processing contents of the
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
FIG. 33 is a PAD diagram showing processing contents of a search condition expression
FIG. 34 is a PAD showing the processing contents of the user
FIG. 35 is a PAD showing the processing contents of a search condition expression
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.
前記検索条件式登録手段は、
前記検索条件式から全ての検索タームを抽出する検索条件式解析手段と、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成手段と、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成手段と、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成手段を有し、
前記検索条件式削除手段は、
削除が指示された前記検索条件式に関連する情報を前記検索ターム数カウントテーブルおよび前記ユーザリストから削除する検索条件式管理テーブル削除手段を有することを特徴とする文書検索配送装置。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.
前記検索条件式登録手段は、
さらに、前記検索条件式解析手段により抽出された検索タームを格納した検索ターム管理テーブルを作成する検索ターム管理テーブル作成手段を有し、
前記検索条件式管理テーブル削除手段は、
前記検索ターム管理テーブルを参照して、削除が指示された前記検索条件式に含まれる前記検索タームに対応する該検索条件式を指定したユーザのユーザ識別子を前記ユーザリストから削除するユーザリスト削除手段と、
削除が指示された前記検索条件式に関連するユーザの管理情報を、前記検索ターム数カウントテーブルから削除する検索ターム数カウントテーブル削除手段を有することを特徴とする文書検索配送装置。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.
検索条件式の削除指示と登録指示を含む検索条件式の更新指示を受けた場合、前記検索条件式削除手段による検索条件式の削除処理と前記検索条件式登録手段による検索条件式の登録処理を連続して行うことを特徴とする文書検索配送装置。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.
前記多重文字列照合テーブルとして有限オートマトンを用いることを特徴とする文書検索配送方法。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.
前記検索条件式成否判断ステップは、
前記ユーザリストを参照し、前記テキスト走査ステップによって照合された検索タームの個数をユーザ毎に算出する検索ターム照合数算出ステップと、
前記検索ターム照合数算出ステップで算出された検索タームの個数と前記検索ターム数カウントテーブルに格納されている検索タームの個数とを比較し、一致している場合には該検索タームが含まれる検索条件式が成立しているものとみなす検索ターム数比較ステップを有することを特徴とする文書検索配送方法。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.
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)
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)
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 |
-
2003
- 2003-08-25 JP JP2003208580A patent/JP3619825B2/en not_active Expired - Fee Related
Patent Citations (3)
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)
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 |