私は OCR の後処理を行うエンジンに取り組んでおり、現在、商工会議所番号を含む一連の組織をデータベースに保持しています。
また、OCR 出力から、可能な商工会議所 (COC) 番号のリストを取得しました。
最も類似したものを検索する最良の方法は何ですか? 現在、私はレーベンシュタイン距離を使用していますが、結果の範囲が大きすぎて、大きなデータベースでは実現可能性が疑わしいです。現在は Java で実装されており、データベースは MySQL データベースです。
補足: オランダの商工会議所番号は、すべての会社の 8 桁の番号と定義されています。このシステムの以前のバージョンでは、組織の設立を示すために別の 4 桁 (0000、0001 など) を使用していました。最近では、まったく新しい COC 番号が発行されています。
COCNumber の例:
- 30209227
- 02045251
- 04087614
- 01155720
- 20081288
- 020179310000
- 09053023
- 09103292
- 30039925
- 13041611
- 01133910
- 09063023
- 34182B01
- 27124701
後処理によって決定される可能性のある COCNumbers のリスト:
- 102537177
- 000450093333
- 465111338098
- NL90223l30416l
- NLf0737D447B01
- 2013年6月12日
- IBANNL32ABNA0242244777
- lncassantNL90223l30416l10000
- KvK13041611
- BtwNLfl0737D447B01
いくつかの追加メモ:
- 後処理で請求書から単語と単語グループが抽出され、それらの単語グループが 1 つの文字列に連結されます。(単語グループとは、単語のグループであり、通常は単語間のスペースで示されます)。
- 後処理で COC 番号として使用される条件は次のとおりです。長さは 8 以上で、内容の半分は数字で、英数字でなければなりません。
- 後処理によって決定される可能性のある COCNumbers の量は比較的小さいです。
- データベース自体は非常に大きくなり、最大で 10,000 件のレコードになる可能性があります。
一般的に最適な一致を見つけるにはどうすればよいですか? (この場合 (13041611, KvK13041611) が最適な (しかも正しい) 一致です)