JP3077765B2 - 語彙辞書の検索範囲を削減するシステム及び方法 - Google Patents

語彙辞書の検索範囲を削減するシステム及び方法

Info

Publication number
JP3077765B2
JP3077765B2 JP09501676A JP50167697A JP3077765B2 JP 3077765 B2 JP3077765 B2 JP 3077765B2 JP 09501676 A JP09501676 A JP 09501676A JP 50167697 A JP50167697 A JP 50167697A JP 3077765 B2 JP3077765 B2 JP 3077765B2
Authority
JP
Japan
Prior art keywords
unverified
bits
dictionary
string
entry
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
JP09501676A
Other languages
English (en)
Other versions
JPH11505052A (ja
Inventor
リ,リアン
Original Assignee
ユナイテッド パーセル サービス オブ アメリカ,インコーポレイテッド
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 ユナイテッド パーセル サービス オブ アメリカ,インコーポレイテッド filed Critical ユナイテッド パーセル サービス オブ アメリカ,インコーポレイテッド
Publication of JPH11505052A publication Critical patent/JPH11505052A/ja
Application granted granted Critical
Publication of JP3077765B2 publication Critical patent/JP3077765B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Description

【発明の詳細な説明】 技術分野 本発明は未検証の一連の文字について有効な候補語と
思われる、語彙辞書または辞書のエントリー数を削減す
ること、特に光学文字認識(OCR)分析を経た文字列
を、語彙辞書への有効なエントリーと比較するシステム
及び方法に関する。
背景技術 光学文字認識(OCR)は改良を続けてきているが、か
かるシステムは有効な単語や単語の組み合わせを用い
て、入力された一連の文字を完全に識別することは必ず
しもできない。かかるシステムは、システムが利用可能
な辞書にない文字列の識別につながりうる入力の誤りや
文字の誤った識別のために、入力された文字列を正しく
識別できないことがある。あるいは、このシステムは文
字列中の文字全てを識別できないことがある。OCRシス
テムが文字間また文字列の単語間の分割点の決定におい
て誤りを犯した場合に、別の困難が生ずる。従って、OC
R分析の結果の検証が望ましい。
先行技術においては、未検証または未知の文字列を類
似の文字列の辞書または語彙辞書と比較して、最も近い
有効な辞書のエントリーを発見するように試みることが
知られている。しかし、都市名の辞書の場合のように、
この辞書は非常に大きい。辞書が大きい場合には、未検
証の文字列を辞書への全てのエントリーと比較するのに
要する処理時間が極端に長いことがある。
従って、他の場合にはエントリーを未検証の文字列と
比較する前に、辞書のサイズを削減することを試みた。
かかる辞書の制限は、システムが読み取ったいくつかの
情報に基づくことができる。例えば、道路名の辞書は、
システムによって検出可能な郵便番号にある道路に限定
することができる。このアプローチに固有の問題は、依
拠する情報(例では郵便番号)が誤って識別された場合
に、辞書の全く関連しない部分が比較に用いられてしま
うことである。
辞書を制限するもうひとつのアプローチは、文字列の
最初の3文字を検索キーとして使うことであった。つま
り、未検証の文字列の最初の3文字を共有する辞書への
エントリーのみが考慮されるのである。文字列のこの部
分に識別の誤りがある場合は、このアプローチには問題
が生ずる。更に、光学文字認識方法においては、異なっ
た文字の形状の類似性のために、形状を混同する傾向が
固有である。これは、検索キーによるアプローチでは考
慮されず、従って、辞書の関連する部分を排除する危険
がある。辞書を制限する先行した試みのもうひとつの例
は、未検証の文字列の長さを検索キーとして使うことで
ある。この方法によると、所定の数値で未検証の文字列
よりも短いか長い辞書のエントリーは考慮されない。こ
のアプローチは、文字列の内容を使って類似の辞書のエ
ントリーを発見しないという点で不利である。その結
果、大きすぎるリストを提供し、その後のステップにお
いて処理時間を適切に削減することができないことがあ
る。
代替的アプローチは、未検証の文字列と辞書のエント
リーを符号化して、次に符号化したバージョンを比較す
るというものである。nグラムの符号化技術は、未検証
の文字列及び個々の辞書のエントリーを表すnグラムの
ベクトルを比較するのに適用されてきた。非位置的なn
グラムのベクトルは、文字列におけるn個の隣接する文
字それぞれを考慮し、その文字の組み合わせに対応する
ベクトルのビットに0または1を割り当てることにより
形成される。例えば、英語のアルファベットに基づいた
バイ・グラムのベクトルは、合計で676のエントリーに
ついて、AA、AB、AC、AD...ZW、ZX、ZY、ZZの文字の組
み合わせを表すビットを有するであろう。nグラムの符
号化技術は、参照することで本明細書に含めたCavnar,W
and Vayda,A.,「効率的不精密なマッチング用にnグラ
ムのリストの上書きされた符号を使用すること」USPS A
dvanced Tech.Conf.(5),Vol.1.,pp.253−67及びRise
man,E.and Hanson,A,「バイナリーnグラムを用いた誤
り修正用の文脈後処理システム」IEEE Trans.on Comput
ers.Vol.C−23,No.5,May 1944,pp.480−93に記載されて
いる。
入力された文字列を多数の辞書のエントリーと直接的
に比較する場合と同様に、nグラムの表示の比較も多く
の計算時間を消費することがある。また、システムが非
位置的nグラムの符号化を用いて語彙辞書全体を符号化
する場合には、整合しても文字列が辞書の単語であるこ
とを意味しない。辞書全体と共通の特性があるかどうか
を判断するだけであるので、この曖昧さが生ずる。一
方、nグラムの比較は単純なバイナリーの不精密なマッ
チングという利点を有し、他の多くの比較スキームより
も速く、文字列や辞書のエントリーが可能なnグラムの
組に細分化される場合には、スペースを節減することが
できる。しかし、先行するシステムにおいては、全ての
公知の符号化方法が未検証のベクトルを符号化された辞
書のエントリー全てと比較するので、計算上の損失の問
題が残る。先行するシステムは、文字列やそのベクトル
表示の直接的な比較を行う前に、検索スペースを削減す
る効果的な方法を欠いている。
このように、先行技術においては、未検証の文字列に
ついて可能性のある正しい整合として考慮される有効な
辞書の候補語を削減するために、未検証の文字列を辞書
または語彙辞書のエントリーと比較する効率的なシステ
ムと方法が必要である。また、語彙辞書の関連部分を除
外せず、正確な整合を含む可能性が高い候補語のショー
トリストを生成することができるような方法も必要であ
る。
発明の概要 本発明は、語彙辞書のエントリーを用いて文字列を比
較するための語彙辞書を作成して、残りのエントリーが
未検証の文字列について整合を含む可能性が高くなるよ
うに、未検証の文字列と比較される語彙辞書の部分を削
減するために、計算上効率的であり語彙辞書を少数の候
補語に正確に限定する、未検証の文字列を辞書または語
彙辞書のエントリーと比較する改善された方法及びシス
テムを提供するものである。
本発明によれば、上記の目的は、辞書または語彙辞書
を未検証の文字列と整合する可能性が高い候補語に削減
する、効率的なシステム及び方法を提供することにより
達成される。本システム及び方法は、語彙辞書を削減す
るために最大3個のステップを利用することができ、各
ステップはその前のステップの操作から生ずる語彙辞書
のより小さい部分で操作される。
一般的に表現すると、本発明は、エントリーのひとつ
以上の特性に基づいて文字列のエントリーの表示をグル
ープに分割し、グループのひとつ以上の特性に基づいて
エントリーを語彙辞書にマップしたバケットを含むイン
デックスにインデックス化し、語彙辞書のエントリーを
分割するのに使ったのと同じ特性に基づいて、未検証の
文字列の表示をグループに分割し、語彙辞書のエントリ
ーをインデックスにインデックス化するのに使ったのと
同じ特性に基づいて、未検証の文字列をインデックスに
インデックス化し、未検証の文字列の表示を、未検証の
文字列がインデックス化されたバケットの選択に一般的
にインデックス化されている語彙辞書のエントリーのみ
の表示と比較することにより、文字列を語彙辞書のエン
トリーと比較するシステム及び方法を提供する。発明の
好適な実施例においては、例えば語彙辞書において選択
された特性が発生する頻度によって、表示が分割される
グループが分類される。
発明の好適な実施例においては、エントリーの表示を
分割するステップは、エントリーを表示するnグラムの
ベクトルを形成し、nグラムのベクトルを削減されたビ
ット長のシグネチュア・ベクトルにフォールドし、シグ
ネチュア・ベクトルをそれぞれ所定のビット数を有する
グループに分割することを含む。グループのビットは、
語彙辞書における各ビットの出現頻度の降順で配置され
るのが望ましい。エントリーをインデックス化するステ
ップは、一組のグループのビット値に基づいて、エント
リーのシグネチュア・ベクトルの各グループにひとつず
つの、一組のグループ数値を決定し、グループの数値に
等しいバケット・アドレスを有するシグネチュア・ベク
トルの各グループ用のバケットを確立し、グループ数値
のひとつに等しいバケット・アドレスを有する全てのバ
ケットにエントリーをマップすることを含むのが望まし
い。分割されたシグネチュア・ベクトルの何れかのグル
ープが同じグループ数値を有している場合には、重複す
るグループは無視される。
エントリーをインデックス化するステップは更に、語
彙辞書の残りのシグネチュア・ベクトルのグループのグ
ループ数値を決定し、決定された全てのグループ数値の
バケット及びバケット・アドレスを確立し、語彙辞書の
残りのエントリーをそれぞれ、エントリーの分割された
シグネチュア・ベクトルのグループのグループ数値のひ
とつに等しいバケット・アドレスを有する全てのバケッ
トにマップすることを含むのが望ましい。
語彙辞書のエントリーの分割及びインデックス化によ
り、所与の語彙辞書に固定された結果が生ずる。従っ
て、それは何れかの未検証の文字列を分析することが必
要になる前に生じうるし、各未検証の文字列について繰
り返される必要はない。これにより、文字列の同一物が
素速く発見されなければならない場合に、未検証の文字
列を分析するのに要する時間が削減される。文字列の速
やかな識別は重要なことになりうる。例えば、未検証の
文字列は速く動く小包のラベル上で読み取られることが
ある。小包が自動選別ステーションに達する前にラベル
上の全てのアドレス情報を識別するのにかけられる時間
は、ほんの数秒であろう。
未検証の文字列を分割しインデックス化するステップ
は、未検証の文字列を表すnグラムのベクトルを形成
し、nグラムのベクトルを削減されたビット長のシグネ
チュア・ベクトルにフォールドし、シグネチュア・ベク
トルをそれぞれ所定のビット数を有するグループに分割
し、グループのビット値に基づいて、未検証の文字列の
シグネチュア・ベクトルの各グループにひとつずつの、
一組のグループ数値を決定し、少なくとも未検証の文字
列のシグネチュア・ベクトルの最初のグループについて
のグループ数値に等しいバケット・アドレスを有するバ
ケットに、未検証の文字列をマップすることを含むのが
望ましい。最初のグループは、語彙辞書に出現する頻度
が最も高いビットを含むのが望ましい。ビット値は1と
0を含んでもよく、グループ数値は、グループのビット
値によって形成された二進法の数に対応する十進法の数
を含んでもよい。
分割及びインデックス化に続く比較ステップに言及す
ると、未検証の文字列と語彙辞書のエントリーの表示
は、フォールドされたnグラムのシグネチュア・ベクト
ルを含むことが望ましく、比較ステップは、未検証の文
字列のnグラムのシグネチュア・ベクトルの対応するビ
ットと、未検証の文字列と同じバケットにインデックス
化された語彙辞書のエントリーのnグラムの各シグネチ
ュア・ベクトルの一致を判定することを含むのが望まし
い。そうすれば、nグラムのシグネチュア・ベクトル
が、所定の一致限界値よりも高い対応するビットの標準
化された一致を有するエントリーに限定された語彙辞書
の削減部分を定義することが可能である。
最後に、本発明は原形の未検証の文字列と原形の語彙
辞書の削減された部分のエントリーを選択的に比較でき
る。これは、原形の未検証の文字列と原形の語彙辞書の
削減された部分のエントリーとの間の変形損失分析を行
うステップと、所定の損失限界値を下回る通常化された
変形損失スコアを有するエントリーを含む候補エントリ
ーの最終リストを定義するステップとを含むのが望まし
い。
当業者は、分割及びインデックス化を含む語彙辞書の
削減の第一ステップはアプリケーションから独立し、一
方、それに続くベクトルと文字列の比較ステップは、未
検証の文字列を生成するOCRなどのアプリケーションに
合わせることにより更に効率化できることを理解するで
あろう。しかし、第一ステップはアプリケーションに従
属するように作ることができることも理解すべきであ
る。
本発明の別の態様によれば、エントリーの特性に基づ
いて語彙辞書のエントリーの表示をグループに分割する
ステップと、グループの特性に基づいてエントリーを語
彙辞書にマップされたバケットからなるインデックスに
インデックス化するステップとを含む、文字列を語彙辞
書のエントリーと比較するための語彙辞書を作成する方
法を提供する。
本発明の更に別の態様によれば、語彙辞書のサイズを
削減するための好適な3ステップのプロセスは、符号化
された表示が未検証の文字列の符号化された表示と特性
を共有する語彙辞書のエントリーを選択することによ
り、語彙辞書の第一の部分を定義し、未検証の文字列の
符号化された表示を語彙辞書の第一の部分のエントリー
の符号化された表示と直接に比較することにより、第一
の部分のいくつかのエントリーを含む語彙辞書の第二の
部分を定義し、原形の未検証の文字列と原形の語彙辞書
の第二の部分のエントリーとを直接に比較することによ
り、第二の部分のエントリーの少なくともひとつを含む
語彙辞書の第三の部分を定義することとして、一般的に
説明されうる。
本発明の他の目的、特徴及び利点は、発明の好適な実
施例に関する以下の説明を、図面及び添付の請求の範囲
と共に検討することで明らかになるであろう。
図面の簡単な説明 図1Aは語彙辞書をインデックス化する本発明の技術の
ステップを概説したシステム・フローチャートである。
図1Bは、未検証の文字列を処理するステップを概説し
たシステム・フローチャートである。
図2は図1の分割及び細分化サブルーチンのフローチ
ャートである。
図3は図1の編集距離サブルーチンのフローチャート
である。
図4Aはフォールドされたシグネチュア・ベクトルを形
成する図2のプロセスを図示している。
図4Bは図2の分割及び細分化ステップのプロセスを図
示している。
図5は特定の語彙辞書のエントリーを処理する例を図
示している。
図6は本発明を例示した画像化システムの線図であ
る。
詳細な説明 まず、明細書の用語については、以下の詳細な説明
は、中央演算装置(CPU)、CPU用のメモリ記憶装置及び
接続された画素指向表示装置などの従来のコンピュータ
部品によって履行されるプロセスや操作の象徴的表現で
主に記載している。これらの操作は、CPUによるデータ
・ビットの操作や、ひとつ以上のメモリ記憶装置に常駐
するデータ構造内のこれらのビットの維持を含む。かか
るデータ構造は、コンピュータのメモリ内に記憶された
データ・ビットの収集に物理的構成を課し、特定の電気
的または磁気的要素を表す。これらの象徴的表現は、コ
ンピュータ・プログラミングやコンピュータ製造の当業
者が、教示や発見を他の当業者に最も効率的に伝えるた
めに使用する手段である。
この議論の目的としては、プロセスは一般的に、所望
の結果につながる一連のコンピュータで実行されるステ
ップであるものと表現される。これらのステップは、一
般的に物理的量の物理的操作を要する。通常は、必ずし
もそうではないが、これらの量は記憶、転送、結合、比
較またはその他の方法で操作されうる電気的、磁気的ま
たは光学的信号の形態を取る。当業者にとっては、これ
らの信号をビット、値、要素、シンボル、文字、用語、
対象、数値、記録、ファイルなどと呼ぶのが通常であ
る。しかし、これら及び類似の用語はコンピュータ操作
用の適切な物理的量と関連づけられるべきであり、かつ
これらの用語はコンピュータの操作の範囲内及び操作中
に存在する物理的量に適用される通常のラベルに過ぎな
いことに注意すべきである。
また、コンピュータ内での操作は、人間のオペレータ
が行う手動の操作としばしば関連する、加える、比較す
る、動かすなどの用語でしばしば言及されることも理解
されるべきである。かかる人間のオペレータの関与は本
発明には必要ではないか望ましくさえないことが理解さ
れなければならない。本明細書中で説明している操作
は、コンピュータとやり取りする人間のオペレータやユ
ーザと連携して行われる機械操作である。本発明の操作
を行うのに使われる機械は、汎用的なデジタル・コンピ
ュータまたは他の類似の計算装置を含む。
更に、本明細書中で説明しているプログラム、プロセ
ス、方法などは、如何なる特定のコンピュータまたは装
置にも関連せずまたは限定されないことを理解すべきで
ある。むしろ、様々の種類の汎用的機械を、本明細書中
で説明している教示に従って作られたプログラムと共に
使うことができる。同様に、密結合された論理または読
み出し専用メモリなどの非揮発性メモリに記憶されたプ
ログラムを用いて、専用コンピュータ・システムにより
本明細書中で説明している方法ステップを行うための専
用化された装置を作ることが有利であると分かるであろ
う。
ここで図面をより詳細に参照すると、図面中ではいく
つかの図をとおして同様の番号は同様の部分に言及して
いるが、図1A及び1Bは本発明のシステムによって実行さ
れる語彙辞書削減の方法のシステム・フローチャートを
示している。この方法は、例えば、文字認識システムに
よる処理の後に、アドレス・ラベルなどの画像から文字
列を有効化または識別するのに使うことができる。この
方法の目的は、辞書または語彙辞書を用いて、未検証の
文字列について最も整合する候補語として取り上げられ
る、その語彙辞書からの名称の数を狭めることである。
かかる語彙辞書の例は米国の都市名のリストであり、
これは約45,000の有効なエントリーを含むことができる
ようである。未検証の文字列は、関連フィールド(住所
における都市名など)から、集中的なOCR処理によって
生成されるようである。未検証の文字列には誤りや問題
が生ずることがあり、それで識別が困難になる。「文字
列」という用語は、個々の単語あるいは一連の単語また
はその他の文字に言及するのに本明細書中で広く用いて
いる。例えば、「132 Front St.,Elm Wood,IN 4550
9」という一連の語において、全体は文字列でもあり、
個々の構成成分またはそれらの組み合わせでもありう
る。この例では、都市名のフィールドは「Elm Wood」
を含む。
以下に詳細に説明するように、この方法には次の2つ
の段階がある。(1)語彙辞書自体の固定的操作(図1
A)と(2)語彙辞書を動的に操作して候補の正しい文
字列のショートリストに到達するための未検証の文字列
の使用(図1B)。第一段階は、実時間の処理時間を削減
するための語彙辞書の計算前特性を含む。第二段階は、
順に3つまでのステップを有する。第一のステップは、
未検証の文字列と特性を共有して最初の候補語のリスト
を形成する、ひとつ以上のリンクした語彙辞書の文字列
のリストを発見する多重の細分化アプローチを用いる。
第二のステップは次に、フォールドされたバイ・グラム
のマッチングに基づいた方法を使い、リストを透過して
第二の候補語リストを生成する。第三のステップは、編
集距離に基づいた方法を、更にリストを透過して最終の
候補語リストを生成するのに適用する。
「内部」語彙辞書処理 上述のように、この方法の第一段階は有効な語彙辞書
の文字列(法律上の及び正しい都市名など)のみを含
む。図1Aを参照すると、語彙辞書はフローチャートのス
テップ100でメモリにロードされる。全ての下位の格の
文字は上位の格に文字にマップされ、全ての文字間スペ
ースは取り払われ、全ての非英数字は選択された特定の
非英数字(例えば「?」)にマップされる。処理を始め
るには、語彙辞書のエントリーをステップ105で選択
し、ステップ110で図2、4及び5で詳細に示した分割
及び細分化サブルーチンを、図4に20で表された選択さ
れたエントリーについて行う。
図2を参照すると、語彙辞書のエントリー文字列20に
ついての非位置的がバイ・グラムのベクトルがステップ
205で形成される。図4Aに示したバイ・グラムのベクト
ル22は、長さ26×26=676ビットで、そのエレメントは
それぞれの可能性のあるバイ・グラムの英語のアルファ
ベットが文字列で生ずるかどうかに対応して1及び0で
ある。nグラムの符号化は、バイ・グラムの符号化がそ
の例であるが、当業者には公知である。トリ・グラムな
どの他のnグラムが用いることもできるが、バイ・グラ
ムの符号化が好適である。ベクトル22は、各連続した8
ビットのグループを吟味し、グループの何れかのバイ・
グラムが以前に「設定」された(値1を有していた)か
どうかによって1または0を割り当てられることによ
り、ステップ210でフォールドされる。図4Aに示したよ
うに、フォールドされたベクトルの最初のビットは、バ
イ・グラムのベクトルのAAからAHまでのビットに基づい
ており、第二のグループはAIからAPなどのビットに基づ
いている。吟味される最終グループは4ビットのみを有
している。これは文字列のシグネチュア・ベクトルと呼
ばれる85ビットのベクトル25に帰結する。語彙辞書につ
いての全てのシグネチュア・ベクトルは、予め、計算で
きる。元の語彙辞書のエントリーは、元の文字列及びそ
れに対応するシグネチュア・ベクトルを含む各ラインを
用いてステップ215で再フォーマットされる。
バイ・グラムの同じシーケンス(AA−AH、AI−AP)は
各語彙辞書のエントリーのシグネチュア・ベクトルで生
ずる。語彙辞書の固定的処理の前に、これらのシグネチ
ュア・ベクトルが分類されることがある。カウンタは、
各ビット(各ビットにつき8バイ・グラムを考慮)が語
彙辞書で生ずる頻度をカウントして、85ビットのそれぞ
れについて集積される。85ビットは次に、最大カウンタ
値(語彙辞書で最も頻繁に発見されるバイ・グラムの
組)から始めて、それに対応する頻度によって降順でソ
ートされる。ソート・プロセスはビット頻度表となり、
それは次に以下に説明する手法で使用されて、語彙辞書
のエントリー並びに未検証の文字列のシグネチュア・ベ
クトルを分割する。
図4Bを参照すると、シグネチュア・ベクトル25はステ
ップ230で分割されて、それぞれ12ビット(gi.t・・g
i.12、ここでi=1〜7)の7個のグループ30〜36とな
る。シグネチュア・ベクトルの最後の(85番目の)ビッ
トは捨てられる。分割プロセスでは、最初のグループ
(i=1)は語彙辞書のビット頻度表を使って集められ
る。ビット・マスクは、12個の最も頻繁に生ずるビット
に対応する12のビット位置を持って、つまり、これらの
ビットがビット表頻度の最上部にあるように作られる。
特定の語彙辞書のエントリーのシグネチュア・ベクトル
を分割するには、同じビット・マスクと比較される。エ
ントリーのシグネチュア・ベクトルでビットが「1」に
設定される場合にのみ、最初のグループの対応するビッ
トは「1」にセットされる。例えば、ビット番号2(AI
〜AP)が語彙辞書で最も高い発生頻度を有しているバイ
アーグラムを含むのであれば、ビットg1.1はエントリ
ーのシグネチュア・ベクトルのビット2に対応する値を
与えられるであろう。つまり、バイ・グラムAI〜APの何
れかがバイ・グラムのベクトルに設定されるのであれ
ば、エントリーのシグネチュア・ベクトルのビット2が
セットされており、エントリーの分割されたシグネチュ
ア・ベクトルの最初のグループのビットg1.1がセット
されるであろう。同じプロセスは最初のグループの他の
ビットを集めるのに使われ、次に他の6個のグループの
ビットにも使われる。このように、最初のグループは、
所与の語彙辞書の統計に基づいて最良の特徴のサブセッ
ト(シグネチュア・ベクトルにおけるビット位置)を与
え、次のグループは2番目によいサブセットを与える、
などとなる。
上記の分割プロセスはアプリケーションに従属する。
しかし、シグネチュア・ベクトルの分割はアプリケーシ
ョンに従属した方法で行われてもよい。例えば、アプリ
ケーションがOCRエンジンである場合には、分割プロセ
スは同じ形状のバイ・グラムを同じビットに、別個の形
状のバイ・グラムを異なったビットに、より「相反す
る」バイ・グラムを異なったビットにフォールドするな
どによりアプリケーションに関連づけることができる。
12ビットの各グループは12ビットの二進数とみなされ
ることがあり、それはステップ235で0から4095の間の
十進数に翻訳される(例えば、グループのビット・パタ
ーンが000000000011であれば、十進数は3であろう)。
これらの数を使用して、バケット・アドレス表40が作成
される。各バケット・アドレスは、そのアドレスに索引
される複数のシグネチュア・ベクトルを収容する必要が
あるのであれば、アドレス0に示したように最終的には
2つ以上のバケットを有することができる。各バケット
の容量は例えば100ポインタとすることができる。バケ
ット・アドレスを共有する全てのバケットはリンクした
リストを形成する。都市名の語彙辞書の例においては、
あるアドレスは使われず、最大のリンクされたリストは
73ものバケットを有することがある。
語彙辞書のエントリー処理については、方法はステッ
プ240に進む、そこで分割されたシグネチュア・ベクト
ル30〜36の7個のグループそれぞれの十進数は、最大7
個のリンクされたリストにシグネチュア・ベクトルを
「細分化」するのに使われる。図4に示したように、ア
ドレス番号0から4095からなるバケット・アドレス表40
が提供される。各グループ30〜36について、語彙辞書の
シグネチュア・ベクトルのエントリー45へのポインタ42
は、そのグループの十進数(同じシグネチュア・ベクト
ルの複写された十進数グループは考慮されない)に等し
いバケット・アドレスに関連したバケット43に記憶され
る。ポインタは語彙辞書の文字列のアドレスを指す。細
分化ステップは、シグネチュア・ベクトル25のグループ
30〜36全てについて行われる。シグネチュア・ベクトル
25の全ての非複写グループがバケット・アドレス表に細
分化されている場合には、シグネチュア・ベクトル25に
関連した語彙辞書アドレスを指すポインタ42はいくつか
のバケット・アドレスに記憶されている。この冗長が最
初の候補語リストを素速く構成する機構を提供する。ま
た、エラー公差も提供する。
この時点で、方法は図1Aの主ルーチンに戻り、ステッ
プ115で語彙辞書の全てのエントリーが処理されたかど
うかが判断される。処理されていなければ、方法はステ
ップ105に戻り、次の語彙辞書のエントリーが選択され
る。このように、図2の分割及び細分化サブルーチンが
語彙辞書の各エントリーについて行われる。インデック
ス化あるいは細分化ステップ240は、語彙辞書の全ての
エントリーについて実行される。語彙辞書全体が処理さ
れると、個々のバケット・アドレスの多くは語彙辞書の
エントリーの変数に関連する。上記全てのステップは、
何れかの未検証の文字列に対する実際の整合に先だって
完了される。グループの分割及びリンクされたリスト表
40は特定の語彙辞書について固定される。
図5は、都市名の文字列「ADAMS」と仮定された、有
効な語彙辞書のエントリー20′における図2のサブルー
チンの操作の短縮化した例を示す。この文字列は語彙辞
書の45番目のエントリーであると推測される。バイ・グ
ラムのベクトル22′は「1」に設定されたビットADとAM
を含み、この文字列で発見されるバイ・グラムに対応す
る全てのビットは「1」に設定され、その他のビットは
「0」にセットされることが理解されるであろう。バイ
・グラムのベクトル22′がフォールドされると、ビット
ADは最初の8ビットに入り、従ってシグネチュア・ベク
トル25′の最初のビットは「1」にセットされる。ビッ
トAMはバイグラム・ベクトル22′の2番目の8ビットに
入るので、これはシグネチュア・ベクトルの2番目のビ
ットについても当てはまる。当業者は、シグネチュア・
ベクトルの残りのビットは同様の手法で決定されること
を理解するであろう。
シグネチュア・ベクトルが分割されると、最初のグル
ープ30′は語彙辞書で最も頻繁に生ずるシグネチュア・
ベクトルのビットを含む。図示のためにg1.0及びg
1.11が「1」に設定されたビットであると仮定すると、
グループ30′のビットの値によって形成される二進数は
000001000010であり、これは十進数66に対応する。従っ
て、45番目の語彙辞書のエントリーは、バケット・アド
レス表のバケット・アドレス番号66にリンクされる。
未検証の文字に基づいた語彙辞書の削減 ここでの目的は、未検証の文字列と特性を共有する語
彙辞書の小さなサブセットを発見することである。この
語彙辞書のサブセットにある正しい整合の確立は高いは
ずである。
まず、図1Bのステップ120では、以下で説明するよう
に、未検証の文字列20が、細分化されるそのシグネチュ
ア・ベクトルのグループ数と共に入力される。ステップ
125では、未検証の文字列は図2及び4の分割及び細分
化サブルーチンによって処理される。このサブルーチン
が各有効な語彙辞書のエントリーを処理したのと基本的
に同じ方法で、ステップ205〜235で処理を行い、未検証
の文字列に関するシグネチュア・ベクトルを形成し、シ
グネチュア・ベクトルを7個のグループに分割する。
グループ要素によって形成された二進数から翻訳され
る十進数は、次にステップ245で語彙辞書のバケット・
アドレス表40におけるアドレスにマップされることがあ
る。ユーザはステップ120で、(最初のグループが語彙
辞書で最も頻繁に発見されるフォールドされたバイ・グ
ラムを含んでいることを覚えており、)未検証の文字列
のシグネチュア・ベクトルのグループ何個がマップされ
るべきかを選択している。バケット・アドレス表に「細
分化」されるグループ数は、未検証の文字列に関する候
補語エントリーの最初のリストのサイズを決定し、従っ
て、それに続くステップに要する処理時間を決定する。
正しい語彙辞書のエントリーを含める速度と確実性の間
には取り決めがある。最初の候補語リストの各語は、候
補語のシグネチュア・ベクトルにおける少なくともひと
つのグループのビット・パターンが、未検証の文字列の
シグネチュア・ベクトルのグループのビット・パターン
と同じであるという意味で、未検証の文字列と共通のあ
る特徴を共有している。2つ以上のグループが細分化さ
れると、各グループについて任意にリンクされたリスト
は共に速い処理にリンクされうる。
未検証の文字列と関連するバケット・アドレスを指す
ポインタのリストが記憶される。このポインタのリスト
の内容及び長さは、選択されて細分化されるグループの
数に左右される。
処理は次に、図2のサブルーチンから図1Bの主ルーチ
ンに戻る。ステップ130では、未検証の文字列の選択さ
れたグループによってアドレスされたバケットにポイン
タを有する、有効な語彙辞書のエントリー全てが最初の
候補語リストとみなされる。これらのエントリーは未検
証の文字列と特性を共有するので、未検証の文字列の真
の値が候補語リストで発見される可能性が高い。未検証
の文字列のシグネチュア・ベクトルの最初のグループ30
を、都市名の語彙辞書用の表に細分化するのは、例えば
可能性のある候補語名の数を元の45,000から約145に削
減することであると分かっている。この数は、バケット
は100ポインタの容量を有するものと仮定して、専有さ
れるバケット・アドレスについてリンクされたリスト当
たり平均1.45のバケット数に基づいている。
ベクトルを比較することによる語彙辞書の更なる削減 ステップ130で識別された最初の候補語の組のみを考
慮して、ステップ135のプロセスは未検証の文字列のシ
グネチュア・ベクトルと最初の候補語の各エントリーの
シグネチュア・ベクトルとを比較して、比較されたベク
トルにおける整合した対応する「ON」(値1)ビットの
数を計算する。例えば、0011と1011の間の整合した「O
N」ビットの数は2である。スコアはステップ140で標準
化され限界値化される。標準化は語彙辞書のエントリー
において設定されたフィールドされたビットの数に基づ
いている。つまり、標準化されたスコアは(整合したビ
ット/エントリーの設定されたビット)である。標準化
されたスコアはこのように、0と1の間にある。限界値
を超える標準化されたスコアを有するこれらのエントリ
ーのみが、候補語のエントリーの組に保持される。限界
値は、この削減ステップを経て何個の候補語が残るかを
制御するように設定できる。都市名の語彙辞書を例に挙
げると、ひとつのグループが細分化された場合の限界値
は0.45で、それを超えた数のグループが細分化された場
合には0.35となるようである。限界値は、次のステップ
が誤りから回復できるのに十分な候補語を明らかにする
ように選択されるが、次のステップで過度の処理時間を
要するほど低くはないようにするべきである。
文字列を比較することによる語彙辞書の更なる削減 ステップ145では、図3に示したように、プロセスは
編集距離サブルーチンを呼び出す。このサブルーチンの
目的は、文字列自体(未知である残りの候補語)を比較
して、残りの候補語のどれが未検証の文字列に最も近い
かを判断することである。このサブルーチンは、未検証
の文字列を候補語の文字列に変換したりその逆を行うの
に必要な一連の操作を加重する新規な方法を使う。変換
の最少総加重「損失」は、「編集距離」と呼ばれる。候
補語の最終リストで限界値未満の標準化された編集距離
を有する候補語の文字列のみを残して、限界値を超える
標準化された編集距離を有する候補語の文字列が除外さ
れる。限界値は、望ましくは10個の候補語以下の候補語
の設定数に最終リストを制限するように設定できる。
この最終ステップは、OCRなどの特定のアプリケーシ
ョン用に最適化されることが望ましい。これは、変換操
作の損失がどれくらい類似した文字が現れるかに左右さ
れるためである。例えば、ある文字は類似の形状を有
し、OCRエンジンによく混同される。従って、これらの
文字を交互に置き換えることは損失を低くする。
本発明は、参照することで本明細書に含めたLowranc
e,R.and Wagner,R.,“An Extension of the String−to
−String Correction Problem,"J.of the Assoc.for Co
mputing Machinery,Vol.22,No.2.April 1975,pp.177−8
3;Wagner,R.and Fischer,M.,“The String−to−String
Correction Problem,"J.of the Assoc.for Computing
Machinery,Vol.21,No.1,January,1974,pp.168−73;及び
Masek.W.,“A Faster Algorithm Computing StringEdit
Distances,"J.Computer & Systems Sciences,Vol.20,
pp.18−31(1980)において説明されている種類の変換
の損失を決定するための方法を使っている。この種の方
法は、「動的プログラミング」を使ってひとつの文字列
から他の文字列に変換する損失を計算し、編集距離(最
少損失)を求める。ひとつの文字列の文字に対して行っ
て、それを他の文字列に変換する操作は、挿入、削除、
置換、及び2つの隣接した文字の入れ替えを含む。OCR
のアプリケーションについては、次の損失をこれらの操
作のうちの3つに割り当てることができる。
挿入損失 = 1 削除損失 = 1 入れ替え損失 = 1.5 置換損失は、ひとつの文字が他の文字として誤って識
別される可能性によるべきである。「5」と「S」など
の類似の形状を有する文字は、互いに間違われることが
しばしばあり、従って、置換には小さい損失が割り当て
られる。通常は、考慮されるのは36文字である(26英文
字及び10数字)。下位の格の文字は、損失を計算する前
にその上位の格の対応文字にマップされる。可能性のあ
る全ての置換に関する置換損失を含む、36×36の参照表
を作成し記憶させるのが望ましい。異なったOCRエンジ
ンには異なった表を作成することができる。OCRエンジ
ンが訓練セットの段階でひとつの文字を他の文字と誤っ
て識別しようとするパーセンテージを求めることによ
り、表を作成してもよい。その場合には、補数パーセン
テージを置換の損失として割り当てることができる。例
えば、訓練セットにおいて時間の70%でエンジンが
「6」を「G」と認識するのであれば、「6のGに対す
る」置換損失は1−0.7=0.3である。
この情報は、各文字とその36個の関連する損失値を、
次の4つのグループに分けるのに使うことができる。
(a)同じ形状 (割り当てられる損失=0) (b)類似の形状 (割り当てられる損失=0.65) (c)それほど類似しない形状 (割り当てられる損失=0.8) (d)異なった形状 (割り当てられる損失=1) ユーザは、実験結果及び形状の類似性に基づいて、表
の値のいくつかを、訓練セット及びOCRエンジンの両方
からの偏向の効果を勘案するように調整したいと望むで
あろう。表は補数置換の損失を等しく、つまり損失(x,
y)=損失(y,x)とするように調節することも望まし
い。表1は、ひとつのOCRエンジンについて決定された3
6×36の表の値に対するキーである。
例として、参照表の「F」列と「P」行との交点にお
いては、損失値0.65が記憶される。参照表の「F」列と
「T」行との交点においては、損失値0.8が記憶され
る。参照表の「F」列と「F」行との交点においては、
損失値0が記憶される。参照表の「F」列と「F」以外
の全ての行、「E」、「P」、「7」または「T」との
交点においては、損失値1が記憶される。
当業者は、置換損失を決定するのに他の技術が使える
ことを理解されるであろう。例えば、置換損失をタイピ
ストのタイプの誤りの頻度に基づかせることができる。
しかし、このアプローチは、誤った分類などOCR分析に
特定の誤りを扱うものではない。
次に図3を参照すると、ステップ305で、長さ|A|を有
する文字列Aの文字を表す列と、長さ|B|を有する文字
列Bの文字を表す行を用いて、表またはマトリックスD
を確立する。このように、Dは|A|×|B|マトリックスで
ある。マトリックスの各セルにおいて、D(i,j)は最
初のi文字を文字列Aから文字列Bの最初のj文字に変
換する最少損失である。D(|A|,|B|)はマトリックス
の最終セルであり、文字列A全体を文字列B全体に変換
する最少損失を含む(両文字列の間の編集距離)。マト
リックスDのテンプレートを以下の表2に示す。
D(|A|,|B|)を決定するためには、ステップ310で動
的プログラミング方法が次のセルに進み、セル(1,1)
で始まる。この方法はまずD(1,1)を決定して、次に
最初の列の他のセルを左から右に埋め、そして残りの列
のセルを各列の行ごとに埋める。各セルでは、先行する
隣接セルのひとつについて既に計算した損失値と、行位
置j全体で文字列Bの副文字列を得るのに必要な追加変
換操作の漸増最少損失とに基づいて値が計算される。先
行する隣接セルでの損失値は、D(i,j−1)、D(i
−1,j)及びD(i−1,j−1)である。Lowrence及びWa
ngerの論文で説明された方法に従って、これらのセルの
ひとつは、最少損失D(i,j)について開始損失値を提
供する。各セル(i,j)について、次の4つの変換全て
が比較される。
(1)新たな文字を挿入する損失:D(i,j−1)+挿入
損失B(j) (2)古い文字を削除する損失:D(i−1,j)+A
(i)の削除損失 (3)文字を置換する損失:D(i−1,j−1)+置換損
失A(i)→B(j) (4)文字を入れ替える損失:Lowrence及びWagnerの論
文、「ALGORITHMS」の182ページ、19行並びに附属の説
明を参照。論文では、H[i,j]が最少損失のファンク
ションである。
181ページの論文のパート5.(4)を参照して一般的
に説明すると、この入れ替えのステップは位置(x,y)
で始まるが、ここではxとjの間にタッチライン(論文
で説明されている)があり、iとyの間にもう1本のタ
ッチラインがある。総損失はD(x−1,y−1)+Tで
あり、ここでTは漸増入れ替え損失である。損失Tは、
削除、挿入及び置換損失の組み合わせである。最初の文
字列は位置 1,...,x,...,iを有し、 (a)まず、位置x+1からi−1で文字を削除して、
1,...,x,iを残し、 (b)次に、x位置とi位置の間に、位置y+1からj
−1から2番目の文字列の文字を挿入して、1,...,x,y
+1,...,j−1,iを残し、 (c)最後に、jをiと置換して、1,...,x,y+1,...,j
−1,jとする。
損失Tは、ステップ(a)、(b)及び(c)の削
除、挿入及び置換損失の合計である。D(x−1,y−
1)は位置1,...,xを変換する損失であるので、損失T
を加えることで、入れ替えを用いる総損失が算出され
る。
ステップ315では、これらの計算は最少漸増変換損失
を求めるために行われて比較される。ステップ320で
は、D(i,j)は上記(1)〜(4)の結果の最小値と
なるように設定される。セルが埋められたままであるの
ならば、ステップ325で方法はステップ310に戻り、次の
セルに進む。ステップ315及び320はこのセルについて繰
り返される。ステップ325で最終セル(|A|,|B|)が埋め
られていると判断されれば、変換損失計算は完了する。
ステップ330では、D(|A|,|B|)の値は文字列の長さの
平均(|A|+|B|)/2によって標準化され、編集距離は標
準化されたD(|A|,|B|)に設定されて記憶される。ス
テップ335では、プログラムは試験を行って、未検証の
文字列が、削減された語彙辞書の第二レベルの候補語エ
ントリーの全てと比較されたかどうかを判断する。比較
されていなければ、方法はステップ305に戻り、次の候
補語エントリーについてのマトリックスを確立する。ス
テップ305から330は、編集距離が決定されて第二レベル
候補語エントリーの全てについて記憶されるまで繰り返
される。
この時点で、方法は図1の主ルーチンに戻り、ステッ
プ150で限界値試験を編集距離値に適用して、最終候補
語リストを選択する。限界値は(1)未検証の文字列か
らの標準化された編集距離が最も低い候補語の特定の番
号または、(2)その下では最終リストにおけるのと同
様に、未決定の候補語番号が受け入れられる特定の標準
化された編集距離または、(3)特定の標準化された編
集距離を超えない候補語の特定の番号までで設定でき
る。また、限界値は、バケット・アドレス表に細分化さ
れたグループ数に伴って変化することがある。都市名の
語彙辞書の例では、最終限界値は次のようになることが
ある。
最終候補語リストはステップ155で出力される。
図6を参照すると、本発明は小包11に添付したラベル
12の画像を得るための画像化システム10に具象化でき
る。カメラ14(CCD検出器を内蔵することが望ましい)
は、小包11のパス上に配置される。カメラ14は公知の方
法で操作され、ラベル12の画像を得る。画像の英数字
は、例えばSPARC2ワークステーションであるプロセッサ
16で分析される。プロセッサはOCRエンジンを含むが、
これは当該技術分野で公知のもののひとつであろう。OC
Rエンジンは文字を識別し、それを単語に分けようと試
みる。プロセッサ16も、本発明の方法を実施するように
編成されている。当該方法への入力は、プロセッサ16と
関連したメモリ装置に記憶された語彙辞書のエントリー
と、画像化された未検証の文字列を含む。出力装置(図
示せず)は、プロセッサに接続されて、候補語の最終リ
スト並びにユーザが見直すことを望む中間データを表
示、転送または印刷することができる。文字の画像を得
るのに適した画像化システムのひとつは、参照すること
により本明細書に含めた米国特許第5,308,960号で開示
されている。
本システム及び方法の実施は次の例示から理解でき
る。
実施例 上記の方法は、SPARC2ワークステーションを使って約
45,000の都市名の語彙辞書並びに、未検証の入力とし
て、実際の世界の住所の画像及びその真の値(視覚的に
決定されキー入力された)からOCRエンジンによって生
成した約670の都市名に適用される。各「未検証の」シ
グネチュア・ベクトルの最初のグループを、バケット・
アドレス表に細分化することは、約56%の正解率(真の
文字列が上位10の最終候補語にある)と1.3%の不正解
率(有効な文字列が最終リストにない)を生ずる。未検
証の文字列の残りの42.7%は拒否された、つまり、語彙
辞書では候補語が発見されなかった。平均速度は入力当
たり約53ミリセカンドである。
上位5つのグループが細分化されると、入力当たり約
691msの平均速度で正解率は約85%に上昇し、不正解率
は2.4%である(12%が拒否される)。
上記の説明から、本発明は、未検証の文字列を語彙辞
書とより効率的に比較するシステム及び方法を提供し、
語彙辞書を複数のステップを介して透過して未検証の文
字列と直接に比較されるエントリー数を削減することが
理解されるであろう。本方法は、計算上最も費用がかか
らない分割及び細分化ステップで始まる。次に、符号化
されたベクトル比較ステップに進み、最後に、最も計算
上費用がかかる編集距離の直接文字列比較に進む。先行
するステップで未検証の文字列について整合が提供され
ていれば、より費用がかかるステップは省略することが
できる。語彙辞書の削減は、未検証の文字列の性質を考
慮しており、従って、関連する候補語を含むであろう語
彙辞書の大部分を任意に削除せずに達成できる。同時
に、本方法は、未検証の文字列を語彙辞書の全てのエン
トリーと直接または間接に比較する必要を回避する。比
較されるエントリーのサブセットは、未検証の文字列の
内容次第で、未検証の文字列ごとに異なる。最終候補語
リストは、未検証の文字列について可能性が高くて分類
された候補語のみを含み、最終リストのサイズは調節で
きる。
本発明の性質を説明するために記述し図示した部品や
パラメータの詳細、材料及び配列の様々の変更は、以下
の請求の範囲に記載した本発明の原理及び範囲から逸脱
することなく、当業者が行うことができることを更に理
解されるであろう。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−162272(JP,A) 欧州特許出願公開518496(EP,A 2) O.OWOLABI & D.R.M CGREGOR”Fast Appro ximate String Matc hing”SOFTWARE−PRAC T ICE AND EXPERIEN CE,Vol.18,No.4,p.387 −393,1988 古瀬,浅田,飯沢「DBMSへのシグ ネチャファイルの実装について」電子情 報通信学会技術研究報告(DE94−58) Vol.94,No.224,p23−30, 1994(平6−9−9) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06K 9/72 JICSTファイル(JOIS)

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】語彙辞書の各エントリーについて、エント
    リーを表すnグラムのベクトルを形成し、 前記nグラムのベクトルを削減されたビット長のシグネ
    チュア・ベクトル(25)にフォールドし、 前記シグネチュア・ベクトルのビットにインデックスさ
    れた語彙辞書のエントリーのバケット(43)を形成し、 語彙辞書のエントリー(45)をその個々のバケットにマ
    ップし、 所定の基準に適合する前記バケットのサブセットを選択
    し、 前記未検証の文字列の表示を前記バケットの前記サブセ
    ットのバケットにマップされた語彙辞書のエントリーの
    みの表示と比較することからなる文字列(20)を語彙辞
    書のエントリー(22)と比較する方法において、 (1)前記シグネチュア・ベクトルのビットにインデッ
    クスされた語彙辞書のエントリーのバケットを形成する
    前記ステップは、 前記語彙辞書の各エントリーの各シグネチュア・ベクト
    ルのビットを、語彙辞書において各ビットの発生頻度の
    降順に配置された所定数のビット(g)をそれぞれ有す
    るグループ(30〜36)に分割し、 次に、数値はそれぞれグループの全てのビットにより形
    成されており、ひとつ以上のグループ(30〜36)と関連
    した数値によって識別されたバケット(43)へのエント
    リーをインデックスすることによりエントリーの前記バ
    ケット(43)を形成することを含み、 (2)前記未検証の文字列の表示を、前記バケットの前
    記サブセットのバケットにマップされた語彙辞書のエン
    トリーのみの表示と比較する前記ステップは、 前記未検証の文字列のシグネチュア・ベクトルのビット
    を、語彙辞書において各ビットの発生頻度の降順に配置
    された所定数のビット(g)をそれぞれ有するグループ
    (30〜36)に分割し、 次に、前記未検証の文字列を、未検証の文字列の分割さ
    れたシグネチュア・ベクトルのひとつ以上のグループ
    (30〜36)のビットによって形成された数値に基づいて
    前記バケットにインデックスし、 前記未検証の文字列の前記表示を、前記未検証の文字列
    と同じバケットにインデックスされた語彙辞書のエント
    リーのみの表示と比較すること、 を含むことを特徴とする、文字列(20)を語彙辞書のエ
    ントリー(22)と比較する方法。
  2. 【請求項2】前記数値はグループのビットによって形成
    された二進数であることをさらに特徴とする、請求の範
    囲第1項に記載の方法。
  3. 【請求項3】所定の基準に適合するエントリーの前記バ
    ケットのサブセットを選択する前記ステップは、前記未
    検証の文字列またはその表示と語彙辞書の全てのエント
    リーとの間の類似性の比較を含まない、請求の範囲第2
    項に記載の方法。
  4. 【請求項4】請求項1の方法において前記ステップは、
    各エントリーについて、 (a)語彙辞書のエントリーを表すnグラムのベクトル
    (22)を形成することと、 (b)複数のnグラムをビットに結合することにより前
    記nグラムのベクトルをシグネチュア・ベクトル(25)
    にフォールドすることと、 (c)語彙辞書において出現頻度が最も高いビットで始
    め、降順で継続して、シグネチュア・ベクトルのビット
    と同じnグラムを有するビットのリストを作ることと、 (d)二進数を形成するデジットのグループに分割され
    ており、デジットは同じnグラムを有するシグネチュア
    ・ベクトルのビットが設定されているかどうかによって
    設定されたりされなかったりする、ビット値はデジット
    がビットリストのビットを表す二進数である分割された
    ベクトル(30〜36)を作ることと、 (e)分割されたベクトルの全ての可能性のあるビット
    値に対応するアドレスを有する複数のバケット(43)を
    確立することと、 (f)前記語彙辞書のエントリーを、前記語彙辞書のエ
    ントリーの分割されたベクトルのビット値に対応するア
    ドレスを有する前記ひとつ以上のバケットにインデック
    スすることにより、 語彙辞書のエントリーを編成することと、 ステップ(a)〜(d)に従って前記未検証の文字列に
    ついて分割されたベクトル(30〜36)を作ることと、 前記未検証の文字列を、アドレスが前記未検証の文字列
    の分割されたベクトルのビット値に対応するバケット
    (43)にインデックスすることにより、 特定の未検証の文字列と比較される語彙辞書のエントリ
    ーの数を削減することと、 前記未検証の文字列の表示を、前記未検証の文字列がイ
    ンデックスされたバケット・アドレスにインデックスさ
    れている語彙辞書のエントリーのみの表示と比較するこ
    と、 とを特徴とする、請求の範囲第1項に記載の方法。
  5. 【請求項5】前記バケット・アドレスは、分割されたベ
    クトルのビット値によって形成された二進数に対応する
    十進数を含む、請求の範囲第4項に記載の方法。
  6. 【請求項6】比較される語彙辞書のエントリーの数を削
    減する前記ステップはさらに、アドレスが分割されたベ
    クトル(30〜36)の選択されたグループに対応するバケ
    ット(43)にインデックスされた、語彙辞書のエントリ
    ーに限定された語彙辞書の削減された部分を定義するこ
    とを含む、請求の範囲第5項に記載の方法。
  7. 【請求項7】前記比較ステップにおける前記未検証の文
    字列と前記語彙辞書のエントリーの表示は、フォールド
    されたnグラムのシグネチュア・ベクトル(25)を含
    む、請求の範囲第6項に記載の方法。
  8. 【請求項8】フォールドされたnグラムのシグネチュア
    ・ベクトル(25)は、未検証の文字列のフォールドされ
    たnグラムのシグネチュア・ベクトルと比較して、所定
    の一致限界値よりも高い対応するビットの標準化された
    一致を有するエントリーに語彙辞書を、さらに削減する
    ステップを含む、請求の範囲第7項に記載の方法。
  9. 【請求項9】原形の未検証の文字列と、原形の語彙辞書
    の更に削減されたエントリーとを比較するステップをさ
    らに含む、請求の範囲第8項に記載の方法。
  10. 【請求項10】原形の未検証の文字列と、原形の語彙辞
    書のさらに削減されたエントリーのエントリーとを比較
    する前記ステップは、 原形の未検証の文字列と原形の語彙辞書の削減された部
    分のエントリーとの間の、変形損失分析を行い、 前記変形損失分析において決定された標準化された変形
    損失スコアに基づいて、候補語のエントリーの最終リス
    トを定義することを含む、請求の範囲第9項に記載の方
    法。
  11. 【請求項11】前記nグラムのベクトル(22)をシグネ
    チュア・ベクトル(25)にフォールドする前記ステップ
    は、前記nグラムのベクトルの8ビットを前記シグネチ
    ュア・ベクトルの1ビットに結合することを含む、請求
    の範囲第4項に記載の方法。
  12. 【請求項12】分割されたベクトル(30〜36)を作る前
    記ステップは、前記シグネチュア・ベクトルを12ビット
    のグループに分割することを含む、請求の範囲第11項に
    記載の方法。
  13. 【請求項13】文字列(20)の画像を得て記憶するため
    に操作されるイメージャー(14)と、 語彙辞書の各エントリーについて、エントリーを表すn
    グラムのベクトル(22)を形成し、 前記nグラムのベクトルを削減されたビット長のシグネ
    チュア・ベクトル(25)にフォールドし、 前記シグネチュア・ベクトルのビットにインデックスさ
    れた語彙辞書のエントリーのバケット(43)を形成し、 語彙辞書のエントリー(45)をその個々のバケットにマ
    ップし、 所定の基準に適合する前記バケットのサブセットを選択
    し、 前記未検証の文字列の表示を、前記バケットの前記サブ
    セットのバケットにマップされた語彙辞書のエントリー
    のみの表示と比較するように構成されたプロセッサ(1
    6)とを備えた語彙辞書のエントリーを画像における未
    検証の文字列にリンクするシステムにおいて、 (1)前記シグネチュア・ベクトルのビットにインデッ
    クスされた語彙辞書のエントリーのバケットを形成する
    前記プロセッサ・ステップは、 前記語彙辞書の各エントリーの各シグネチュア・ベクト
    ルのビットを、語彙辞書において各ビットの発生頻度の
    降順に配置された所定数のビット(g)をそれぞれ有す
    るグループ(30〜36)に分割し、 次に、数値はそれぞれグループの全てのビットにより形
    成されており、ひとつ以上のグループ(30〜36)と関連
    した数値によって識別されたバケット(43)へのエント
    リーをインデックスすることによりエントリーの前記バ
    ケット(43)を形成することを含み、 (2)前記未検証の文字列の表示を、前記バケットの前
    記サブセットのバケットにマップされた語彙辞書のエン
    トリーのみの表示と比較する前記プロセッサ・ステップ
    は、 前記未検証の文字列のシグネチュア・ベクトルのビット
    を、語彙辞書において各ビットの発生頻度の降順に配置
    された所定数のビット(g)をそれぞれ有するグループ
    (30〜36)に分割し、 次に、前記未検証の文字列を、未検証の文字列の分割さ
    れたシグネチュア・ベクトルのひとつ以上のグループ
    (30〜36)のビットによって形成された数値に基づいて
    前記バケットにインデックスし、 前記未検証の文字列の前記表示を、前記未検証の文字列
    と同じバケットにインデックスされた語彙辞書のエント
    リーのみの表示と比較すること、 を含むことを特徴とする、語彙辞書のエントリーを画像
    における未検証の文字列にリンクするシステム。
JP09501676A 1995-06-07 1996-06-05 語彙辞書の検索範囲を削減するシステム及び方法 Expired - Fee Related JP3077765B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/477,481 1995-06-07
US08/477,481 US5774588A (en) 1995-06-07 1995-06-07 Method and system for comparing strings with entries of a lexicon
US477,481 1995-06-07
PCT/US1996/009333 WO1996041280A1 (en) 1995-06-07 1996-06-05 System and method for reducing the search scope in a lexicon

Publications (2)

Publication Number Publication Date
JPH11505052A JPH11505052A (ja) 1999-05-11
JP3077765B2 true JP3077765B2 (ja) 2000-08-14

Family

ID=23896088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09501676A Expired - Fee Related JP3077765B2 (ja) 1995-06-07 1996-06-05 語彙辞書の検索範囲を削減するシステム及び方法

Country Status (7)

Country Link
US (1) US5774588A (ja)
EP (1) EP0834138B1 (ja)
JP (1) JP3077765B2 (ja)
AT (1) ATE180072T1 (ja)
CA (1) CA2222590C (ja)
DE (1) DE69602444T2 (ja)
WO (1) WO1996041280A1 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963666A (en) * 1995-08-18 1999-10-05 International Business Machines Corporation Confusion matrix mediated word prediction
US6295524B1 (en) * 1996-10-29 2001-09-25 Nec Research Institute, Inc. Learning edit distance costs
US6157905A (en) * 1997-12-11 2000-12-05 Microsoft Corporation Identifying language and character set of data representing text
US7043426B2 (en) * 1998-04-01 2006-05-09 Cyberpulse, L.L.C. Structured speech recognition
JP3541930B2 (ja) * 1998-08-13 2004-07-14 富士通株式会社 符号化装置及び復号化装置
US6249605B1 (en) * 1998-09-14 2001-06-19 International Business Machines Corporation Key character extraction and lexicon reduction for cursive text recognition
US7110998B1 (en) * 1998-10-13 2006-09-19 Virtual Gold, Inc. Method and apparatus for finding hidden patterns in the context of querying applications
US7031985B1 (en) * 1999-03-08 2006-04-18 Oracle International Corporation Lexical cache
AU3907300A (en) * 1999-03-19 2000-10-09 Raf Technology, Inc. Rollup functions for efficient storage, presentation, and analysis of data
WO2000070549A1 (de) 1999-05-12 2000-11-23 Siemens Aktiengesellschaft Verfahren zum adresslesen
DE19933984C2 (de) * 1999-07-20 2001-05-31 Siemens Ag Verfahren zur Bildung und/oder Aktualisierung von Wörterbüchern zum automatischen Adreßlesen
US6671407B1 (en) * 1999-10-19 2003-12-30 Microsoft Corporation System and method for hashing digital images
WO2001033409A2 (en) * 1999-11-01 2001-05-10 Kurzweil Cyberart Technologies, Inc. Computer generated poetry system
US7403888B1 (en) * 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
US6848080B1 (en) 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US6778683B1 (en) * 1999-12-08 2004-08-17 Federal Express Corporation Method and apparatus for reading and decoding information
US7047493B1 (en) * 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
US6668085B1 (en) * 2000-08-01 2003-12-23 Xerox Corporation Character matching process for text converted from images
DE10054124A1 (de) * 2000-10-31 2002-05-08 Peter Linssen Verfahren zur Ermittlung von Ähnlichkeiten zwischen Ereignisfolgen
US6735560B1 (en) * 2001-01-31 2004-05-11 International Business Machines Corporation Method of identifying members of classes in a natural language understanding system
US6975743B2 (en) * 2001-04-24 2005-12-13 Microsoft Corporation Robust and stealthy video watermarking into regions of successive frames
US6973574B2 (en) * 2001-04-24 2005-12-06 Microsoft Corp. Recognizer of audio-content in digital signals
US6996273B2 (en) * 2001-04-24 2006-02-07 Microsoft Corporation Robust recognizer of perceptually similar content
US7356188B2 (en) * 2001-04-24 2008-04-08 Microsoft Corporation Recognizer of text-based work
US7020775B2 (en) 2001-04-24 2006-03-28 Microsoft Corporation Derivation and quantization of robust non-local characteristics for blind watermarking
US7006703B2 (en) 2002-06-28 2006-02-28 Microsoft Corporation Content recognizer via probabilistic mirror distribution
US7095873B2 (en) * 2002-06-28 2006-08-22 Microsoft Corporation Watermarking via quantization of statistics of overlapping regions
DE10245834A1 (de) * 2002-10-01 2004-04-15 Siemens Ag Verfahren zum Erzeugen von Lern- und/oder Teststichproben
US20040139072A1 (en) * 2003-01-13 2004-07-15 Broder Andrei Z. System and method for locating similar records in a database
JP4486324B2 (ja) * 2003-06-19 2010-06-23 ヤフー株式会社 類似単語検索装置、この方法、このプログラム、および情報検索システム
US7424498B1 (en) * 2003-06-30 2008-09-09 Data Domain, Inc. Probabilistic summary data structure based encoding for garbage collection
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US20050086234A1 (en) * 2003-10-15 2005-04-21 Sierra Wireless, Inc., A Canadian Corporation Incremental search of keyword strings
US7831832B2 (en) * 2004-01-06 2010-11-09 Microsoft Corporation Digital goods representation based upon matrix invariances
US20050165690A1 (en) * 2004-01-23 2005-07-28 Microsoft Corporation Watermarking via quantization of rational statistics of regions
US7770014B2 (en) * 2004-04-30 2010-08-03 Microsoft Corporation Randomized signal transforms and their applications
US7529668B2 (en) * 2004-08-03 2009-05-05 Sony Corporation System and method for implementing a refined dictionary for speech recognition
US7895218B2 (en) * 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
US8291065B2 (en) * 2004-12-02 2012-10-16 Microsoft Corporation Phishing detection, prevention, and notification
US7634810B2 (en) * 2004-12-02 2009-12-15 Microsoft Corporation Phishing detection, prevention, and notification
US7779011B2 (en) 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
US7774341B2 (en) 2006-03-06 2010-08-10 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
EP2911071A1 (en) 2006-04-20 2015-08-26 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US7558725B2 (en) * 2006-05-23 2009-07-07 Lexisnexis, A Division Of Reed Elsevier Inc. Method and apparatus for multilingual spelling corrections
CA2663222C (en) * 2006-09-14 2018-01-16 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. Linear character selection display interface for ambiguous text input
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
WO2008148012A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8077983B2 (en) 2007-10-04 2011-12-13 Zi Corporation Of Canada, Inc. Systems and methods for character correction in communication devices
US7962507B2 (en) * 2007-11-19 2011-06-14 Microsoft Corporation Web content mining of pair-based data
KR100946145B1 (ko) * 2008-05-13 2010-03-08 성균관대학교산학협력단 서열 유사도 측정 장치 및 그 제어방법
US8856879B2 (en) 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
US9124431B2 (en) * 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
US8644622B2 (en) * 2009-07-30 2014-02-04 Xerox Corporation Compact signature for unordered vector sets with application to image retrieval
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
NZ589039A (en) * 2009-09-24 2013-04-26 Nec Corp Recognition of a word image with a plurality of characters by way of comparing two possible candidates based on an evaluation value
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
GB201010545D0 (en) * 2010-06-23 2010-08-11 Rolls Royce Plc Entity recognition
US9384423B2 (en) * 2013-05-28 2016-07-05 Xerox Corporation System and method for OCR output verification
US10043009B2 (en) * 2014-09-24 2018-08-07 Intel Corporation Technologies for software basic block similarity analysis
JP2016099662A (ja) * 2014-11-18 2016-05-30 富士通株式会社 符号化プログラム、符号化装置、符号化方法および検索プログラム
US9928436B2 (en) 2015-07-08 2018-03-27 Conduent Business Services, Llc Lexicon-free, matching-based word-image recognition
JP6512294B2 (ja) 2015-07-14 2019-05-15 富士通株式会社 圧縮プログラム、圧縮方法および圧縮装置
CN107102998A (zh) * 2016-02-22 2017-08-29 阿里巴巴集团控股有限公司 一种字符串距离计算方法和装置
US10635693B2 (en) * 2016-11-11 2020-04-28 International Business Machines Corporation Efficiently finding potential duplicate values in data
US10127219B2 (en) * 2016-12-09 2018-11-13 Hong Kong Applied Science and Technoloy Research Institute Company Limited System and method for organizing and processing feature based data structures

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058795A (en) * 1972-10-03 1977-11-15 International Business Machines Corporation Method and apparatus for context-aided recognition
JPS5729745B2 (ja) * 1974-09-25 1982-06-24
US3969698A (en) * 1974-10-08 1976-07-13 International Business Machines Corporation Cluster storage apparatus for post processing error correction of a character recognition machine
US3995254A (en) * 1975-07-16 1976-11-30 International Business Machines Corporation Digital reference matrix for word verification
US4771385A (en) * 1984-11-21 1988-09-13 Nec Corporation Word recognition processing time reduction system using word length and hash technique involving head letters
US5133023A (en) * 1985-10-15 1992-07-21 The Palantir Corporation Means for resolving ambiguities in text based upon character context
US5261009A (en) * 1985-10-15 1993-11-09 Palantir Corporation Means for resolving ambiguities in text passed upon character context
US4754489A (en) * 1985-10-15 1988-06-28 The Palantir Corporation Means for resolving ambiguities in text based upon character context
JPH0682403B2 (ja) * 1986-03-24 1994-10-19 沖電気工業株式会社 光学式文字読取装置
US5050218A (en) * 1986-08-26 1991-09-17 Nec Corporation Apparatus for recognizing address appearing on mail article
JPS63198154A (ja) * 1987-02-05 1988-08-16 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション つづり誤り訂正装置
EP0312905B1 (de) * 1987-10-16 1992-04-29 Computer Gesellschaft Konstanz Mbh Verfahren zur automatischen Zeichenerkennung
US5062143A (en) * 1990-02-23 1991-10-29 Harris Corporation Trigram-based method of language identification
US5329609A (en) * 1990-07-31 1994-07-12 Fujitsu Limited Recognition apparatus with function of displaying plural recognition candidates
EP0470798B1 (en) * 1990-08-06 1997-10-29 Fujitsu Limited Dictionary searching system
US5276741A (en) * 1991-05-16 1994-01-04 Trw Financial Systems & Services, Inc. Fuzzy string matcher
CA2077604C (en) * 1991-11-19 1999-07-06 Todd A. Cass Method and apparatus for determining the frequency of words in a document without document image decoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
O.OWOLABI & D.R.MCGREGOR"Fast Approximate String Matching"SOFTWARE−PRACT ICE AND EXPERIENCE,Vol.18,No.4,p.387−393,1988
古瀬,浅田,飯沢「DBMSへのシグネチャファイルの実装について」電子情報通信学会技術研究報告(DE94−58)Vol.94,No.224,p23−30,1994(平6−9−9)

Also Published As

Publication number Publication date
EP0834138B1 (en) 1999-05-12
CA2222590C (en) 2000-11-07
DE69602444T2 (de) 2000-01-05
ATE180072T1 (de) 1999-05-15
US5774588A (en) 1998-06-30
DE69602444D1 (de) 1999-06-17
CA2222590A1 (en) 1996-12-19
EP0834138A1 (en) 1998-04-08
JPH11505052A (ja) 1999-05-11
WO1996041280A1 (en) 1996-12-19

Similar Documents

Publication Publication Date Title
JP3077765B2 (ja) 語彙辞書の検索範囲を削減するシステム及び方法
JP2726568B2 (ja) 文字認識方法及び装置
US5706496A (en) Full-text search apparatus utilizing two-stage index file to achieve high speed and reliability of searching a text which is a continuous sequence of characters
US10169426B2 (en) Fast identification of complex strings in a data stream
JP4350109B2 (ja) 走査された及びリアルタイムの手書き文字の識別を行う文字認識システム
JP2973944B2 (ja) 文書処理装置および文書処理方法
JP2002215619A (ja) 翻訳文書からの翻訳文抽出方法
Duygulu et al. A hierarchical representation of form documents for identification and retrieval
JPH11328317A (ja) 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体
Feng et al. Confidence guided progressive search and fast match techniques for high performance Chinese/English OCR
JP2001175661A (ja) 全文検索装置及び全文検索方法
JPH06282587A (ja) 文書の自動分類方法及び装置並びに分類用の辞書作成方法及び装置
JP2003331214A (ja) 文字認識誤り訂正方法、装置及びプログラム
FORD et al. A tree-based dictionary search technique and comparison with n-gram letter graph reduction
JP3115459B2 (ja) 文字認識辞書の構成方法及び検索方法
JPH05225248A (ja) データベース検索システム
JP3771369B2 (ja) 文字認識装置及び文字認識処理方法
CN115688763A (zh) 一种单位名称一致性的判别方法
CN112307159A (zh) 相似文本的检索方法
JPH09330331A (ja) 成句検出方法
CA2873000C (en) Fast identification of complex strings in a data stream
JPH0757059A (ja) 文字認識装置
JPH0652367A (ja) 文字認識結果の後処理方法
JPH09245030A (ja) 文書解析装置及び形態素解析方法
JPH0652366A (ja) 文字認識結果の後処理方法

Legal Events

Date Code Title Description
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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080616

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090616

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees