JP4942350B2 - Search client - Google Patents
Search client Download PDFInfo
- Publication number
- JP4942350B2 JP4942350B2 JP2006017796A JP2006017796A JP4942350B2 JP 4942350 B2 JP4942350 B2 JP 4942350B2 JP 2006017796 A JP2006017796 A JP 2006017796A JP 2006017796 A JP2006017796 A JP 2006017796A JP 4942350 B2 JP4942350 B2 JP 4942350B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- character string
- dictionary
- standard
- search command
- 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
本発明は検索技術に係り、より詳細にサーバークライアント型の索引を利用する検索クライアントに関する。 The present invention relates to a search technique, and more particularly to a search client that uses a server client type index.
大量の文書中から所望の情報を得るための技術に、検索技術がある。この検索技術は、ユーザに示された文字列あるいは単語を、文書中の文字列あるいは単語と比較し、完全に一致した文書あるいは一致の度合いが高い文書をユーザに提示するものである。 There is a search technique as a technique for obtaining desired information from a large amount of documents. This search technique compares a character string or word shown to a user with a character string or word in a document, and presents a completely matched document or a document with a high degree of matching to the user.
検索技術において、検索処理速度に影響を与えるものが索引の存在の有無である。索引とは、ある特定の情報を検索するために、その情報を示す語句または記号等を一定の順次に配列し、その情報の所在を指示するものである。 In search technology, the presence or absence of an index affects the search processing speed. In order to search for specific information, the index is an arrangement of words or symbols indicating the information in a certain sequential order to indicate the location of the information.
例えば単語Aを含む文書を検索する場合、索引が予め作成されていれば、索引において単語Aを調べればよいが、索引が作成されていない場合、すべての文書について単語Aの存在を調べる必要があり、時間がかかる。 For example, when searching for a document including the word A, if the index is created in advance, the word A may be checked in the index. However, if the index is not created, it is necessary to check the existence of the word A for all documents. Yes, it takes time.
このため、高速で同時に複数の検索処理を行うサーバークライアント型の検索システムでは、一般に索引を保持している。 For this reason, an index is generally held in a server client type search system that performs a plurality of search processes simultaneously at high speed.
一方、日本語に限らず、自然言語では表記の揺れや同義語が存在する。表記の揺れについては、大文字/小文字、半角/全角などの文字単位で現れるもの、英語の単数型/複数型などのように、単語単位で文法的に現れるもの、片仮名、外来語の揺れのように単語単位で不規則に現れるものがある。そして同義語については、「電子計算機」と「コンピュータ」のように意味は同じだが表記がまったく異なるものがある。これらの表記の揺れや同義語は、検索漏れを引き起こす原因であり、検索に悪影響を及ぼす。 On the other hand, not only in Japanese but also in natural language, there are notation fluctuations and synonyms. As for the shaking of the notation, it appears in character units such as uppercase / lowercase letters, half-width / full-width, English singular / plural types, etc., which appears grammatically in units of words, katakana, foreign words Some words appear irregularly on a word basis. As for synonyms, there are things like "electronic computer" and "computer" that have the same meaning but different notations. These wobbles and synonyms are the cause of search omission and adversely affect the search.
例えば、索引を有する検索システムにおいて、検索対象である検索語を「computer」として、索引検索を行ったとき、頭文字が大文字の「Computer」ではヒットしない。また、検索語を「コンピューター」とした場合、「コンピュータ」はヒットしない。 For example, in a search system having an index, when an index search is performed with a search word to be searched as “computer”, the initial letter “Computer” does not hit. If the search term is “computer”, “computer” will not be hit.
このため、多くの場合において、索引の作成時に正規化処理を施し、このような検索漏れを少なくしている。 For this reason, in many cases, normalization processing is performed at the time of creating an index to reduce such a search omission.
このように正規化された索引を有する文書群は、高速に漏れの少ない検索を行うことが可能であるが、その反面、正規化処理の方法に変更が生じた場合、索引を作り直さなくてはならない、という問題点がある。また、一度正規化処理を施して作成された索引は、ユーザ固有の特性を反映させることができず、利便性が悪い、等の問題点がある。 A document group having a normalized index as described above can be searched at a high speed with few leaks. On the other hand, if a change occurs in the normalization processing method, the index must be recreated. There is a problem of not becoming. In addition, an index that has been created once after normalization cannot reflect user-specific characteristics and is not convenient.
このような問題点を解決する方法として、正規化処理を行わず、検索時にすべての検索語を可能なバリエーションに展開する方法が挙げられるが、この方法の場合、展開した結果の語群が膨大になる可能性があり、処理速度が要求される場合には適切ではない。 As a method for solving such problems, there is a method in which normalization processing is not performed and all search terms are expanded into possible variations at the time of search. In this method, the expanded word group is enormous. This is not appropriate when processing speed is required.
検索技術に関する従来文献として、例えば、次の文献があげられる。 For example, the following documents can be cited as conventional documents related to search technology.
特開2001−236358号公報(特許文献1)には、ユーザのニーズに応じて検索語および索引語に関し正規化レベルを指定できる方法と検索語の関連表記への展開を指定できる方法とを具備することにより、検索精度と検索効率および再現率と適合率とのトレードオフを実現することが可能な文書検索方法および装置が開示されている。 Japanese Patent Laid-Open No. 2001-236358 (Patent Document 1) includes a method that can specify a normalization level for a search word and an index word and a method that can specify expansion of the search word to related notations according to the user's needs. Thus, a document search method and apparatus capable of realizing a trade-off between search accuracy, search efficiency, reproduction rate, and relevance rate are disclosed.
特開2002−230021号公報(特許文献2)には、ベクトル空間モデルを応用した類似文書検索において共起情報に従って検索クエリを解析し多義解消することによりユーザの意図に沿った検索精度の高い情報検索を行うことが可能な情報検索措装置及び情報検索方法並びに記憶媒体が開示されている。
しかしながら、特許文献1に開示された発明では、ユーザ固有の特性を反映させることができず、特許文献2に開示された発明では、検索処理速度を上げることができないという問題点がある。
However, the invention disclosed in
本発明は、このような問題点を鑑みて、これらを解決すべくなされたものであり、高精度の検索処理を高速で実行させ、かつユーザ固有の特性を反映させることが可能な検索クライアントを提供することを目的とするものである。 The present invention has been made in order to solve these problems, and a search client capable of executing high-precision search processing at high speed and reflecting user-specific characteristics is provided. It is intended to provide.
上記目的を達成するために、本発明の画像形成装置は次の如き構成を採用した。 In order to achieve the above object, the image forming apparatus of the present invention employs the following configuration.
検索クライアントは、言語を解析する際の基本的な単語データおよびその正規化結果を集めた標準辞書を用いて正規化された文字列により生成された標準索引と、検索要求に含まれる検索文字列に対し、文字単位の正規化処理を施すための文字正規化辞書を用いて正規化された文字列により生成された文字単位正規化索引と、を有する検索サーバにアクセスして検索を行う検索クライアントにおいて、前記検索クライアントは、ユーザ固有の言葉を追加登録することが可能であり各個人ごとの特別な単語データを集めた編集可能なユーザ辞書と、前記標準辞書と、前記文字正規化辞書と、検索コマンドを生成する検索コマンド生成手段とを有し、前記検索コマンド生成手段は、前記検索文字列を前記標準辞書と前記ユーザ辞書においてそれぞれ独立に検索し、前記標準辞書における検索結果の文字列を代表語とする文字列の集合である標準検索結果集合と、前記ユーザ辞書における検索結果の文字列を代表語とする文字列の集合であるユーザ検索結果集合とを抽出し、前記標準検索結果集合の要素と、前記ユーザ検索結果集合の要素とに対して論理演算処理を行って検索コマンドを生成し、前記検索コマンドを前記検索サーバへ送信する構成とすることができる。 Search client, and the standard index generated by normalized string using basic words data and a standard dictionary that the regularization result when parsing language, search characters included in the search request A search for accessing a search server having a character unit normalization index generated by a character string normalized using a character normalization dictionary for performing character unit normalization processing on the column, and performing a search In the client, the search client is capable of additionally registering user-specific words, an editable user dictionary collecting special word data for each individual, the standard dictionary, the character normalization dictionary, Search command generation means for generating a search command, wherein the search command generation means stores the search character string in the standard dictionary and the user dictionary, respectively. Independent search, a standard search result set that is a set of character strings whose representative words are the character strings of search results in the standard dictionary, and a set of character strings whose representative words are the character strings of search results in the user dictionary A user search result set is extracted, a logical operation process is performed on the elements of the standard search result set and the elements of the user search result set to generate a search command, and the search command is sent to the search server It can be set as the structure which transmits.
これにより、検索処理速度の低下を抑えつつ、ユーザ固有の特性を反映させ、かつ検索漏れを減少させ、より高い精度の検索処理を実行させることが可能な検索クライアントを提供することができる。 As a result, it is possible to provide a search client that can suppress a decrease in search processing speed, reflect user-specific characteristics, reduce search omissions, and execute search processing with higher accuracy.
また、検索クライアントは、さらに、前記検索コマンド生成手段は、前記標準検索結果集合に含まれ前記ユーザ検索結果集合に含まれない第一の文字列集合と、前記ユーザ検索結果集合に含まれ前記標準検索結果集合に含まれない第二の文字列集合と、を抽出し、前記第一の文字列集合と前記第二の文字列集合とに論理演算処理を行って前記検索コマンドを生成する構成とすることができる。 Also, search client, further the search command generating means, said a standard search results in the set the user search results are not included in the set first set of character strings is included in the user search result set the A configuration in which a second character string set not included in the standard search result set is extracted, and a logical operation process is performed on the first character string set and the second character string set to generate the search command It can be.
これにより、ユーザ固有の特性を反映させた検索処理を実行させることが可能な検索クライアントを提供することができる。 Accordingly, it is possible to provide a search client that can execute a search process that reflects user-specific characteristics.
また、上記目的を達成するために、本発明の検索クライアントは、言語を解析する際の基本的な単語データおよびその正規化結果を集めたn個の標準辞書を用いて正規化された文字列により生成された、前記n個の標準辞書に対応したn個の標準索引と、検索要求に含まれる検索文字列に対し、文字単位の正規化処理を施すための文字正規化辞書を用いて正規化された文字列により生成された文字単位正規化索引と、を有する検索サーバにアクセスして検索を行う検索クライアントにおいて、前記検索クライアントは、ユーザ固有の言葉を追加登録することが可能であり各個人ごとの特別な単語データを集めた編集可能なユーザ辞書と、前記n個の標準辞書と、前記文字正規化辞書と、検索コマンドを生成する検索コマンド生成手段と、前記検索コマンドに含まれる論理演算の演算回数を検出する演算回数検出手段と、を有し、前記検索コマンド生成手段は、前記検索文字列を前記n個の標準辞書のうち一の標準辞書と前記ユーザ辞書においてそれぞれ独立に検索し、前記一の標準辞書の検索結果の文字列を代表語とする文字列の集合である集合Xiと、前記ユーザ辞書における検索結果の文字列を代表語とする文字列の集合である集合Yiとを抽出し、前記集合Xiの要素を検索文字列として前記一の標準辞書と対応した前記標準索引を検索させた結果の第一の集合と、前記集合Xiに含まれ前記集合Yiに含まれない集合SUBiを構成する各要素で前記文字単位正規化索引を検索させた結果の集合と、前記集合Yiに含まれ前記集合Xiに含まれない集合ADDiを構成する各要素で前記文字単位正規化索引を検索させた結果の集合との論理和をとった結果の第二の集合と、の論理積に含まれない前記第一の集合を抽出する論理演算を含む検索コマンドを生成し、当該検索クライアントは、前記検索コマンド生成手段において、前記n個の各々の標準辞書に対応して生成された検索コマンドのうち、前記演算回数検出手段により検出された前記論理演算の演算回数が最も少ない検索コマンドを前記検索サーバへ送信する構成とすることができる。 In order to achieve the above object, the search client of the present invention uses the standard word data used for language analysis and the character strings normalized using n standard dictionaries that collect the normalization results. Normalization is performed using the character normalization dictionary for performing character-by-character normalization processing on the n standard indexes corresponding to the n standard dictionaries and the search character string included in the search request. In a search client that performs a search by accessing a search server having a character-unit normalized index generated by a converted character string, the search client can additionally register user-specific words, and editable user dictionary that special word data for each individual, the n number of the standard dictionary, and the character normalization dictionary, a search command generating means for generating a search command, the Includes a number of operations detecting means for detecting the number of operations of the logical operations involved in the search command, and the search command generating means, the user as one of the standard dictionary of the search string the n standard dictionary searches independently in the dictionary, and the set der Ru collection if Xi string typified word string search result of the one of the standard dictionary, typified word string of the search results in the user dictionary extracting a set der Ru collection case Yi strings, the first set of results obtained by searching the standard index that corresponds with the one of the standard dictionary elements of the set Xi search string, the set A set of results obtained by searching the character unit normalized index with each element constituting the set SUBi included in Xi and not included in the set Yi, and a set ADDi included in the set Yi and not included in the set Xi Constitute Search comprising logical operation to extract a second set of results the logical sum of the set of results obtained by searching the character unit normalization index in element, the first set that are not included in logical product of The search client generates a command of the logical operation detected by the operation count detection unit among the search commands generated corresponding to each of the n standard dictionaries in the search command generation unit. A search command with the smallest number of operations can be transmitted to the search server.
これにより、検索処理速度の低下を抑えつつ、ユーザ固有の特性を反映させ、かつ検索漏れを減少させ、より高い精度の検索処理を実行させることが可能な検索クライアントを提供することができる。 As a result, it is possible to provide a search client that can suppress a decrease in search processing speed, reflect user-specific characteristics, reduce search omissions, and execute search processing with higher accuracy.
また、前記演算回数の少ない検索コマンドを生成することで、前記検索サーバに対する負荷を少なくすることが可能な検索クライアントを提供することができる。 Further, it is possible to provide a search client capable of reducing the load on the search server by generating a search command with a small number of calculations.
また、上記目的を達成するために、本発明の検索クライアントは、さらに、前記検索サーバから配信された標準辞書更新データに基づき前記標準辞書を更新するための標準辞書更新手段を有する構成とすることができる。 In order to achieve the above object, the search client of the present invention further includes a standard dictionary update unit for updating the standard dictionary based on the standard dictionary update data distributed from the search server. Can do.
これにより、前記標準辞書に変更があった場合でも、前記標準辞書更新データに基づき前記標準辞書を更新することがきる。これにより、これまでの発明により得られた効果を継続させることができる。すなわち、検索処理速度の低下を抑えつつ、ユーザ固有の特性を反映させ、かつ検索漏れを減少させ、より高い精度の検索処理を実行させることが可能な検索クライアントを提供することができる。 Thereby, even when the standard dictionary is changed, the standard dictionary can be updated based on the standard dictionary update data. Thereby, the effect obtained by the present invention can be continued. In other words, it is possible to provide a search client that can suppress a decrease in search processing speed, reflect user-specific characteristics, reduce search omissions, and execute search processing with higher accuracy.
本発明の検索クライアントによれば、検索処理速度の低下を抑えつつ、より高い精度の検索処理を実行させ、かつユーザ固有の特性を反映させることができる。 According to the search client of the present invention, it is possible to execute search processing with higher accuracy and reflect user-specific characteristics while suppressing a decrease in search processing speed.
以下、本発明の実施例を図面に基づいて説明する。 Embodiments of the present invention will be described below with reference to the drawings.
本発明の検索クライアントは、検索処理を行う際に、ユーザにより編集可能なユーザ辞書と標準辞書に基づいて生成した検索コマンドを検索サーバへ送出し、検索サーバにて検索処理を実行させるものである。 When performing a search process, the search client of the present invention sends a search command generated based on a user dictionary editable by a user and a standard dictionary to the search server, and causes the search server to execute the search process. .
図1は本発明の実施例1の検索クライアントを有する検索システムの機能ブロック図の例である。 FIG. 1 is an example of a functional block diagram of a search system having a search client according to the first embodiment of the present invention.
検索システム10は、検索サーバ20と検索クライアント30から構成されており、検索サーバ20と検索クライアント30は、ネットワークを介して接続されている。
The
検索システム10は検索処理を行うものであって、検索クライアント30において、ユーザから入力された検索要求に基づき検索コマンドが生成され、この検索コマンドが、検索クライアント30より検索サーバ20へ送出されると、検索サーバ20がこれを受けて検索処理を行うものである。
The
ここで、検索要求とは、ユーザから入力されるものであって、ユーザが検索システム10において検索処理を行う検索対象を文字列で表したものである。この文字列が本実施例において、検索対象である検索文字列となる。
Here, the search request is input from the user and represents a search target that the user performs a search process in the
検索サーバ20は、索引A1、索引B、文書データベース26(以下、文書DB26)および標準辞書配信部28を有する。検索サーバ20は、検索クライアント30より送出された検索コマンドを受けて、索引A1と索引Bを検索する処理を行い、その結果として文書DB26内に存在するユーザが所望する文書の位置情報(所在情報)を得る。そして、この位置情報を検索結果として検索クライアント30へ送出する。ユーザは、この検索結果である文書の位置情報に基づき、文書DB26内に格納された所望の文書を簡単に閲覧することができる。
The
索引A1は、標準辞書を用いて標準的な正規化処理が施された文字列により生成された索引である。ここで標準辞書とは、例えば言語を解析する際の基本的な単語データおよびその正規化結果を集めたものなどである。また、索引A1には、文書DB26に格納された文書データの標準辞書による正規化結果のほか、文書データの名前、大きさなどの属性と、この文書データの記録場所を示す位置情報であるURL(Uniform Resource Locator)等が保持されている。
The index A1 is an index generated by a character string that has been subjected to a standard normalization process using a standard dictionary. Here, the standard dictionary is, for example, a collection of basic word data and its normalization results when a language is analyzed. In addition to the normalization result of the document data stored in the
索引Bは、文字単位の正規化のみを行う文字正規化辞書を用いて正規化処理が施された文字列により生成された索引である。また、索引Bには、文書DB26に格納された文書データの文字正規化辞書による制覇か結果のほか、文書データの名前、大きさなどの属性と、その文書データの記録場所を示す位置情報であるURL等が保持されている。
The index B is an index generated by a character string that has been subjected to normalization processing using a character normalization dictionary that performs only character-unit normalization. In addition, the index B includes attributes such as the name and size of the document data, and position information indicating the recording location of the document data, in addition to the result of the character normalization dictionary of the document data stored in the
以上において、索引A1および索引Bに保持された情報のうち、正規化結果以外は同一であるので、正規化結果以外の情報は索引A1および索引Bに共有されて保持されている。共有の具体的方法は、後述するSQLによるCreat文に示される。 In the above, since information other than the normalization result is the same among the information held in the index A1 and the index B, information other than the normalization result is shared and held in the index A1 and the index B. A specific method of sharing is shown in a CREATE statement by SQL described later.
文書DB26には、多数の文書データが格納されており、索引A1および索引Bのそれぞれからたどることが可能となっている。尚、本実施例において文書DB26は、検索サーバ20内に保持されたものとしたが、文書DB26は、適切な接続方法により検索サーバ20の外部に接続されていても良い。
A large number of document data is stored in the
標準辞書配信部28は、標準辞書の変更などにより、索引A1の正規化処理方法に変更が生じた場合、ネットワークを通して新しい標準辞書を検索クライアント30へ配信する。
The standard
検索クライアント30は、検索コマンド生成部32、標準辞書更新部34、ユーザ辞書36、標準辞書38および文字正規化辞書39を有する。検索クライアント30では、ユーザからの検索要求としての検索文字列が入力されると、検索コマンドを生成し、その検索コマンドを検索サーバ20へ送出している。
The
検索コマンド生成部32は、ユーザ辞書36と標準辞書38を用いて検索文字列を関連用語に展開し、その結果に基づき検索コマンドを生成する。
The search
標準辞書更新部34では、標準辞書配信部28より配信された新しい標準辞書に基づいて、標準辞書38を更新する。
The standard
ユーザ辞書36は、ユーザが、ユーザ固有の言葉を追加登録することが可能であり、各個人ごとの特別な単語データを集めたものである。
The
標準辞書38は、検索サーバ20において索引A1の生成に用いられる辞書である。また標準辞書38は、例えば言語を解析する際の基本的な単語データを集めたものなどであり、ユーザ辞書との比較に用いられる。
The
文字正規化辞書39は、検索サーバ20において索引Bの生成に用いられる辞書である。また、文字正規化辞書39は、検索要求に含まれる検索文字列に対し、文字単位の正規化処理を施すために用いられる。
The
ここで、本実施例において、検索サーバ20では、SQLコマンドを受け取るものである。検索サーバ20では、文書DB26に格納されている文書データの属性や文書データの位置情報であるURLが示されたテーブルが予め作成されている。テーブルを作成することを示すコマンドは、「create table table1(document URI text, IA1 text, IB text)」である。ここで、「IA1」とは索引A1を示し、「IB」とは索引Bを示すものである。
Here, in the present embodiment, the
また、検索サーバ20における索引A1と索引Bは以下のように生成される。
Further, the index A1 and the index B in the
検索サーバ20では、ユーザにより入力された文書から、索引A1および索引Bに登録される文字列がテキストT1として抽出される。抽出されたテキストT1は、まず文字正規化辞書により正規化処理を施され、文字単位の正規化処理を施された文字列として索引Bに登録される。ここで、文字正規化辞書により正規化処理を施されたテキストT1を「IB1」と示す。
In the
尚このとき索引Bでは、IB1と、ユーザが入力した文字列の記録場所を示す位置情報URL1が関連付けられて登録される。 At this time, in the index B, IB1 is registered in association with the position information URL1 indicating the recording location of the character string input by the user.
このIB1は、さらに標準辞書により正規化処理が施され、標準的な正規化処理が施された文字列として索引A1に登録される。ここで、標準辞書により正規化処理を施されたテキストIB1を「IA11」と示す。このとき、索引A1では、索引Bと同様に、IA11と、ユーザが入力した文字列の記録場所を示す位置情報URL1が関連付けられて登録される。 This IB1 is further subjected to normalization processing by a standard dictionary, and is registered in the index A1 as a character string subjected to standard normalization processing. Here, the text IB1 subjected to normalization processing by the standard dictionary is indicated as “IA11”. At this time, in the index A1, like the index B, the IA11 and the positional information URL1 indicating the recording location of the character string input by the user are registered in association with each other.
この結果、索引A1および索引Bには、上述したそれぞれの正規化処理を施された文字列が格納されることとなる。 As a result, the index A1 and the index B store character strings subjected to the above-described normalization processes.
図2は、検索システム10における検索処理の流れを示すフローチャートである。
FIG. 2 is a flowchart showing the flow of search processing in the
ユーザが検索クライアント30に対して検索要求を入力すると、検索コマンド生成部32は、この検索要求を受けて検索コマンドを生成する(S210)。ここで、検索コマンドの生成方法は、入力された検索要求に応じて変化するものであり、本実施例においては、複数の検索文字列が空白によって連結されたものを検索要求とした。
When the user inputs a search request to the
すなわち、S210における検索要求は、文字列a、文字列b、文字列cおよび文字列dを空白により連結したものである。文字列a、文字列b、文字列cおよび文字列dは、それぞれが検索文字列に該当するものである。 That is, the search request in S210 is obtained by concatenating character string a, character string b, character string c, and character string d with a blank. The character string a, the character string b, the character string c, and the character string d correspond to search character strings.
検索コマンド生成部32は、「a b c d」なる検索要求から「select*from table1 where A and B and C and D」なる検索コマンドを生成する。ここで、A、B、C、Dは、検索サーバ20において、各検索文字列ごとに検索処理を行うための部分検索コマンドである。部分検索コマンドは、検索文字列ごとに生成されるものである。よって、部分検索コマンドは、検索コマンド生成部32において、検索要求に含まれる検索文字列の数と同じ数だけ生成される。以下に部分検索コマンドA、部分検索コマンドB、部分検索コマンドCおよび部分検索コマンドDについて具体的に説明する。
The search
部分検索コマンドA、部分検索コマンドB、部分検索コマンドCおよび部分検索コマンドDは、文字列a、文字列b、文字列cおよび文字列dを検索文字列として、索引Wを用いて検索することを示すものである。尚ここで、索引Wなるものは存在しないが、後に説明するユーザ辞書展開処理によって索引A1または索引Bと置き換えられるものであり、前記部分検索コマンドの説明にあたり便宜的に用いたものである。 The partial search command A, the partial search command B, the partial search command C, and the partial search command D are searched using the index W with the character string a, the character string b, the character string c, and the character string d as search character strings. Is shown. Here, although there is no index W, it is replaced with the index A1 or index B by a user dictionary expansion process described later, and is used for the explanation of the partial search command for convenience.
すなわち、部分検索コマンドAは文字列aを検索文字列とした部分検索コマンドであって、「IW like ‘%nB(a)%’」と示される。部分検索コマンドBは、文字列bを検索文字列とした部分検索コマンドであって、「IW like ‘%nB(b)%’」と示される。部分検索コマンドCは、文字列cを検索文字列とした部分検索コマンドであって、「IW like ‘%nB(c)%’」と示される。部分検索コマンドDは、文字列dを検索文字列とした部分検索コマンドであって、「IW like ‘%nB(d)%’」と示される。 That is, the partial search command A is a partial search command using the character string a as a search character string, and is indicated as “IW like“% nB (a)% ””. The partial search command B is a partial search command using the character string b as a search character string, and is indicated as “IW like‘% nB (b)% ’”. The partial search command C is a partial search command using the character string c as a search character string, and is indicated as “IW like '% nB (c)%'”. The partial search command D is a partial search command using the character string d as a search character string, and is indicated as “IW like '% nB (d)%'”.
ここで、上述した各部分検索コマンドにおけるIWは、索引Wを示すものであり、nB(a)、nB(b)、nB(c)およびnB(d)は、検索文字列である文字列a、文字列b、文字列cおよび文字列dのそれぞれに対して、文字正規化辞書39を用いて正規化処理を施した後の文字列を示すものである。
Here, IW in each partial search command indicates the index W, and nB (a), nB (b), nB (c), and nB (d) are character strings a that are search character strings. The character string after normalizing the character string b, the character string c, and the character string d using the
次に、検索コマンド生成部32は、S210で生成された部分検索コマンドA、部分検索コマンドB、部分検索コマンドC、および部分検索コマンドDに含まれる各検索文字列に、ユーザ辞書展開処理を施し、「select*from table1 where A´ and B´ and C´ and D´」なる送出用の検索コマンドを生成する(S220)。
Next, the search
ここで、A´、B´、C´およびD´は、部分検索コマンドA、部分検索コマンドB、部分検索コマンドCおよび部分検索コマンドDそれぞれについてユーザ辞書展開処理を施したことを示すものである。 Here, A ′, B ′, C ′, and D ′ indicate that the user dictionary expansion processing has been performed for each of the partial search command A, the partial search command B, the partial search command C, and the partial search command D. .
S220での処理についての詳細は後に説明する。 Details of the processing in S220 will be described later.
このようにして生成された送出用の検索コマンドは、ネットワークを介して検索サーバ20へ送出される(S230)。そして、送出された検索コマンドは、検索サーバ20により受信され、これを受けた検索サーバ20は索引A1および索引Bにおいて検索処理を開始する(S240)。この検索処理により、検索サーバ20は文書DB26における検索文字列の位置情報を得る。
The search command for transmission generated in this way is transmitted to the
検索サーバ20は、検索処理終了後、ネットワークを介して、この位置情報を検索結果として検索クライアント30へ送出し、検索クライアント30は、この検索結果を受信する(S250)。そして、検索クライアント30において、この検索結果がユーザに表示される。ユーザは、この検索結果である検索文字列の位置情報に基づき、文書DB26内に格納された所望の文書を簡単に閲覧することができる。
After the search process is completed, the
ここで、S220における処理について図3を参照して詳細を説明する。 Here, the details of the process in S220 will be described with reference to FIG.
図3はS220におけるユーザ辞書展開処理を説明するフローチャートである。図3において、部分検索コマンドに含まれる検索文字列をSi(i=0,1,2,・・・,m)とする。 FIG. 3 is a flowchart for explaining the user dictionary expansion processing in S220. In FIG. 3, the search character string included in the partial search command is Si (i = 0, 1, 2,..., M).
検索コマンド生成部32は、複数ある部分検索コマンドのうち、最初の部分検索コマンドに含まれる検索文字列をS0とし、処理を開始する(S310)。 本実施例において、最初の部分検索コマンドとは、部分検索コマンドAに該当する。
The search
次に検索コマンド生成部32は、最後の部分検索コマンドに含まれる検索文字列まで、ユーザ辞書展開処理が施されているかを判断し、ユーザ辞書展開処理が施されていない、部分検索コマンドに含まれる検索文字列に対してユーザ辞書展開処理を開始する(S320)。本実施例において、最後の部分検索コマンドとは、部分検索コマンドDに該当する。
Next, the search
検索コマンド生成部32は、まず検索文字列Siで標準辞書38を検索する処理を行う(S330)。この検索結果として、標準辞書38より得られた文字列を文字列nA(Si)と示す。次に、検索コマンド生成部32は、標準辞書38の中から、文字列nA(Si)を代表語とし、文字列nA(Si)に関連する文字列の集合である文字列集合Xiを抽出する展開処理を行う。(S340)。
The
次に、検索コマンド生成部32は、検索文字列Siでユーザ辞書36を検索する処理をう。そして、検索コマンド生成部32は、ユーザ辞書36の中から、この検索処理により得られた文字列を代表語とする文字列の集合である文字列集合Yiを抽出する展開処理を行う(S350)。
Next, the search
検索コマンド生成部32は、文字列集合Xiに含まれ、文字列集合Yiに含まれない文字列を抽出し、その結果の文字列集合をSUBiとする(S360)。次に、検索コマンド生成部32は、文字列集合Xiに含まれず、文字列集合Yiに含まれる文字列を抽出し、その結果の文字列集合をADDiとする(S370)。
The search
ここで、各部分検索コマンドは、検索コマンド生成部32により、文字列集合SUBiと文字列集合ADDiを用いて「(IA1 like ‘%nA(Si)%’ and not (IB like ‘%SUBi0%’ or IB like ‘%SUBi1%’ or ・・・))or(IB like ‘%ADDi0%’ or IB like ‘%ADDi1%’or・・・)」に置き換えられる。
Here, each partial search command is sent from the search
ここで、「IA1 like ‘%nA(Si)%’」とは、文字列nA(Si)を検索文字列として索引A1を検索する処理を示す。また、「IB like ‘%SUBi%’」、「IB like ‘%ADDi%’」は、文字列集合SUBiおよび文字列集合ADDiを構成する要素となる文字列を検索文字列として、それぞれの検索文字列について索引Bを検索する処理を示す。 Here, “IA1 like '% nA (Si)%'” indicates a process of searching the index A1 using the character string nA (Si) as a search character string. "IB like '% SUBi%'" and "IB like '% ADDi%'" are character strings that are elements constituting the character string set SUBi and the character string set ADDi. The process for searching index B for a column is shown.
検索コマンド生成部32は、この置き換えられた部分検索コマンドの論理演算処理を行う(S380)。
The search
S380において行われる論理演算処理の結果が、ユーザ辞書展開処理後の部分検索コマンドとなる。検索コマンド生成部32は、S380までの処理を、個々の部分検索コマンドについて行う(S390)。本実施例において、個々の部分検索コマンドとは、部分検索コマンドA、部分検索コマンドB、部分検索コマンドCおよび部分検索コマンドDに該当する。
The result of the logical operation process performed in S380 becomes a partial search command after the user dictionary expansion process. The search
そして、検索コマンド生成部32は、検索文字列にユーザ辞書展開処理が施された個々の部分検索コマンドの論理和をとる処理を行い、その結果を検索サーバ20への送出用の検索コマンドとする。
Then, the search
以下に、ユーザ辞書展開処理に関し、具体例を挙げて表1、表2を参照しつつ説明する。例えば本実施例において、検索要求が「コンピュータ ヘビーメタル 解析」なる文字列である。 Hereinafter, the user dictionary development process will be described with reference to Tables 1 and 2 with specific examples. For example, in this embodiment, the search request is a character string “computer heavy metal analysis”.
表1は、標準辞書38からそれぞれの検索文字列に関連する関連文字列を抽出した結果の文字列集合を示す例である。表2は、ユーザ辞書36からそれぞれの検索文字列に関連する文字列を抽出した結果の文字列集合を示す例である。
Table 1 is an example showing a character string set as a result of extracting related character strings related to each search character string from the
部分検索コマンド生成部32は、上記の各部分検索コマンドごとにユーザ辞書展開処理を行う。部分検索コマンド「IW like ‘%コンピュータ%’」におけるユーザ辞書展開処理について以下に説明する。
The partial search
検索コマンド生成部32が、検索文字列「コンピュータ」で標準辞書38を検索する処理を行う。この結果、得られた文字列nA(Si)は「コンピュータ」となる。検索コマンド生成部32は、標準辞書38の中から、文字列「コンピュータ」を代表語とし、文字列「コンピュータ」に関連する文字列の集合である文字列集合Xを抽出する。
The search
次に、検索コマンド生成部32は、検索文字列「コンピュータ」でユーザ辞書36を検索する処理を行う。この検索処理により、検索コマンド生成部32は、文字列「コンピュータ」を得る。検索コマンド生成部32は、ユーザ辞書36の中から、文字列「コンピュータ」を代表語とし、文字列「コンピュータ」に関連する文字列の集合である文字列集合Yを抽出する。
Next, the search
このとき、表1および表2に示されるように、文字列集合Xと文字列集合Yは、どちらとも「コンピューター、コンピュータ、電子計算機、computer」なる要素から構成されている。 At this time, as shown in Table 1 and Table 2, the character string set X and the character string set Y are both composed of elements “computer, computer, electronic computer, computer”.
本実施例において、このように各文字列集合が同様の要素で構成されているとき、検索コマンド生成部32は、ユーザ辞書展開処理後の部分検索コマンドを、「IA1 like ‘%コンピュータ%’」とする。
In the present embodiment, when each character string set is composed of similar elements in this way, the search
部分検索コマンド「IW like ‘%解析%’」も同様に、標準辞書38の中から抽出される文字列集合Xと、ユーザ辞書36の中から抽出される文字列集合Yのどちらとも、「解析、分析」なる要素から構成されている。
Similarly, the partial search command “IW like '% analysis%'” is “analysis” for both the character string set X extracted from the
すなわち、文字列集合Xと文字列集合Yは同一の要素で構成されているので、ユーザ辞書展開処理後の部分検索コマンドは、「IA1 like ‘%解析%’」とする。 That is, since the character string set X and the character string set Y are composed of the same elements, the partial search command after the user dictionary expansion processing is “IA1 like“% analysis% ””.
次に、部分検索コマンド「IW like ‘%ベビーメタル%’」におけるユーザ辞書展開処理について説明する。 Next, a user dictionary expansion process in the partial search command “IW like“% baby metal% ”” will be described.
まず、検索コマンド生成部32が、検索文字列「ヘビーメタル」で標準辞書38を検索する処理を行う。この結果、得られた文字列nA(Si)は「ヘビーメタル」となる。
First, the search
次に、検索コマンド生成部32は、標準辞書38の中から、文字列「ヘビーメタル」を代表語とし、文字列「ヘビーメタル」に関連する文字列の集合である文字列集合Xを抽出する。ここで、文字列集合Xは、「ヘビーメタル、へビィメタル、ヘビメタ」なる要素で構成されている。
Next, the search
さらに、検索コマンド生成部32は、検索文字列「ヘビーメタル」でユーザ辞書36を検索する処理を行う。この結果、得られた文字列は「タングステン合金」である。次に、検索コマンド生成部32は、ユーザ辞書36の中から、文字列「タングステン合金」を代表語とし、文字列「タングステン合金」に関連する文字列の集合である文字列集合Yを抽出する。ここで、文字列集合Yは、「タングステン合金、ヘビーメタル、へビィメタル」なる要素で構成されている。
Further, the search
検索コマンド生成部32は、文字列集合Xに含まれ、文字列集合Yに含まれない文字列集合SUBを抽出する。このとき、文字列集合SUBは「ヘビメタ」である。
The search
次に、検索コマンド生成部32は、文字列集合Xに含まれず、文字列集合Yに含まれる文字列集合ADDを抽出する。このとき、文字列集合ADDは「タングステン合金」である。
Next, the search
ここで、検索コマンド生成部32は、文字列集合SUBと文字列集合ADDを用いて論理演算処理を行い、ユーザ辞書展開処理後の部分検索コマンドを生成する。
Here, the search
すなわち、部分検索コマンド「IW like ‘%ベビーメタル%’」は、「(IA1 like ‘%ベビーメタル%’ and not(IB like ‘%ヘビメタ%’))orIB like ‘%タングステン合金%’」となる。 That is, the partial search command “IW like“% baby metal% ”” becomes “(IA1 like“% baby metal% ”and not (IB like“% heavy metal% ”)) or IB like“% tungsten alloy% ””. .
検索コマンド生成部32は、各検索文字列にユーザ辞書展開処理が施された個々の部分検索コマンドの論理和をとる処理を行い、検索サーバ20へ送出するための送出用の検索コマンドを生成する。
The search
すなわち、検索コマンド生成部32において最終的に生成される検索コマンドは、「select*from table1 where IA1 like ‘%コンピュータ%’ and ((IA1 like ‘%ベビーメタル%’ and not(IB like ‘%ヘビメタ%’))orIB like ‘%タングステン合金%’) and IA1 like ‘%解析%’」である。
That is, the search command finally generated by the search
この検索コマンドが、検索サーバ20への送出用の検索コマンドとなり、検索クライアント30から検索サーバ20に送出される。
This search command becomes a search command for sending to the
このように、本発明の検索クライアント30は、ユーザ固有の言葉を追加登録でき、ユーザが自由に編集することが可能なユーザ辞書36を用いて検索コマンドを生成するため、ユーザ固有の言葉などを反映させた検索コマンドを生成することができ、ひいてはユーザがカスタマイズ可能な検索処理を実行させることができる。
Thus, the
また、本発明の検索クライアント30は、検索文字列ごとに、標準辞書38とユーザ辞書36の両方から関連する文字列集合を抽出し、その文字列集合に基づき検索サーバ20に送出する検索コマンドを生成している。このため、検索漏れが少なく精度の高い検索を行うことが可能であり、かつ検索処理速度の低下を抑えることができる。
Further, the
以下に、本発明の実施例2について図面を参照して説明する。図4は、本発明の実施例2における検索クライアントを有する検索システムの機能ブロック図の例である。 Embodiment 2 of the present invention will be described below with reference to the drawings. FIG. 4 is an example of a functional block diagram of a search system having a search client according to the second embodiment of the present invention.
図4に示す検索システム10Aにおいて、実施例1に記載の検索システム10と同様の構成である部分の説明は省略する。また、図4において実施例1に記載の検索システム10と同様の構成である部分には、図1の説明に用いた符号と同様の符号をつけた。
In the
図4に示す検索システム10Aにおける検索クライアント30Aは、標準辞書38、標準辞書38A、演算回数検出部33を有するものである。演算回数検出部33では、検索コマンド生成部32において生成された検索コマンドに含まれる論理演算処理の回数を検出する。
A
また、検索システム10Aにおける検索サーバ20Aは、標準辞書38を用いて標準的な正規化処理が施された文字列により生成された索引A1と、標準辞書38Aを用いて標準的な正規化処理が施された文字列により生成された索引A2を有する。
The
なお、ここでは、検索クライアントにおいて保持される標準辞書の数を2つとしたが、検索クライアントにおいて保持される標準辞書の数に制限はなく、より多くの標準辞書を保持しているものであってもよい。 Although the number of standard dictionaries held in the search client is two here, the number of standard dictionaries held in the search client is not limited, and more standard dictionaries are held. Also good.
さらに、検索サーバにおいては、検索クライアントに保持された標準辞書に対応して、それぞれの標準辞書に基づき正規化処理を施された文字列により生成された索引があることが好ましいが、それに限定されるものではない。 Further, in the search server, it is preferable that there is an index generated by a character string that has been subjected to normalization processing based on each standard dictionary corresponding to the standard dictionary held in the search client. It is not something.
検索システム10Aでの検索処理の流れは、図2を参照して説明した検索システム10における検索処理の流れと同様であるので説明を省略する。
The flow of the search process in the
本発明の実施例2における検索クライアント20Aは、検索文字列に対して複数の標準辞書およびユーザ辞書を用いてユーザ辞書展開処理を行う点で、実施例1の検索クライアント20と異なっている。
The
以下に、本発明の実施例2におけるユーザ辞書展開処理について図5を参照して説明する。図5は、本発明の実施例2におけるユーザ辞書展開処理を説明するフローチャートである。 Hereinafter, user dictionary expansion processing according to the second embodiment of the present invention will be described with reference to FIG. FIG. 5 is a flowchart for explaining user dictionary expansion processing according to the second embodiment of the present invention.
図5における部分検索コマンドに含まれる検索文字列をSi(i=0,1,2,・・・,mとする。)とし、検索クライアント20Aに保持された標準辞書をDICp(p=0,1,2,・・・,mとする。)とする。
The search character string included in the partial search command in FIG. 5 is Si (i = 0, 1, 2,..., M), and the standard dictionary held in the
検索コマンド生成部32は、複数ある部分検索コマンドのうち、最初の部分検索コマンドに含まれる検索文字列をS0とする(S510)。次に検索コマンド生成部32は、最後の部分検索コマンドに含まれる検索文字列まで、ユーザ辞書展開処理が施されているかを判断し、ユーザ辞書展開処理が施されていない、検索文字列に対してユーザ辞書展開処理を開始する(S511)。
The search
検索コマンド生成部32は、検索文字列Siに対して、展開処理を行う際に用いる1つ目の標準辞書をDIC0として(S512)、検索クライアント20Aに保持されている標準辞書が検索文字列Siのユーザ辞書展開処理に用いられているかを判断する。そして、検索クライアント20A内に、ユーザ辞書展開処理に用いられていない標準辞書があった場合、その標準辞書を用いたユーザ辞書展開処理を開始する(S513)。
The search
ここで、S514からS519までの処理は、実施例1における図3のS330からS370までの処理と同様なので、説明を省略する。 Here, the processing from S514 to S519 is the same as the processing from S330 to S370 in FIG.
S519において部分検索コマンドが生成されると、演算回数検出部33は、前記部分検索コマンドに含まれる論理演算処理の回数を検出する。そして、検索コマンド生成部32は、ここで検出された論理演算処理の回数と、これまで生成された部分検索コマンドにおける論理演算処理の回数のうち最小の論理演算処理の回数と、を比較する(S520)。
When a partial search command is generated in S519, the operation
検索コマンド生成部32は、ここで部分検索コマンドに含まれる論理演算処理の回数が最小となる方の部分検索コマンドを検索文字列Siにおける部分検索コマンドとする(S521)。
The search
検索コマンド生成部32は、S514からS521までの処理を、すべての標準辞書を用いて検索文字列Siのユーザ辞書展開処理が施されるまで繰り返す(S522)。
The search
本実施例においては、すべての標準辞書とは、標準辞書38と標準辞書38Aの2つに該当する。よって、S522において繰り返される処理の回数は2回である。尚このとき、検索クライアントにn個の標準辞書が保持されていた場合には、S522において繰り返される処理の回数はn回となる。
In this embodiment, all the standard dictionaries correspond to the
検索文字列Siに対して、すべての標準辞書を用いてユーザ辞書展開処理が施され、論理演算処理回数が最小となる部分検索コマンドに生成されると、検索コマンド生成部32は、次の部分検索コマンドに含まれる検索文字列に対してS512からS522の処理を繰り返す。
When the search character string Si is subjected to user dictionary expansion processing using all standard dictionaries and is generated into a partial search command that minimizes the number of logical operation processes, the search
このようにして、検索文字列にユーザ辞書展開処理が施された個々の部分検索コマンドが生成されると、検索コマンド生成部32は、各部分検索コマンドの論理和をとる処理を行い、検索サーバへ送出する送出用の検索コマンドを生成する。
In this way, when each partial search command in which the user dictionary expansion process is performed on the search character string is generated, the search
以下に、具体例をあげて本発明の実施例2について説明する。実施例2において、実施例1と同様に、検索要求が「コンピュータ ヘビーメタル 解析」なる文字列である。 The second embodiment of the present invention will be described below with a specific example. In the second embodiment, as in the first embodiment, the search request is a character string “computer heavy metal analysis”.
表1、表2については実施例1で説明した通りである。表3は、標準辞書38Aからそれぞれの検索文字列に関連する文字列を抽出した結果の文字列集合を示す例である。
Tables 1 and 2 are as described in Example 1. Table 3 shows an example of a character string set as a result of extracting character strings related to each search character string from the
次に、検索コマンド生成部32は、各部分検索コマンドごとにユーザ辞書展開処理を行う。部分検索コマンド「IW like ‘%コンピュータ%’」におけるユーザ辞書展開処理について以下に説明する。
Next, the search
検索コマンド生成部32が、検索文字列「コンピュータ」で標準辞書38を検索する処理を行う。この結果、得られた文字列は「コンピュータ」となる。検索コマンド生成部32は、標準辞書38の中から、文字列「コンピュータ」を代表語とし、文字列「コンピュータ」に関連する文字列の集合である文字列集合Xを抽出する。
The search
次に、検索コマンド生成部32は、検索文字列「コンピュータ」でユーザ辞書36を検索する処理を行う。この検索処理により、検索コマンド生成部32は、文字列「コンピュータ」を得る。検索コマンド生成部32は、ユーザ辞書36の中から、文字列「コンピュータ」を代表語とし、文字列「コンピュータ」に関連する文字列の集合である文字列集合Yを抽出する。
Next, the search
このとき、表1および表2に示されるように、文字列集合Xと文字列集合Yは、どちらとも「コンピューター、コンピュータ、電子計算機、computer」なる要素から構成されている。 At this time, as shown in Table 1 and Table 2, the character string set X and the character string set Y are both composed of elements “computer, computer, electronic computer, computer”.
本実施例において、このように各文字列集合が同様の要素で構成されているとき、検索コマンド生成部32は、ユーザ辞書展開処理後の部分検索コマンドを、「IA1 like ‘%コンピュータ%’」とする。
In the present embodiment, when each character string set is composed of similar elements in this way, the search
ここで、演算回数検出部33は、前記部分検索コマンドにおける論理演算処理回数を検出する。ここでの論理演算処理回数は1回である。
Here, the operation
次に、検索コマンド生成部32は、検索文字列「コンピュータ」で標準辞書38Aを検索する処理を行う。この結果、得られた文字列は「コンピュータ」となる。検索コマンド生成部32は、標準辞書38Aの中から、文字列「コンピュータ」を代表語とし、文字列「コンピュータ」に関連する文字列の集合である文字列集合Zを抽出する。
Next, the search
このとき、文字列集合Zは「コンピューター、コンピュータ」なる要素で構成されており、その要素においてユーザ辞書36の中から抽出された文字列集合Yと異なる。よって、ここでは文字列集合Yと文字列集合Zに基づいて部分検索コマンドを生成するにあたり、実施例1で説明したように、複数回の論理演算処理を行う必要がある。
At this time, the character string set Z is composed of elements “computer, computer”, and is different from the character string set Y extracted from the
そこで、検索コマンド生成部32は、検索文字列「コンピュータ」に関する部分検索コマンドを、演算処理回数が1回である「IA1 like ‘%コンピュータ%’」とする。
Accordingly, the search
部分検索コマンド「IW like ‘%解析%’」も同様に、標準辞書38とユーザ辞書36のそれぞれから抽出される文字列集合X、文字列集合Yは、どちらも「解析、分析」なる要素で構成されている。すなわち、ここで生成される部分検索コマンドは、「IA1 like ‘%解析%’」であり、論理演算処理回数が1回となる。
Similarly, the partial search command “IW like“% analysis% ”” includes both the character string set X and the character string set Y extracted from the
次に、検索コマンド生成部32は、検索文字列「解析」で標準辞書38Aを検索して得られた文字列「解析」を代表語とし、文字列「解析」に関連する文字列の集合である文字列集合Zを抽出する。このとき、文字列集合Z、文字列集合Yが、どちらも「解析、分析」なる要素で構成されている。すなわち、ここで生成される部分検索コマンドの論理演算処理回数も1回となる。
Next, the search
よって、検索コマンド生成部32は、検索文字列「解析」に関する部分検索コマンドを、「IA1 like ‘%解析%’」とする。
Therefore, the search
次に、部分検索コマンド「IW like ‘%ヘビーメタル%’」のユーザ辞書展開処理について以下に説明する。 Next, the user dictionary expansion process of the partial search command “IW like“% heavy metal% ”” will be described below.
標準辞書38とユーザ辞書36に基づきユーザ辞書展開処理を施した際に生成される部分検索コマンドは、実施例1で説明したように、「(IA1 like ‘%ベビーメタル%’ and not(IB like ‘%ヘビメタ%’))orIB like ‘%タングステン合金%’」である。
As described in the first embodiment, the partial search command generated when the user dictionary expansion process is performed based on the
次に、検索コマンド生成部32は、検索文字列「ヘビーメタル」で標準辞書38Aを検索する処理を行う。この結果、得られた文字列は「タングステン合金」となる。検索コマンド生成部32は、標準辞書38Aの中から、文字列「タングステン合金」を代表語とし、文字列「タングステン合金」に関連する文字列の集合である文字列集合Zを抽出する。このとき、文字列集合Zは「タングステン合金、ヘビーメタル、へビィメタル」なる要素で構成されており、その要素において文字列集合Yと同じである。
Next, the search
すなわち、ここで文字列集合Yと文字列集合Zに基づいて生成される部分検索コマンドは、「IA2 like ‘%ヘビーメタル%’」となり、論理演算処理回数が1回である。 That is, the partial search command generated based on the character string set Y and the character string set Z is “IA2 like“% heavy metal% ””, and the number of logical operation processes is one.
よって、検索コマンド生成部32は、検索文字列「ヘビーメタル」に関する部分検索コマンドを、「IA2 like ‘%ヘビーメタル%’」とする。このようにして部分検索コマンドが生成されると、検索コマンド生成部32は、これらの論理積をとる処理を行い、検索サーバ20Aへ送出するための検索コマンドを生成する。
Therefore, the search
ここで、検索サーバ20Aに送出される検索コマンドは、「select*from table1 where IA1 like ‘%コンピュータ%’ and IA2 like ‘%ヘビーメタル%’ and IA1 like ‘%解析%’」となる。
Here, the search command sent to the
このように、実施例2の検索クライアント30Aにおいては、演算処理回数が最も少ない部分検索コマンドを生成し、これを検索サーバ20Aへ送出している。これにより、検索サーバ20Aにかかる負荷が軽減され、より高速な検索処理を行うことができる。
As described above, the
また、本発明の実施例1および実施例2で説明した標準辞書38、標準辞書38Aに関しては、標準辞書更新部34により更新することができる。すなわち、検索クライアント20、検索クライアント20Aに保持された標準辞書に変更があった場合に、標準辞書配信部28より、変更された標準辞書情報である標準辞書更新データが配信される。標準辞書更新部34は、この標準辞書更新データに基づき標準辞書38、標準辞書38Aを更新する。
The
以上のように、本発明によれば、検索漏れの少ない高精度の検索処理を実行することができ、かつ検索処理速度の低下を抑えることが可能な検索クライアントを提供することができる。 As described above, according to the present invention, it is possible to provide a search client that can execute high-precision search processing with few search omissions and can suppress a decrease in search processing speed.
また、ユーザが自由に編集できるユーザ辞書を用いて検索コマンドを生成することで、ユーザ固有の特性を反映させ、ユーザ側でカスタマイズされた検索処理を実行させることが可能な検索クライアントを提供することができる。 Also, to provide a search client capable of executing a search process customized on the user side by reflecting a user-specific characteristic by generating a search command using a user dictionary that can be freely edited by the user. Can do.
また、論理演算処理回数の最も少ない検索コマンドを生成することで、検索サーバの負担を軽減でき、かつ検索処理速度の低下を抑えることが可能な検索クライアントを提供することができる。 Further, by generating a search command with the smallest number of logical operation processes, it is possible to provide a search client that can reduce the load on the search server and suppress a decrease in search processing speed.
さらに、検索クライアントに保持された標準辞書を更新することで、常に最新の情報に基づいた検索処理を実行させることが可能であり、かつその他の本発明の効果を継続させることが可能な検索クライアントを提供することができる。 Furthermore, by updating the standard dictionary held in the search client, it is possible to always execute a search process based on the latest information, and to continue other effects of the present invention. Can be provided.
以上、各実施例に基づき本発明の説明を行ってきたが、上記実施例に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。 Although the present invention has been described based on each embodiment, the present invention is not limited to the requirements shown in the above embodiment. With respect to these points, the present invention can be changed within a range that does not detract from the gist of the present invention, and can be appropriately determined according to the application form.
本発明は、検索処理を行う検索システムを構成する検索クライアントに応用可能である。 The present invention can be applied to a search client constituting a search system that performs search processing.
10、10A 検索システム
20、20A 検索サーバ
21 標準辞書配信部
30、30A 検索クライアント
32 検索コマンド生成部
33 演算回数検出部
34 標準辞書更新部
36 ユーザ辞書
38、38A 標準辞書
39 文字正規化辞書
A1、A2、B 索引
10,
Claims (2)
検索要求に含まれる検索文字列に対し、文字単位の正規化処理を施すための文字正規化辞書を用いて正規化された文字列により生成された文字単位正規化索引と、を有する検索サーバにアクセスして検索を行う検索クライアントにおいて、
前記検索クライアントは、
ユーザ固有の言葉を追加登録することが可能であり各個人ごとの特別な単語データを集めた編集可能なユーザ辞書と、
前記n個の標準辞書と、
前記文字正規化辞書と、
検索コマンドを生成する検索コマンド生成手段と、
前記検索コマンドに含まれる論理演算の演算回数を検出する演算回数検出手段と、を有し、
前記検索コマンド生成手段は、
前記検索文字列を前記n個の標準辞書のうち一の標準辞書と前記ユーザ辞書においてそれぞれ独立に検索し、
前記一の標準辞書の検索結果の文字列を代表語とする文字列の集合である集合Xiと、前記ユーザ辞書における検索結果の文字列を代表語とする文字列の集合である集合Yiとを抽出し、
前記集合Xiの要素を検索文字列として前記一の標準辞書と対応した前記標準索引を検索させた結果の第一の集合と、
前記集合Xiに含まれ前記集合Yiに含まれない集合SUBiを構成する各要素で前記文字単位正規化索引を検索させた結果の集合と、前記集合Yiに含まれ前記集合Xiに含まれない集合ADDiを構成する各要素で前記文字単位正規化索引を検索させた結果の集合との論理和をとった結果の第二の集合と、
の論理積に含まれない前記第一の集合を抽出する論理演算を含む検索コマンドを生成し、
当該検索クライアントは、
前記検索コマンド生成手段において、前記n個の各々の標準辞書に対応して生成された検索コマンドのうち、前記演算回数検出手段により検出された前記論理演算の演算回数が最も少ない検索コマンドを前記検索サーバへ送信する
ことを特徴とする検索クライアント。 N words corresponding to the n standard dictionaries generated by the standardized character strings using n standard dictionaries that collect the basic word data and the normalization results when the language is analyzed. A standard index,
A search server having a character unit normalization index generated by a character string normalized using a character normalization dictionary for performing character unit normalization processing on a search character string included in a search request In a search client that accesses and searches,
The search client
Editable user dictionaries that can register additional user-specific words and collect special word data for each individual,
The n standard dictionaries;
The character normalization dictionary;
Search command generation means for generating a search command;
An operation number detecting means for detecting the operation number of the logical operation included in the search command ,
The search command generation means includes
The search character string is independently searched in one standard dictionary and the user dictionary among the n standard dictionaries,
A set der Ru collection if Xi of the string to the representative words a string of search results of the one of the standard dictionary, set der Ru collection of string to a representative word a string of search results in the user dictionary Extract Yi ,
A first set of results obtained by searching the standard index corresponding to the one standard dictionary using the elements of the set Xi as a search character string;
A set obtained by searching the character unit normalized index with each element constituting the set SUBi included in the set Xi and not included in the set Yi, and a set included in the set Yi and not included in the set Xi A second set of results obtained by ORing with a set of results obtained by searching the character unit normalized index with each element constituting ADDi;
A search command including a logical operation for extracting the first set that is not included in the logical product of :
The search client
In the search command generating means, the search command having the smallest number of arithmetic operations detected by the arithmetic operation number detecting means among the search commands generated corresponding to each of the n standard dictionaries is searched. A search client characterized by being sent to a server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006017796A JP4942350B2 (en) | 2006-01-26 | 2006-01-26 | Search client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006017796A JP4942350B2 (en) | 2006-01-26 | 2006-01-26 | Search client |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007200019A JP2007200019A (en) | 2007-08-09 |
JP4942350B2 true JP4942350B2 (en) | 2012-05-30 |
Family
ID=38454575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006017796A Expired - Fee Related JP4942350B2 (en) | 2006-01-26 | 2006-01-26 | Search client |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4942350B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6647704B2 (en) * | 2015-06-29 | 2020-02-14 | 国立大学法人佐賀大学 | Search candidate word display device, search candidate word display method, and search candidate word display program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06314296A (en) * | 1993-03-02 | 1994-11-08 | Fujitsu Ltd | Information retrieving system |
JP2003303206A (en) * | 2002-04-10 | 2003-10-24 | Toshiba Corp | Dictionary editing system and method |
-
2006
- 2006-01-26 JP JP2006017796A patent/JP4942350B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007200019A (en) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025819B2 (en) | Generating a query statement based on unstructured input | |
US9031935B2 (en) | Search system, search method, and program | |
US20110137636A1 (en) | Context aware back-transliteration and translation of names and common phrases using web resources | |
KR101522049B1 (en) | Coreference resolution in an ambiguity-sensitive natural language processing system | |
JP6176017B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND PROGRAM | |
JP2012248210A (en) | System and method for retrieving content of complicated language such as japanese | |
CN102138142A (en) | Dictionary suggestions for partial user entries | |
JP5710581B2 (en) | Question answering apparatus, method, and program | |
JP2010282639A (en) | System and method for searching using query written in different character set and/or language from target page | |
JP2007122509A (en) | Device, method and program for determining naturalness of phrase sequence | |
CN107102983B (en) | Word vector representation method of Chinese concept based on network knowledge source | |
Zu et al. | Resume information extraction with a novel text block segmentation algorithm | |
US8583415B2 (en) | Phonetic search using normalized string | |
JP2023510791A (en) | Systems and methods for mapping terms to vector representations in semantic space | |
EP4147142A1 (en) | Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model | |
JP4266222B2 (en) | WORD TRANSLATION DEVICE, ITS PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM | |
CN111753534B (en) | Identifying sequence titles in a document | |
US20060248037A1 (en) | Annotation of inverted list text indexes using search queries | |
JP4942350B2 (en) | Search client | |
Zhang et al. | Tracing a loose wordhood for Chinese input method engine | |
WO2015075920A1 (en) | Input assistance device, input assistance method and recording medium | |
JPH08129554A (en) | Relation expression extracting device and retrieval device for relation expression | |
JP4953440B2 (en) | Morphological analysis device, morphological analysis method, morphological analysis program, and recording medium storing computer program | |
JPWO2009113289A1 (en) | NEW CASE GENERATION DEVICE, NEW CASE GENERATION METHOD, AND NEW CASE GENERATION PROGRAM | |
JP2007133682A (en) | Full text retrieval system and full text retrieval method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
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: 20120131 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4942350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150309 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |