JP5449521B2 - 検索装置及び検索プログラム - Google Patents

検索装置及び検索プログラム Download PDF

Info

Publication number
JP5449521B2
JP5449521B2 JP2012501522A JP2012501522A JP5449521B2 JP 5449521 B2 JP5449521 B2 JP 5449521B2 JP 2012501522 A JP2012501522 A JP 2012501522A JP 2012501522 A JP2012501522 A JP 2012501522A JP 5449521 B2 JP5449521 B2 JP 5449521B2
Authority
JP
Japan
Prior art keywords
character string
candidate
unit
score
name
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
Application number
JP2012501522A
Other languages
English (en)
Other versions
JPWO2011104754A1 (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
Publication of JPWO2011104754A1 publication Critical patent/JPWO2011104754A1/ja
Application granted granted Critical
Publication of JP5449521B2 publication Critical patent/JP5449521B2/ja
Expired - Fee Related 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

この発明は、検索対象の名称を予め作成した索引から検索する検索装置及び検索プログラムに関する。
全文検索を行う場合、大量の文書データを用いて、事前に、検索対象の名称を構成する部分文字列から当該名称を参照可能な索引を作成しておくことにより、大規模な索引に対する部分一致検索を高速に行うことができる。検索の最小単位としては、単語又は文字N−gramが用いられる。検索単位を単語とした場合、言語的に妥当な検索結果が期待できる一方で、事前の言語解析で誤りがあると検索漏れが生じる。また、単語より短い単位での検索を行うことができない。他方、検索単位を文字N−gramとした場合は、検索漏れが生じない一方で、言語的に妥当でない区切りの名称候補が湧き出す可能性がある。例えば、単語区切り「東京/都」(スラッシュが区切りを表す)に対して「京都」という単語を対応付けることは不可能であるが、文字区切り「東/京/都」に対して「京/都」という文字を部分一致で対応付けることができる。そのため、単語単位で「東京都」を検索すると「京都」は検索結果に含まれないが、文字単位で検索すると含まれてしまい言語的に妥当性がない。
この問題を解決するために単語単位と文字単位の両者を併用して検索することもできるが、索引作成時間及び検索時間も両者の和に増大するという課題があった。これに対して特許文献1に開示の情報検索装置では、文字単位の索引に単語情報を付与し、単語単位と文字単位で複合的に検索するようにして、処理時間の増大を抑制している。
また、例えばユーザの発声した名称を検索語にして、索引から部分一致する名称を検索する名称検索を行う場合、ユーザが部分一致する名称を発声するとは限らないため、あいまい検索技術が有用である。全文検索用の索引を応用したあいまい検索技術として、特許文献2,3が提案されている。特許文献2の文字列検索装置では、検索語を文字N−gram単位に区切って、文字N−gramそれぞれと部分一致する名称を索引から検索し、部分一致する文字N−gramが多い名称を検索結果として出力する。また、特許文献3のテキスト検索装置では、検索語と索引中の各名称とで出現位置関係が一致または所定範囲内の位置にある文字の個数をカウントして類似度を算出し、類似度の高い名称を検索結果として出力する。
特許第3636941号 特許第3665112号 特許第3715672号
従来の検索装置は以上のように構成されているので、索引を用いる全文検索装置におけるあいまい検索では、多様な照合が許されるために湧き出し誤りが生じやすく、検索精度が低いという課題があった。特に、検索の単位が日本語のかな(約100種類)、英語の音素記号(約40種類)等、音声的な表現に近い検索語に基づいて検索を行う場合、単語及び漢字と比べて種類数が少なく、あいまい性が大きいために候補数の増加が顕著である。しかし、索引を単語単位にすることは、前述したように索引作成段階で解析誤りが生じると検索漏れが生じることに加えて、検索時に検索語の単語分割を誤る可能性もある、また、日本語でしばしば見られる、単語を縮退させる言い換え語(例えば「総合研究所」を「総研」と省略する)に対応できない。さらに、検索語が音声データの場合、音声の誤認識が1文字でもあると単語の取得に失敗して、本来の検索語から大きく外れた候補が選択されるという問題がある。
この発明は、上記のような課題を解決するためになされたもので、検索対象の入力文字列を最小単位に基づいて検索する一方で、より長い単位の言語的妥当性も考慮することで、精度の高いあいまい検索を実現することを目的とする。
この発明の検索装置は、入力文字列を構成する部分文字列を抽出する部分文字列分解部と、予め作成された索引から、名称データ毎に、部分文字列に対応する見出しの位置情報及び境界情報を取得する部分文字列索引参照部と、名称データ中の部分文字列索引参照部が取得した見出し同士の連続性を位置情報に基づいて判定し、連続と判定した見出しに最大の照合スコアを付与し、不連続と判定した見出しには、境界情報に基づいて前後の見出しとの接続の妥当性に応じた照合スコアを付与する候補スコア更新部とを備えるものである。
また、この発明の検索プログラムは、コンピュータを、入力文字列を構成する部分文字列を抽出する部分文字列分解手段と、予め作成された索引から、名称データ毎に、部分文字列に対応する見出しの位置情報及び境界情報を取得する部分文字列索引参照手段と、名称データ中の部分文字列索引参照手段が取得した見出し同士の連続性を位置情報に基づいて判定し、連続と判定した見出しに最大の照合スコアを付与し、不連続と判定した見出しには、境界情報に基づいて前後の見出しとの接続の妥当性に応じた照合スコアを付与する候補スコア更新手段として機能させるものである。
この発明によれば、入力文字列を構成する部分文字列を抽出する部分文字列分解部と、予め作成された索引から、名称データ毎に、部分文字列に対応する見出しの位置情報及び境界情報を取得する部分文字列索引参照部と、名称データ中の部分文字列索引参照部が取得した見出し同士の連続性を位置情報に基づいて判定し、連続と判定した見出しに最大の照合スコアを付与し、不連続と判定した見出しには、境界情報に基づいて前後の見出しとの接続の妥当性に応じた照合スコアを付与する候補スコア更新部とを備えるようにしたので、検索対象の入力文字列を最小単位に基づいて検索する一方で、より長い単位の言語的妥当性も考慮することができるようになり、この結果、精度の高いあいまい検索を実現することができる。
この発明の実施の形態1に係る検索装置の構成を示す機能ブロック図である。 図1に示す索引生成部の内部構成を示す機能ブロック図である。 検索対象データの一例を示す図である。 表記を単語単位に区切った検索対象データの一例を示す図である。 表記を文字単位に区切った検索対象データの一例を示す図である。 始終端情報付与部が作成した表の一例を示す図である。 部分文字列索引作成部が生成するリスト(名称ID・位置・始終端スコア)の一例を示す。 検索部の内部構成を示す機能ブロック図である。 検索部の動作を説明するフローチャートである。 照合スコアテーブルの一例を示す図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1に示す検索装置は、検索対象データ10から事前に索引を作成する索引生成部20と、索引を格納しておく索引格納部30と、検索用に入力された入力データ(入力文字列)を索引と照合して類似する候補を取得する検索部40とを備える。索引生成部20の内部構成は図2に示し、検索部40の内部構成は図8に示す。この検索装置は、大量の名称候補から読み文字列に基づく検索を行い、語順の入れ替えや部分的な脱落等を含む部分一致候補の中から妥当性の高い候補を取得するためのものである。
検索対象データ10は、検索対象の名称データであり、索引の基となる。名称データは、入力データと照合するための文字列である読みと、この名称データを識別するための名称IDとを少なくとも含む。図3に示す検索対象データ10の一例では、各名称データは名称ID、表記、及び読み(ヨミ)から構成される。
図2に示す索引生成部20のうち、名称解析部21は、検索対象データ10の情報を読み出して、辞書情報を参照しながら、名称データを構成する文字列を1通り以上の言語単位で区切って部分データにする。具体的な言語単位として、例えば日本語の場合は単語(形態素)単位と表記1文字相当の文字単位とがあり、ここでは単語単位と文字単位を組み合わせた2通りの言語単位により解析する。2通りの言語単位により解析する理由は、両単位での解析精度が異なるため、及び段階的な言い換え語毎の受容性を与えるためである。単語単位では言語的な制約が強い一方で解析誤りが含まれる可能性があり、また、単語より短い言い換え語に対応できない可能性もある。文字単位では解析精度が高く、また、ほとんどの場合、言い換え語の最小単位である。辞書には、文字や単語及びその読みと、区切りを正しく付与するための単独もしくは他の文字または単語と共起して出現する程度を表す指標値を格納している。この指標値は、通常、正解の区切り情報を含む大量のテキストデータに基づいて正解の区切りに対して指標値の和となるスコアが大きくなるように統計的に学習される。
名称解析部21は、辞書情報を参照しながら、入力文字列を単語単位に区切られた読みとそのスコア、及び文字単位に区切られた読みとそのスコアを、解析結果として出力する。区切りの付与は、辞書から読み出した指標値に基づいて任意の区切り方についてスコアを算出し最大のスコアとなる区切りを求める。図4に、表記を単語単位に区切った検索対象データ10の一例を示し、図5に、表記を文字単位に区切った検索対象データ10の一例を示す。図4及び図5においてスラッシュ(/)は単位区切りを表す。
始終端情報付与部22は、名称解析部21の解析結果を、索引に格納する部分文字列(見出し)単位へ分解し、見出し毎にその部分文字列の名称中で出現する位置、解析結果の単語開始点、単語終了点、文字開始点、文字終了点からなる表を作成する。図6に、始終端情報付与部22が作成した表の一例を示す。この例では、読み(表中のヨミ)の見出しをモーラ単位のバイグラムとした。モーラは、日本語の拍に相当する単位である。開始点「1」は、この読みの1文字目の前に単語又は文字の境界があることを示す。終了点「1」は、この読みの2文字目の後に単語又は文字の境界があることを示す。例えば名称ID「01」「トウキョウト」の部分文字列「トウ」は、位置「1」から始まり、単語単位の開始点であり、また、文字単位の開始点かつ終了点であることがわかる。
さらに、始終端情報付与部22は、単語単位、文字単位の開始点及び終了点の情報を用いて、見出し毎に始終端境界情報を付与する。この例では単語境界が文字境界に含まれるため、始終端境界情報は、単語境界かつ文字境界「2」、単語境界でない文字境界「1」、その他「0」の3通りになる。図6に示す始終端境界情報の例において、始端スコア及び終端スコアは以上の3通りに基づくスコア値を割り当てている。
部分文字列索引作成部23は、始終端情報付与部22が作成した表を参照して、見出しを名称ID、位置、始終端スコアからなるリストへ対応付け、見出し毎にソートして索引にする。図7に、部分文字列索引作成部23が生成するリスト(名称ID・位置・始終端スコア)の一例を示す。例えば見出し「ウキョ」は名称「トウキョウト」と名称「ウキョウ」の両方に含まれているので、2つの名称ID「01」及び「02」に対応付けられる。
索引格納部30は、部分文字列索引作成部23が生成した見出しの索引を格納して、見出しに対応付けられたリスト(名称ID・位置・始終端スコア)を取得可能にしておく。
図8に示す検索部40のうち、部分文字列分解部41は、検索装置に入力された検索対象の入力文字列を、索引生成部20が名称を見出し単位に分解した際と同様の基準に従って部分文字列へ分解する。ここでは、上述の説明に合わせて、検索対象の入力文字列をモーラ単位のバイグラムに分解することとする。
部分文字列索引参照部42は、入力文字列に含まれる部分文字列それぞれに一致する見出しを索引格納部30から探索し、部分文字列毎にそれら見出しのリスト(名称ID・位置・始終端スコア)を取得する。
候補スコア更新部43は、部分文字列索引参照部42が取得した候補見出しのリスト(名称ID・位置・始終端スコア)について、照合履歴および候補スコアを更新し、入力された部分文字列の末尾に至った際の候補スコアに応じて出力する候補名称一覧を確定する。候補スコア更新部43の詳細は後述する。
次に、図9に示すフローチャートを用いて、検索部40の動作を説明する。
検索部40は候補名称リストを有することとし、この候補名称リストを、部分文字列索引参照部42が索引格納部30から取得した名称データの各種情報を一時的に保持する照合履歴として用いて、候補スコアを算出する。
この候補名称リストは、具体的には、候補となる名称データ(以下、候補名称)の候補名称id(1≦id≦名称IDの最大値)毎に、
score[id];候補スコア、
inpOfs[id];入力文字列における照合中の部分文字列の位置(以下、入力文字列照合位置)、
idxOfs[id];候補名称における照合中の見出しの位置(以下、候補名称照合位置)、
boundary[id];候補名称における前回照合した見出しの終端スコア(以下、直前見出し終端スコア)
を含む。
ステップST1において、検索部40は候補名称リストの候補スコア、入力文字列照合位置、候補名称照合位置を初期化して、score[id]=inpOfs[id]=idxOfs[id]=0にすると共に、直前見出し終端スコアをboundary[id]=2にする。ここで、boundary[id]は始端スコアと終端スコアのうちの終端スコアだけを表すこととし、boundary[id]=2は、見出しの終端が単語境界かつ文字境界「2」であることを表す。
ステップST2において、検索部40は検索対象の入力文字列を取得する。続くステップST3において、部分文字列分解部41は、取得した入力文字列を部分文字列に分解して、部分文字列リストにする。上述の通り、部分文字列はモータ単位のバイグラムである。入力文字列の読みをInpLen個のモーラ{s[1],s[2],・・・,s[InpLen]}と表すと、部分文字列s2[i]=(s[i],s[i+1])となる。添え字iは、入力文字列中の文字位置を表し、1≦i≦InpLen−1とする。
例えば、入力文字列の読みが「ウキョウ」だった場合、InpLen=3個(「ウ」、「キョ」、「ウ」)であり、部分文字列リストにはs2[1]の「ウキョ」とs2[2]の「キョウ」が含まれることとなる。
ステップST4において、部分文字列分解部41は、添え字i=1に初期化して、入力文字列のうち、先頭の部分文字列s2[1]から照合処理が開始されるようにする。
ステップST5において、部分文字列索引参照部42は、部分文字列毎に索引格納部30を参照し、部分文字列と一致する見出し(以下、候補見出し)のリスト(名称ID・位置・始終端スコア)を取得して、候補見出しリストにする。i番目の文字位置に対応する候補名称はIndexNum[i]個とする。また、i番目の文字位置の部分文字列に対応する候補見出しをIndex[i][j](1≦j≦IndexNum[i])と表し、添え字jは照合処理する候補見出しを表す。
候補見出しリストは、具体的には、j番目の候補見出しに対応付けられているリストの名称ID、位置、始端スコア、終端スコアを、
Index[i][j].id;名称ID、
Index[i][j].ofs;位置、
Index[i][j].begin;始端スコア、
Index[i][j].end;終端スコア
と表す。
例えば、入力文字列「ウキョウ」の部分文字列s2[1]「ウキョ」に対応する候補見出しは「ウキョ」(01,2,00)(02,1,20)である。この場合、i=1番目の「ウキョ」に対応する候補名称は、名称ID01「トウキョウト」と名称ID02「ウキョウ」の2個(=IndexNum[1])あるので、j=1番目を名称ID01の「ウキョ」(01,2,00)、j=2番目を名称ID02の「ウキョ」(02,1,20)にする。従って、候補見出しリストにおいて、j=1番目の候補見出し「ウキョ」に対応付けられる情報は、
Index[1][1].id=01
Index[1][1].ofs=2
Index[1][1].begin=0
Index[1][1].end=0
となる。
部分文字列索引参照部42は、ステップST6において添え字j=1に初期化して、続くステップST7において候補名称リストをid=Index[i][j].idに変換し、部分文字列s2[1]「ウキョ」に対する候補名称が「トウキョウト」及び「ウキョウ」のように複数ある場合に、先ずどちらか一方の候補名称の、先頭の見出しから照合処理を開始させるようにする。
ステップST8において、候補スコア更新部43は、索引の候補名称リスト及び候補見出しリスト、並びに入力文字列の部分文字列リストを比較して、入力文字列の連続性を判定する。候補見出しの名称IDを示すIndex[i][j].idが既に候補名称リストに含まれており、かつ、入力文字列照合位置inpOfs[id]と候補名称照合位置idxOfs[id]が1つずつ(ここではモーラ単位ずつ)進んだ状態、即ち候補名称上の照合位置の移動距離:Index[i][j].ofs−idxOfs[id]=1、かつ、入力文字列上の照合位置の移動距離:i−inpOfs[id]=1を満たす場合に、連続性が保たれていると判定し、これ以外の場合は連続性が保たれていないと判定する。
ただし、検索対象の入力文字列が、音声入力の認識結果である場合は、連続性判定の制約を緩和して、入力文字列照合位置inpOfs[id]と候補名称照合位置idxOfs[id]が任意の数D1,D2ずつ進んだ状態、即ち候補名称上の照合位置の移動距離:1≦Index[i][j].ofs−idxOfs[id]=D1、かつ、入力文字列上の照合位置の移動距離:1≦i−inpOfs[id]=D2を満たす場合に連続性が保たれていると判定するようにして、多少の変動を許容するようにしてもよい。
連続性が保たれている場合(ステップST8“YES”)、続くステップST9において、候補スコア更新部43が照合中の候補見出しに対して照合スコアsc(i,j)=1.0を設定する。照合スコアsc(i,j)は連続性が保たれている場合を最大値とし、連続性が保たれていない場合は、候補見出し同士の言語的な妥当性の度合いに応じて値を調整する。
連続性が保たれていない場合(ステップST8“NO”)、続くステップST10において、候補スコア更新部43が照合中の候補見出しに対して、候補名称リストに格納された前回照合した候補見出し(即ち、直前見出し)の終端スコアboundary[id]と、候補見出しリストに格納された照合中の候補見出しの始端スコアIndex[i][j].beginとに基づいて、照合スコアテーブルから照合スコアsc(i,j)を選択する。
図10に、照合スコアテーブルの一例を示す。この例では、前回照合した候補見出しが単語の終了点であり、今回照合中の候補見出しが候補名称中の単語の開始点である場合、単語単位の語順入れ替えとみなすことができるので言語的に妥当なため、照合スコアsc(i,j)は最大値の1.0に設定している。また、前回照合した候補見出しが文字の終了点であり、今回照合中の候補見出しが候補名称中の単語の開始点である場合、単語の末尾が省略された言い換え語とみなすことができるため、高い値の0.9に設定している。
このように、待ち受け想定する言い換え語のパタンを、照合スコアテーブルの配点により制約することができる。
なお、待ち受け想定する言い換え語のパタンの制約は、上述の照合スコアsc(i.j)だけでなく、例えばステップST7で算出した移動距離が負数となる場合にペナルティをかけるようにしてもよい。具体的には、入力文字列が脱落誤り、挿入誤り、置換誤り等の入力誤りを含みうる場合に、候補名称上の照合位置の移動距離(即ち名称データ中の見出し同士の位置関係)が負数なら照合スコアsc(i,j)の値を小さくする。あるいは、照合スコアsc(i,j)を直接調整せず、移動距離の正負に応じた別の重みを用いるようにしてもよい。
これにより、上記同様、語順の入れ替えを生じる入れ替え語が検索結果に含まれないようにすることができる。
ステップST11において、候補スコア更新部43は、候補名称idについて、候補スコアscore[id]に照合スコアsc(i,j)を加算する(score[id]=score[id]+sc(i,j))。また、候補スコア更新部43は、照合スコアsc(i,j)>0のとき、候補名称リストの候補スコア以外の情報についても更新する。この更新処理で入力文字列照合位置と候補名称照合位置を更新することにより、照合処理が行われたことが明示できるようになるので、これらの照合位置の情報を照合履歴として用いることができる。
具体的には、
候補スコア;score[id]=score[id]+sc(i,j)、
入力文字列照合位置;inpOfs[id]=i、
候補名称照合位置;idxOfs[id]=Index[i][j].end、
直前見出し終端スコア;boundary[id]=Index[i][j].end
に更新する。
例えば、i=1番目の部分文字列「ウキョ」に対するj=1番目の候補見出し「ウキョ」(候補名称id01)は、候補名称「トウキョウト」上の照合位置の移動距離が2(=2−0)、かつ、入力文字列「ウキョウ」上の照合位置の移動距離が1(=1−0)なので、連続性が保たれていないと判定され、図10の照合スコアテーブルより照合スコアsc(1,1)=0.4が付与される。この照合処理により、候補名称「トウキョウト」(候補名称id01)は候補スコアscore[01]=0+0.4=0.4に更新される。
ステップST12において、検索部40はj=j+1に更新して、照合中のi番目の部分文字列を次の候補名称と照合させるようにし、続くステップST13においてi番目の部分文字列をIndexNum[i]個全ての候補名称と照合し終えたか確認する。
i番目の部分文字列と全ての候補名称とを照合し終えていなければ(j≦IndexNum[i]、ステップST13“YES”)、ステップST7に戻り、残り全ての候補名称に対してステップST7〜ST11の照合処理を実施する。ただし、同一の名称IDが、入力文字列の異なる位置に複数存在する場合、加算後の候補スコアが最大となる位置を優先して選択する。
例えば、全ての候補名称と照合し終えていない場合、i=1番目の「ウキョ」に対するj=2番目の候補見出し「ウキョ」について照合することになる。この候補見出し「ウキョ」は、候補名称「ウキョウ」(候補名称id02)上の照合位置の移動距離が1(=1−0)、かつ、入力文字列「ウキョウ」上の照合位置の移動距離が1(=1−0)なので、連続性が保たれていると判定され、照合スコアsc(1,2)=1.0が付与される。この照合処理により、候補名称「ウキョウ」(候補名称id02)は候補スコアscore[02]=0+1.0=1.0に更新される。
i番目の文字位置と全ての候補名称とを照合し終えると(j>IndexNum[i]、ステップST13“NO”)、検索部40は続くステップST14においてi=i+1に更新して、入力文字列中の次の部分文字列を各候補名称と照合させるようにし、さらに、ステップST15において入力文字列に含まれるInpLen個全ての部分文字列の照合処理を終えたか確認する。
例えば、全ての部分文字列の照合を終えていない場合、次の照合処理では、i=2番目、即ち入力文字列「ウキョウ」の部分文字列s2[2]の「キョウ」について照合を行うことになる。
InpLen個全ての部分文字列の照合処理を終えた場合(i>InpLen−1、ステップST15“NO”)、続くステップST16において、部分文字列索引作成部23は入力文字列の末尾に至った際の、候補名称リストに含まれている各候補名称を候補スコアに基づいた順(例えば値の大きい順)に並べ替えて、候補名称一覧として出力し、ユーザへ提示する。
一方、Inplen個全ての部分文字列の照合処理が終わっていない場合(i≦InpLen−1、ステップST15“YES”)、検索部40はステップST5へ戻って次の部分文字列について照合処理を行う。
このように、検索部40は、索引生成部20により作成された索引の、名称を構成する各見出しに付与された言語的な妥当性を表す始終端境界情報を用いて、入力文字列のあいまい検索を行うため、始終端境界情報を用いずに検索する場合と比べて検索精度が改善する。また、受容する言い換え語のパタンは照合処理における移動距離の制約、及び照合スコアテーブルの配点で調整可能なため、入力文字列の音声誤認識等による脱落誤り、挿入誤り、置換誤りを考慮して、言い換え語の抽出制約を緩めて幅広く待ち受け語を抽出したり、反対に精度を重視して言い換え語の抽出を制約したりと、柔軟な対応が可能である。
なお、上述の説明では、日本語の表記と読みを例に用いたが、これに限定されるものではなく、検索装置を例えば英語に適用した場合も文字単位として音節、読みの代わりに音素又は音節、文字単位として音節又は形態素を用いることで、同様の処理を行うことができる。
以上より、実施の形態1によれば、検索装置は、文字列からなる名称データを単語及び文字の単位で分割して単語単位の始終端及び文字単位の始終端を示す始終端スコアを生成する名称解析部21と、名称データを構成する部分文字列を抽出して見出しとし、当該見出し毎に、名称データ中の位置、及び当該見出しに含まれる単語単位及び文字単位の始終端スコアを示すリスト(名称ID・位置・始終端スコア)を付与する始終端情報付与部22と、始終端情報付与部22の出力結果を見出し順に並べた索引を生成する部分文字列索引作成部23とを備えるように構成した。このため、最小単位である文字単位と、より長い単位である単語単位の言語情報を含む索引を作成することができ、この結果、精度の高いあいまい検索を実現することが可能となる。
また、実施の形態1によれば、検索装置は、入力文字列を構成する部分文字列を抽出する部分文字列分解部41と、予め作成されて索引格納部30に格納されている索引から、名称データ毎に、部分文字列に対応する候補見出しのリスト(名称ID・位置・始終端スコア)を取得する部分文字列索引参照部42と、候補名称データ中の部分文字列索引参照部42が取得した候補見出し同士の連続性をリスト(名称ID・位置・始終端スコア)に基づいて判定し、連続と判定した候補見出しに最大の照合スコアsc(i,j)を付与し、不連続と判定した候補見出しには、始終端スコアに基づいて前後の候補見出しとの接続の妥当性に応じた照合スコアsc(i,j)を付与し、候補名称に含まれる各候補見出しの照合スコアsc(i,j)を加算して候補スコアscore[id]を算出し、候補スコアscore[id]が高い順に候補名称を並べて出力する候補スコア更新部43とを備えるように構成した。このため、最小単位である文字単位に基づいて検索することができる一方、より長い単位である単語単位の言語的妥当性を考慮することもできるようになる。従って、名称候補が入力文字列そのものでなくとも、又は完全な部分一致でなくとも検索でき、精度の高いあいまい検索を実現することが可能となる。特に、入力が音声で、入力文字列に誤認識を含む場合の頑健性を高めることができる。
また、実施の形態1によれば、候補スコア更新部43が、入力文字列に含まれる前回照合した部分文字列と今回照合中の部分文字列の移動距離と、当該部分文字列に対応する候補名称中の候補見出し同士の移動距離がそれぞれ所定の移動距離内の場合に連続と判定するように構成した。このため、連続性を判定するための上記所定の移動距離を調整することにより、単語及び文字の境界、入力誤り及び入れ替え語の変形パタンを考慮した候補スコアを算出することができる。このため、これらを考慮しない従来のあいまい検索方式に比べて、より高い検索精度を得ることができる。
また、実施の形態1によれば、候補スコア更新部43が、名称候補中の候補見出し同士の移動距離に応じて、照合スコアsc(i,j)を調整するように構成した。このため、移動距離が負数の場合に照合スコアsc(i,j)にペナルティがかかるようにすれば、索引からの言い換え語の抽出を抑止でき、検索精度をより向上させることができる。
なお、検索装置をコンピュータで構成する場合、索引生成部20、索引格納部30、検索部40の処理内容を記述している検索プログラムをコンピュータのメモリに格納し、コンピュータのCPUがメモリに格納されている検索プログラムを実行するようにしてもよい。
以上のように、この発明に係る検索装置は、文字単位及び単語単位の境界、入力誤り、及び入れ替え語の変形パタンを考慮して検索することにより、語順の入れ替えや部分的な脱落等を含む部分一致候補の中から妥当性の高い候補を取得することができるので、音声認識用の検索装置等に用いるのに適している。

Claims (6)

  1. 入力文字列を構成する部分文字列を抽出する部分文字列分解部と、
    予め作成された索引から、名称データ毎に、前記部分文字列に対応する見出しの位置情報及び境界情報を取得する部分文字列索引参照部と、
    前記名称データ中の前記部分文字列索引参照部が取得した見出し同士の連続性を前記位置情報に基づいて判定し、連続と判定した見出しに最大の照合スコアを付与し、不連続と判定した見出しには、前記境界情報に基づいて前後の見出しとの接続の妥当性に応じた照合スコアを付与する候補スコア更新部とを備える
    ことを特徴とする検索装置。
  2. 候補スコア更新部は、入力文字列に含まれる任意の部分文字列同士の距離と、当該任意の部分文字列同士に対応する名称データ中の見出し同士の距離がそれぞれ所定距離内の場合に連続と判定することを特徴とする請求項記載の検索装置。
  3. 候補スコア更新部は、名称データ中の見出し同士の位置関係に応じて、照合スコアを調整することを特徴とする請求項記載の検索装置。
  4. 候補スコア更新部は、名称データに含まれる各見出しの照合スコアを加算して候補スコアを算出し、当該候補スコアが高い順に前記名称データを並べて出力することを特徴とする請求項記載の検索装置。
  5. 字列からなる名称データを、単語単位及び文字単位で分割して部分データにし、当該部分データの始終端を示す境界情報を生成する名称解析部と、
    前記名称データを構成する部分文字列を抽出して見出しとし、当該見出し毎に、前記名称データ中の位置情報、及び当該見出しに含まれる前記部分データの境界情報を付与する始終端情報付与部と、
    前記始終端情報付与部の出力結果を見出し順に並べた索引を生成する部分文字列索引作成部とを備える
    ことを特徴とする請求項1記載の検索装置。
  6. コンピュータを、
    入力文字列を構成する部分文字列を抽出する部分文字列分解手段と、
    予め作成された索引から、名称データ毎に、前記部分文字列に対応する見出しの位置情報及び境界情報を取得する部分文字列索引参照手段と、
    前記名称データ中の前記部分文字列索引参照手段が取得した見出し同士の連続性を前記位置情報に基づいて判定し、連続と判定した見出しに最大の照合スコアを付与し、不連続と判定した見出しには、前記境界情報に基づいて前後の見出しとの接続の妥当性に応じた照合スコアを付与する候補スコア更新手段として機能させる
    ことを特徴とする検索プログラム。
JP2012501522A 2010-02-24 2010-02-24 検索装置及び検索プログラム Expired - Fee Related JP5449521B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/001239 WO2011104754A1 (ja) 2010-02-24 2010-02-24 検索装置及び検索プログラム

Publications (2)

Publication Number Publication Date
JPWO2011104754A1 JPWO2011104754A1 (ja) 2013-06-17
JP5449521B2 true JP5449521B2 (ja) 2014-03-19

Family

ID=44506204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012501522A Expired - Fee Related JP5449521B2 (ja) 2010-02-24 2010-02-24 検索装置及び検索プログラム

Country Status (5)

Country Link
US (1) US8914385B2 (ja)
JP (1) JP5449521B2 (ja)
CN (1) CN102770863B (ja)
DE (1) DE112010005297T5 (ja)
WO (1) WO2011104754A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650031B1 (en) * 2011-07-31 2014-02-11 Nuance Communications, Inc. Accuracy improvement of spoken queries transcription using co-occurrence information
US9026855B2 (en) * 2012-07-26 2015-05-05 Nec Laboratories America, Inc. Fault localization in distributed systems using invariant relationships
CN103885662A (zh) * 2012-12-20 2014-06-25 联想(北京)有限公司 辅助语音输入的方法和装置
DE112013006764T5 (de) * 2013-03-04 2015-11-19 Mitsubishi Electric Corporation Suchvorrichtung
CN104063389B (zh) * 2013-03-20 2017-10-20 阿里巴巴集团控股有限公司 一种生成索引信息的方法和设备
WO2015025467A1 (ja) * 2013-08-21 2015-02-26 Necソリューションイノベータ株式会社 文字列検索装置、文字列検索方法および文字列検索プログラム
US9189517B2 (en) * 2013-10-02 2015-11-17 Microsoft Technology Licensing, Llc Integrating search with application analysis
EP2871816B1 (en) 2013-11-11 2016-03-09 51 Degrees Mobile Experts Limited Identifying properties of a communication device
WO2015107659A1 (ja) * 2014-01-16 2015-07-23 三菱電機株式会社 検索装置
JP6406932B2 (ja) * 2014-08-29 2018-10-17 日立オムロンターミナルソリューションズ株式会社 帳票認識装置及び方法
US9652627B2 (en) * 2014-10-22 2017-05-16 International Business Machines Corporation Probabilistic surfacing of potentially sensitive identifiers
US10353905B2 (en) * 2015-04-24 2019-07-16 Salesforce.Com, Inc. Identifying entities in semi-structured content
CN106909647B (zh) * 2017-02-21 2020-01-03 福建榕基软件股份有限公司 一种数据检索方法及装置
EP3438848B1 (en) 2017-07-31 2019-05-15 51 Degrees Mobile Experts Limited Identifying properties of a communication device
US10546062B2 (en) * 2017-11-15 2020-01-28 International Business Machines Corporation Phonetic patterns for fuzzy matching in natural language processing
JP6947307B2 (ja) * 2018-07-25 2021-10-13 日本電信電話株式会社 解析装置、解析方法及び解析プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03194653A (ja) * 1989-12-25 1991-08-26 Tokai Tv Hoso Kk 情報検索システムにおける略語検索法
JPH0785033A (ja) * 1993-09-09 1995-03-31 Toshiba Corp 文書検索装置
JP3636941B2 (ja) * 1999-07-19 2005-04-06 松下電器産業株式会社 情報検索方法と情報検索装置
JP2006172372A (ja) * 2004-12-20 2006-06-29 Dainippon Printing Co Ltd 検索装置および方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339332A (ja) * 1999-05-28 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 検索インデックスを記録した媒体、検索インデックス更新方法、その装置、そのプログラムを記録した媒体
JP4342753B2 (ja) * 2001-08-10 2009-10-14 株式会社リコー 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体
US7296011B2 (en) * 2003-06-20 2007-11-13 Microsoft Corporation Efficient fuzzy match for evaluating data records
US20070260595A1 (en) * 2006-05-02 2007-11-08 Microsoft Corporation Fuzzy string matching using tree data structure
JP5224851B2 (ja) * 2008-02-27 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索エンジン、検索システム、検索方法およびプログラム
US7996369B2 (en) * 2008-11-14 2011-08-09 The Regents Of The University Of California Method and apparatus for improving performance of approximate string queries using variable length high-quality grams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03194653A (ja) * 1989-12-25 1991-08-26 Tokai Tv Hoso Kk 情報検索システムにおける略語検索法
JPH0785033A (ja) * 1993-09-09 1995-03-31 Toshiba Corp 文書検索装置
JP3636941B2 (ja) * 1999-07-19 2005-04-06 松下電器産業株式会社 情報検索方法と情報検索装置
JP2006172372A (ja) * 2004-12-20 2006-06-29 Dainippon Printing Co Ltd 検索装置および方法

Also Published As

Publication number Publication date
WO2011104754A1 (ja) 2011-09-01
US20120317098A1 (en) 2012-12-13
CN102770863B (zh) 2014-12-17
JPWO2011104754A1 (ja) 2013-06-17
US8914385B2 (en) 2014-12-16
CN102770863A (zh) 2012-11-07
DE112010005297T5 (de) 2013-01-31

Similar Documents

Publication Publication Date Title
JP5449521B2 (ja) 検索装置及び検索プログラム
JP4694111B2 (ja) 用例ベースの機械翻訳システム
CN109582972B (zh) 一种基于自然语言识别的光学字符识别纠错方法
JP5257071B2 (ja) 類似度計算装置及び情報検索装置
US20070011132A1 (en) Named entity translation
US20080221863A1 (en) Search-based word segmentation method and device for language without word boundary tag
JP2002215619A (ja) 翻訳文書からの翻訳文抽出方法
CN1979638A (zh) 一种语音识别结果纠错方法
WO2010044123A1 (ja) 検索装置、検索用索引作成装置、および検索システム
Sen et al. Bangla natural language processing: A comprehensive analysis of classical, machine learning, and deep learning-based methods
JP5308786B2 (ja) 文書データ検索装置
KR101841824B1 (ko) 텍스트 분할 프로그램, 텍스트 분할 장치, 및 텍스트 분할 방법
Saharia et al. Stemming resource-poor Indian languages
US20110106849A1 (en) New case generation device, new case generation method, and new case generation program
Sen et al. Bangla natural language processing: A comprehensive review of classical machine learning and deep learning based methods
Soo A non-learning approach to spelling correction in web queries
Hakkani-Tür et al. Morphological disambiguation for Turkish
JP5132430B2 (ja) 姓名候補を生成する情報処理装置、情報処理方法、およびプログラム
JP2009020567A (ja) 文書検索装置
Rani et al. Post-processing methodology for word level Telugu character recognition systems using Unicode Approximation Models
JP3682915B2 (ja) 自然文マッチング装置、自然文マッチング方法、及び自然文マッチングプログラム
Minghu et al. Segmentation of Mandarin Braille word and Braille translation based on multi-knowledge
JP2002259912A (ja) オンライン文字列認識装置及びオンライン文字列認識方法
JP2019061297A (ja) 情報処理装置、プログラム及び検索方法
Bhowmik et al. Development of A Word Based Spell Checker for Bangla Language

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131224

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5449521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees