JP2018081451A - 情報処理装置およびその制御方法 - Google Patents
情報処理装置およびその制御方法 Download PDFInfo
- Publication number
- JP2018081451A JP2018081451A JP2016222664A JP2016222664A JP2018081451A JP 2018081451 A JP2018081451 A JP 2018081451A JP 2016222664 A JP2016222664 A JP 2016222664A JP 2016222664 A JP2016222664 A JP 2016222664A JP 2018081451 A JP2018081451 A JP 2018081451A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- specific term
- information
- dictionary
- information processing
- 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
- Character Discrimination (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】より効率的な文字列検索を可能とする技術を提供する。【解決手段】文字列から所与の辞書に含まれる特定用語を検索する情報処理装置は、n−gram方式を利用して所与の辞書に対して文字列の部分文字列の検索を行い、所与の辞書から文字列に含まれる1以上の特定用語候補を抽出する抽出手段と、1以上の特定用語候補の各々に対して、DPマッチング方式を利用して特定用語候補と当該特定用語候補に対応する文字列内の部分文字列との編集距離を導出する導出手段と、編集距離が所定の閾値より短い前記1以上の特定用語候補に対応する前記文字列内の部分文字列を出力する出力手段と、を有する。【選択図】図2
Description
本発明は、電子文書の文字列検索技術に関するものである。
オフィス環境において電子化(ペーパーレス化)が進んでいるが、他社とのやり取りなどにおいては紙文書も相変わらず使用されていることが多い。例えば、医療分野で使用されるお薬手帳では、レシート形式あるいは帳票形式で記載された紙文書が利用されている。そのため、お薬手帳を提示された医療機関は、当該お薬手帳の内容を電子カルテなどに改めて記載する必要が生じている。一方、スキャナ装置により帳票やレシートの紙文書を光学的に読み取り電子画像化することが容易になってきている。また、その紙文書の電子画像中の文字画像から、記載内容をテキストデータ化する文字認識の技術の精度も向上し、よく利用されている。
ところで、文字認識したテキストデータ内を検索するにあたっては、文字認識の誤り、漢字の送り仮名、カタカナ記載等の表記ゆれを考慮した検索が必要になる。特許文献1には、スペルミスを含んでいる単語を正しいスペルの単語に修正する手法が開示されている。具体的には、入力単語から部分文字列を抽出し、当該部分文字列をキーに複数の単語候補を得て、最大の出現回数となる単語候補を選択している。また、特許文献2には、DPマッチング方式を利用して文字認識を可能とする方法が開示されている。
しかしながら、大量の用語が登録される辞書データを用いる場合、文字認識したテキストデータ内に当該辞書データ内のどの用語が出現したかを検索する処理は一般に処理コストが大きい。また、辞書データ内の用語に類似したものが多い場合、あるいは、文字認識の誤りや、漢字の送り仮名、カタカナ記載等の表記ゆれが存在する場合には、更に処理コストが大きなものとなり処理速度の低下が問題となる。
本発明はこのような問題を鑑みてなされたものであり、より効率的な文字列検索を可能とする技術を提供することを目的とする。
上述の問題点を解決するため、本発明に係る情報処理装置は以下の構成を備える。すなわち、文字列から所与の辞書に含まれる特定用語を検索する情報処理装置は、n−gram方式を利用して前記所与の辞書に対して前記文字列の部分文字列の検索を行い、前記所与の辞書から該文字列に含まれる1以上の特定用語候補を抽出する抽出手段と、前記1以上の特定用語候補の各々に対して、DPマッチング方式を利用して特定用語候補と該特定用語候補に対応する前記文字列内の部分文字列との編集距離を導出する導出手段と、前記編集距離が所定の閾値より短い前記1以上の特定用語候補に対応する前記文字列内の部分文字列を出力する出力手段と、を有する。
本発明によれば、より効率的な文字列検索を可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る情報処理装置の第1実施形態として、紙文書のスキャン画像を光学文字認識(OCR)処理して得られるテキストデータを処理する情報処理システムを例に挙げて以下に説明する。なお、本明細書及び添付の図面において記載される薬剤名である、バレリン(登録商標)、アバプロ(登録商標)、プロノン(登録商標)、セパミット(登録商標)、レミカット(登録商標)はそれぞれ登録商標である。
本発明に係る情報処理装置の第1実施形態として、紙文書のスキャン画像を光学文字認識(OCR)処理して得られるテキストデータを処理する情報処理システムを例に挙げて以下に説明する。なお、本明細書及び添付の図面において記載される薬剤名である、バレリン(登録商標)、アバプロ(登録商標)、プロノン(登録商標)、セパミット(登録商標)、レミカット(登録商標)はそれぞれ登録商標である。
<概要>
第1実施形態では、テキストデータ(後述の処理結果データ203)から、特定の情報を抽出する例について説明する。ここでは、お薬手帳をスキャンしOCR処理により得られたテキストデータを想定している。お薬手帳においては、記載内容や情報の種類は比較的限定されているが記載フォーマットは統一されていない。そのため、抽出したい情報(薬剤名や金額等)の記載部分の特定は困難である。また、薬剤の種類は膨大でありかつ類似した名前の薬剤も多いため、薬剤名を登録する辞書データには数万から数百万程度の用語が登録され得る。更に、OCRにおいては誤認識が発生し得るほか、送り仮名やカタカナ表記による表記ゆれも混入し得る。そのため、これらを考慮した検索処理が必要になり処理速度の低下が問題となる。
第1実施形態では、テキストデータ(後述の処理結果データ203)から、特定の情報を抽出する例について説明する。ここでは、お薬手帳をスキャンしOCR処理により得られたテキストデータを想定している。お薬手帳においては、記載内容や情報の種類は比較的限定されているが記載フォーマットは統一されていない。そのため、抽出したい情報(薬剤名や金額等)の記載部分の特定は困難である。また、薬剤の種類は膨大でありかつ類似した名前の薬剤も多いため、薬剤名を登録する辞書データには数万から数百万程度の用語が登録され得る。更に、OCRにおいては誤認識が発生し得るほか、送り仮名やカタカナ表記による表記ゆれも混入し得る。そのため、これらを考慮した検索処理が必要になり処理速度の低下が問題となる。
そこで第1実施形態では、n−gram方式とDPマッチング方式とを併用する。特に、n−gram方式を利用して辞書内の文字列候補の絞り込みを行い、絞り込まれた候補に対してDPマッチング方式を利用してキーワードの出現検出とその出現位置を求める計算を行う方式を用いる形態について説明する。とりわけ、キーワードの出現に係る計算結果を利用して、厳密な比較を行うための編集距離を少ない計算で実現する。これにより、文字列の誤りや表記ゆれを含むテキストデータに対する検索の高速化を実現する。
<前提技術>
まず、n−gram方式、DPマッチング方式、編集距離について簡単に説明する。
まず、n−gram方式、DPマッチング方式、編集距離について簡単に説明する。
・n−gram方式
通常は、検索対象の文章等に文章IDを付加しておき、テキスト内のn文字の部分文字列を取り出し、これに文章IDを対応づけた検索用のインデックスを事前に作成しておく。そして、検索時に利用者が入力された内容であるクエリ文字列からもn文字の部分文字列を取り出し、検索インデックスを調べて、そのn文字の部分文字列を保有する文章IDを得る。これにより、利用者が入力したクエリ文字列を含む文章候補を得るものである。
通常は、検索対象の文章等に文章IDを付加しておき、テキスト内のn文字の部分文字列を取り出し、これに文章IDを対応づけた検索用のインデックスを事前に作成しておく。そして、検索時に利用者が入力された内容であるクエリ文字列からもn文字の部分文字列を取り出し、検索インデックスを調べて、そのn文字の部分文字列を保有する文章IDを得る。これにより、利用者が入力したクエリ文字列を含む文章候補を得るものである。
なお、以下の実施形態では、辞書内の用語が検索対象の文章等のテキスト内で出現したことを検出する場合を想定している。そのため、検索対象の辞書内の用語に識別用のID(以下、用語ID)を付加しておき、辞書内の用語辞書内の用語IDを対応づけた検索用のインデックスを事前に作成しておく。そして検索対象の文章からもn文字の部分文字列を取り出し、検索インデックスを調べて、そのn文字の部分文字列を保有する用語IDを得る。これにより、検索対象の文章内に出現した、辞書内の用語の候補を得るために使用する。
このn−gram方式は、事前にインデックスを作成して検索用に準備しておく必要があるが、その検索処理自体は、そのインデックスを利用した高速な検索ができることが特徴である。かつ、部分文字列検索であるため、検索対象の用語の文字数に対して、文字認識などの誤りが十分少ない程度であれば、その混入した場合への耐性があり、曖昧性を持った検索が可能な方式である。
・動的計画法(DP)マッチング方式
DPマッチング方式は、比較する両者の異なっている部分に対しそれぞれペナルティである減点を適用し、比較する対象全体で積み上げた合計のペナルティを両者の距離とするものである(距離が小さいほど似ていることを示している)。
DPマッチング方式は、比較する両者の異なっている部分に対しそれぞれペナルティである減点を適用し、比較する対象全体で積み上げた合計のペナルティを両者の距離とするものである(距離が小さいほど似ていることを示している)。
このDPマッチング方式においては、比較する両者の異なっている部分は、両者のどこの部分を比較するかで、結果が変わってくる。そのため、その合計ペナルティが最小となる部分の組合せを見つける必要があり、そのために動的計画法を用いた計算法を用いる。例えば、比較する両者をそれぞれ縦横の軸にした計算表(以下、計算テーブル)を作成することで行う。そのため、編集距離のような類似度や相違度を算出するのには適しているが、計算テーブルの作成処理に時間がかかる。
・編集距離(レーベンシュタイン距離は編集距離の一種である)
二つの文字列がどの程度異なっているかを示す距離の一種である。具体的には、1文字の挿入・削除・置換によって、一方の文字列をもう一方の文字列に変形するのに必要な手順の最小回数として定義される。
二つの文字列がどの程度異なっているかを示す距離の一種である。具体的には、1文字の挿入・削除・置換によって、一方の文字列をもう一方の文字列に変形するのに必要な手順の最小回数として定義される。
<装置構成>
図1は、第1実施形態に係る情報処理システムのハードウェア構成を示す図である。
図1は、第1実施形態に係る情報処理システムのハードウェア構成を示す図である。
CPU(Central Processing Unit)101は、ROM102やRAM103上のプログラムを実行することにより各種制御を実現する機能部である。また、CPU101は、複数のプログラムを並列に動作させることもできる。ROM102は、CPU101により利用されるプログラムやデータを格納する。RAM103は、CPU101が処理するためのプログラムを格納するとともに、CPU101が各種制御を実行する際の様々なデータのワークメモリを提供する。
入力装置104は、ユーザによる各種入力操作を受け付けるキーボードやマウスである。もちろん、ユーザからの入力操作を受付可能なものであれば、タッチパネル、スタイラスペン等、何でもよい。また、音声認識やジェスチャー操作に基づく入力でもよい。バス105は、各部分に接続されているアドレスバス、データバスなどであり、各部分間の情報交換・通信機能を提供する。これにより、各部分が連携して動作できるようにする。
外部記憶装置106は、さまざまなデータ等を記憶するための外部記憶装置である。例えば、記憶媒体と当該記憶媒体を読み書きするためのドライブ装置などで構成される。記憶媒体としては、ハードディスク、フロッピーディスク、光ディスク、磁気ディスク、磁気テープ、不揮発性のメモリカード等がある。記憶媒体に記憶されたプログラムやデータの一部又は全部は、キーボード等の指示や、プログラムの指示により、必要な時にRAM103上に呼び出される。
NCU(Network Control Unit)107は、他のコンピュータ装置等と通信を行うための機能部である。NCU107は、ネットワーク(LAN)等を介して、不図示の外部装置と通信しプログラムやデータを共有する。なお、NCU107には、任意の通信規格のものを使用することが出来る。例えば、RS232C、USB、IEEE1394、P1284、SCSI、モデム、Ethernet(登録商標)などの有線通信が利用可能である。また、Bluetooth(登録商標)、赤外線通信、IEEE802.11a/b/n等の無線通信が利用可能である。
GPU(Graphics Processing Unit)108は、バス105を経由してCPU101などから与えられた表示指示や計算指示に従い計算を行い、その計算結果を表示装置109へ送信する機能部である。例えば、表示指示や計算指示に従い表示内容の画像の作成や表示位置などの計算を行い表示装置109に計算結果を描画させる。または、バス105を経由して、計算結果をCPU101に戻すことで、CPU101と連携した計算処理を行う場合もある。
表示装置109は、液晶ディスプレイなどで構成され、各種入力操作の状態やそれに応じた計算結果などをユーザに対して表示する機能部である。SCNU(Scanning Unit)110は、原稿(紙文書)を光学的に読取り画像データを生成する画像読取部であり、例えば、オーバーヘッド型のスキャナである。SCNU110は、NCU107の通信機能を介して接続してもよいし、それ以外の独自の外部I/Fを介して接続する形態でも良い。
以上述べてきた内部構成は、あくまでも一例であり、これに限定されるものでない。また、内部構成やその構成する各部分は、いわゆるハードウェアである制限はなく、ソフトウェアで作り出された仮想マシン上のものでも構わない。また、上述の内部構成を単体の装置で構成してもよいし、複数の装置で構成してもよい。
図2は、第1実施形態に係る情報処理システムの機能構成を示す図である。なお、各機能部は、基本的には、CPU101やGPU108がプログラムを実行することにより実現されることを想定する。ただし、一部または全部をASICなどのハードウェアにより実現してもよい。また、文書画像処理部202と特定情報抽出部204とは、一体の装置として構成してもよいしそれぞれを別体の装置として構成してもよい
文書画像201は、紙文書をSCNU110で光学的にスキャンすることにより得られる画像である。文書画像処理部202は、文書画像201を画像取得して処理を行い、その結果として処理結果データ203を出力する。特定情報抽出部204は、処理結果データ203を入力として処理を行い、抽出情報205を得る。抽出情報205は、利用者が抽出したい情報である。すなわち、抽出情報205は、紙文書に記載されていた情報である。
文書画像201は、紙文書をSCNU110で光学的にスキャンすることにより得られる画像である。文書画像処理部202は、文書画像201を画像取得して処理を行い、その結果として処理結果データ203を出力する。特定情報抽出部204は、処理結果データ203を入力として処理を行い、抽出情報205を得る。抽出情報205は、利用者が抽出したい情報である。すなわち、抽出情報205は、紙文書に記載されていた情報である。
文書画像処理部202は、文書画像201を取得し、画像処理や文書内の解析、文字認識などを行う。そして、その結果として、特定情報抽出部204により処理される文書データとしての処理結果データ203を出力する(データ生成する)。文書画像処理部202は、補正処理部206、画像分類部207、領域抽出部208、文字認識部209、文書構造推定部210、文字認識辞書211を含む。
補正処理部206は、文書画像201に対する画像補正を行う。例えば、文書画像201は、スキャン時の紙文書の状態(斜めに配置、丸まっているなど)や、紙文書に対する撮影方向などによる幾何学的関係から生じる画像の歪みを補正する。そのため、例えば、文書画像201における紙文書画像(四辺・領域など)の状態を推定し形状を補正する。
画像分類部207は、補正処理部206が画像補正した結果画像に対して、元の紙文書の種類を分類する。この分類結果によって、抽出される情報や、抽出するための方法などが変わってくることになる。ここでは、紙文書の種類が帳票やレシートであり、その情報を元に文書画像201から情報抽出することを想定している。
領域抽出部208は、補正処理部206が画像補正した結果画像と、画像分類部207による分類結果とに基づいて、文書画像201内の画像領域、テキスト領域などを検出する。例えば、結果画像における画像特徴量などに基づいて画像領域、テキスト領域などを検出する。検出した結果として、それぞれの領域の配置位置(座標)及び分類(画像領域、テキスト領域、表領域など)を出力する。
文字認識部209は、画像に含まれる文字を認識する文字認識を行う。ここでは、文書画像201内のテキスト領域や表領域等の文字を含む領域に対して、補正処理部206が画像補正した結果画像における対応領域を対象に文字認識を行うことを想定する。文字認識辞書211は、文字認識部209が文字認識するために使用する辞書であり、各文字の特徴量情報が格納されている。
文書構造推定部210は、領域抽出部208から得られた各領域について、配置位置や大きさなどから、「構造」や「関係」を推定する。構造とは、例えば、表領域内のテキストデータの配置である。関係とは、例えば、文書内の画像領域と、当該画像領域に関連するテキスト領域(図番号やタイトル等のキャプション)の関係である。
特定情報抽出部204は、上述の処理により文書画像処理部202が出力した処理結果データ203を入力として処理を行い、抽出情報205を得る。特定情報抽出部204は、領域分類部212、検出部213、出力部214、抽出規則215、特定情報辞書216、検索インデックス217、文字認識の誤認識パタン218を含む。
抽出規則215は、利用者が抽出したい特定情報を抽出するための規則を格納したものである。特定情報抽出部204は抽出規則215に従い動作する。特定情報辞書216は、検出部213での検出処理において抽出規則215と共に使用される多数の特定用語を記憶する所与の辞書である。例えば、商品、サービス、薬剤等の名前や、会社名等の特定用語が入っている。一般的に、この特定用語は、非常に大量であり、常に最新であるのが好ましいため、最新版の情報が提供され、特定情報辞書216内の特定用語を更新することが行われることが多い。また、適時、利用者によって特定用語の追加等が行われることもある。
検索インデックス217は、特定情報辞書216内の多数の特定用語を高速に検索するための検索インデックスが格納されている。これを利用することで、特定情報辞書216内の特定用語の中から所望のものを高速に得ることができる。特定情報辞書216の内容が更新されると、それに伴い検索インデックスも更新され、常に正確な検索ができるように保たれる。
誤認識パタン218は、文字訂正・誤り訂正用の情報である。具体的には、文字認識部209が誤認識しやすい文字に対してその誤認識パタンを格納する。誤認識パタン218は、特定情報辞書216内の多数の特定用語を高速に検索する際に、誤認識文字の混入を配慮するようにするものである。以下では、文字認識の誤認識パタンを利用する例について説明するが、表記ゆれなどについても同様に適用することができる。例えば、漢字の旧字の違い、漢字の送り仮名、カタカナ記載時の「サーバー」と「サーバ」、「バイオリン」と「ヴァイオリン」などの表記ゆれがある。
領域分類部212は、抽出規則215が適用されるべき画像内の領域を推定し分類する。ここでは、帳票やレシートの場合を想定しており、商品やサービス、薬剤、その数や料金などを記載した部分が対象となる。そのため、これらに該当する画像内の領域を推定し、対象領域かどうか分類する。あるいは、帳票やレシート内の決まった位置に出現する発行元の店舗や会社情報等を推定し分類する。
検出部213は、抽出規則215に基づいて、領域分類部212が対象領域とした表領域やテキスト領域に対して、「特定情報」の文字列の出現を検出するものである。特定情報の文字列とは、例えば、正規表現等を利用した文字列パタンに合う文字列、特定情報辞書216に登録された特定用語である。特定情報辞書216に登録された特定用語を高速に検出するために、検索インデックス217を使用する。なお、文字認識部209の結果には、誤認識した文字が含まれ得る。そのため、特定情報辞書216に登録された特定用語や正規表現等を利用した文字列パタンに従って、文字認識結果を修正する。
出力部214は、検出された特定情報を出力する際に、抽出規則215に基づいて出力形式を決定し整形する。たとえば、出力する特定情報が日付の場合、西暦と和暦の何れで出力するかを決定する。あるいは、数値の単位が特定の単位になるように数値を変換する。また、出力する特定情報間の関係や構造といったものがある場合、抽出規則215に基づいた形式で整形する。
<処理対象のデータ例>
図3は、処理の対象となる紙文書の例を示す図である。ここれは、お薬手帳と呼ばれる紙文書300を示している。紙文書300は、一般的な商品やサービス等の商品レシートに非常に類似した記載形式である。そのため、お薬手帳は、商品レシートにおける「個数」や「金額」が、「薬剤の量」や「効能」などに置換されたものとみなすこともできる。
図3は、処理の対象となる紙文書の例を示す図である。ここれは、お薬手帳と呼ばれる紙文書300を示している。紙文書300は、一般的な商品やサービス等の商品レシートに非常に類似した記載形式である。そのため、お薬手帳は、商品レシートにおける「個数」や「金額」が、「薬剤の量」や「効能」などに置換されたものとみなすこともできる。
文字列301は、薬剤を得るための処方箋を提出し薬剤を購入した利用者の人名の文字列である。文字列302は、処方・調剤した日付の文字列である。文字列303は、処方箋を発行した病院などの医療機関の名前の文字列である。文字列308は、薬剤を販売した薬局等の医療機関の名前と電話番号の文字列である。文字列304〜307は、それぞれ、購入した薬剤の名称、薬剤の効能、飲み方・使用法の説明を含む文字列である。
図4は、図3に示す紙文書をOCR処理した処理結果を例示的に示す図である。具体的には、文書画像処理部202が文書画像201(図3に示す紙文書のスキャン画像)を入力として処理を実行した結果の処理結果データ203の例がデータ400である。データ400は、XML形式を使って記載されている。なお、以下に詳細説明する部分以外にも処理結果の記載があるが、行403、行409、行417、行420の記法にて途中の記載を省略している。
行401と行422は、それぞれ1つの文書に対する情報の開始宣言と終了宣言である。この文書は行401に、識別情報”123”、光学スキャンして作成された日付”2016/4/2”の情報を持っている。行402と行421は、それぞれ文書内のページに対する情報の開始宣言と終了宣言である。このページは、行402に番号”1”、大きさとして横(幅)”200”、縦(高さ)”150”の情報を持っている。
行404と行411は、それぞれ、このページ(紙文書300)内のテキスト領域(文字列304の1行目)に対する情報の開始宣言と終了宣言である。行404と行411との間には、文字列304の1行目の記載に関する部分の情報が入っている。このテキスト領域は、行404に、その位置として、左上の座標情報(x、y)=(4,40)と、領域の横”90”、縦”8”の情報を持っている。
また、行405と行407は、それぞれ、このテキスト領域内に対する文字認識結果の情報の開始宣言と終了宣言である。文字認識結果として、行406に”バ1レプロ酸Naシロツプ5% 1日150mL”の情報を持っている。また、行408と行410に、テキスト領域内に対する文字認識結果の情報の1文字ごとの情報の開始宣言と終了宣言である。行408と行410との間に、文字認識の結果を1文字単位に分けた状態の情報が入っている。行408には、最初の文字の”バ”の位置として、左上の座標情報(x、y)=(4,40)と、領域の横”5”、縦”8”の情報を持っている。同様に、行410は、最後の文字”L”に関するものである。
行412〜行419も同様に、このページ(紙文書300)内のテキスト領域(文字列307の1行目)に対する情報で、文字列307の1行目の記載に関する部分の情報が入っている。
図5は、特定情報を抽出する抽出処理を説明する図である。具体的には、処理結果データ203を、抽出規則215に従い、特定情報抽出部204で処理を行う例を示す図である。
データ500aは、抽出規則215の具体例である。データ500aは、XML形式を使って記載されており、長くなるため、一部省略されており、行502及び行519は、その省略部分である。行501と行520は、抽出規則215の複数の規則に対する情報の開始宣言と終了宣言である。
行503と行518は、抽出規則215内のある1つの規則に対する情報の開始宣言と終了宣言である。この規則は行503に、識別情報として”5”の情報を持っている。また、タイプとして、”search:extract”を持ち、この規則が、検索を用いた検出指示と抽出の出力形式の指定を含んでいることを示している。行504と行512は、この規則の中の検索を用いた検出指示に対する情報の開始宣言と終了宣言である。
行505と行507は、この検出指示に対する文字列検索(テキスト検索)情報の開始宣言と終了宣言である。行505には、検索タイプが”dic”とあり、辞書に対する検索であるとの情報を持っている。また、検出結果を”drug−name”という名前で示すようにするという指示を持っている。行506は、この文字列検索情報の内容であり、対象となる辞書名が”drugNameList”であるという情報を持っている。
行508と行511は、この検出指示に対する次の文字列検索(テキスト検索)情報の開始宣言と終了宣言である。行508に、検索タイプが”position:re”とあり、検索は位置に関するものと、文字列の正規表現との比較であるとの情報を持っている。また、行508は、行509と行510の検索指示を満たすものを、検出結果を”drug−amount”という名前で示すようにするという指示を持っている。
行509と行510は、この文字列検索の内容である。行509は、位置による検索で、行505〜行508で得られた検出結果(名前は、”drug−name”)を起点(”origin”)、右側”right”にあるテキストデータを対象にするという情報を持っている。行510は、正規表現による文字マッチングで、”/[1−9][日週月回].*[1−9](錠|T|C|mL)/”という情報をもっている。
これは、1〜9の数字のあとに、「日」か「週」か「月」があり、何らかの文字列が0文字以上続いて、その後に1〜9の数字のあとに「錠」か「T」か「C」か「mL」がある文字列であることという条件を示している。この条件に合致するものとして、文字列304の中の「1日150ml」とか、文字列307の中の「1回1C」等の文字列などがあり、この部分を検索結果として抽出するための条件となっている。
行513と行517は、この検出結果の出力に関する情報の開始宣言と終了宣言である。行514と行516は、この検出結果の出力形式に関する情報の開始宣言と終了宣言であり、出力形式の指定が行515で行われている。行515では、検出結果の”drug−name”と名付けられたものを先頭データ、”drug−amount”と名付けられたものを2番目のデータとして対(ペア)にして出力するという情報を持っている。
このような抽出規則215に従い、検出部213は、該当する文字列の検索を、処理結果データ203に対して行う。より詳細には、抽出規則215内の、行504〜行511の検索指示情報に従い、検索インデックス217を利用して、特定情報辞書216の中の”drugNameList”という名前の辞書の中の特定情報の検索を行う。なお、”drugNameList”は大量の薬剤名の辞書である。また、指定された正規表現に該当する文字列部分も併せて検索する。
また、検索結果を基に、処理結果データ203の修正を行う。すなわち、特定情報辞書216内の特定情報の検索を行う際に、文字認識の誤りを配慮した検索を行う。そして、該当する特定情報が得られれば、その特定情報に基づいて文字認識結果の文字列を修正・追加する。また、その検出結果に従ってテキスト領域の情報も修正する。
この例では、”drugNameList”内で該当する薬剤名の検索する際に、文字認識の誤りを配慮した検索を行い、該当する薬剤名を修正・追加するとともに、その検出結果に従ってテキスト領域の情報も修正する。そして、得られた結果を、出力部214は、抽出規則215内の行513〜行517の出力指示情報に従い、指定された出力形式で結果を出力する。
文字列500bは、データ400の中の行406と行414を合わせた文字列であり、検索対象となる文字列の例である。これは、紙文書300における文字列304の1行目と文字列307の1行目に相当する内容で作り出された文字列である。これは、上述の検索を行う際に、テキスト候補として、ページ内の座標位置の関係から1行として認識される可能性を配慮したものである。
文字列500bの中には以下の4つの文字認識の誤りが存在している。
・”バ1レプロ酸Na”:「ル」(カタカナの”ル”)を「1レ」(数字の”1”とカタカナの”レ”)と誤って認識。
・”シロツプ”:「ッ」(カタカナ”ツ”小文字)を「ツ」(カタカナ”ツ”大文字)と誤って認識。
・”セバミット”:「パ」を「バ」と誤って認識。
・”l0 l0mg”:「10」(数字の”10”)を「l0」(アルファベット”L”小文字と数字の”0”)を誤って認識。
・”バ1レプロ酸Na”:「ル」(カタカナの”ル”)を「1レ」(数字の”1”とカタカナの”レ”)と誤って認識。
・”シロツプ”:「ッ」(カタカナ”ツ”小文字)を「ツ」(カタカナ”ツ”大文字)と誤って認識。
・”セバミット”:「パ」を「バ」と誤って認識。
・”l0 l0mg”:「10」(数字の”10”)を「l0」(アルファベット”L”小文字と数字の”0”)を誤って認識。
一方、文字列500cは、文字列500bに文字認識の誤りがなかった場合の文字列であり、文字列304の1行目と文字列307の1行目とを組み合わせた文字列である。
文字列500bに対して前述の検索を行うことで、”バ1レプロ酸Naシロツプ5%”に対して”drugNameList”内で該当する薬剤名として、”バルプロ酸Naシロップ5%”が得られたとする。また、”セバミット−Rカプセル l0 l0mg”に対して”セパミット−Rカプセル 10 10mg”が得られたとする。これにより、それぞれ該当する文字列500b中の該当部分をこの結果で訂正すると、文字列500cと同じ結果になる。
これを、データ400全体に対して修正を行ったものが図6のデータ600であり、この修正結果に基づいて、最終的な出力結果である図2の抽出情報205の例がテーブル500dである。
テーブル500dは、特定情報抽出部204の処理結果の抽出情報205の例である。抽出規則215の行514〜行517の抽出形式の指示に従い、対(ペア)の形で、抽出内容が作成されている。この抽出内容においても、前述の文字認識の誤りが修正されており、”drug−name”に対する文字列が”バルプロ酸Naシロップ5%”に訂正されている。またこの抽出内容は、抽出情報の識別IDが”3”になっており、使用した抽出規則IDが”5”(行503〜行518)であるという情報も持っている。
図6は、図4に示す処理結果に対して修正処理を施した結果を例示的に示す図である。データ600は、上述したように、データ400に対して、前述の処理結果を反映したものである。前述の処理結果を利用して、テキスト領域の分割などと、そのテキスト領域内に、検索結果の情報を加えている。この情報追加や修正により、文字認識の誤りがない薬剤名となるなど、より利用しやすいものとなっている。
データ600は、データ400と同様にXML形式で記載されており、以下に詳細説明する部分以外にも処理結果の記載があるが、行603、行609、行620、行628、行634の記法にて記載を省略している。以下では、データ400に対して修正された部分を詳細に説明する。
まず、行404〜行411に対応するテキスト領域が、行604〜行614と行615〜行622の2つのテキスト領域に分割されている。同様に、行412〜行419も、行623以降で2つに分割されている(分割された前の1つが行623〜行632に対応するが、それ以降は省略されている)。
行604〜行614のテキスト領域は、文字認識結果として”バ1レプロ酸Naシロツプ5%”(行605〜行607)、検索した結果として”バルプロ酸Naシロップ5%”(行611〜行613)を持つ。また、”バルプロ酸Naシロップ5%”が辞書”drugNameList”内の特定情報識別ID”10020”であるという情報を持っている。
この記載により、文字認識結果を残しつつ、テキスト領域の値として”バルプロ酸Naシロップ5%”が利用できるようになる。また、薬剤名の特定情報識別IDも得られているため、当該薬剤名が出現したことが容易に探せるようになっている。これは、データ500aの行503〜行507の検索で行われた修正である。行508〜行511の検索が続けて行われると、行615〜行622のテキスト領域の”1日150mL”が該当することが分かることになる。なお、行623〜行633も同様になっている。
前述したように、文字列500bに対して前述の検索を行うことで、”バ1レプロ酸Naシロツプ5%”に対して、”drugNameList”内で該当する薬剤名として”バルプロ酸Naシロップ5%”が得られる。”セバミット−Rカプセル l0 l0mg”に対して”セパミット−Rカプセル 10 10mg”が得られる。以下に、この検索処理の内容について、詳細な説明を行う。
この検索処理は、データ500aの行505〜行506で、”drugNameList”という辞書の中の特定情報(大量の薬剤名)に対して検索を行うように指示が発生した場合に検出部213が行う。以下では、文字列500bに対して”drugNameList”内の薬剤名の出現を検出し、検出された部分(文字列内の開始位置と終了位置)を求める検索処理を例として説明を行う。
<システムの動作>
図7は、第1実施形態における検出処理のフローチャートである。図8は、検出処理において使用される各種データの例を示す図である。図9は、検出処理における各ステップでの処理結果の例を示す図である。
図7は、第1実施形態における検出処理のフローチャートである。図8は、検出処理において使用される各種データの例を示す図である。図9は、検出処理における各ステップでの処理結果の例を示す図である。
説明の前提として、ここでは、文字列500bが検出対象の文字列であり、辞書”drugNameList”内の薬剤名の検出を検知するための検索になっている。テーブル800aは、辞書”drugNameList”の例がある。テーブル800aには、辞書項目としての薬剤名が登録されており、それぞれの薬剤名に対して識別用の辞書項目IDが付与されている。テーブル800bは、N−gram方式の検索を行うための検索インデックス217の例である。テーブル800bは、N−gram方式(N=2)の検索インデックスを持っている。具体的には、インデックスとしてテーブル800aの辞書項目である薬剤名に含まれる「連続する2文字」を有し、当該連続する2文字を保有する辞書項目IDを有している。なお、同一の「連続する2文字」を持つ辞書項目は複数ある場合、テーブル800bの辞書項目IDの個数も複数となる。また、テーブル800bは、各辞書項目の辞書項目IDと辞書項目名の中の連続する2文字のデータの転置データになっている。これは検索用のインデックス特有のデータとなっている。
S701では、特定情報抽出部204は、Nグラム法を利用して辞書内の特定用語検索を行う。これは、特定用語候補を絞り込み、検出対象文字列内の位置情報を得るための処理である。具体的には、テーブル800bの例で示される検索インデックス217を使用して検索を実行する。これにより、特定用語候補である辞書項目を絞り込み、その辞書項目IDを得ることが出来る。また、辞書項目ごとに、検出対象の文字列500b内でインデックスがヒットした「連続する2文字」の位置情報を検出対象文字列500b内の位置情報として得ることが出来る。
この検索は、「連続する2文字」をインデックス化した2−gram検索であるため、文字認識の誤りが混入している場合であっても誤りが分散している場合はその影響が生じる部分が限定的となり。
S702では、S701の処理の結果、特定用語候補である辞書項目が得られた場合はS703へ進み、得られなかった場合は、終了となる。
S703では、特定情報抽出部204は、ヒットした検出対象文字列内の位置情報から、詳細比較対象とする検出対象文字列である文字列500bの中の部分文字列を決定する。この処理を、S701で得られた特定用語候補である辞書項目のそれぞれについて行う。
特定用語候補である辞書項目の各辞書項目について、この処理を行った結果がテーブル900aである。テーブル900aには、辞書項目ID、辞書項目名、辞書項目名の文字数である辞書項目名長、検出対象文字列内の位置情報、詳細比較時の対応、比較グループが含まれる。以下、テーブル900aに対する処理結果が作成される工程について詳細に説明する。
S701で得られた特定用語候補である辞書項目の情報として、テーブル900aの事象項目ID、辞書項目名が得られている。そして辞書項目名の文字数を基に”辞書項目名長”を算出して、テーブル900aの辞書項目名長として格納する。ここでは辞書項目長を辞書項目名の文字数にしているが、これは文字認識の精度が高いと想定した場合である。文字認識の誤りの混入具合や高い精度が期待できない場合には、辞書項目長を辞書項目名の文字数の2倍以下程度に拡大してもよい。
テーブル900aの”検出対象文字列内の位置情報”には、S701で得られた検出対象の文字列500b内でインデックスがヒットした連続する2文字の検索対象の位置情報を計算し格納する。ここでは、簡単に、ヒットした連続する2文字の位置の検索対象のもっとも前方のものと後方のものの区間を格納している。しかし、特定用語候補の文字列長が長い場合には、連続する2文字自体が多くなり多数ヒットする可能性が高いため、代わりにその中でヒットが連続するあるいはヒットの密度の高い区間を用いてもよい。
テーブル900aの”辞書項目名長”と”検出対象文字列内の位置情報”を基に、詳細比較時の対象とする検出対象の部分文字列の範囲を決定する。テーブル900aの”検出対象文字列内の位置情報”の範囲内に検索結果となるべき辞書項目の辞書項目名が含まれる可能性が高いとして、辞書項目ごとに”辞書項目名長”を基に、詳細比較を行う際の部分文字列を計算する。
この際に、”辞書項目長”の半分より”検出対象文字列内の位置情報”の範囲の文字数が少ない場合は、比較範囲が狭すぎて、所望の候補としては適切でないとして足きりする。すなわち、詳細比較時の対象としない。次に、”検出対象文字列内の位置情報”の範囲の最も後方から”辞書項目名長”分だけ前から、”検出対象文字列内の位置情報”の範囲の最も前方から”辞書項目名長”分だけ後を範囲として、詳細比較時の対象とする。この結果を、テーブル900aの”詳細比較時の対応”として格納する。検出対象の文字列の長さは、辞書項目長と同じか、それ以上になる。
最後に、詳細比較した結果である編集距離を比べる際の、”比較グループ”が決められる。これは、検出対象の文字列である文字列500b内に、複数の辞書項目名が出現する可能性があるため、検出対象文字列内の位置情報で重なるものを同一グループとして設定するためである。この結果を、テーブル900aの”比較グループ”に格納する。これにより、テーブル900aの比較グループでは、”A”と”B”の2つのグループに分かれている。
S704では、特定情報抽出部204は、各特定用語候補について、詳細比較として編集距離を導出するために、DPマッチングの計算テーブルを作成し、編集距離が相対的に短い候補に絞る処理を行う。例えば所定の閾値より短い編集距離の特定用語候補に絞る。
DPマッチングの計算テーブルの例をテーブル800cに示す。これは動的計画法(DP)で、文字列内の文字とその出現位置を比較し、最小ペナルティとなる値を求めるものである。この最小ペナルティが編集距離となる。編集距離は小さいほど比較した文字列の類似性は高いことになる。この計算テーブルにおいて、縦軸、横軸にそれぞれ比較する文字列を置き、編集距離なので文字追加のペナルティを”1”、文字削除のペナルティを”1”、文字の置き換えを文字の追加と削除の合計でペナルティを”2”として計算テーブル内の値を埋めていく。なお、”−”が入っているところは計算しない。
最初に、横に並ぶ文字の直下と縦に並ぶ文字の左側は、それぞれの文字の文字列位置を設定する。それ以降は、残る各値について、その縦軸の文字と横軸の文字が一致すると追加ペナルティが0(なし)とする。一致しないと追加ペナルティが”1”として、その左側、上側、左上側の値の中で最も小さいものに追加ペナルティを加えたものを、その値とする。これを計算テーブル内の左上側から計算していくのである。これにより、比較する文字列内の全ても文字の組合せを比較した場合の結果であるペナルティをつみあげていく。最終的に、計算テーブルが埋まったら、最も右下の値が、最小ペナルティとなり、文字列の編集距離を求めたことになる。
編集距離計算においても、文字列内の各文字と位置の比較を行うため、文字認識の文字誤りがあれば、編集距離が増大する。ただし、その誤り部分だけに影響を与えるため、ある程度の誤り耐性のある比較方法となっている。なお、テーブル800cでは、計算テーブルを小さくするために、”バ1レプロ酸”と”バルプロ酸”の部分だけを比較した例になっている。
編集距離計算を行うにあたって、DPマッチングの計算テーブルを作成し、その中身を全部計算することで編集距離を求める処理は、計算負担が大きく処理時間がかかってしまう。特に、毎回、検出対象の文字列全体と比較するようなことを行うと処理時間が大きくなってしまう。この速度を向上させるには、DPマッチングの計算テーブルが小さいできることが好ましい。
そこで、第1実施形態では、S701のN−gram方式の検索結果である”検出対象の文字列内の位置情報”を利用して比較対象の部分文字列を決定することで、DPマッチングの計算テーブルを縮小している。これがテーブル900aの”詳細比較時の対応”を決めている部分である。また、”比較グループ”を設定し、複数の辞書項目の出現時の場合でも、処理できるようにしている。また、編集距離計算の回数そのものを減らすことも、処理時間短縮になるので、S701の絞り込み結果に対して、”検出対象の文字列内の位置情報”を利用した足切りも行っている。
テーブル900bは、編集距離計算が終了した結果の例である。テーブル900aで編集距離計算対象とした、辞書項目について、その比較グループに分けて、編集距離が記されている。テーブル900bの中の、比較グループ、辞書項目ID、辞書項目名は、テーブル900aと同じである。ただし辞書項目IDの”789”と”19456”の辞書項目は足切されたため、テーブル900bにはない。テーブル900bの編集距離計算対象は、テーブル900aの”検出対象文字列内の位置情報”で該当する検出対象の部分文字列の内容そのものになっている。そしてテーブル900bの編集距離が、計算された編集距離である。
これにより、比較グループAでは、辞書項目ID”10020”、辞書項目名”バルプロ酸Naシロップ5%”の辞書項目の編集距離が小さいので、これが検索結果と選ばれることになる。しかし、グループBでは、辞書項目ID”5021”と”5022”の2つの辞書項目の編集距離が小さいため、まだ候補となって残ることになる。辞書項目名を商品やサービス、薬剤等の名前と想定した場合、比較的似ている名前が多く、同じ文字列の名前の最後に、サイズや量、色等の情報部分が異なるようなものが多い。そのため、編集距離の比較だけだと、差が付きにくいことが生じやすい。さらに、文字認識の誤認識の影響があるため、その可能性を増大させてしまう可能性が生じてしまう。
S705は、S704の処理の結果、編集距離計算の候補である辞書項目が残らなかった場合はS706へ進み、得られなかった場合は、終了となる。
S706では、特定情報抽出部204は、各特定用語候補の最小距離となる部分から、検出対象文字列内の該当部分を求めながら、文字認識の誤認識パタンを基に相違度を算出する。ここで、相違度とは、編集距離を詳細にした類似性の度合いを意味し、編集距離と同様に値が小さいほど類似性が高い。まず、S704で作成したDPマッチングの計算テーブルについて、ペナルティ値が最も少なくなるように、左下から右上まで進む移動経路を求める。
テーブル800eは、テーブル800cのDPマッチングの計算テーブルで移動経路を求めた結果を示したものである。この移動経路は、動的計画法(DP)が求めた最小ペナルティとなるための文字比較パタンとなっている。編集距離計算では、この移動経路を求めることで、検出対象である文字列500b内で、特定情報の辞書項目の辞書項目名に最も合致する検出対象の文字列の部分文字列の位置を知ることになる。
この移動経路を探す際に、検出対象の部分文字列は、必ず、特定用語候補より長い。そのため、特定情報の辞書項目の辞書項目名に最も合致する検出対象の文字列の部分文字列の位置の部分以外からペナルティが検出されることがある。これは、移動経路の最初の部分か最後の部分に現れる。このペナルティの分はノイズなので、この影響を排除すべきである。そのため、移動経路のこの部分だけペナルティは無視し、後述する相違度計算の際に反映しないようにするとよい。
また、この移動経路を探す際に、誤認識パタン218を使用して、文字認識の誤認識を配慮した文字列の比較と、誤認識パタン218の例を、テーブル800dに示す。テーブル800dにおいて、”誤認識パタン”は文字認識が誤認識した場合に発生する文字列であり、”正解パタン”は誤認識された文字列に対応する正しい文字列である。”修正距離”はこの誤認識の発生度合を基に、編集距離1以下の値になるように正規化等の調整を施した値である。誤認識パタン218を用いて、移動距離中の文字または文字列の比較を行う。すなわち、誤認識パタンと正解パタンに合致する場合には、その部分のペナルティを該当する編集距離で置き換えていく。これにより、この誤認識パタンと正解パタンに合致するものがある場合には、テーブル900bで算出された編集距離より、最小ペナルティは減少することになり、この値を相違度とする。
誤認識パタン218の検出対象の文字への適用を行うと、常に、N−gram方式の検索や編集距離計算を行うことになり、処理速度が遅くなってしまう。そこで、第1実施形態では、編集距離計算以後の限定された候補についてのみ、誤認識パタン218を配慮した処理を行う。ただし、通常の検索では、検索結果として結果候補を得れば検索処理が終了することが多い。一方、第1実施形態では、文字認識の誤りの修正等に利用するため、特定情報の辞書項目の辞書項目名に最も合致する検出対象の部分文字列の位置を求める必要がある。そのため、DPマッチングの計算テーブルの最小距離となる移動経路を計算するが、この際に、誤認識パタン218を利用することで処理速度低下を抑える。また、誤認識パタン218も配慮した相違度を算出することで、差が付かない編集距離をもつ辞書項目が残った場合でも、差をつけることを可能にしている。
テーブル900cが、この処理を行った結果である。テーブル900bに対して、相違度の部分が追加されている。一方、辞書項目ID”18555”と”18556”は候補から外されたので無くなっている。それ以外は、テーブル900bと同じである。テーブル900cの相違度に、辞書項目ID”5021”と”5022”の相違度の値が算出されている。これは、DPマッチングの計算テーブルの最小距離となる移動経路を計算時に、誤認識パタン218を利用して計算された相違度である。なお、辞書項目ID”10000”の辞書項目名”バルプロ酸Naシロップ5%”の辞書項目は、編集距離で選ばれたので、相違度の計算は行われていない。
S707では、特定情報抽出部204は、検出対象文字列内の該当部分ごとに、編集距離が小さく・相違度が小さい特定用語結果を選出する。また、特定用語結果に該当する検出対象内の部分文字列の位置を得る。S706で得られたテーブル900cの結果から、辞書項目ID”10000”と”5021”が得られ、それぞれの検出対象の文字列の該当部分(編集距離計算対象)が得られることになる。
S708では、特定情報抽出部204は、S707の結果に基づき、検出対象文字列内の該当部分に対して記録を行う。また、スキャン結果文字列内の該当部分の抽出結果として、特定用語結果を使用できるようにする。これを行うことで、図6で行った修正や、抽出情報205の例であるテーブル500dのような出力を可能にする。
以上説明したとおり第1実施形態によれば、n−gram方式とDPマッチング方式とを併用した検索を行う。特に、n−gram方式を利用して辞書内の文字列候補の絞り込みを行い、絞り込まれた候補に対してDPマッチング方式を利用して文字列の厳密な比較を行うための編集距離を算出する。これにより、文字列の誤りや表記ゆれを含むテキストデータに対する検索の高速化を実現することが可能となる。
なお、上述の説明においては、薬剤名の辞書やお薬手帳の例で示したが、他の紙文書に対しても適用可能である。特に、商品やサービス等のレシートや、レシート調の帳票については、類似性が高く容易に適用可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
202 文書画像処理部; 204 特定情報抽出部; 212 領域分類部; 213 検出部; 214 出力部; 215 抽出規則; 216 特定情報辞書; 217 検索インデックス; 218 誤認識パタン
Claims (10)
- 文字列から所与の辞書に含まれる特定用語を検索する情報処理装置であって、
n−gram方式を利用して前記所与の辞書に対して前記文字列の部分文字列の検索を行い、前記所与の辞書から該文字列に含まれる1以上の特定用語候補を抽出する抽出手段と、
前記1以上の特定用語候補の各々に対して、DPマッチング方式を利用して特定用語候補と該特定用語候補に対応する前記文字列内の部分文字列との編集距離を導出する導出手段と、
前記編集距離が所定の閾値より短い前記1以上の特定用語候補に対応する前記文字列内の部分文字列を出力する出力手段と、
を有することを特徴とする情報処理装置。 - 前記抽出手段は、前記文字列を構成する1以上の文字の位置に関する情報に基づいて、前記n−gram方式による前記文字列における検索対象の範囲を制限する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記導出手段は、前記n−gram方式による検索における前記部分文字列の前記文字列における位置に関する情報に基づいて、前記DPマッチング方式における計算テーブルを縮小する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記文字列は、光学文字認識(OCR)処理により得られた文字列であり、
前記OCR処理で発生し得る誤認識パタンを記憶する記憶手段を更に有し、
前記導出手段は、前記誤認識パタンに基づいて前記編集距離を修正する
ことを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。 - 前記誤認識パタンに基づいて前記文字列を修正する修正手段を更に有する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記文字列と該文字列を構成する1以上の文字それぞれの位置に関する情報とを含む文書データを入力する入力手段を更に有する
ことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。 - 前記文書データは、XML形式のデータである
ことを特徴とする請求項6に記載の情報処理装置。 - 紙文書を読み取り文書画像を生成する画像読取部から該文書画像を取得する画像取得手段と、
前記文書画像に対してOCR処理を行い前記文書データを生成するデータ生成手段と、を更に有する
ことを特徴とする請求項6又は7に記載の情報処理装置。 - 文字列から所与の辞書に含まれる特定用語を検索する情報処理装置の制御方法であって、
n−gram方式を利用して前記所与の辞書に対して前記文字列の部分文字列の検索を行い、前記所与の辞書から該文字列に含まれる1以上の特定用語候補を抽出する抽出工程と、
前記1以上の特定用語候補の各々に対して、DPマッチング方式を利用して特定用語候補と該特定用語候補に対応する前記文字列内の部分文字列との編集距離を導出する導出工程と、
前記編集距離が所定の閾値より短い前記1以上の特定用語候補に対応する前記文字列内の部分文字列を出力する出力工程と、
を含むことを特徴とする情報処理装置の制御方法。 - コンピュータを、請求項1乃至8の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222664A JP2018081451A (ja) | 2016-11-15 | 2016-11-15 | 情報処理装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222664A JP2018081451A (ja) | 2016-11-15 | 2016-11-15 | 情報処理装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018081451A true JP2018081451A (ja) | 2018-05-24 |
Family
ID=62197186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016222664A Pending JP2018081451A (ja) | 2016-11-15 | 2016-11-15 | 情報処理装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018081451A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019187621A (ja) * | 2018-04-20 | 2019-10-31 | 株式会社大一商会 | 遊技機 |
JP2019187622A (ja) * | 2018-04-20 | 2019-10-31 | 株式会社大一商会 | 遊技機 |
JP2020135172A (ja) * | 2019-02-15 | 2020-08-31 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
JP2020204886A (ja) * | 2019-06-17 | 2020-12-24 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
-
2016
- 2016-11-15 JP JP2016222664A patent/JP2018081451A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019187621A (ja) * | 2018-04-20 | 2019-10-31 | 株式会社大一商会 | 遊技機 |
JP2019187622A (ja) * | 2018-04-20 | 2019-10-31 | 株式会社大一商会 | 遊技機 |
JP2020135172A (ja) * | 2019-02-15 | 2020-08-31 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
JP7268389B2 (ja) | 2019-02-15 | 2023-05-08 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
JP2020204886A (ja) * | 2019-06-17 | 2020-12-24 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9135249B2 (en) | Number sequences detection systems and methods | |
JP5144940B2 (ja) | 目次抽出におけるロバスト性向上 | |
JP2019040467A (ja) | 画像処理装置およびその制御方法 | |
JP2018081451A (ja) | 情報処理装置およびその制御方法 | |
US11475688B2 (en) | Information processing apparatus and information processing method for extracting information from document image | |
Wemhoener et al. | Creating an improved version using noisy OCR from multiple editions | |
JP6773400B2 (ja) | 帳票認識装置、帳票認識システム、帳票認識システムのプログラム、帳票認識システムの制御方法、帳票認識システムプログラムを搭載した記録媒体 | |
US11763588B2 (en) | Computing system for extraction of textual elements from a document | |
CN102141979B (zh) | 文档图像生成装置、文档图像生成方法 | |
JP4782346B2 (ja) | 電子ドキュメントを処理する方法および装置 | |
JP4649512B2 (ja) | 文字列検索方法およびその装置 | |
JP2007122403A (ja) | 文書タイトルおよび関連情報の自動抽出装置、抽出方法および抽出プログラム | |
Naoum et al. | Article segmentation in digitised newspapers with a 2d markov model | |
Bleemer | The University of California ClioMetric History Project and Formatted Optical Character Recognition | |
US7130487B1 (en) | Searching method, searching device, and recorded medium | |
JP2016027493A (ja) | 文書分類支援装置、方法及びプログラム | |
JP6655745B1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
Arvanitopoulos et al. | A handwritten French dataset for word spotting: CFRAMUZ | |
JP2022095391A (ja) | 情報処理装置、及び情報処理プログラム | |
Jinghong et al. | A Text Block Refinement Framework For Text Classification and Object Recognition From Academic Articles | |
JP3958722B2 (ja) | イメージデータ文書検索システム | |
Soheili et al. | Sub-word image clustering in Farsi printed books | |
JP6322291B2 (ja) | 文書処理装置および項目抽出方法 | |
Dershowitz et al. | Relating articles textually and visually | |
EP4036871B1 (en) | Image processing apparatus, image processing method, program and storage medium |