JP5846340B2 - 文字列検索装置 - Google Patents

文字列検索装置 Download PDF

Info

Publication number
JP5846340B2
JP5846340B2 JP2015537549A JP2015537549A JP5846340B2 JP 5846340 B2 JP5846340 B2 JP 5846340B2 JP 2015537549 A JP2015537549 A JP 2015537549A JP 2015537549 A JP2015537549 A JP 2015537549A JP 5846340 B2 JP5846340 B2 JP 5846340B2
Authority
JP
Japan
Prior art keywords
character string
rule
edit distance
search
similar
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.)
Active
Application number
JP2015537549A
Other languages
English (en)
Other versions
JPWO2015040793A1 (ja
Inventor
相川 勇之
勇之 相川
悠介 小路
悠介 小路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015537549A priority Critical patent/JP5846340B2/ja
Application granted granted Critical
Publication of JP5846340B2 publication Critical patent/JP5846340B2/ja
Publication of JPWO2015040793A1 publication Critical patent/JPWO2015040793A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、入力された検索文字列に類似の文字列を検索結果として得ることが可能な文字列検索装置に関するものである。
例えば使用者が通称や略称あるいは誤って記憶した名称で住所や施設名を検索する場合や、使用者の操作ミスで入力された検索文字列に誤りが含まれる場合、またカーナビやスマートフォンなどでの音声入力による検索で入力された音声信号の認識誤りにより検索文字列に誤りが含まれる場合などでは、入力された検索文字列とは一致しないものの、検索文字列に類似する文字列を検索結果として得る類似文字列検索が必要になる。
類似文字列検索では、検索文字列と検索結果として得る文字列との類似度を評価する必要がある。文字列間の類似を評価する尺度として重み付き編集距離が用いられている。例えば特許文献1には、候補例文をランク付けして絞り込みをするために重み付き編集距離を用いる方法が開示されている。
また、非特許文献1にはある文字列を別の文字列に変換する置換ルールに重み付けをする技術が開示されている。
特開2004−62893号公報(図3)
岡崎 直観,辻井 潤一,"名詞句における用語バリエーションの自動認識",第22回人工知能学会全国大会予稿集,1H1-2,2008
特許文献1に記載されているように重み付き編集距離を類似度の評価尺度として、誤りを含む検索文字列と類似する正しい文字列を辞書から検索するとき、誤りを含む検索文字列と正しい文字列との重み付き編集距離を計算することが必要である。
非特許文献1に記載されているような2つの文字列間の類似度を類似文字列重みルール(置換ルール)に定義して、この類似度に基づいて重み付き編集距離を計算する場合、誤り等のパターンは大量に存在するため大量の類似文字列重みルールが必要になる。重み付き編集距離の計算処理では、計算処理中の文字列に対して適用するか否かを、これらの大量の類似文字列重みルールについて判定しなければならない。このため、重み付き編集距離の計算処理における類似文字列重みルールの適用可否判定の処理量が非常に大きいという課題があった。
この発明は上記のような問題点を解決するためになされたものであり、文字列検索装置が行う類似文字列検索の際の、重み付き編集距離の計算処理量を削減することを目的とする。
この発明の文字列検索装置は、1文字以上の文字からなる第1の文字列と第2の文字列の類似度が定義された複数の類似文字列重みルールの中から、入力された検索文字列に第1の文字列が含まれる類似文字列重みルールを抽出する重みルール抽出部と、重みルール抽出部において抽出された類似文字列重みルールを用いて、検索文字列と検索文字列を検索する辞書から取得された見出し文字列との重み付き編集距離を計算する編集距離計算部と、を備えたるようにしたものである。
この発明によれば、上述のように入力された検索文字列ついて、その検索文字列に適用される可能性のある類似文字列重みルールを抽出し、類似文字列検索の際の重み付き編集距離の計算においては、この抽出した類似文字列重みルールを参照して適用可否を判断するようにしたので、適用可否判断をする回数を削減することができ、重み付き編集距離の計算処理量を削減することができる。
実施の形態1の文字列検索装置の構成図である。 実施の形態1の文字列検索装置のルール記憶部に記憶された類似文字列重みルールの例を示すテーブルである。 辞書に記憶された辞書データの例を示すテーブルである。 実施の形態1の文字列検索装置の処理フローである。 適用ルール記憶部に記憶された抽出された類似文字列重みルールの例を示すテーブルである。 実施の形態1の文字列検索装置の重み付き編集距離計算処理の処理フローである。 実施の形態1の文字列検索装置の類似文字列重みルール適用時の編集距離計算の処理フローである。 実施の形態1の文字列検索装置における重み付き編集距離計算の例を説明する説明図である。 実施の形態2の文字列検索装置の構成図である。 実施の形態2の文字列検索装置の重み付き編集距離計算処理の処理フローである。 実施の形態2の打ち切り判定処理の処理フローである。
以下この発明の実施の形態を、図を参照して説明する。なお、参照する図において同一もしくは相当する部分には同一の符号を付している。
実施の形態1.
図1はこの発明の実施の形態1に係る文字列検索装置の構成図である。この発明の実施の形態1の文字列検索装置は、重みルール抽出部101、ルール記憶部102、適用ルール記憶部103、編集距離計算部104、辞書105、距離順整列部106とから構成される。重みルール抽出部101は、使用者により入力された入力文字列110をもとに、ルール記憶部102から入力文字列110に関係する類似文字列重みルールを抽出して適用ルール記憶部103に記憶する。
ここで、入力文字列110は検索文字列であり、キーボードやタッチパネル等の入力デバイスを用いて入力されたり、音声入力デバイスで入力された音声信号から音声認識機構(図示せず)によって認識されたりした文字列である。なお、この発明は検索文字列の入力方法を限定するものではなく、その他の種々の方法で入力された文字列であって良い。
また、類似文字列重みルールは、2つの文字列(第1の文字列と第2の文字列)の類似度を定義した規則であり、検索文字列と他の文字列の重み付き編集距離を計算する際に用いられる。
編集距離計算部104は、辞書105を参照し、入力文字列110と辞書105に記憶された各見出し文字列との重み付き編集距離を、適用ルール記憶部103に記憶された類似文字列重みルールを用いて計算する。距離順整列部106は、編集距離計算部104が計算した重み付き編集距離の小さい順に辞書105の各見出し文字列を類似文字列リスト111として出力する。なお、類似文字列リスト111は使用者に対してディスプレイ(図示せず)等に提示されるなどの処理で使用される。
重みルール抽出部101、編集距離計算部104および距離順整列部106は、ASIC(Application Specific Integrated Circuit)等のハードウェアで構成したり、プロセッサを用いた専用ハードウェアとそのプロセッサにおいて実行されるソフトウェアで実現したり、汎用のコンピュータ上で動作するソフトウェアで実現したり、あるいはこれらの実現方法を組み合わせて実現したりすることが可能である。
また、ルール記憶部102、適用ルール記憶部103、辞書105は、RAM(Random Access Memory)などの揮発性の記憶媒体や、HDD(Hard Disc Drive)などの不揮発性の記憶媒体を用いて構成すればよい。あるいは、通信回線を経由して遠隔で読み書きされるように構成しても良いし、着脱可能なデバイスを用いるようにしても良い。
図2はルール記憶部102に記憶された類似文字列重みルールの例を示すテーブルである。ルール番号201は各類似文字列重みルールを識別するために一意に付与された番号である。第1の文字列である左辺文字列202と第2の文字列である右辺文字列203は、各類似文字列重みルールで類似度を定義する文字列の組み合わせであり、類似度スコア204は左辺文字列202と右辺文字列203との類似度を示している。ここでは、類似度スコア204が小さいほど類似度が大きいことを示すこととする。
図2の例には、発音が類似しており綴り誤りが多く発生する“PH”と“F”(ルール番号201=2)や、“C”と“K”(ルール番号201=20)などの組み合わせが含まれている。また、キーボード等での同一文字の連続入力の入力漏れなどの誤りに対応するための“A”と“AA”(ルール番号201=52)のような組み合わせも含まれている。
これらの類似文字列重みルールは事前に手作業で定義するようにしても良いし、誤入力の例などを多数収集し、機械学習などの統計的な手法を用いて構成されるようにしても良い。
また、図3は辞書105に記憶された辞書データの例を示すテーブルである。辞書105には見出し文字列とその見出し文字列の属性情報が記録されている。ここで属性情報とは見出し文字列の種別(品詞)や内容などの情報である。
次にこの発明の実施の形態1の文字列検索装置の動作を説明する。図4は実施の形態1の文字列検索装置の処理フローである。文字列検索装置に入力文字列110が入力されると、まず重みルール抽出部101がルール抽出処理を行う(ST201)。ST201の処理では、重みルール抽出部101が、入力された入力文字列110に基づいて、ルール記憶部102に記憶された複数の類似文字列重みルールの中から、この入力文字列110に対して適用される可能性のある類似文字列重みルールを抽出する。
ここで適用される可能性のある類似文字列重みルールとは、左辺文字列202が入力文字列110に含まれる類似文字列重みルールである。ここでは、入力文字列110の先頭から末尾までの各文字位置について、先頭の文字から当該文字位置までの部分文字列を参照し、これら部分文字列の末尾の文字(例えば3文字目までの部分文字列であれば3文字目)を含む一部と類似文字列重みルールの左辺文字列202が一致するものを選択するようにする。このようにして抽出することで、抽出した類似文字列重みルールを対応する文字位置毎に分類をすることができる。抽出した類似文字列重みルールは適用ルール記憶部103に記憶される。
図5は適用ルール記憶部103に記憶された類似文字列重みルールの例を示すテーブルである。適用ルール記憶部103では、類似文字列重みルールは入力文字列110の対応する文字位置ごとに分類して記憶される。
図5の適用ルール記憶部103に記憶された類似文字列重みルールの例は、入力文字列110が”CHA”の3文字であった場合で、図2に例示したルール記憶部102に記憶された類似文字列重みルールから抽出された類似文字列重みルールを示している。
図5において、入力文字位置205は、入力文字列110(”CHA”)の何番目の文字に対応するルールであるかを示し、各文字位置の文字に対応するルールが分類されている。
上述の通り、重みルール抽出部101は入力文字列110の先頭から末尾までの各文字位置について、先頭の文字から当該文字位置までの部分文字列を参照し、これら部分文字列の末尾の文字を含む一部と類似文字列重みルールの左辺文字列202が一致するものを抽出する。
つまり入力文字列110が”CHA”である場合、文字位置が1の文字(すなわち”C”)について、左辺文字列202が”C”の1文字のみで定義されたルールが抽出される。同様に、文字位置が2の文字(すなわち”H”)について、左辺文字列202が”H”の1文字もしくは”CH”の2文字で定義されたルールが抽出される。文字位置が3の文字(すなわち”A”)について、左辺文字列202が”A”の1文字もしくは”HA”の2文字もしくは”CHA”の3文字で定義されたルールが抽出される。
この結果として、図5では各文字位置対応に抽出された類似文字列重みルールが分類されている。
また、ルール数206は、それぞれの入力文字位置205に対応するルールの数を示す。図5の例は、1文字目(”C”)に対応するルールが10個、2文字目(”H”)に対応するルールが6個、3文字目(”A”)に対応するルールが9個、ルール記憶部102から抽出された場合を示している。
なお、入力文字列110の文字数が5文字であれば図5の表において入力文字位置が4と5の行が追加されることになる。
以降の処理フローの説明を分かり易くするために、適用ルール記憶部103に記憶された類似文字列重みルールは、配列Rule[i][k](1≦i≦入力文字列110の文字数、1≦k≦i番目の文字のルール数206)にルール番号201の順に格納され、編集距離計算部104がこの配列Ruleを参照できるようになっているものとする。またi番目の文字のルール数206が配列N[i]に格納され、同様に編集距離計算部104がこれを参照できるようになっているものとする。
例えば図5に示した例の場合で2文字目の”H”に関しては、ルール番号201=41のルールがRule[2][1]に、ルール番号201=42のルールがRule[2][2]にというように配列に格納され、また、ルール数206=6がN[2]に記憶される。
次に、編集距離計算部104が重み付き編集距離計算を行う(ST202)。ST202の処理では、編集距離計算部104が辞書105から見出し文字列を順次読み込み、各見出し文字列と入力文字列110との重み付き編集距離を計算する。重み付き編集距離計算の処理内容については後述する。
次に、距離順整列部106がST202で辞書105から読み出されて重み付き編集距離を計算された各見出し文字列について、重み付き編集距離の小さい順(近い)に整列し、類似文字列リスト111として出力する。出力された類似文字列リスト111は、使用者に対してディスプレイ(図示せず)等に提示されるなどの処理に使用される。
次に、編集距離計算部104が辞書105から読み出した各見出し文字列に対して行うST202の重み付き編集距離計算の処理内容について説明する。ここでは編集距離計算にDP(Dynamic Programming)手法を用いることとする。なお、この発明は編集距離計算手法をDP手法に限るものではなく、他の手法を用いても良い。図6はST202の重み付き編集距離計算処理の処理フローである。
入力文字列110である元の文字列(Str1とする)から各見出し文字列である目標の文字列(Str2とする)への編集距離を求める。まず、DP手法による編集距離計算に用いるテーブルの初期化を行う(ST301)。この編集距離計算用テーブルは、Str1の文字列長(以降|Str1|と表記する)とStr2の文字列長(以降|Str2|と表記する)に基づいて、M[i,j](0≦i≦|Str1|, 0≦j≦|Str2|)で表される2次元配列である。ST301では、M[0,0]に0を、M[i,0](1≦i≦|Str1|)にiを、M[0,j](1≦j≦|Str2|)にjを代入して初期化する。
なお、ST301を実施する前にStr1とStr2が一致しているか否かを判定して、一致している場合にはST302以降の処理を実施しないようにしても良い。
次に、変数iの初期値を1とし、変数iの値を1ずつカウントアップしながら、ステップST302からステップST310までの処理を|Str1|回繰り返す。
同様に、上記の変数iに基づくループ処理内で変数jの初期値を1とし、変数jの値を1ずつカウントアップしながら、ステップST303からステップST309までの処理を|Str2|回繰り返す。
変数iおよび変数jに基づくループ処理の詳細を説明する。なお、Str1のi番目の文字をStr1[i]のように表すこととする。まず、文字Str1[i]と文字Str2[j]の比較を行い(ST304)、等しい場合は変数scoreに0を代入し(ST305)、等しくない場合は変数scoreに1を代入する(ST306)。なお、このST306において1を代入するということは、Str1とStr2を同一の文字列とするためには1回の文字置換が必要であることを示すものである。
次に、編集距離計算用テーブルのM[i,j]の値を更新する(ST307)。この処理では、M[i-1, j-1]+score、M[i-1,j]+1、M[i,j-1]+1の3つの値を比較して、最も小さい値でM[i,j]を更新する。
次に、重み付き類似文字列重みルールを用いた編集距離計算を行う(ST308)。図7はST308の類似文字列重みルールを用いた編集距離計算処理の処理フローである。ST401からST405までの処理をNR[i]回(すなわち、入力文字110のi番目の文字のルール数206分)繰り返す。
このループ処理ではまず、Rule[i][k]の適用可否の判定(類似文字列重みルールの適用可否判定)を行う(ST402)。具体的には、Rule[i][k]に格納された類似文字列重みルールの右辺文字列203が、ここで対象としている見出し文字列であるStr2のj文字目で終わる部分文字列と合致するかどうか確認して、合致する場合に適用可と判定する。
ST402で適用可と判定した場合には、ルールの内容を取得する(ST403)。ST403では、Rule[i][k]に定義された類似度スコア204を変数rule_scoreに代入し、また、左辺文字列の文字数を変数len1に、右辺文字列の文字数を変数len2に代入する。
次に、編集距離計算用テーブルのM[i,j]の更新を行う(ST404)。この処理では、M[i,j]、M[i-len1,j-len2]+rule_scoreの2つの値を比較して、小さい方の値でM[i,j]を更新する。
また、ST402で適用可と判定されなかった場合はST405に遷移する。
このようにして図6、図7に示した処理フローを終了し、最終的にM[|Str1|,|Str2|]に格納された値が、入力文字列110と見出し文字列との重み付き編集距離となる。
上記で例に示した入力文字列110が”CHA”である場合で、辞書105から読み出した見出し文字列が”CQA”である場合(すなわち、Str1=”CHA”、Str2=”CQA”である場合)について具体的な動作例を説明する。
図8(a)はこの動作例の場合のST301で初期化された編集距離計算用テーブルである。この状態から図6および図7に示したフローに従って処理を実施して、i=2、j=2のループ処理中のST307を終了した時点の編集距離計算用テーブルは図8(b)に示したようになる。
ST308(すなわち図7のST401)を開始し、k=1のとき、Rule[2][1]に格納された右辺文字列203(”CQ”)とStr2のj=2文字目で終わる部分文字列(”CQ”)が一致するので、ST402の判定結果は真(Y)となる。
類似度スコア204(つまり0.4)が変数rule_scoreに、左辺文字列202の文字列長が変数len1に、右辺文字列203の文字列長が変数len2に代入されて、rule_score=0.4、len1=2、len2=2となる。ST404では、M[i-len1,j-len2]+rule_scoreと更新前のM[i,j]の値を比較し、いずれか小さいほうの値でM[i,j]の値を更新する。この例では、M[2,2]が1であるのに対し、M[i-len1,j-len2]+rule_scoreはM[0,0]+0.4=0.4となるので、編集距離計算用テーブルは図8(c)に示すようになる。
この後、処理を継続して図6、図7のフローを終了したとき、編集距離計算用テーブルは図8(d)に示すようになり、重み付き編集距離がM[3,3]=0.4と計算される。
なお、この実施の形態では入力文字列110と見出し文字列を一致させる編集距離を求める場合を説明したが、入力文字列110が見出し文字列より短い場合には、|Str1|≦J≦|Str2|の範囲で重み付き編集距離M[|Str1|,J]を計算して、そのなかで最小の重み付き編集距離を出力するようにしてもよい。このような計算により余剰文字(重み付き編集距離が最小となったJ文字目以降の見出し文字列の文字)を無視した重み付き編集距離をその見出し文字列の重み付き編集距離として求めることで、使用者が目的の名称の先頭の一部のみを入力した場合に、これを補完して正式な名称を取得することが可能となる。
上述のように、ルール記憶部102に記憶された類似文字列重みルールから、検索文字列である入力文字列に基づいてその入力文字列に適用される可能性のある類似文字列重みルールを抽出するルール抽出部と、抽出した類似文字列重みルールを記憶する適用ルール記憶部とを備えて、重み付き編集距離を計算する処理において抽出した類似文字列重みルールを適用可否判定の対象とすることにより、適用可否判定処理の回数を削減することができる。これにより文字列検索装置の類似文字列検索処理を高速化できるという効果を得ることができる。
特に、類似文字列重みルールの数が非常に多い場合に大きな効果を得ることができる。例えばフランス語のように似た音を持つ綴りが非常に多い言語では、使用者の勘違いや打鍵誤りや音声認識の誤りに対応するために必要な類似文字列重みルールの数が数百種類に及ぶが、ルール抽出部により重み付き編集距離の計算時に適用可否を判定する類似文字列重みルール数を数十種類程度あるいはそれ以下に削減でき、類似文字列検索処理を大きく高速化できる。
なお、辞書が非常に多くのデータを含み、重み付き編集距離を計算する見出し文字列が大量である場合には、重み付き編集距離の計算の前に例えば特許文献1に示されているtf-idf(term frequency - inverse document frequency)重みを用いた絞り込みのような何らかの事前絞り込みの手段を設けることとしても良い。
また、この実施の形態ではルール記憶部102が記憶する類似文字列重みルールから抽出したルールを適用ルール記憶部103に記憶する構成としたが、例えばルール番号のみを適用ルール記憶部に記憶して、重み付き編集距離の計算時にルール番号を元に必要な類似文字列重みルールをルール記憶部から取得するようにしても良い。
上述の実施の形態では文字列を検索する例を説明したが、この文字列は単語列であっても良い。
また、この実施の形態ではアルファベットの入力文字列を用いて説明したが、この発明は入力文字列をアルファベットに限定されるものではなく、他の言語の文字列(例えば、ひらがなや漢字)であっても良い。
実施の形態2.
図9はこの発明の実施の形態2に係る文字列検索装置の構成図である。実施の形態1の文字列検索装置の違いは、編集距離計算部104aが外部より設定された距離上限値112に基づいて、編集距離計算を途中で打ち切る機能を有する点である。これ以外の重みルール抽出部101、ルール記憶部102、適用ルール記憶部103、辞書105、距離準整列部106、入力文字列110、類似文字列リスト111については実施の形態1と同様である。
次に実施の形態2の文字列検索装置の動作を実施の形態1の文字列検索装置との差分を中心に説明する。図10は実施の形態2の文字列検索装置の重み付き編集距離計算処理の処理フローである。ST301からST310までの各処理については、実施の形態1と同様である。この実施の形態では、ST309とST310の間で重み付き編集距離計算の打ち切り判定を行う(ST311)。
図11はST311の打ち切り判定の処理フローである。以下、図11を参照してST311の処理について詳細に説明する。いま、変数iの値がZであるとする。まず、変数iの値をZから|Str1|まで変化させた場合の重み付き編集距離計算で参照する可能性のある編集距離計算用テーブルの配列の、入力文字列110に対応する文字位置の最小値MinLを計算する(ST501)。
具体的には、MinLは以下のように求めることができる。Rule[p][r](Z≦p≦|Str1|、1≦r≦p番目の文字のルール数206)に格納された左辺文字列の文字数の最大値をMaxLenpとしたとき、ST307ではM[p-MaxLenp,q](0≦q≦|Str2|)が参照される可能性がある。よって、Z≦p≦|Str1|の範囲でp-MaxLenpの最小値がMinLとなる。
例えばStr1=”CHA”、Str2=”CQA”である場合に、配列Ruleが図5に示すものであったとする。図5より、入力文字位置=2のときの左辺文字列の最大値MaxLen2は2、入力文字位置=3のときの左辺文字列の最大値MaxLen3は2となる。ここでZを2とすると、p-MaxLenp(2≦p≦3)の値は、2-MaxLen2=0、3-MaxLen3=1であり、MinL=0となる。
次に、距離上限値112とM[x,y](MinL≦x≦Z,0≦y≦|Str2|)の比較を行う(ST502)。M[x,y]に距離上限値112より小さいものが一つでもあれば、ST310へ遷移し、編集距離計算処理を継続する。一方、全てのM[x,y]が距離上限値112より大きければ、これ以上計算を続行しても距離上限値112より重み付き編集距離が小さくなることはないため、編集距離計算を打ち切る。そして、その時点での最小値を見出し文字列Str2に対する重み付き編集距離として出力する。
上記のように、事前に設定された距離上限値による打ち切り判定を行うことにより、距離上限値を超えた重み付き編集距離を計算する処理を省くことができ、類似文字列検索の高速化という効果が得られる。
特に、距離上限値を設けて類似性の高いものだけを検索する場合、たとえば施設名称や住所といった辞書に記憶された見出し文字列の数が数十万から数百万を越えるような場合に大きな効果が得られる。
以上のように、この発明の文字列検索装置は、文字列検索における重み付編集距離計算の処理量を削減することで装置の処理速度の高速化や装置に必要な処理能力の低減を実現することができるので、カーナビゲーションシステムなど文字列検索を行う装置において有用である。
101 重みルール抽出部、102 ルール記憶部、103 適用ルール記憶部、104,104a 編集距離計算部、105 辞書、106 距離順整列部、110 入力文字列、111 類似文字列リスト、112 距離上限値、201 ルール番号、202 左辺文字列、203 右辺文字列、204 類似度スコア、205 入力文字位置、206 ルール数。

Claims (5)

  1. 1文字以上の文字からなる第1の文字列と第2の文字列の類似度が定義された複数の類似文字列重みルールの中から、入力された検索文字列に前記第1の文字列が含まれる前記類似文字列重みルールを抽出する重みルール抽出部と、
    前記重みルール抽出部において抽出された前記類似文字列重みルールを用いて、前記検索文字列と前記検索文字列を検索する辞書から取得された見出し文字列との重み付き編集距離を計算する編集距離計算部と、
    を備えたことを特徴とする文字列検索装置。
  2. 前記重みルール抽出部において抽出された前記類似文字列重みルールを記憶する適用ルール記憶部を備えたことを特徴とする請求項1に記載の文字列検索装置。
  3. 前記適用ルール記憶部は、
    前記検索文字列の各文字位置について、当該文字位置を末尾とする前記検索文字列の一部分の文字列と前記第1の文字列が一致する前記抽出された類似文字列重みルールを、当該文字位置に対応する前記抽出された類似文字列重みルールとして記憶することを特徴とする請求項2に記載の文字列検索装置。
  4. 前記編集距離計算部において前記重み付き編集距離の計算が行われた前記見出し文字列を計算された前記重み付き編集距離が近い順に整列する距離順整列部を備えたことを特徴とする請求項1から請求項3のいずれか一項に記載の文字列検索装置。
  5. 前記編集距離計算部は、
    前記重み付き編集距離の計算において、算出される前記重み付き編集距離が予め定められた距離上限値以上になることを判断すると、前記重み付き編集距離の計算を中断し、前記判断をした時点の前記重み付き編集距離の計算値を計算結果とすることを特徴とする請求項1に記載の文字列検索装置。
JP2015537549A 2013-09-20 2014-08-21 文字列検索装置 Active JP5846340B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015537549A JP5846340B2 (ja) 2013-09-20 2014-08-21 文字列検索装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013195257 2013-09-20
JP2013195257 2013-09-20
JP2015537549A JP5846340B2 (ja) 2013-09-20 2014-08-21 文字列検索装置
PCT/JP2014/004285 WO2015040793A1 (ja) 2013-09-20 2014-08-21 文字列検索装置

Publications (2)

Publication Number Publication Date
JP5846340B2 true JP5846340B2 (ja) 2016-01-20
JPWO2015040793A1 JPWO2015040793A1 (ja) 2017-03-02

Family

ID=52688465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015537549A Active JP5846340B2 (ja) 2013-09-20 2014-08-21 文字列検索装置

Country Status (2)

Country Link
JP (1) JP5846340B2 (ja)
WO (1) WO2015040793A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326484A (zh) * 2016-08-31 2017-01-11 北京奇艺世纪科技有限公司 搜索词纠错方法及装置
CN109902098A (zh) * 2019-01-23 2019-06-18 平安科技(深圳)有限公司 相似案例查找和排序方法、服务器及计算机可读存储介质
JP7485030B2 (ja) * 2020-06-11 2024-05-16 日本電気株式会社 検索装置、検索方法、およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062893A (ja) * 2002-06-28 2004-02-26 Microsoft Corp 重み付き編集距離に基づく例文の自動検索用システムおよび方法
JP2005011078A (ja) * 2003-06-19 2005-01-13 Patolis Corp 類似単語検索装置、この方法、このプログラム、このプログラムを記録した記録媒体、および情報検索システム
JP2006039866A (ja) * 2004-07-26 2006-02-09 Patolis Corp 類似単語検索装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、情報検索装置
JP2011197716A (ja) * 2010-03-17 2011-10-06 Fuji Xerox Co Ltd パターンマッチング装置、翻訳装置、翻訳システム及び翻訳プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062893A (ja) * 2002-06-28 2004-02-26 Microsoft Corp 重み付き編集距離に基づく例文の自動検索用システムおよび方法
JP2005011078A (ja) * 2003-06-19 2005-01-13 Patolis Corp 類似単語検索装置、この方法、このプログラム、このプログラムを記録した記録媒体、および情報検索システム
JP2006039866A (ja) * 2004-07-26 2006-02-09 Patolis Corp 類似単語検索装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、情報検索装置
JP2011197716A (ja) * 2010-03-17 2011-10-06 Fuji Xerox Co Ltd パターンマッチング装置、翻訳装置、翻訳システム及び翻訳プログラム

Also Published As

Publication number Publication date
JPWO2015040793A1 (ja) 2017-03-02
WO2015040793A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
TWI664540B (zh) Search word error correction method and device, and weighted edit distance calculation method and device
US20110071833A1 (en) Speech retrieval apparatus and speech retrieval method
KR20050005523A (ko) 단어 상관 방법 및 장치
US11531693B2 (en) Information processing apparatus, method and non-transitory computer readable medium
CN102725790A (zh) 识别词典制作装置及声音识别装置
KR20210016767A (ko) 음성 인식 방법 및 음성 인식 장치
JP2019082931A (ja) 検索装置、類似度算出方法、およびプログラム
US11568150B2 (en) Methods and apparatus to improve disambiguation and interpretation in automated text analysis using transducers applied on a structured language space
JP5846340B2 (ja) 文字列検索装置
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
CN115688779A (zh) 一种基于自监督深度学习的地址识别方法
KR20210056131A (ko) 법령 분야 질의 응답 방법 및 장치
JP5355483B2 (ja) 略語完全語復元装置とその方法と、プログラム
JP7534673B2 (ja) 機械学習プログラム、機械学習方法および自然言語処理装置
Tyers et al. What shall we do with an hour of data? Speech recognition for the un-and under-served languages of Common Voice
JP6261669B2 (ja) クエリ校正システムおよび方法
JP3983000B2 (ja) 複合語分割装置、及び日本語辞書作成装置
US11482214B1 (en) Hypothesis generation and selection for inverse text normalization for search
JP2018055224A (ja) データ生成装置、方法、及びプログラム
JP2009157458A (ja) インデックス作成装置、その方法、プログラム及び記録媒体
JP4915499B2 (ja) 同義語辞書生成システム、同義語辞書生成方法および同義語辞書生成プログラム
CN117421392B (zh) 一种基于词级对齐的代码搜索方法及装置
JP5866084B2 (ja) 検索装置
Yamashita et al. A Comparison of Entity Matching Methods between English and Japanese Katakana
JP5700566B2 (ja) スコアリングモデル生成装置、学習データ生成装置、検索システム、スコアリングモデル生成方法、学習データ生成方法、検索方法及びそのプログラム

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20151021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151109

R151 Written notification of patent or utility model registration

Ref document number: 5846340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350