JP3619825B2 - Document retrieval and delivery method and apparatus - Google Patents
Document retrieval and delivery method and apparatus Download PDFInfo
- Publication number
- JP3619825B2 JP3619825B2 JP2003208580A JP2003208580A JP3619825B2 JP 3619825 B2 JP3619825 B2 JP 3619825B2 JP 2003208580 A JP2003208580 A JP 2003208580A JP 2003208580 A JP2003208580 A JP 2003208580A JP 3619825 B2 JP3619825 B2 JP 3619825B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- text
- distribution
- search condition
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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]
BACKGROUND OF THE INVENTION
The present invention retrieves an electronic document obtained from a plurality of information sources such as a news agency or a newspaper company using an e-mail, an information collecting robot, or the like using a search condition expression registered in advance by a user. Involved in a document retrieval and delivery system that distributes the digitized documents to established users, especially when the number of users increases, the retrieval of all users can be completed by scanning the digitized documents once. The present invention relates to a document retrieval / delivery system having a distribution function.
[0002]
[Prior art]
In recent years, a large amount of electronic documents (hereinafter referred to as “text”) has been sent to users every moment by e-mail and electronic news. In addition, the number of information sources that provide information via the Internet is increasing rapidly, and the amount of text collected from these information sources using an information collecting robot or the like is enormous. For this reason, there is an increasing need for a document retrieval and delivery system that retrieves these texts and immediately distributes them to users who are seeking the texts.
Document retrieval is used as a core for realizing the document retrieval / delivery system (see, for example, Non-Patent Document 1).
This creates a kind of finite automaton called a pattern matching machine from a plurality of search strings to be matched (hereinafter referred to as a search term), so that multiple search terms can be simultaneously scanned by scanning the text once. It is a method that can be verified.
[0003]
This method will be described with reference to FIG.
This figure is a state transition diagram of a finite automaton that collates four search terms “he”, “she”, “his”, and “hers”.
Here, a circle represents a finite automaton state, and a solid arrow represents a state transition.
The alphabets attached to each solid line arrow indicate input characters in which the corresponding state transition occurs, and the numerical values indicated in each circle indicate the state number of the same state.
A broken arrow indicates a transition destination when a character not shown in the finite automaton is input (hereinafter referred to as “fail”).
Here, the broken line arrow from
The transition destination due to this failure is actually managed by a failure destination state number table as shown in FIG.
When the transition is caused by a failure, the input character is re-verified in the transition destination state.
When the
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 transitions to
If a character other than these (expressed 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 the
On the other hand, if the input character is “e” in
Here, if, for example, “i” other than “e” is input, the state transitions to the
Then, the state transitions to
[0004]
Next, a case where search terms are collated for the text “users” will be described.
First, the first character “u” is input.
However, since “u” is a character other than “h” and “s”, the state returns to the
Next, a transition from
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, since there is no transition destination for the input character “r” in the
Here, a transition to the
Finally, when the sixth character “s” is input, the state transits to the
As described above, the
[0005]
An extension of the method described in
Unlike English, Japanese has many character types.
Therefore, in the computer, one character is usually represented by two bytes, that is, two English characters.
By dividing this 2-byte character into 1-byte and simply creating a finite automaton as in Non-Patent
Therefore, in Non-Patent
[0006]
In addition,
1 byte is 8 bits, 1 byte character is OO (16) To FF (16) Up to 256 characters.
A 2-byte character consists of 2 bytes, and the
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 out of 1 byte (16) To 7E (16) The Kana character is AO (16) To DF (16) Belongs to.
[0007]
Here, the transition from the
The transition from the
Here, the
[0008]
Byte shift means that the lower byte of a 2-byte character is regarded as the upper byte of a 2-byte character.
In this method,
In this way, by using the method described in
[0009]
In the above, an example of a finite automaton has been described as a method for searching for a search term from text, but 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-more) method, which is a high-speed pattern matching method, so that a plurality of patterns (search character strings) can be handled. In
Further, although not an extended BM method, a method of performing multiple character string matching is also known (Non-Patent Document 4). This method is a combination of the basic idea of the BM method, which is a high-speed pattern matching method, and the AC (Aho-Corasick) method that simultaneously matches a plurality of patterns using a finite automaton.
[Non-Patent Document 1]
“Efficient String Matching: An Aid to Bibliographic Search” (Alfred V. Aho and Margaret J. Corasick, Communications of the ACM, June 1975, Vol.
[Non-Patent Document 2]
“Aho-Corasick pattern matching algorithm for Japanese text” (Takeshi Shinohara, Seto Arikawa, Information Processing Society of Japan, Natural Language Processing, 1985.11.15, Vol. 86, No. 48, pp. 52. 4.1-52.4.8)
[Non-Patent Document 3]
“Five types of pattern matching methods are realized by C language functions” NIKKEI BYTE, August 1987, p. p. 175-189
[Non-Patent Document 4]
"High-speed multiple character string matching algorithm: FAST" IPSJ Journal, Vol. 30, NO. 9, September 1989
[0010]
[Problems to be solved by the invention]
According to the document search methods shown in the above-mentioned
(1) User identification problems
By creating one finite automaton with all the search terms included in the search condition formulas of a large number of users, it becomes possible to match all the search terms with a single scan of the text. However, since it is impossible to determine which user's search condition expression contains the search term that matches the partial character string in the text, it is not known which user's search condition expression is satisfied.
(2) Problem of processing time
For each user search condition formula, if a finite automaton is created with the search terms included in the search condition formula, it is possible to determine which user's search condition formula is satisfied. However, since it is necessary to scan the text by the number of finite automata (that is, the number of users), the search takes time as the number of users increases. The same applies to the case where the techniques shown in
In order to solve these problems, the present invention aims to solve the following problems. That is, an object of the present invention is to establish a plurality of user search condition formulas by scanning texts only once based on search condition formulas registered in advance by users. An object of the present invention is to provide a document search / delivery system that discriminates whether or not the text is distributed to users who satisfy the condition.
[0011]
[Means for Solving the Problems]
In order 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 expression registration step for registering a search condition expression specified by one or more users including one or more search terms, and when the text is obtained, determining whether the search condition expression for the text is successful, In a document search / distribution method having a text search / distribution step of distributing the text to a user who has satisfied the search condition formula, the text search / distribution step scans the text only once, thereby the plurality of search condition formulas Has a text search step for determining success or failure of the text.
Further, the search condition expression registration step includes a search condition expression analysis step for extracting all search terms from the search condition expression,
A search term count table creation step for 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 collation table generating step for generating a multiple character string collation table to be referred to when collating all the search terms extracted from the search condition expression by a single scan of the text;
A user list generation step of generating a user list in which user identifiers of users who have specified the search condition expression are connected as a list corresponding to each search term extracted from the search condition expression;
The text search distribution step scans the text with reference to the multiple character string matching table at the time of determination of success or failure of the search condition formula for the text, and thereby extracts all of the text extracted by the search condition formula analysis step. A text scanning step to match the search terms;
A search condition expression success / failure determination step of determining whether or not the search condition expression is successful for the text by comparing the search term, the user list, and the search term number count table checked in the text scanning step; Yes.
Further, a finite automaton is used as the multiple character string matching table.
Further, the search condition formula success / failure determination step refers to the user list, and calculates a search term collation number calculation step for 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 matching number calculation step is compared with the number of search terms stored in the search term count table, and if they match, the search including the search terms A search term number comparison step that assumes that the conditional expression is satisfied is provided.
[0012]
In addition, for text data of document information obtained from one or more information sources,
A search condition expression registration step for registering a search condition expression specified by one or more users including one or more search terms, and when the text is obtained, determining whether the search condition expression for the text is successful, In a document search / distribution method having a text search / distribution step for distributing the text to a user who satisfies the search condition formula, a distribution condition describing a text distribution condition designated by one or more users or a system administrator is provided. A distribution condition setting expression registration step for registering a distribution condition setting expression including
The text search distribution step includes a text search step of determining success or failure of the plurality of search condition expressions with respect to the text by scanning the text only once.
A text distribution control step of distributing the text to a user who has satisfied the search condition expression by the text search step when the distribution condition registered by the distribution condition setting expression registration step is satisfied. Yes.
Further, the distribution condition setting expression registration step includes a distribution condition setting expression analysis step for extracting a user identifier and distribution condition for which a distribution condition is to be set from the distribution condition setting expression;
A distribution condition management table creating step for 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 refers to a distribution condition success / failure determination step of determining success or failure of the distribution condition with reference to the distribution condition management table;
A text distribution step of distributing the text to the user when the distribution condition is determined to be satisfied by the distribution condition success / failure determination step is provided.
Further, as the distribution condition, the distribution time, the number of distributions, or the delay time from text search to distribution is used.
In addition, for text data of document information obtained from one or more information sources,
A search condition expression registration step for registering a search condition expression specified by one or more users including one or more search terms, and when the text is obtained, determining whether the search condition expression for the text is successful, In a document search / delivery method having a text search / distribution step for distributing the text to a user who has satisfied the search condition formula, when the deletion of the search condition formula is instructed, the search condition for deleting the search condition formula An expression deletion step is included.
Further, the search condition expression registration step includes a search condition expression analysis step for extracting all search terms from the search condition expression,
A search term count table creation step for 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 collation table generating step for generating a multiple character string collation table to be referred to when collating all the search terms extracted from the search condition expression by a single scan of the text;
A user list generation step of generating a user list in which user identifiers of users who have specified the search condition expression are connected as a list corresponding to each search term extracted from the search condition expression;
The search condition expression deletion step includes a search condition expression management table deletion step of deleting information related to the search condition expression instructed to be deleted from the search term count table and the user list.
Furthermore, the search condition formula registration step further includes a search term management table creation step for creating a search term management table storing the search terms extracted by the search condition formula analysis step,
The search condition expression management table deletion step refers to the search term management table, and determines a user identifier of a user who specified the search condition expression corresponding to the search term included in the search condition expression instructed to be deleted. A user list deletion step of deleting from the user list;
A search term count table deleting step for deleting, from the search term count table, user management information related to the search condition expression instructed to be deleted.
In addition, for text data of document information obtained from one or more information sources,
A search condition expression registration means for registering a search condition expression designated by one or more users including one or more search terms, and when the text is obtained, the success or failure of the search condition expression for the text is determined; In a document search / delivery device having a text search / distribution means for distributing the text to users who satisfy the search condition formula,
The text search / distribution means includes text search means for judging success or failure of the plurality of search condition expressions for the text by scanning the text only once.
Further, the search condition expression registering means is a search condition expression analyzing 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 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;
Multiple character string matching table generating means for generating a multiple character string matching table to be referred to when all the search terms extracted from the search condition expression are verified by a single scan of text;
User list generation means for generating a user list in which user identifiers of users who have specified the search condition formula are connected as a list corresponding to each search term extracted from the search condition formula,
The text search / distribution means scans the text with reference to the multiple character string matching table at the time of determination of success or failure of the search condition expression for the text, and thereby extracts all of the text extracted by the search condition expression analysis means. Text scanning means for matching search terms;
Search term expression success / failure judging means for judging success / failure of the search condition expression for the text by comparing the search term collated by the text scanning means, the user list, and the search term count table. Yes.
Further, a finite automaton is used as the multiple character string matching table.
Further, the search condition expression success / failure determining means refers to the user list, and a search term matching number calculating means for calculating the number of search terms checked by the text scanning means for each user,
The number of search terms calculated by the search term collation number calculating means is compared with the number of search terms stored in the search term count table, and if they match, the search including the search terms A search term number comparison means for assuming that the conditional expression is satisfied is provided.
[0013]
In addition, for text data of document information obtained from one or more information sources,
A search condition expression registration means for registering a search condition expression designated by one or more users including one or more search terms, and when the text is obtained, the success or failure of the search condition expression for the text is determined; In a document search / delivery device having a text search / distribution means for distributing the text to users who satisfy the search condition formula,
A distribution condition setting expression registration means for registering a distribution condition setting expression including a distribution condition describing a condition of text distribution specified by one or more users or a system administrator, wherein the text search distribution means Text search means for determining success or failure of the plurality of search condition expressions for the text by scanning only once;
A text distribution control unit that distributes the text to a user who has satisfied the search condition formula by the text search unit when the distribution condition registered by the distribution condition setting formula registration unit is satisfied. Yes.
Further, the distribution condition setting expression registration means extracts a distribution condition setting expression analysis means for extracting the identifier and distribution condition of a user who should set distribution conditions from the distribution condition setting expression,
A distribution condition management table creating means for 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 means;
The text distribution control means is a distribution condition success / failure determination means for referring to the distribution condition management table to determine whether or not the distribution condition is successful,
A text distribution unit is provided for distributing the text to the user when the distribution condition success / failure determination unit determines that the distribution condition is satisfied.
Further, as the distribution condition, the distribution time, the number of distributions, or the delay time from text search to distribution is used.
In addition, for text data of document information obtained from one or more information sources,
A search condition expression registration means for registering a search condition expression designated by one or more users including one or more search terms, and when the text is obtained, the success or failure of the search condition expression for the text is determined; In a document search / delivery device having a text search / distribution means for distributing the text to users who satisfy the search condition formula,
When deletion of the search condition formula is instructed, search condition formula deletion means for deleting the search condition formula is provided.
Further, the search condition expression registering means is a search condition expression analyzing 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 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;
Multiple character string matching table generating means for generating a multiple character string matching table to be referred to when all the search terms extracted from the search condition expression are verified by a single scan of text;
User list generation means for generating a user list in which user identifiers of users who have specified the search condition formula are connected as a list corresponding to each search term extracted from the search condition formula,
The search condition expression deletion means includes search condition expression management table deletion means for deleting information related to the search condition expression instructed to be deleted from the search term 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 deleting means refers to the search term management table, and determines a user identifier of a user who specified 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;
Search term count table deletion means for deleting user management information related to the search condition expression instructed to be deleted from the search term count table is provided.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
<< First Example >>
First, a schematic description of the first embodiment will be given with reference to FIG.
First, the search condition expression registration process will be described.
First, the search condition expression is analyzed, and the search terms included in the search condition expression are extracted. Then, the number of extracted search terms is stored in the search term count table by the search term count table creation processing.
For example, in FIG. 6, the search condition formula “User 1:“ Documents including “Document” and “Search” ”includes two search terms“ Document ”and“ Search ”. 2 is stored in a location corresponding to
Next, in the finite automaton creation process, a finite automaton that collates all the search terms extracted by the search condition formula 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: “Condition including“ search ”and“ registration ”” The state transition diagram of the finite automaton for collating the search terms “document”, “search”, “climbing”, and “registration” extracted from FIG. In this figure, for the sake of simplicity, the state transition is shown in units of 2 bytes (1 character).
Next, in the user list creation process, the identifiers of the users who specify the respective search terms are connected as a user list to the finite automaton. In FIG. 6, for example, when “search” is collated, the user list is referenced from
[0015]
Next, text search distribution processing that is text search and distribution processing will be described.
In this processing, first, text is scanned by text scanning processing, and search terms are collated.
For example, when text: “search 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. The In the finite automaton shown in this figure, a search term with “○” at the end indicates that a matching substring appears in the text, and a search term with “x” is Indicates that no matching substring appeared in the text.
In this example, since a partial character string that matches “document” and “search” appears in the text, “◯” is written in the
[0016]
Next, the number of search terms that match the partial character string in the text is counted for each user in the search term count processing.
For example, “document” and “search” match for
Finally, in the search condition expression check process, the number of search terms stored in the search term count table is compared with the search term appearance count calculated in the search term count process. The text is distributed to the user in the text distribution process.
For example, in FIG. 6, the
[0017]
As described above, in this embodiment, text is scanned using a finite automaton, and the number of search terms appearing as a partial character string that matches 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 search term count table, it is checked whether the search condition formula is satisfied.
As a result, it is possible to determine whether or not the search condition formulas of a plurality of users are satisfied by only scanning the text, and text search distribution with high immediacy can be realized.
[0018]
Hereinafter, a first embodiment of the present invention will be described in detail with reference to FIG.
A document retrieval / delivery system to which the present invention is applied includes a display 100, a
In addition, a
The
From this system, the text searched based on the search condition formula is distributed to the corresponding user using an electronic mail.
Hereinafter, in this embodiment, the
[0019]
The
The search
In this 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 shown in
The
The above programs can also be stored in a computer readable / writable storage medium such as a hard disk device (not shown in the figure) or a flexible disk (not shown in the figure).
[0020]
The
The search condition formula
As the
The
[0021]
Hereinafter, processing contents of the document search / delivery system in this embodiment will be described. First, processing contents of the
In the
In this iterative process, first, in
If a search condition expression has been sent, the search condition expression
Next, in
If text has been sent, the text
Next, in
[0022]
Next, the processing contents of search condition expression registration by the search condition expression
The search condition expression
In
In the search condition expression analysis processing, the search condition expression is expanded into one of the following formats. That is,
(A) Only single search terms
(B) a plurality of logical product conditions of (a),
(C) OR condition of plural (a) and plural (b)
It is. That is, the search condition formula is expanded so that the logical product condition is not applied 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 formula “Document” and “Search”
As such, it has the meaning of “Find a document in which both“ document ”and“ search ”strings appear.”
Search formula “document” or “search”
As described above, this means “search for a document in which either“ document ”or“ search ”appears.
The negative condition is, for example,
Search formula “¬“ Search ”
As such, it has the meaning of “Find a document where“ search ”does not appear”.
For example, if “A”, “B”, “C”, “D”, and “E” are search terms, they are expanded into the following formats, respectively.
(A) A
(B) AandBandCand ...
(C) (AandB) or Cor (DandE) or ...
For example, when the search condition formula is a logical product condition for the logical sum condition, that is, when the logical product condition is applied outside the logical sum condition, the search condition formula is expanded as shown in FIG. Transforms into
Here, a logical product condition or a single search term portion in the expansion result is called a term.
[0023]
Next, in
The search term count table 120 is a table that stores, for each search condition formula (that is, for each user), the number of search terms included in the search condition formula corresponding to a term.
FIG. 10 shows the structure.
The search term 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: Created for three search condition expressions "¬ (" Search "and" Learning ")".
First, a search condition expression negation flag is provided as the first element of the search term count table 120.
In this search condition expression negation flag, 1 is set when a negative condition is applied to the entire search condition expression, and 0 is set otherwise.
For example, in the case of the example shown in this figure, a negative condition is applied to the entire search condition expression for
For this search condition expression negation flag, the number of search terms included in the term is sequentially connected from the first term as a list.
For example, the number of search terms included in the first term of the search condition expression is stored in the second element of the list corresponding to the
Furthermore, 2 which is the number of search terms included in the second term is stored in the next element.
Each of the second and subsequent elements stores the number of search terms, and at the same time, an area is provided for 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, text search processing contents by the text
The text
First, the program starts the
Next, in
The processing contents of the
Next, in
The above is the text search processing content by the text
[0026]
Next, the processing contents of the search
As shown in FIG. 12, the search
As a method for creating the
Next, in
[0027]
FIG. 13 shows an example of the
The
In this figure, for the sake of simplicity, the state transition is shown in units of 2 bytes (one character).
The
Appearance flags are provided corresponding to the respective state numbers 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.
In addition, a pointer is provided at the end of the output table to point to the
Each element of the
For example, in this figure, the search term “document” exists in the terms No. 1 and No. 2 of the search condition expression of
[0028]
Next, processing contents of the
As shown in the figure, the
Next, in
For the search term matching processing by the
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 done by tracing the
Next, in
This is done by tracing the
[0029]
Next, in
Here, a search condition expression that satisfies either of the following two conditions can be regarded as being satisfied.
Condition (1): There is at least one item number in which the search condition expression negation flag is 0 (that is, no negative condition is applied to the search condition expression) and the number of search terms matches.
Condition (2): The search condition expression negative 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]
Determination of success or failure of this search condition formula will be described with reference to FIG.
In the present invention, as shown in the figure, the search condition expression designated by the
The fact that terms are connected by a logical sum condition means that if any one of those terms is satisfied, the entire search condition formula is satisfied.
Here, the term is a single search term or a logical product 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 count stored in the search term count table 120 and the search
As a result, a search condition expression constituted by a logical OR condition of terms is also established.
Thus, if the above condition (1) is satisfied, it can be considered that the search condition formula 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 obtained by taking the negative condition from the search condition expression is satisfied, the original search condition expression applied with the negative condition is not satisfied, and If the search condition formula taking the negative condition is not satisfied, the original search condition formula having the negative condition is satisfied.
If there is no term in which the number of search terms stored in the search term count table 120 in advance matches the search term appearance count calculated by the search
Thus, if the above condition (2) is satisfied, the search condition formula can be regarded as being satisfied.
Since it can be considered that the search condition expression satisfying 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]
The processing procedure of the search condition expression
First, the processing of the search condition
The search condition
For example, “Document” and (“Search” or “Search”), ie, “Documents that include“ Document ”and include“ Search ”or“ Search ””, ”is the number of expansion results of the search condition expression of
[0033]
[Expression 1]
[Expression 2]
[Equation 3]
As a result, a search condition expression in which no logical product condition is applied outside the logical sum condition, that is, “(“ document ”and“ search ”) or (“ document ”and“ search ”)”, ““ character ”and ¬ "Recognition" and ¬ "Learning", "¬ (" Search "and" Learning ")" are obtained.
Table 1 summarizes the search terms included in these search condition formulas from the viewpoint of user numbers and item numbers.
[0034]
[Table 1]
Here, “¬” is given before the user number that a negative condition is applied to the entire search condition expression, and “¬” is given before the search term is a negative condition for the search term. Indicates that it will be applied.
For example,
[0035]
Next, the processing of the search term count
This program creates a search term count table 120 based on the analysis result by the search condition
The search term 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 negative flag is set to 1 if a negative condition is applied to the entire search condition expression, and 0 otherwise.
[0036]
Finally, the processing of the search
The processing contents of this program are shown in FIG. As shown in FIG. 1, this program includes a finite
Hereinafter, it demonstrates in order.
[0037]
The finite
For example, in the case of the number (1), the number (2), the number (3) and the example shown in Table 1, “document”, “search”, “search”, “character” from the analysis result of the search condition
When a
However, here, for the sake of simplicity, the state transition is shown in units of one character, that is, 2 bytes.
[0038]
In the user
The method for creating the
FIG. 15 shows a
For example, the search term “learning” is included in the term of
The
The above is the detailed procedure for registering the search condition formula in the search condition formula
[0039]
The processing procedure of the text
First, the processing of the
The
In this program, the text distributed by electronic mail is stored in the
The following description will be given on the assumption that the text “analyze the retrieved document format and recognize the character string portion” is stored in the
[0040]
Processing of the
The processing contents of this program are shown in FIG.
As shown in FIG. 1, this program includes a
Hereinafter, it demonstrates in order.
First, initialization is performed before the
Here, as shown in FIGS. 10 and 15, the search term appearance count area in the search term count table 120 and the appearance flag in 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, when the text “analyze the format of the retrieved document and recognize the character string portion” is scanned as shown in FIG. 16, first, “search” appears in the text.
[0042]
Therefore, the appearance flag corresponding to “search” is set to 1.
Hereinafter, since “document”, “character”, and “recognition” appear in this order, the appearance flags corresponding to those search terms are set to 1.
For the search terms “search” and “learn”, no matching partial character string appears in the text, so the appearance flags corresponding to those search terms remain 0.
[0043]
The search
Here, a search corresponding to a user number and an item number in which a matching partial character string appears in the text, that is, the appearance flag is 1, and the search term is not negative, that is, the search term negative flag is 0 The search term count area for the search term in the term count table 120 is incremented 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, a search term in which no matching partial character string appears in the text is counted.
Here, the corresponding partial character string does not appear in the text, that is, the appearance flag is 0, and the search term is negative, that is, the search term negative flag is 1, corresponding to the user number and item number. The search term count area for the search term in the search term count table 120 is incremented 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 the search condition expression satisfying either of the following two conditions can be regarded as being satisfied, the number of the user who specified the search condition expression is output. Condition (1): The search condition expression negation flag is 0, that is, the search condition expression is not subjected to a negative condition, and there is at least one item number with the same number of search terms.
Condition (2): The search condition expression negative 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 the example of FIG. 19, the search condition expression negative flag corresponding to the
Further, since the search condition expression negative flag corresponding to the
However, in
Therefore, since it can be considered that the search condition formulas for 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 text.
FIG. 20 shows an example of the processing result of this program.
In this figure, “To:”, “Subject:” and
Each line of “From:” is added.
An address to which the text is distributed, for example, an e-mail destination address is added to the “To:” line.
In FIG. 20, “
Information that can be easily identified by the user is added to the “Subject:” line.
In this figure, the first few characters of the text to be distributed are extracted and described, but 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, “document search and delivery system”, which is the name of the system that distributes text, is described.
The above is 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 electronic mail with reference to the header added by the
For example, in the example of FIG. 20, a portion corresponding to the “To:” line of the header is referred to, and the text with the header added is sent to the destination described there.
In this figure, since “
[0047]
As described above, according to the present invention, when registering a search condition expression for a plurality of users, the identification information of the user who specified the search terms included in those search condition expressions and the search condition expression specified by the user The number of search terms included in the search term is stored, and when searching for text, the number of search terms for which a matching partial character string appears in the text and the number of search terms stored for each user are stored. Since it is possible to determine whether or not all search condition expressions are satisfied by comparing, it is possible to determine the success or failure of the search condition expressions for all users by a single text scan. Processing can be performed at once.
As a result, the text obtained from a plurality of information sources is determined based on a search condition formula registered in advance by the user, and whether or not the search condition formula for the plurality of users is satisfied by a single scan of the text, It is possible to realize a highly immediate document search / delivery system that can immediately distribute the text to users who satisfy the conditions.
In addition, since this document retrieval / delivery system has high immediacy, the time from when the user notifies the system of the retrieval condition expression until the retrieved text is delivered is short. It is possible to determine whether it is applied.
[0048]
<< Second Example >>
Next, a second embodiment of the present invention will be described.
In the document retrieval and delivery system shown in this embodiment, by managing the distribution conditions for each user, the text is distributed according to the user's wishes, such as distributing text to a certain extent or distributing it at a fixed time. Is possible.
When used as a commercial system, it is also possible to distribute 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 the configuration in the
The configuration in the
As shown in FIG. 21, a distribution management table 2108 is secured in the
Also, the distribution
This
As the
The above programs can also be stored in a storage medium that can be read and written by a computer, such as a hard disk device or a flexible disk.
[0050]
The system control program 105a is activated in response to an instruction from the
The distribution condition
Hereinafter, processing contents of the document search / delivery system in this 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 process, first, in
If distribution conditions have been sent, the distribution condition
Next, in
If a search condition formula has been sent, the search condition formula
Next, in step 2205, it is checked whether or not text has been sent from the
If text has been sent, the text
Finally, in
The above is the processing content of the system control program 105a.
[0052]
The processing contents of the distribution condition
First, the contents of the distribution condition registration process performed by the distribution condition
The distribution condition
In
In the distribution condition analysis process, the following information is extracted from the distribution condition.
(A) User identifier for setting distribution conditions
(B) Distribution condition format
(C) Distribution condition settings
As the format of the distribution condition (B), the distribution condition type such as “distribution time”, “number of distributions”, “delay time” is extracted.
The value extracted as the setting value of the distribution condition in (C) is, for example, the distribution time if (B) is “distribution time”, the distribution number if “distribution number”, and the actual distribution after searching if “delay time”. Is the elapsed time until.
For example,
User number 1: Distribution time (18:00)
When a distribution condition that means “distribute to
User number 2: Number of distributions (5)
When a distribution condition that means “distribute when 5 items are collected for
User number 3: delay time (01:30)
When a distribution condition that means “distributed with a delay of 1 hour 30 minutes” is sent, “
Finally, in
FIG. 24 shows an example of the distribution management table 2108.
The distribution management table 2108 stores the distribution condition format and setting value extracted by the distribution
[0053]
Next, text search processing contents by the text
The text
Of the processing contents of this program shown in FIG. 25, the processing contents of the
In
In
At this time, the number of stored text numbers is stored when the format of the distribution condition is “number of distributions”, and the current time is stored when the format is “delay time”. In the case of “distribution time”, nothing needs to be stored.
Thereafter, the text formed by the
[0054]
Finally, processing contents of text distribution by the text
The text
In
[0055]
The detailed processing contents of the
In
In this repetitive processing, first, 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 setting value of the distribution condition matches the current time, or the current time exceeds the setting value of the distribution condition.
Condition (2): The format of the distribution condition is “number of distributions”, and the setting value of the distribution condition matches the number of cases stored in the distribution condition check area.
Condition (3): The distribution condition format 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 distribution condition The elapsed time exceeds the set value.
If the above condition is satisfied, it is determined in
Finally, in
This is realized by NULL clearing the distribution condition check area 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]
The processing procedure of the distribution condition
First, the processing of the distribution
The distribution
This program analyzes the distribution condition 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 “user number 1: distribution time (18:00)”, the analysis result is 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, processing of the distribution
The distribution
This program creates a distribution management table 2108 based on the analysis result by the distribution
An example of the created distribution management table 2108 is shown in FIG.
In this table, the format and setting value of the distribution condition are stored corresponding to each user number 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]
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 detailed processing contents of the distribution
The distribution
In
FIG. 29 shows an example of processing contents of this program.
This figure is an example when the search condition expressions of
Therefore, the text number “59” is stored in a location corresponding to
Next, the distribution
At this time, the number of stored text numbers is stored when the format of the distribution condition is “number of distributions”, and the current time is stored when the format is “delay time”. In the case of “distribution time”, nothing needs to be stored.
In the example of FIG. 29, the format of the distribution condition for
Finally, the distribution
[0059]
Finally, the processing of the
The detailed processing contents of the
First, in
In this iterative process, first, in
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 setting value of the distribution condition matches the current time, or the current time exceeds the setting value of the distribution condition.
Condition (2): The format of the distribution condition is “number of distributions”, and the setting value of the distribution condition matches the number of cases stored in the distribution condition check area.
Condition (3): The distribution condition format 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 distribution condition The elapsed time exceeds the set value.
[0060]
The format of the distribution condition for
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 for
Next, in
[0062]
The format of the distribution condition for
In the drawing, since the
Next, in
FIG. 30 shows the distribution management table 2108 when all the repetition processes are completed.
Since text distribution processing has been performed for
[0063]
As described above, according to the present invention, the distribution condition is set for each user, and the text satisfying the search condition formula is distributed according to the distribution condition. Text can be distributed according to the user's wishes, such as distribution on time.
When used as a commercial system, it is also possible to distribute text with a time delay according to the contract conditions of the user.
As a result, the text obtained from a plurality of information sources is determined based on a search condition formula registered in advance by the user, and whether or not the search condition formula for the plurality of users is satisfied by a single scan of the text, 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 / delivery system shown in the present embodiment, search terms included in the search condition formula designated by each user are managed for each user, and the search is managed when the user is instructed to delete the search condition formula. Previous information can be easily deleted from the user list by searching for a finite automaton by term and changing the pointer of the user list.
According to this embodiment, even when there is an instruction to change the search condition formula by the user, it can be easily changed.
This embodiment has basically the same configuration as the first embodiment (FIG. 1), but the configuration in the
The configuration in the
As shown in FIG. 31, a search term management table 3106 is secured in the
Further, a user
The user
The above programs can also be stored in a storage medium that can be read and written by a computer, such as a hard disk device or a flexible disk.
[0065]
The
The search condition expression
[0066]
Hereinafter, processing contents of the document search / delivery system in this embodiment will be described. First, the processing contents of the
In the
In this iterative process, first, in
If a search condition expression deletion instruction has been sent, the search condition expression
Next, in
If a search condition formula has been sent, the search condition formula
Next, in
If text has been sent, the text
Next, in
The above is the processing content of the
[0067]
The processing contents of the search condition expression
First, the contents of search condition expression deletion processing by the search condition expression
The search condition expression
In
In
[0068]
The detailed processing contents of the user
First, the program repeats the following steps for the number of search terms stored in the search term management table 3106 in
In the iterative process, first, in step 3401, the finite
Finally, in
The above is the processing content of the search condition expression deletion by the search condition expression
[0069]
Next, the contents of the search condition expression registration process 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
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 expression ““ character ”and ¬ (“ recognition ”or“ learning ”) of the
The above is the embodiment of the document search method of the present invention.
[0070]
The processing procedure of the search condition expression
First, the processing of the user
The user
In
In step 3401, the finite
In
[0071]
A processing example of the user
This figure shows an example in which the search condition formula of
The search term management table 3106 stores “character”, “recognition”, and “learning”, and these search terms are repeatedly processed.
In the repetitive processing, in step 3401, the
In
In this figure, the user number “2” in the
[0072]
Next, processing of the search term count
The search term count
In this program, the search term count table 120 corresponding to the user number designated to delete the search condition formula 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 for deleting the search condition formula in the search condition formula
[0073]
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
The detailed processing contents of the search term management
The search term management
In this program, the search terms included in the search condition formula obtained as an analysis result by the search condition
[0074]
A processing example of this program is shown in FIG.
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 figure, “structure” and “recognition” are stored at a location corresponding to the
The above is the detailed procedure for registering the search condition formula in the search condition formula
[0075]
As described above, according to the present invention, the search terms included in the search condition formula designated by each user are managed for each user, and are managed when the user instructs to delete the search condition formula. By searching for a finite automaton using a search term and changing the pointer of the user list, previous information can be easily deleted from the user list.
As a result, the text obtained from a plurality of information sources is determined based on a search condition formula registered in advance by the user, and whether or not the search condition formula for the plurality of users is satisfied by a single scan of the text, In the document search / delivery system that immediately distributes the text to the user who satisfies the condition, it is possible to realize a document search / delivery system that can change the search condition formula at any time according to the user's request.
In this embodiment, the case where the search condition expression deletion instruction and the registration instruction are sent separately has been described. However, the search condition expression deletion instruction and the registration instruction are sent simultaneously, that is, an update instruction is sent. It will be clear that the deletion process and the registration process can be dealt with continuously.
Further, although this embodiment is obtained by adding a search condition expression deletion process to the first embodiment, it will be apparent that the present embodiment can also 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 formulas is large, it is possible to determine whether or not all the search condition formulas are satisfied by only one text scan. A text search can be realized.
As a result, even when the number of users increases, it is possible to provide a document search and delivery system that can perform high-speed real-time text search and distribution that does not depend on the number of users.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a finite automaton in the
FIG. 3 is a diagram showing a configuration of a fail destination state number table in the
FIG. 4 is a diagram showing a configuration of an output table in the
FIG. 5 is a diagram showing an example of a finite automaton for Japanese text in
FIG. 6 is a diagram showing a schematic processing content of the present invention.
7 is a PAD showing the processing contents of a
8 is a PAD showing the processing contents of a search condition expression
FIG. 9 is a diagram for explaining a search condition expression analysis method;
FIG. 10 is a diagram for explaining a method for creating a search term count table 120;
11 is a PAD showing the processing contents of a text
12 is a PAD showing the processing contents of a search
13 is a diagram for explaining a method of creating a
14 is a PAD showing the processing contents of a
FIG. 15 is a diagram for explaining a
FIG. 16 is a diagram for explaining text scanning processing;
FIG. 17 is a diagram for explaining a search term counting process in which a matching partial character string appears in text.
FIG. 18 is a diagram for explaining a search term counting process in which a matching partial character string does not appear in text.
FIG. 19 is a diagram for explaining search condition expression validation checking processing;
FIG. 20 is a diagram for explaining text forming processing;
FIG. 21 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 22 is a PAD showing the processing contents of the system control program 105a.
23 is a PAD showing the processing contents of a distribution condition
24 is a diagram showing a configuration of a distribution management table 2108. FIG.
FIG. 25 is a PAD showing the processing contents of the 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 for explaining distribution condition registration processing;
FIG. 29 is a diagram for explaining distribution information storage processing;
FIG. 30 is a diagram for explaining distribution condition check processing and distribution information correction processing;
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 showing the processing contents of a search condition expression
34 is a PAD showing the processing contents of a user
FIG. 35 is a PAD showing the processing contents of a search condition expression
FIG. 36 is a diagram showing the structure of a search term management table 3106;
FIG. 37 is a diagram for explaining user list correction processing;
FIG. 38 is a diagram for explaining search term count table correction processing;
FIG. 39 is a diagram for explaining search term management table creation processing;
[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 formula analysis program
108 Search term 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 scanning program
116 Search term count program
117 Search Condition Formula Check Program
118 Text shaping program
119 E-mail program
120 Search term count table
121 limited automata
122 User list
123 work area
124 LAN
125 News distributor
126 User of document retrieval and delivery system
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 correction 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 part deletion program
3104 Search term count table correction program
3105 Search term management table creation program
3106 Search term management table
Claims (3)
1個以上の検索タームを含む1人以上のユーザが指定した検索条件式を登録する検索条件式登録手段と、
テキストを入手した際に、該テキストに対する前記検索条件式の成否を判断し、該検索条件式が成立したユーザに対して、該テキストを配布するテキスト検索配布手段と、
前記検索条件式の削除が指示された場合には該検索条件式を削除する検索条件式削除手段を有し、
前記検索条件式登録手段は、
前記検索条件式から全ての検索タームを抽出する検索条件式解析手段と、
ユーザ毎にユーザと該ユーザの検索条件式から抽出された全ての検索タームの数を含む管理情報を格納する検索ターム数カウントテーブルを作成する検索ターム数カウントテーブル作成手段と、
前記検索条件式から抽出した全ての検索タームを、テキストのただ一度の走査により照合する際に参照する多重文字列照合テーブルを生成する多重文字列照合テーブル生成手段と、
検索条件式から抽出された各検索ターム対応に該検索条件式を指定したユーザのユーザ識別子をリストとしてつないだユーザリストを生成するユーザリスト生成手段と、
前記検索条件式解析手段により抽出された検索タームを格納した検索ターム管理テーブルを作成する検索ターム管理テーブル作成手段を有し、
前記検索条件式削除手段は、
削除が指示された前記検索条件式に関連する情報を前記検索ターム数カウントテーブルおよび前記ユーザリストから削除する検索条件式管理テーブル削除手段を有し、
該検索条件式管理テーブル削除手段は、
前記検索ターム管理テーブルを参照して、削除が指示された前記検索条件式に含まれる前記検索タームに対応する該検索条件式を指定したユーザのユーザ識別子を前記ユーザリストから削除するユーザリスト削除手段と、
削除が指示された前記検索条件式に関連するユーザの管理情報を、前記検索ターム数カウントテーブルから削除する検索ターム数カウントテーブル削除手段を有することを特徴とする文書検索配送装置。In a document retrieval / delivery device for delivering a document retrieved from 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;
Text search distribution means for determining success or failure of the search condition formula for the text when the text is obtained, and distributing the text to a user who satisfies the search condition formula;
A search condition expression deleting means for deleting the search condition expression when an instruction to delete the search condition expression is given ;
The search condition expression registration means includes:
Search condition expression analyzing 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 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;
Multiple character string matching table generating means for generating a multiple character string matching table to be referred to when all the search terms extracted from the search condition expression are verified by a single scan of text;
User list generation means for generating a user list in which user identifiers of users who have specified the search condition expression are connected as a list in correspondence with each search term extracted from the search condition expression;
A search term management table creating means for creating a search term management table storing the search terms extracted by the search condition expression analyzing means;
The search condition expression deleting means is:
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 count table and the user list;
The search condition expression management table deleting means includes:
User list deletion means for deleting from the user list a user identifier of a user who specified the search condition expression corresponding to the search term included in the search condition expression instructed to be deleted with reference to the search term management table When,
A document search / delivery device , comprising: a search term count table deleting means for deleting user management information related to the search condition expression instructed to be deleted from the search term count table .
検索条件式の削除指示と登録指示を含む検索条件式の更新指示を受けた場合、前記検索条件式削除手段による検索条件式の削除処理と前記検索条件式登録手段による検索条件式の登録処理を連続して行うことを特徴とする文書検索配送装置。The document search / delivery apparatus according to claim 1 ,
When a search condition expression update instruction including a search condition expression deletion instruction and a registration instruction is received, a search condition expression deletion process by the search condition expression deletion means and a search condition expression registration process by the search condition expression registration means are performed. A document retrieval and delivery apparatus characterized by being performed continuously.
ユーザから入力された、検索されたテキストを一定時間おいてから配布する配布条件、あるいは検索されたテキストが所定の件数蓄積された時点でテキストを配布する配布条件、あるいは所定の時刻にそれまでに検索されたテキストを一括配布する配布条件を登録する配布条件登録手段を有し、
前記テキスト検索配布手段は、
前記テキストをただ一度走査することによって前記検索条件式の該テキストに対する成否を判断するテキスト走査手段と、
前記テキスト走査手段によって前記検索条件式が成立したユーザに対して、前記配布条件登録手段によって登録された前記配布条件が成立した時点で前記テキストを配布するテキスト配布制御手段を有することを特徴とする文書検索配送装置。The document search / delivery device according to claim 1 or 2,
Distribution conditions for distributing searched text entered by a user after a certain period of time, distribution conditions for distributing text when a predetermined number of searched texts are accumulated, or by a predetermined time It has a distribution condition registration means for registering distribution conditions for batch distribution of searched texts,
The text search distribution means includes:
Text scanning means for determining success or failure of the search condition formula for the text by scanning the text only once;
A text distribution control unit that distributes the text to the user who has satisfied the search condition expression by the text scanning unit when the distribution condition registered by the distribution condition registration unit is satisfied. Document retrieval and delivery device.
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 JP2004030682A (en) | 2004-01-29 |
JP2004030682A5 JP2004030682A5 (en) | 2005-01-06 |
JP3619825B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5408697B2 (en) * | 2008-10-30 | 2014-02-05 | Kddi株式会社 | Content delivery method and system |
JP5293301B2 (en) * | 2009-03-16 | 2013-09-18 | 富士通株式会社 | SEARCH DEVICE, SEARCH METHOD, AND STORAGE MEDIUM |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3413866B2 (en) * | 1992-03-19 | 2003-06-09 | 株式会社日立製作所 | Information retrieval device |
JP3343989B2 (en) * | 1993-05-17 | 2002-11-11 | 株式会社日立製作所 | Document search 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
Also Published As
Publication number | Publication date |
---|---|
JP2004030682A (en) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4153989B2 (en) | Document retrieval and delivery method and apparatus | |
JP3870666B2 (en) | Document retrieval method and apparatus, and recording medium recording the processing program | |
JP4919515B2 (en) | Duplicate document detection and display function | |
US8335779B2 (en) | Method and apparatus for gathering, categorizing and parameterizing data | |
US7496581B2 (en) | Information search system, information search method, HTML document structure analyzing method, and program product | |
JP3566111B2 (en) | Symbol dictionary creation method and symbol dictionary search method | |
CN110147433B (en) | Text template extraction method based on dictionary tree | |
JP2006004417A (en) | Method and device for recognizing specific type of information file | |
WO2009063925A1 (en) | Document management & retrieval system and document management & retrieval method | |
JPH11242676A (en) | Method for registering structured document, method for retrieving structured document, and portable medium used in these methods | |
JPH1153384A (en) | Device and method for keyword extraction and computer readable storage medium storing keyword extraction program | |
US6968331B2 (en) | Method and system for improving data quality in large hyperlinked text databases using pagelets and templates | |
CN109165373A (en) | A kind of data processing method and device | |
JP3619825B2 (en) | Document retrieval and delivery method and apparatus | |
JP2003196294A (en) | Knowledge analyzing system and method | |
US20050154703A1 (en) | Information partitioning apparatus, information partitioning method and information partitioning program | |
JP2002305553A (en) | System, method and program for notifying electronic mail arrival and medium having its program recorded thereon | |
JPH1145257A (en) | Web document retrieval supporting device and computer readable recording medium recorded with program for functioning computer as the device | |
CN107169065B (en) | Method and device for removing specific content | |
JP3081093B2 (en) | Index creation method and apparatus and document search apparatus | |
JP2002049632A (en) | Summary system, its summary method and recording medium recording summary program | |
JP2009098931A (en) | System for calculating relevance between keywords, and method for calculating relevance | |
Van et al. | Identification of paths and parameters in RESTful URLs for the detection of web Attacks | |
JP3156613B2 (en) | Document editing method | |
JP2004234582A (en) | Dictionary construction method, system, and screen |
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 |