JP2005222244A - Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device - Google Patents
Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device Download PDFInfo
- Publication number
- JP2005222244A JP2005222244A JP2004028403A JP2004028403A JP2005222244A JP 2005222244 A JP2005222244 A JP 2005222244A JP 2004028403 A JP2004028403 A JP 2004028403A JP 2004028403 A JP2004028403 A JP 2004028403A JP 2005222244 A JP2005222244 A JP 2005222244A
- Authority
- JP
- Japan
- Prior art keywords
- word
- search
- character string
- similar
- character
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
この発明は、所定の単語を検索する技術に関し、とくに入力した文字列に類似する単語を検索する装置、その方法、およびその単語検索装置を備える情報提供システムに関する。 The present invention relates to a technique for searching for a predetermined word, and more particularly to an apparatus for searching for a word similar to an inputted character string, a method thereof, and an information providing system including the word search apparatus.
コンピュータのネットワーク化が進み、インターネットなどのネットワークを利用して、例えば検索サイト、ショッピングサイト、辞書サイトなどで各種のサービスが提供されている。そうしたサービスサイトは、一般にデータベースを利用して情報を管理し、ユーザから受け付けた検索キーワードをキーとして、データベースを参照して検索キーワードに対応付けられた情報を提供する。しかしながら、ユーザのタイプミスなどにより、「風邪薬」を「風薬」と入力したり、「インターネット」を「インターネト」と入力したりしてしまった場合、データベースにはそうした単語は登録されていないので、該当する情報がないとして応答される。こうした事態に対応するため、入力された文字列の類似単語を検索する技術がある(例えば、特許文献1参照)。
タイプミスに限らず所定の単語に対して、ユーザがタイプした文字列が異なることは多々ある。例えば、カタカナは一般にゆれが大きく「Web」を「ウェブ」とタイプしたり、「ウェッブ」とタイプしたりすることがある。このように、入力ミスも含め言葉には色々な表記方法があるにも拘わらず、データベースを柔軟に検索することができなかった。 The character string typed by the user is often different for a predetermined word as well as a typo. For example, katakana is generally very swaying, and “Web” may be typed as “Web” or “Web”. In this way, the database could not be flexibly searched despite the various notation methods for words including input errors.
本発明はこうした点に鑑みてなされたもので、その目的は、文字列に類似する単語を検索する技術の提供にある。また、別の目的は、柔軟性の高い情報提供技術の提供にある。 The present invention has been made in view of these points, and an object thereof is to provide a technique for searching for a word similar to a character string. Another object is to provide highly flexible information provision technology.
本発明のある態様は、単語を検索する装置である。この装置は、文字列の入力を受け付ける受付部と、複数の単語に関する情報を保持する格納部と、文字列の属性に基いて、格納部に含まれる単語の中から文字列に類似する類似単語を抽出する解析部とを備える。 One embodiment of the present invention is an apparatus for searching for a word. This device includes a receiving unit that accepts input of a character string, a storage unit that holds information about a plurality of words, and a similar word that is similar to a character string from words included in the storage unit based on the attributes of the character string And an analysis unit for extracting.
この装置によれば、文字列の属性に基いて、その文字列に類似する単語を抽出することができる。「文字列の属性」は、例えば文字列に含まれる文字の文字種、文字列に含まれる文字の個数などであり、文字列の構成を示す情報であってよい。 According to this apparatus, words similar to the character string can be extracted based on the attribute of the character string. The “character string attribute” is, for example, the character type of the character included in the character string, the number of characters included in the character string, and the like, and may be information indicating the configuration of the character string.
解析部は、文字列に含まれる文字の文字種に基いて類似単語の候補を抽出する抽出部を有してよい。これにより、文字列に含まれる文字の文字種に基いて、類似単語の候補を絞り込むことができるので、類似単語を効率的に抽出できる。 The analysis unit may include an extraction unit that extracts similar word candidates based on a character type of a character included in the character string. As a result, similar word candidates can be narrowed down based on the character type of characters included in the character string, so that similar words can be efficiently extracted.
抽出部は、文字列に含まれる文字の個数に基いて類似単語を抽出してもよい。これにより、文字列に含まれる文字の個数に基いて、類似単語の候補を絞り込むことができるので、類似単語を効率的に抽出できる。 The extraction unit may extract similar words based on the number of characters included in the character string. Thus, similar word candidates can be narrowed down based on the number of characters included in the character string, so that similar words can be extracted efficiently.
格納部は単語に含まれる文字の文字種ごとに単語テーブルを保持し、抽出部は文字列に含まれる各文字の文字種を特定し、特定した文字種に対応する単語テーブルを参照して類似単語の候補を抽出してもよい。文字種毎に単語テーブルが用意されるので、検索範囲を狭めることができ、類似単語を特定するための計算量を減らすことができる。 The storage unit holds a word table for each character type of characters included in the word, and the extraction unit specifies the character type of each character included in the character string, and refers to the word table corresponding to the specified character type to search for similar words May be extracted. Since a word table is prepared for each character type, the search range can be narrowed, and the amount of calculation for specifying similar words can be reduced.
格納部は単語に含まれる文字の文字数ごとに単語テーブルを保持し、抽出部は文字列の文字数を特定し、特定した文字数に対応する単語テーブルを参照して類似単語の候補を抽出してもよい。文字数毎に単語テーブルが用意されるので、検索範囲を狭めることができ、類似単語を特定するための計算量を減らすことができる。 The storage unit holds a word table for each number of characters included in the word, and the extraction unit specifies the number of characters in the character string, and extracts similar word candidates by referring to the word table corresponding to the specified number of characters. Good. Since a word table is prepared for each number of characters, the search range can be narrowed, and the amount of calculation for specifying similar words can be reduced.
抽出部は、文字列に含まれる文字ブロックと単語に含まれる文字ブロックとの一致度に基いて類似単語の候補を抽出してもよい。「一致度」は、単に文字列に含まれている各文字の数と単語に含まれている各文字の数とを比較したものでもよいし、同一の文字ブロックの数を比較したものでもよい。「文字ブロック」は、所定の条件に基いて作られた文字列であって、例えば隣り合う2文字であってもよいし、ひとつ飛びの2文字であってもよい。 The extraction unit may extract similar word candidates based on the degree of coincidence between the character block included in the character string and the character block included in the word. The “coincidence” may be simply a comparison between the number of characters included in a character string and the number of characters included in a word, or a comparison of the number of identical character blocks. . The “character block” is a character string created based on a predetermined condition, and may be, for example, two adjacent characters or two skipped characters.
本発明の別の態様は、単語を検索する方法である。この方法は、所定の検索装置から文字列の入力を受け付けるステップと、文字列の属性に基いて、複数の単語に関する情報を保持する格納部に含まれる単語の中から文字列に類似する類似単語を抽出するステップと、抽出した類似単語を検索装置に出力するステップとを備える。 Another aspect of the present invention is a method for searching for a word. This method includes a step of receiving input of a character string from a predetermined search device, and a similar word similar to a character string from words included in a storage unit that holds information on a plurality of words based on the attribute of the character string And a step of outputting the extracted similar words to a search device.
本発明の更に別の態様は、情報を提供するシステムである。このシステムは、文字列の入力を受け付ける受付部と、所定の単語とその単語に関係する所定の情報とを対応付けて保持する第1格納部と、第1格納部を参照して受け付けた文字列に対応する所定の情報を検索する検索部と、その文字列に対応する所定の情報を検索できなかった場合、その文字列の属性に基いて、複数の単語に関する情報を保持する第2格納部に含まれる単語の中からその文字列に類似する類似単語を抽出する抽出部とを備え、検索部は、類似単語に対応する所定の情報を検索する。これにより、最初に受け付けた文字列で検索結果が得られない場合でも、その文字列に基いて自動的に選択された類似単語に基いて再び検索することができる。 Yet another aspect of the present invention is a system for providing information. The system includes a receiving unit that receives input of a character string, a first storage unit that holds a predetermined word and predetermined information related to the word in association with each other, and a character that is received with reference to the first storage unit A search unit that searches for predetermined information corresponding to a column, and a second storage that holds information related to a plurality of words based on attributes of the character string when the predetermined information corresponding to the character string cannot be searched An extraction unit that extracts a similar word similar to the character string from the words included in the unit, and the search unit searches for predetermined information corresponding to the similar word. As a result, even if the search result cannot be obtained with the initially accepted character string, the search can be performed again based on the similar word automatically selected based on the character string.
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.
本発明によれば、文字列に類似した単語を効率的に検索する装置を提供できる。また、柔軟性の高い情報提供システムを提供できる。 ADVANTAGE OF THE INVENTION According to this invention, the apparatus which searches efficiently the word similar to a character string can be provided. In addition, a highly flexible information providing system can be provided.
図1は、実施の形態に係る情報提供システム50の構成図である。ユーザ端末装置16は、例えばパーソナルコンピュータ、PDA(personal digital assistance)、携帯電話などの端末装置であり、ネットワーク10を介して検索サーバ20と通信可能なコンピュータである。検索サーバ20は、検索サイトを実現するための装置であり、検索部22、アドレス情報格納部24、類似単語要求部26、類似単語提供部28、および通信部30を有する。検索部22、類似単語要求部26、および類似単語提供部28は、通信部30を介してネットワーク10に接続された各装置と通信を行う。検索部22は、ユーザ端末装置16から受信した検索文字列に対応するウェブページのアドレスを、アドレス情報格納部24を参照して検索し、検索結果をユーザ端末装置16に提供する。検索文字列に該当するウェブページのアドレスが無い場合、類似単語要求部26は検索文字列に類似する単語の検索を単語検索装置100に要求する。単語検索装置100は、検索文字列に類似する単語を見つけ出し、検索サーバ20に送信する。そして、類似単語提供部28は、その類似単語をユーザ端末装置16に提供し、その類似単語の中から所望の単語をユーザに選択させる。そして、検索部22は、ユーザに選択された類似単語に基いて再び検索を行う。これにより、検索文字列に該当する情報がデータベースにない場合でも、検索文字列に類似した単語に基いて再び検索する機会を提供できるので、柔軟性のある情報提供システムを提供できる。
FIG. 1 is a configuration diagram of an
図2は、類似単語が見つかった場合にユーザ端末装置16に表示される表示画面52の一例を示す図である。類似単語54が見つかった場合に、図1の検索サーバ20はこの表示画面52を表示するための情報をユーザ端末装置16に提供する。この表示画面52は、ユーザが入力した検索文字列に類似する類似単語54と、検索に利用する類似単語を選択するためのチェックボックス56と、選択した類似単語で再び検索を行うことを指示するための検索開始ボタン58とを含む。このように類似単語54を表示することにより、例えばユーザのタイプミスやはっきりしない記憶のためにデータベース中に記憶されている単語が入力されなかった場合でも、検索作業を終了することなく、ユーザに類似単語を選択する機会を提供して検索作業を継続できる。
FIG. 2 is a diagram illustrating an example of the
図3は、図1の単語検索装置100の内部構成図である。単語検索装置100の各構成要素は、ハードウエアコンポーネントで言えば、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インターフェース等を中心に実現されるが、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。実施の形態の説明に用いる各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
FIG. 3 is an internal block diagram of the
受付部102は、検索サーバ20から類似語を検索する対象となる検索文字列を受け付ける。認証部108は、検索文字列を送信した検索サーバ20の認証を行う。例えば認証部108は、単語検索装置100の使用を許可する装置のIPアドレスを予め保持し、そのIPアドレスが割り当てられた検索サーバ20に当該単語検索装置100の利用を許可する。認証部108における認証方法は、これに限らず既知の技術を利用すればよい。認証に成功した場合、受付部102は検索文字列を解析部104に供給する。詳細は後述するが、解析部104は、検索文字列に類似する単語を検索して出力部106に供給する。出力部106は、類似単語を検索サーバ20に送信する。出力部106は、類似単語を任意の形式で送信してよく、例えばCSV形式で検索サーバ20に送信してもよいし、XML(eXtensible Markup Language)に準じた形式で検索サーバ20に送信してもよい。また、複数の類似単語を検索サーバ20に送信する場合、出力部106は、検索文字列に対する類似度を特定できるように、すなわち優先順位を付けて類似単語を提示するための画面情報を図1の検索サーバ20において生成できるように類似単語を検索サーバ20に送信する。例えば出力部106は、類似単語とそれぞれの類似単語の検索文字列に対する類似の程度を特定するための情報とを対応付けて検索サーバ20に出力する。CSV形式の場合、出力部106は、類似度の高い類似単語から順に並べて検索サーバ20に送信してもよい。
The accepting
ログ処理部110は、単語検索装置100の利用状況を、例えばIPアドレスなどの検索サーバ20を特定する情報に対応付けてログ格納部112に格納する。例えば、ログ処理部110は、認証部108から認証に成功した検索サーバ20のIPアドレスと検索文字列とを受け付けて、それらの情報を受付日時に対応付けてログ格納部112に格納する。また、ログ処理部110は、出力部106から類似単語と類似単語の送信先のIPアドレスとを対応付けて、送信日時に対応付けてログ格納部112に格納してもよい。ログ処理部110は、後述する課金部114が課金処理のために必要な情報をログ格納部112に格納すればよい。課金部114は、ログ格納部112に保持されているデータに基いて課金を行う。課金形態は、ビジネス上の契約に基いて任意に決めることができ、例えば利用回数、利用期間などに基いて算出されてよい。
The
図4は、図3の解析部104の内部構成図である。前処理部120は、例えば検索文字列に含まれる旧字体を新字体に変換したり、片仮名および数字などを全角または半角に統一したりして後段の解析処理に適した文字列に変換する。変換データ格納部160は、旧字体と新字体とを対応付けて保持する。前処理部120は、検索文字列に含まれる各文字について変換データ格納部160に保持されている旧字体とマッチングをとることで、置換すべき旧字体の有無を判定する。置換すべき旧字体が含まれている場合、前処理部120は検索文字列中の旧字体を、対応する新字体に置き換える。検索文字列に対して前処理を施した後、前処理部120はその検索文字列を特定単語検索部122に供給する。
FIG. 4 is an internal configuration diagram of the
特定単語検索部122は、特定単語リスト格納部130に格納されている文字列と検索文字列とのマッチングをとることにより、特定の検索文字列に対して類似単語を検索する。検索文字列とその検索文字列に対応する単語とを統計的に分析することにより、間違える頻度の高い単語を予め選び出すことができる。特定単語リスト格納部130は、予め選び出された単語とその単語と間違えやすい文字列とを対応付けて保持する。これにより、間違える可能性の高い単語について、迅速に類似語を特定することができる。検索文字列に該当する文字列が特定単語リスト格納部130に登録されていない場合、特定単語検索部122は検索文字列を抽出部124に供給する。抽出部124、算出部126、および選択部128における処理で、検索文字列の類似単語が選択される。次に、抽出部124および算出部126により実現される処理の要素技術について説明する。
The specific
(エディットディスタンス)
一般に、検索文字列に類似する類似単語は、エディットディスタンスという方法を利用することで抽出することができる。エディットディスタンス法は、編集距離とも呼ばれ、入力文字列を所定の文字列に直すために、挿入、入れ替え、削除の操作を何回行う必要があるかを算出することで文字列同士の類似度を算出するものである。例えば、「インターネト」を「インターネット」に直す場合、「ネ」と「ト」の間に「ッ」を挿入する必要がある。一方「インターネト」を「インターチェンジ」に直す場合、「ネ」、「ト」を、それぞれ「チ」、「ェ」に替え、「ン」、「ジ」を追加する必要がある。前者と後者では、前者の方が編集回数は少なくなるので、「インターネト」は「インターネット」に類似しているということになる。
(Edit distance)
In general, similar words similar to a search character string can be extracted by using a method called edit distance. The edit distance method is also called edit distance, and the degree of similarity between character strings is calculated by calculating how many insertion, replacement, and deletion operations are required to convert an input character string into a predetermined character string. Is calculated. For example, when “Internet” is changed to “Internet”, it is necessary to insert “t” between “ne” and “t”. On the other hand, when “Internet” is changed to “Interchange”, “N” and “G” need to be replaced with “C” and “D” respectively, and “N” and “G” must be added. In the former and the latter, since the number of edits is less in the former, “Internet” is similar to “Internet”.
(編集内容に応じた重み付け)
エディットディスタンス法において、一文字の削除、挿入、入れ替えの対象となる文字に応じて、重み付け値をかえて類似計数値を算出する。本実施の形態では、編集を行う毎にその編集内容に対応付けられた重み付け値を加算することで類似計数値を算出する。このため、類似計数値が小さいほど、類似度が高い、つまり類似していることになる。一般に片仮名はゆれが大きく、例えば「ユーザー」や「ユーザ」のようにひとつの単語でも表記が違ってくる。こうした揺れによる文字を入れ替えたり、削除したり、挿入したりする場合には、その他の文字の入れ替え、削除、挿入に比べて軽い値を重み付け値として設定する。例えば「ー」の削除は「ウ」の削除より軽い値を重み付け値として設定する。これにより、文字種の性質に応じて類似計数値を適切に算出できるので、類似単語を適切に選択できる。
(Weighting according to editing content)
In the edit distance method, the similarity count value is calculated by changing the weighting value according to the character to be deleted, inserted, or replaced. In the present embodiment, the similarity count value is calculated by adding the weight value associated with the edited content every time editing is performed. For this reason, the smaller the similarity count value, the higher the similarity, that is, the similarity. In general, Katakana is greatly fluctuated, and for example, even a single word such as “user” or “user” has a different notation. When replacing, deleting, or inserting characters due to such shaking, a lighter value is set as a weighting value compared to replacing, deleting, or inserting other characters. For example, when “-” is deleted, a lighter value than that of “c” is set as a weighting value. Thereby, since a similarity count value can be appropriately calculated according to the character type, a similar word can be appropriately selected.
こうした作業を全ての単語に対して行うことで、検索文字列に対する類似単語を特定できるが、例えば数十万語におよぶ全ての単語に対して類似計数値を算出することは現実的ではない。そこで、エディットディスタンス法により類似計数値を算出する前に、予め類似計数値を算出する対象となる類似単語の候補を、文字種と文字数とに基いて絞り込む。そして、絞り込んだ単語に対して類似計数値を算出し、類似度の高い単語つまり類似計数値が低い単語から順に類似単語として選択する。以下、類似計数値の算出対象となる単語を抽出する処理を「候補選択処理」といい、候補選択処理により選択された単語を「類似単語候補」という。また、類似単語候補について、類似計数値を算出する処理を「類似度算出処理」という。 By performing such work on all the words, similar words for the search character string can be specified, but it is not realistic to calculate a similarity count value for all the words, for example, several hundred thousand words. Therefore, before calculating the similarity count value by the edit distance method, candidates for similar words for which the similarity count value is to be calculated are narrowed down based on the character type and the number of characters. Then, the similarity count value is calculated for the narrowed-down words, and the similar words are selected in descending order of words having a high similarity, that is, words having a low similarity count value. Hereinafter, the process of extracting a word for which the similarity count value is to be calculated is referred to as “candidate selection process”, and the word selected by the candidate selection process is referred to as “similar word candidate”. Also, the process of calculating the similarity count value for similar word candidates is referred to as “similarity calculation process”.
(バイグラム)
候補選択処理は、検索文字列に含まれる文字列と単語に含まれる文字との一致具合をみることで行われ、検索文字列の属性のひとつである文字長に応じて異なるアルゴリズムが利用される。具体的には、辞書に含まれる全ての文字に対して、文字とその文字を含む単語とを対応付けたインデックスを作成する。例えば、「山」という文字に対応付けて「富士山」、「山本」、「嵐山」、「山脈」などの単語を対応付けてインデックスを作成する。検索文字列が「富字山」の場合、「富」、「字」、「山」のインデックスを調べ、一致度の多い単語、すなわち検索文字列に含まれる各文字をより多く含む単語を抽出する。これにより、検索文字列に類似した単語の候補を選ぶことができる。しかしながら、一文字毎にインデックスを作成する手法では、マッチする単語数が多くなり計算量が膨大になってしまう。そこで、この手法を更に効率よく行うために、隣り合う2文字で、すなわちバイグラムでインデックスを作成する。バイグラムでインデックスを作成した場合、例えば、「富士山」は、「富士」と「士山」の2つのインデックスに記録される。
(Bigram)
The candidate selection process is performed by checking the degree of matching between the character string included in the search character string and the character included in the word, and a different algorithm is used according to the character length which is one of the attributes of the search character string. . Specifically, an index in which a character and a word including the character are associated is created for all characters included in the dictionary. For example, an index is created by associating words such as “Mountain”, “Yamamoto”, “Arashiyama”, and “Mountain Range” with the word “mountain”. If the search character string is “Fujiyama”, check the index of “Wealth”, “Character”, “Mountain”, and extract words with a high degree of matching, that is, words that contain more characters in the search character string To do. Thereby, word candidates similar to the search character string can be selected. However, in the method of creating an index for each character, the number of matching words increases and the amount of calculation becomes enormous. Therefore, in order to perform this method more efficiently, an index is created with two adjacent characters, that is, a bigram. When an index is created with a bigram, for example, “Mt. Fuji” is recorded in two indexes “Fuji” and “Shiyama”.
(飛び石バイグラム)
バイグラムで作成されたインデックスを使って「富字山」を探索すると、類似単語の候補を見つけることができない。「富字山」からできるインデックスは「富字」と「字山」であり、「富士山」からできるインデックスとまったく重ならない。したがって、例えば3個または4個の文字で構成される単語の場合には、隣り合う2文字ではなく、ひとつ飛びの2文字をインデックスとする(以下、単に「飛び石バイグラム」という)。例えば、「富士山」の場合、飛び石バイグラムで作成したインデックスは「富山」になる。また「一石二鳥」の場合、飛び石バイグラムで作成したインデックスは「一二」、「石鳥」となる。5文字以上の場合には、飛び石バイグラムではなくバイグラムで作成したインデックスを用いて類似した単語の候補を選択する。文字長が少ないときは飛び石バイグラムを用い、文字長が多いときバイグラムを用いるというように、本実施の形態では文字長に応じて異なるアルゴリズムを利用する。
(Stepping stone bigram)
If you search for “Fujiyama” using the bigram index, you cannot find similar word candidates. The indexes that can be created from “Fujiyama” are “Fuji” and “Jijiyama”, and they do not overlap at all with the index that is created from “Mt. Therefore, for example, in the case of a word composed of 3 or 4 characters, two skipped characters are used as an index instead of two adjacent characters (hereinafter simply referred to as “stepping stone bigram”). For example, in the case of “Mt. Fuji”, the index created by the stepping stone bigram is “Toyama”. In the case of “two birds with one stone”, the indexes created with the stepping stone bigram are “12” and “stone birds”. In the case of five characters or more, similar word candidates are selected using an index created with bigrams instead of stepping stone bigrams. In this embodiment, different algorithms are used according to the character length, such as using a stepping stone bigram when the character length is small and using a bigram when the character length is large.
このように、バイグラムや飛び石バイグラムなどの所定の規則に準じて取り出した文字で文字ブロックを作成し、その文字ブロックでインデックスを作成する。例えば、「富士山」のインデックスを飛び石バイグラムで作成した場合の「富山」が文字ブロックである。文字ブロックでインデックスを作成することにより、一致度をブロック単位で算出できる。これにより、文字単位で一致度を算出するよりも処理を高速化できる。「一致度を算出する」とは、所定の単語が、検索文字列に含まれる文字ブロックと同一の文字ブロックを何個含むかを算出することである。一致度の算出では、単語における文字ブロックの位置と検索文字列における文字ブロックの位置とが一致しているか否かの判定をとくに考慮しなくてもよい。 In this way, a character block is created with characters taken out according to a predetermined rule such as bigram or stepping stone bigram, and an index is created with the character block. For example, “Toyama” when the index of “Mt. Fuji” is created with a stepping stone bigram is a character block. By creating an index with character blocks, the degree of coincidence can be calculated in units of blocks. As a result, the processing speed can be increased as compared with the case where the matching degree is calculated for each character. “Calculating the degree of coincidence” means calculating how many character blocks the predetermined word includes the same character block as the character block included in the search character string. In calculating the degree of coincidence, it is not particularly necessary to consider whether or not the position of the character block in the word matches the position of the character block in the search character string.
一般にタイプミスなどで全ての文字を間違えることは少なく、単語に含まれる文字の一部が間違っていることが多い。こうした観点から、文字ブロック単位で一致度を算出することで、類似単語の候補を効率的に抽出することができる。また、文字ブロックに含まれる文字数は、2個に限られず任意に設定できてよく、例えば単語の文字数に応じて決められてもよい。また、文字ブロックを作成するための所定の規則も、任意に設定できてよく例えば文字数の多い単語は、2つおきに文字を取り出して3文字の文字ブロックとしてもよい。 In general, it is rare that all characters are mistaken due to a typo or the like, and some of the characters included in the word are often wrong. From this point of view, similar word candidates can be efficiently extracted by calculating the degree of matching in character block units. Further, the number of characters included in the character block is not limited to two and may be arbitrarily set. For example, the number of characters may be determined according to the number of characters in the word. Also, a predetermined rule for creating a character block may be arbitrarily set. For example, a word having a large number of characters may be taken out every two characters to form a three-character block.
(文字種、文字数に応じたアルゴリズムの選択)
候補選択処理は、更に検索文字列の属性のひとつである文字種に基いて行う。例えば、日本語は、片仮名、平仮名、漢字、数字、アルファベット等の複数の文字種により表記される。こうした観点から、検索文字列に含まれる文字の文字種に応じて、類似単語を絞り込むことができる。また、例えば3文字の単語を検索文字列とする際に、8文字の文字列が間違って入力されることは少ない。こうした観点から、検索文字列の文字数に応じて、類似単語を絞り込むことができる。例えば、単語の文字種、文字数などの属性毎に辞書を用意しておくことで、検索文字列の属性に基いて辞書を選択できる。そして、その辞書毎に、前述した文字ブロック毎のインデックスを作成しておくことで、類似単語の候補を選択する処理を迅速かつ効率的に行うことができる。
(Select algorithm according to character type and number of characters)
The candidate selection process is further performed based on the character type that is one of the attributes of the search character string. For example, Japanese is represented by a plurality of character types such as katakana, hiragana, kanji, numbers, and alphabets. From this point of view, similar words can be narrowed down according to the character type of characters included in the search character string. For example, when a 3-character word is used as a search character string, an 8-character character string is rarely input incorrectly. From this point of view, similar words can be narrowed down according to the number of characters in the search character string. For example, by preparing a dictionary for each attribute such as the character type of the word and the number of characters, the dictionary can be selected based on the attribute of the search character string. Then, by creating the above-mentioned index for each character block for each dictionary, the process of selecting similar word candidates can be performed quickly and efficiently.
抽出部124は、前述した要素技術を利用して候補選択処理を行って類似単語の候補を抽出し、算出部126に出力する。算出部126は、前述したエディットディスタンス法を利用して、類似単語候補ごとに検索文字列との類似計数値を算出する。そして、算出部126は、類似単語候補とその類似計数値とを対応付けて選択部128に出力する。選択部128は、類似計数値の低い単語から順に選択して、類似単語として出力部106に出力する。
The
また、選択部128は、選択した類似単語のリストを更新部132に供給する。更新部132は、選択部128から受け付けた類似単語を出力単語リスト格納部134に格納する。更新部132は、出力単語リスト格納部134に保持されている情報に基いて、単語毎の頻度を算出して、頻度の多い単語を特定単語リスト格納部130に追加してもよい。これにより、抽出部124、算出部126および選択部128における処理結果を特定単語リスト格納部130に反映できる。
The
データ格納部150は、抽出部124および算出部126における処理で必要なデータを格納する。文字種別データ格納部152は、文字種別の辞書と、それぞれの辞書に基いて作成したインデックスとを保持する。文字長別データ格納部154は、文字長別の辞書と、それぞれの辞書に基いて作成したインデックスとを保持する。文字種別データ格納部152および文字長別データ格納部154に保持されている辞書ならびにインデックスはそれぞれ同一のデータ構造を有する。例えば「辞書」は、単語とその単語を特定する単語IDとを対応付けて保持する。「インデックス」は、辞書毎に作成され、所定の規則に基いて決まる文字ブロックとその文字ブロックを含む単語の単語IDとを対応付けて保持する。
The
例えば、文字種別データ格納部152は、片仮名辞書、読み辞書、アルファベット辞書と、それぞれの辞書に基いて作成されたインデックスとを保持する。読み辞書は、一般的に使われる言葉を平仮名で保持しており、片仮名辞書に含まれる単語も含んでいる。文字長別データ格納部154は、例えば1文字の単語を集めた辞書、2文字の単語を集めた辞書、3文字の単語を集めた辞書、4文字の単語を集めた辞書、5文字以上の単語を集めた辞書と、それぞれの辞書に基いて作成したインデックスとを保持する。
For example, the character type
知識データ格納部156は、類似度を算出する際に利用する編集内容とその編集内容に応じた重み付け値とを対応付けて保持する。読みデータ格納部158は、漢字と、その漢字の音読み、および訓読みとを対応付けて保持する。
The knowledge
(片仮名文字列のマッチング)
検索文字列に含まれる文字が全て片仮名の場合、抽出部124は全ての文字が片仮名で表記される単語を集めた片仮名辞書と、その片仮名辞書に基いて作成された片仮名インデックスとを利用して候補選択処理を行う。片仮名辞書および片仮名インデックスは文字種別データ格納部152に格納されている。
(Matching Katakana character string)
When all the characters included in the search character string are Katakana characters, the
第1のステップでは、抽出部124は、検索文字列と同一の単語が片仮名辞書に含まれているか否かを判定する。第2のステップでは、抽出部124は、片仮名インデックスを利用して、文字ブロックの一致度に基いて類似単語候補を選択する。類似単語候補の数は、任意に設定されてよい。第2のステップでは、抽出部124は、文字ブロックが多く一致している単語から順に類似単語候補として選択する。第3のステップでは、抽出部124は選択した類似単語候補を算出部126に出力する。
In the first step, the
第4のステップでは、算出部126はエディットディスタンス法により、類似単語候補それぞれについて検索文字列との類似計数値を算出する。算出部126は、知識データ格納部156に保持されているデータに基いて、編集内容毎に異なる重み付け値を使い類似計数値を算出する。第5のステップでは、算出部126は算出した類似計数値と類似単語候補とを対応付けて選択部128に出力する。第6のステップでは、選択部128は類似計数値が一番低い単語から順に類似単語として選択する。
In the fourth step, the
第2のステップで、類似単語候補を選択できなかった場合、抽出部124は、片仮名を平仮名に変換して「読みのマッチング」を行う。読みのマッチングを行う場合、抽出部124は文字種別データ格納部152に保持されている平仮名辞書と平仮名インデックスとを利用する。この平仮名辞書は、全ての単語の読みを保持している。つまり、片仮名辞書で類似単語候補を選択できない場合に、抽出部124は、より多くの単語を含む平仮名辞書と平仮名インデックスを利用する。例えば、人名「斉藤」が片仮名で「サイトウ」と入力された場合、片仮名辞書には「サイトウ」という単語が記録されていないので、類似語を検索することができない。こうした事態に対応するため、片仮名辞書で類似単語候補を選択できない場合には平仮名辞書を利用する。
If the similar word candidate cannot be selected in the second step, the
検索文字列に含まれる文字が全て平仮名の場合や、検索文字列に含まれる文字が全てアルファベットの場合も片仮名の場合と同様に、抽出部124は、それぞれの文字種毎に用意された辞書およびインデックスを利用して同様の候補選択処理を行う。
Similarly to the case of Katakana when the characters included in the search character string are all hiragana, or when the characters included in the search character string are all alphabetic characters, the
(文字長に応じた処理)
検索文字列に複数の文字種が含まれている場合、抽出部124は検索文字列に含まれる文字の数に基いて候補選択処理を行う。例えば、検索文字列の文字長が1文字の場合、抽出部124は文字長別データ格納部154に保持されている1文字の単語を集めた辞書とそのインデックスとを用いて候補選択処理を行う。また、検索文字列の長さが短い可能性を考慮し、抽出部124は、2文字の単語を集めた辞書とそのインデックスとを用いて候補選択処理を行う。つまり、文字長に応じて候補選択処理を行う場合、抽出部124は、検索文字列に含まれる文字の数と、前後の文字数の単語を集めた辞書を利用して候補選択処理を行う。
(Processing according to character length)
When a plurality of character types are included in the search character string, the
(読みのマッチング)
検索文字列に漢字が含まれている場合、抽出部124は、読みデータ格納部158を参照して検索文字列に含まれる漢字の全ての読みを生成する。複数の漢字が含まれている場合には、抽出部124は、全ての漢字について読み候補の組合せを作成し、それらの読み候補の全てに対して候補選択処理を行い、類似単語候補を選択する。読み候補の組合せを作成する場合、漢字の音読み、訓読みの情報に基いて、音読み同士または訓読み同士の組合せのほうが、音読みと訓読みとを組み合わせた読みより正しい読みであることが多い。そのため、音読みと訓読みとを組み合わせた読みに対する重み付け値は、音読み同士または訓読み同士を組み合わせた読みに対する重み付け値より大きい値が設定される。
(Reading matching)
When the search character string includes kanji, the
例えば検索文字列が「源じ」の場合、同じ読みとして「源氏」と「現時」とが存在する。この場合「源氏」の類似計数値のほうが「現時」より大きくなるようにしたい。このために、算出部126は、検索文字列に含まれる文字と辞書に登録されている単語に含まれる文字とを比較し、異なる文字の数が多い単語に対する重み付け値を大きくする。
For example, when the search character string is “Genji”, “Genji” and “Current” exist as the same reading. In this case, we want to make the similar count value of “Genji” larger than “current”. For this purpose, the
図5は、図4の抽出部124における処理のフローチャートである。抽出部124は、検索文字列の属性、すなわち文字種と文字数とを特定する(S8)。例えば、抽出部124は、文字コード表に基いて用意された文字種別の文字コードの範囲(以下、「文字種範囲」という)を保持し、抽出部124は、検索文字列に含まれる各文字の文字コードが含まれる文字種範囲を判断することで各文字の文字種を特定してもよい。検索文字列に含まれる全ての文字が片仮名、「−」および「−」の亜種の場合(S10)、「片仮名文字列のマッチング」を行う(S12)。類似単語候補が見つかった場合(S14のY)、抽出部124は類似単語候補を算出部126に出力する(S44)。ステップ14で、類似単語候補が見つからなかった場合(S14のN)、抽出部124は「読みのマッチング」を行う(S16)。
FIG. 5 is a flowchart of processing in the
ステップ10で、全ての文字が片仮名でない場合(S10のN)、抽出部124は全ての文字が平仮名、「−」および「−」の亜種であるか否かを判定する(S18)。全ての文字が平仮名の場合(S18のY)、「読みのマッチング」を行う。ステップ18で、全ての文字が平仮名でない場合(S18のN)、全ての文字がアルファベットおよび数字であるか否かを判定する(S22)。全ての文字がアルファベットおよび数字の場合(S22のY)、「アルファベットのマッチング」を行い(S24)、ステップ44に進む。
If all the characters are not katakana in step 10 (N in S10), the
ステップ22で、全ての文字がアルファベットおよび数字でない場合(S22のN)、検索文字列の文字長が1文字か否かを判定する(S26)。文字長が1文字の場合(S26のY)、検索文字列が1文字の場合の候補選択処理を行い(S28)、ステップ44に進む。ステップ26で、文字長が1文字でない場合(S26のN)、文字長が2文字か否かを判定する(S30)。文字長が2文字の場合(S30のY)、検索文字列が2文字の場合の候補選択処理を行い(S32)、ステップ44に進む。ステップ30で、文字長が2文字でない場合(S30のN)、文字長が3文字か否かを判定する(S34)。文字長が3文字の場合(S34のY)、検索文字列が3文字の場合の候補選択処理を行い(S36)、ステップ44に進む。ステップ34で、文字長が3文字でない場合(S34のN)、文字長が4文字か否かを判定する(S38)。文字長が4文字の場合(S38のY)、検索文字列が4文字の場合の候補選択処理を行い(S40)、ステップ44に進む。文字長が4文字でない場合(S38のN)、検索文字列が5文字の場合の候補選択処理を行い(S42)、ステップ44に進む。
If all the characters are not alphabets or numbers in step 22 (N in S22), it is determined whether or not the character length of the search character string is one character (S26). If the character length is 1 character (Y in S26), candidate selection processing is performed when the search character string is 1 character (S28), and the process proceeds to step 44. If it is determined in
図6は、図1の情報提供システム50における各装置間の処理のシーケンスの一例を示す図である。ユーザ端末装置16は、検索キーワードとなる文字列を検索サーバ20に送信する(S50)。検索サーバ20は、その文字列に基いて検索を行う(S52)。検索結果を得られなかった場合(S54のN)、図1の類似単語要求部26は、その文字列を単語検索装置100に送信する(S56)。図4の前処理部120は、その文字列に対して前処理を施す(S58)。そして、図4の抽出部124は、類似単語候補を選択する(S60)。図4の算出部126は、選択された類似単語候補毎に類似計数値を算出する(S62)。図4の選択部128は、所定の数の単語を類似計数値の低い順に選択して(S64)、検索サーバ20に送信する(S66)。
FIG. 6 is a diagram showing an example of a processing sequence between the devices in the
単語検索装置100から類似単語を受け付けた場合(S68のY)、検索サーバ20は図2の表示画面52を表示するための画面情報をユーザ端末装置16に送信する(S70)。ユーザ端末装置16は、ユーザから類似単語の選択指示を受け付け(S72)、指示された類似単語を検索サーバ20に送信する(S74)。検索サーバ20は、その単語に基いて再び検索を行う(S76)。そして、検索サーバ20は、検索結果をユーザ端末装置16に送信する(S78)。ステップ68で、単語検索装置100から類似単語を受け付けなかった場合(S68のN)、文字列に該当する情報が無いことをユーザ端末装置16に通知する(S78)。ステップ54で、検索出来た場合(S54のY)、その検索結果をユーザ端末装置16に出力する(S55)。
When a similar word is received from the word search device 100 (Y in S68), the
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。こうした変形例として以下のものがある。 The present invention has been described based on the embodiments. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there. Examples of such modifications are as follows.
第1の変形例として、図1の単語検索装置100は、単語検索装置100の運営主体とは異なる主体が運営する検索サーバ20から検索文字列を受け付け、類似単語を提供することとしたが、同一の運営主体により運用されてもよい。
As a first modification, the
第2の変形例として、単語検索装置100は検索サーバ20とは独立し、ネットワーク10を介して検索文字列を受け付けることとしたが、単語検索装置100が検索サーバ20に組み込まれて提供されてもよい。
As a second modification, the
第3の変形例として、単語検索装置100は、検索サーバ20に限らず、ショッピングサイトや辞書サイトなどユーザから文字列を受け付け、その文字列に応じて所定の情報を提供したり、所定の情報処理を行ったりする装置から文字列を受け付け、その文字列の類似単語を出力してもよい。
As a third modification, the
10 ネットワーク、16 ユーザ端末装置、20 検索サーバ、22 検索部、24 アドレス情報格納部、26 類似単語要求部、28 類似単語提供部、30 通信部、50 情報提供システム、100 単語検索装置、102 受付部、104 解析部、106 出力部、108 認証部、110 ログ処理部、112 ログ格納部、114 課金部、120 前処理部、122 特定単語検索部、124 抽出部、126 算出部、128 選択部、130 特定単語リスト格納部、132 更新部、134 出力単語リスト格納部、150 データ格納部、152 文字種別データ格納部、154 文字長別データ格納部、156 知識データ格納部、158 読みデータ格納部、160 変換データ格納部。 10 network, 16 user terminal device, 20 search server, 22 search unit, 24 address information storage unit, 26 similar word request unit, 28 similar word providing unit, 30 communication unit, 50 information providing system, 100 word search device, 102 reception Unit, 104 analysis unit, 106 output unit, 108 authentication unit, 110 log processing unit, 112 log storage unit, 114 billing unit, 120 preprocessing unit, 122 specific word search unit, 124 extraction unit, 126 calculation unit, 128 selection unit , 130 Specific word list storage unit, 132 Update unit, 134 Output word list storage unit, 150 Data storage unit, 152 Character type data storage unit, 154 Character length data storage unit, 156 Knowledge data storage unit, 158 Reading data storage unit 160 Conversion data storage unit.
Claims (8)
複数の単語に関する情報を保持する格納部と、
前記文字列の属性に基いて、前記格納部に含まれる単語の中から前記文字列に類似する類似単語を抽出する解析部と、
を備えることを特徴とする単語検索装置。 A reception unit that accepts input of a character string;
A storage for holding information about multiple words;
Based on the attribute of the character string, an analysis unit that extracts similar words similar to the character string from words included in the storage unit;
A word search device comprising:
前記抽出部は前記文字列に含まれる各文字の文字種を特定し、特定した文字種に対応する単語テーブルを参照して類似単語の候補を抽出することを特徴とする請求項2または3に記載の単語検索装置。 The storage unit holds a word table for each character type of characters included in a word,
The said extraction part specifies the character type of each character contained in the said character string, The similar word candidate is extracted with reference to the word table corresponding to the specified character type. Word search device.
前記抽出部は前記文字列の文字数を特定し、特定した文字数に対応する単語テーブルを参照して類似単語の候補を抽出することを特徴とする請求項3に記載の単語検索装置。 The storage unit holds a word table for each number of characters included in a word,
4. The word search apparatus according to claim 3, wherein the extraction unit specifies the number of characters in the character string and extracts similar word candidates with reference to a word table corresponding to the specified number of characters.
前記文字列の属性に基いて、複数の単語に関する情報を保持する格納部に含まれる単語の中から前記文字列に類似する類似単語を抽出するステップと、
抽出した類似単語を前記検索装置に出力するステップと、
を備えることを特徴とする単語検索方法。 Receiving an input of a character string from a predetermined search device;
Extracting a similar word similar to the character string from words included in a storage unit that holds information on a plurality of words based on the attribute of the character string;
Outputting the extracted similar words to the search device;
A word search method comprising:
所定の単語とその単語に関係する所定の情報とを対応付けて保持する第1格納部と、
前記第1格納部を参照して前記文字列に対応する所定の情報を検索する検索部と、
前記文字列に対応する所定の情報を検索できなかった場合、その文字列の属性に基いて、複数の単語に関する情報を保持する第2格納部に含まれる単語の中からその文字列に類似する類似単語を抽出する抽出部と、
を備え、前記検索部は、前記類似単語に対応する所定の情報を検索することを特徴とする情報提供システム。 A reception unit that accepts input of a character string;
A first storage unit that holds a predetermined word and predetermined information related to the word in association with each other;
A search unit for searching for predetermined information corresponding to the character string with reference to the first storage unit;
If the predetermined information corresponding to the character string cannot be searched, it is similar to the character string from among the words included in the second storage unit that holds information related to a plurality of words based on the attribute of the character string. An extraction unit for extracting similar words;
The information providing system is characterized in that the search unit searches for predetermined information corresponding to the similar words.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004028403A JP2005222244A (en) | 2004-02-04 | 2004-02-04 | Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004028403A JP2005222244A (en) | 2004-02-04 | 2004-02-04 | Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005222244A true JP2005222244A (en) | 2005-08-18 |
Family
ID=34997830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004028403A Pending JP2005222244A (en) | 2004-02-04 | 2004-02-04 | Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005222244A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011044122A (en) * | 2009-07-23 | 2011-03-03 | Rakuten Inc | Device, method and program for processing information for presenting appropriate search query |
JP2012058980A (en) * | 2010-09-08 | 2012-03-22 | Ird:Kk | Information processor, information processing method and program |
JP5049965B2 (en) * | 2006-05-13 | 2012-10-17 | 株式会社ジャストシステム | Data processing apparatus and method |
JP2013539142A (en) * | 2010-10-08 | 2013-10-17 | アーベーベー・テクノロジー・アーゲー | Method and system for communication of master-generated modifications to a copy |
-
2004
- 2004-02-04 JP JP2004028403A patent/JP2005222244A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5049965B2 (en) * | 2006-05-13 | 2012-10-17 | 株式会社ジャストシステム | Data processing apparatus and method |
JP2011044122A (en) * | 2009-07-23 | 2011-03-03 | Rakuten Inc | Device, method and program for processing information for presenting appropriate search query |
JP2012058980A (en) * | 2010-09-08 | 2012-03-22 | Ird:Kk | Information processor, information processing method and program |
JP2013539142A (en) * | 2010-10-08 | 2013-10-17 | アーベーベー・テクノロジー・アーゲー | Method and system for communication of master-generated modifications to a copy |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8301437B2 (en) | Tokenization platform | |
CN101183281B (en) | Method for inputting word related to candidate word in input method and system | |
CN107704102B (en) | Text input method and device | |
US20020126097A1 (en) | Alphanumeric data entry method and apparatus using reduced keyboard and context related dictionaries | |
US20100268724A1 (en) | Method and system for approximate string matching | |
JP4314204B2 (en) | Document management method, system and program | |
JP2009075791A (en) | Device, method, program, and system for machine translation | |
JP4724051B2 (en) | Keyword generation method, document search method, topic range estimation method, topic boundary estimation method, apparatus and program thereof, and recording medium thereof | |
JP2001290843A (en) | Device and method for document retrieval, document retrieving program, and recording medium having the same program recorded | |
JP2006099428A (en) | Document summary preparation system, method, and program | |
US20080310724A1 (en) | Text conversion apparatus capable of relieving inputting load and a method therefor | |
JP2005222244A (en) | Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device | |
JP2019121164A (en) | Document creating apparatus, document creating method, database construction apparatus, database construction method, and program | |
JP2008026964A (en) | Retrieval processor and program | |
JP2002108768A (en) | Information terminal equipment, electronic mail system connecting the same with server device, electronic mail creating method and recording medium recording electronic mail creating program | |
JP2009104475A (en) | Similar document retrieval device, and similar document retrieval method and program | |
KR100753779B1 (en) | Method for executing initial sound letter search of mixed form and system for executing the method | |
JP2001109740A (en) | Device and method for preparing chinese document | |
JP7272540B2 (en) | Information provision system, information provision method, and data structure | |
US20240037129A1 (en) | Search device, search method, and recording medium | |
KR101051422B1 (en) | Record media recording the automatic completion system, method and program for each query type with guaranteed search results | |
CN101324878B (en) | Method and apparatus for automatically learning new words and character input system | |
JP2007011438A (en) | Index structure for narrowing retrieval and information retrieval device | |
JP2002140355A (en) | Device and method for document retrieval and recording medium | |
CN118114660A (en) | Text detection method, system and computer readable storage medium |