JP2023047181A - 情報処理装置、及び情報処理プログラム - Google Patents
情報処理装置、及び情報処理プログラム Download PDFInfo
- Publication number
- JP2023047181A JP2023047181A JP2021156133A JP2021156133A JP2023047181A JP 2023047181 A JP2023047181 A JP 2023047181A JP 2021156133 A JP2021156133 A JP 2021156133A JP 2021156133 A JP2021156133 A JP 2021156133A JP 2023047181 A JP2023047181 A JP 2023047181A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- tables
- information processing
- representing
- row
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/416—Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
Abstract
Description
本発明は、情報処理装置、及び情報処理プログラムに関する。
特許文献1には、文書情報の入力を受け付けて、前記文書情報に含まれる表の構成を表す表の構成情報を抽出する文書入力部と、前記表の構成情報に基づいて、前記表を構成する各セルが、見出し要素、内容記入要素、又はその他の要素のいずれに該当するのかを表す表の構造情報を推定する表構造推定部と、前記見出し要素に該当するセルおよび前記内容記入要素に該当するセルの、前記表における位置関係に基づいて前記見出し要素に含まれる情報と前記内容記入要素に含まれる情報との関係を決定する表要素間関係決定部と、を備える表情報読取装置が開示されている。
表が1ページに収まらないため、例えば改ページにより1つの表が複数の表に分割されると、先頭の表にのみ、表に記載された内容の属性を示す見出し行が含まれ、後続する表には見出し行が含まれないといった状況が発生する。したがって、種類の異なる複数の表が分割され、分割後の各々の表が用紙の各ページに1つずつが記載されたとすれば、用紙を表の分割順に並べられていない状態でスキャナ等により画像化してしまうと、何れの表が分割前の同種の表を構成していた表であるかわからないことがある。
このような場合、従来は、表の列数、列の幅、罫線の種類、背景色、及びフォントの種類といった表の構造を参照して、分割後の各々の表から分割前の表を構成し、見出し行に含まれる属性に対応した属性値を表中から抽出している。
しかしながら、表の構造を参照して、分割後の各々の表から分割前の表を構成する場合、表の構造からは表の順序まではわからないため、構造が同じ表同士を関連付けて構成した表が分割前の表と同じ順序に並んでいるかまでは保証されない。
本発明は、複数の表の中に、属性値の属性を表す見出し行が付けられていない表がある場合であっても、複数の表を順に並べた上で、見出し行が付けられていない表から、見出し行に含まれる属性の属性値を取得することができる情報処理装置、及び情報処理プログラムを提供することを目的とする。
第1態様に係る情報処理装置は、プロセッサを備え、前記プロセッサは、画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、前記見出し行に含まれる属性であって、前記第1表及び前記第2表の連続性を表す属性の属性値を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する。
第2態様に係る情報処理装置は、第1態様に係る情報処理装置において、前記プロセッサは、前記見出し行に含まれる属性であって、前記一連の表を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記一連の表を構成する表に対する過不足の有無を検出し、過不足が検出されなかった前記一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する。
第3態様に係る情報処理装置は、第2態様に係る情報処理装置において、前記整合性を表す属性は、前記見出し行に含まれる何れかの属性に対応した前記一連の表における各属性値の合計が前記一連の表を構成する何れかの表を含む画像内に予め示されている属性であり、前記プロセッサは、前記一連の表を構成する各々の表の前記整合性を表す属性に対応した各属性値の合計と、前記一連の表を構成する何れかの表を含む画像内に予め示されている前記合計とが一致すれば、前記一連の表を構成する表に過不足がないと検出する。
第4態様に係る情報処理装置は、第1態様~第3態様の何れかの態様に係る情報処理装置において、前記連続性を表す属性は、前記表群における属性値の並び順を表す属性であり、前記プロセッサは、前記表群から選択した2つの表のうち、一方の表の最終行における前記連続性を表す属性の属性値と、他方の表の先頭行における前記連続性を表す属性の属性値とが、属性値が並んでいる状態として予め定められた規則性に従っている場合に、前記一方の表と前記他方の表が連続していると検出する。
第5態様に係る情報処理装置は、第1態様に係る情報処理装置において、前記プロセッサは、前記見出し行に前記連続性を表す属性が含まれなければ、前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する。
第6態様に係る情報処理装置は、第5態様に係る情報処理装置において、前記プロセッサは、前記見出し行に前記整合性を表す属性が含まれなければ、前記第1表及び前記第2表の外部に存在する情報であって、前記第1表及び前記第2表の連続性を表す外部情報を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する。
第7態様に係る情報処理装置は、第6態様に係る情報処理装置において、前記プロセッサは、前記第1表及び前記第2表の何れかが含まれるページのページ番号、又は前記第1表及び前記第2表の並び順を表す表番号を前記外部情報として用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付ける。
第8態様に係る情報処理装置は、プロセッサを備え、前記プロセッサは、画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する。
第9態様に係る情報処理プログラムは、コンピュータに、画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、前記見出し行に含まれる属性であって、前記第1表及び前記第2表の連続性を表す属性の属性値を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する処理を実行させるためのプログラムである。
第10態様に係る情報処理プログラムは、コンピュータに、画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する処理を実行させるためのプログラムである。
第1態様、第8態様、第9態様、及び第10態様によれば、複数の表の中に、属性値の属性を表す見出し行が付けられていない表がある場合であっても、複数の表を順に並べた上で、見出し行が付けられていない表から、見出し行に含まれる属性の属性値を取得することができる、という効果を有する。
第2態様によれば、過不足なく順に並んだ一連の表から、見出し行に含まれる各々の属性に対応した属性値を取得することができる、という効果を有する。
第3態様によれば、見出し行に含まれる何れかの属性に対応した各属性値の合計から、一連の表の整合性の有無を検出することができる、という効果を有する。
第4態様によれば、並び順を表す表中における属性の属性値を用いて、前後の表における連続性の有無を検出することができる、という効果を有する。
第5態様によれば、見出し行に表の連続性を表す属性が含まれていない場合であっても、分割前の表を構成して、見出し行に含まれる各々の属性に対応した属性値を取得することができる、という効果を有する。
第6態様によれば、表中に連続性及び整合性を表す何れの属性が含まれていない場合であっても、複数の表を順に並べて関連付けることができる、という効果を有する。
第7態様によれば、外部情報を、複数の表を順に並べるための情報として利用することができる、という効果を有する。
以下、本実施形態について図面を参照しながら説明する。なお、同じ構成要素及び同じ処理には全図面を通して同じ符号を付与し、重複する説明を省略する。
本実施形態に係る情報処理装置10は、例えば用紙等の記録媒体に形成された表4を含む文書を光学的に読み取ることで生成された画像2から、表4の見出し行6に含まれる各々の属性に対応した属性値を取得する。
図1は、情報処理装置10が受け付ける画像化された文書の一例を示す図である。文書の画像2に表4が含まれていれば、情報処理装置10が受け付ける画像化された文書の種類に制約はなく、例えば発注書、請求書、見積書、契約書、設計図、及び組立図など、どのような種類の文書であってもよい。当然のことながら、画像化された文書には表4以外にも、例えば図形及び写真といった図が含まれていてもよい。
ここで、「属性」とは、画像2から得たい情報を識別するために用いる項目のことである。属性に対する属性値とは、画像2に含まれる文字によって表されている各々の属性の内容のことである。
図1に示す発注書の画像2を例にして表4における属性と属性値の関係を説明すると、表4の見出し行6に記載されている「No」、「商品名」、「数量」、「単価」、及び「金額」は、表4に記載されている情報を識別するための項目を表していることから表4における属性の一例である。また、見出し行6に含まれる表4の各属性が記載されているセル3に対して、それぞれ表4の列方向に並んでいる見出し行6以外の各行のセル3に記載されている各々の文字が、見出し行6に含まれる表4の各属性に対する属性値である。例えば「金額」という属性を表しているセル3Aに対して、表4の列方向に並んでいる「100,000」、「2,300」、「17,200」、「10,000」、「2,400」、「65,000」、及び「28,000」は、「金額」という属性に対して具体的な値を表していることから、「金額」という属性に対する属性値の一例である。
「セル3」とは表4の枠線で区切られた各々の領域のことをいう。しかしながら、セル3は必ずしも表4の枠線で区切られている必要はなく、表4の枠線が存在しない場合であっても、行と列の対応関係が一意に識別できる状態で文字が配置されていれば、各々の文字の位置が表4のセル3として認識される。
情報処理装置10は、画像2に対して画像2内の特定の位置を原点P1とした2次元座標系を規定し、画像2内の位置を2次元座標系の座標値によって表している。図1に示す発注表の画像2の例では、画像2の左上の頂点を原点P1に設定し、画像2の横方向に沿ってX軸を設定すると共に、画像2の縦方向に沿ってY軸を設定している。本実施形態において、表4の行方向とは2次元座標系のX軸方向のことを表し、表4の列方向とは2次元座標系のY軸方向のことを表す。
また、情報処理装置10は、画像2内における表4の各列の位置を2次元座標系に従って特定する。列の位置は、例えば各列を区切る枠線のX座標値として表される。図1に示す表4の例の場合、表4の先頭行における各セル3の左上の頂点P2のX座標値によって列の位置が表されている。なお、図1、並びに、後から説明を行う図2及び図11では、代表例として最も左の列のみに対して列の位置を表示している。
なお、図1に示す表4は、例えば全体が1ページに収まりきらないといった理由、又はレイアウト上の理由により、表4の途中で改ページが行われている。
図2は、図1に示す表4の後ろに続く表4の一例を示す図である。図1に示した表4の後ろには、更に図2(A)~図2(C)に示す3つの表4が続いており、図1、及び図2(A)~図2(C)に示す4つの表4で分割前の表4が構成されているものとする。すなわち、図1、及び図2(A)~図2(C)に示す各々の表4は、元々1つの表4が4分割されていることから、それぞれを分割後の表4という。
ユーザはひとまとまりの表4を必ずしも1ページに収まるように作成するとは限らない。したがって、情報処理装置10は、複数のページ(図1、及び図2(A)~図2(C)に示す表4の例では4ページ)をまたぐように分割された分割後の表4を含む画像2を受け付けることもある。
見出し行6は、表4の先頭行に配置されることから、ユーザが意識的に分割後の後続する各表4の先頭行に見出し行6を挿入しない限り、図1に示した表4に後続する図2(A)~図2(C)に示す各々の表4には見出し行6が含まれない。
以降では、説明の便宜上、図1に示した表4のように見出し行6を含む表4を、「見出し表4A」又は「表4A」と表し、見出し表4Aの後ろに続く、図2(A)~図2(C)に示すような見出し行6を含まない表4を「後続表4B」又は「表4B」と表す。また、特に見出し表4Aと後続表4Bを区別して説明する必要がない場合には、単に「表4」と表す。見出し表4Aは、本実施形態に係る「第1表」の一例であり、後続表4Bは、本実施形態に係る「第2表」の一例である。
一方、画像2には、見出し行6に含まれる金額及び数量といった少なくとも1つの加算可能な属性に対する合計を表す情報が含まれることがある。図1及び図2に示す表4の例においても、図1の領域8に「合計金額」という項目名で金額の合計が示され、かつ、図2(C)における表4Bのセル3Bにも、「合計金額」という項目名で金額の合計が示されている。
図3は、本実施形態に係る情報処理装置10の機能構成例を示すブロック図である。情報処理装置10は、画像受付部11、ユーザインターフェース(User Interface:UI)部12、画像処理部13、制御部14、及び出力部15の各機能部と、OCR(Optical Character Recognition)結果DB(Database)16、及び抽出結果DB17の各記憶領域と、関連付けルール18の各ルールと、を含む。
画像受付部11は、例えば文書の内容を光学的に読み取って文書の画像2を生成するスキャナ等の光学機器から表4が含まれた画像2を受け付け、受け付けた画像2を画像処理部13に引き渡す。画像受付部11が受け付ける画像2には、表4が1ページに収まっている画像2の他、複数のページにまたがって分割されている表4を含む画像2が含まれる。また、画像受付部11における画像2の受付順は、必ずしもページ順に並んでいるとは限らず、ページが前後していたり、ページが欠落していたり、更に、属性値の取得対象となっている文書とは関係のない文書のページが紛れ込んでいることもあり得る。例えば図1及び図2に示した表4を含む画像2の本来の並びは、先頭から図1、図2(A)、図2(B)、及び図2(C)の順であるが、ページ順に並んでいない発注表をスキャナで読み取った場合、先頭から図1、図2(B)、図2(A)、及び図2(C)の順に画像2を受け付けることもある。
UI部12は、例えば画像受付部11による画像2の受け付け開始指示のように、情報処理装置10を利用して、画像2内の表4における属性の属性値を取得しようとしているユーザからの指示を受け付けると共に、情報処理装置10の動作や状態といった各種情報をユーザに通知する。
画像処理部13は、画像受付部11が受け付けた画像2から文字情報を抽出すると共に、抽出した文字情報の中から、表4における予め定めた属性に対する属性値を抽出する処理を行う。そのため、画像処理部13は、OCR処理部13A及び抽出部13Bを含む。
OCR処理部13Aは、受け付けた画像2に対して公知の画像認識を行い、画像2のうち文字に相当する箇所を文字コードに変換する。すなわち、OCR処理部13Aによって、画像2内の文字に相当する箇所が文字情報として扱われるようになり、文字のコピー、及び文字の検索が行われるようになる。
また、OCR処理部13Aは、表4の枠線を認識して、表4の構造を特定する。表4に枠線が存在しない場合、OCR処理部13Aは、例えば表4内の文字には行方向及び列方向に沿って格子状で配置されるという文字の配置に関する特徴があることを用いて、表4の構造を特定すればよい。
表4の構造とは、例えば表4の列数、列の幅、行の幅、表4の罫線の種類、列の位置、及びセル3の背景色、並びに、セル3内に記載されている各々の文字のフォントの種類及び大きさといった、表4の外見上の特徴のことである。表4の構造の特定には、例えば特許文献1に示すような公知の特定手法を用いればよい。表4の構造を表す情報を「表4の構造情報」という。
以降では、OCR処理部13Aによって画像2から得られた文字情報及び表4の構造情報を「OCR結果」ということにする。OCR処理部13Aは、OCR結果をOCR結果DB16に記憶する。
抽出部13Bは、OCR結果DB16に記憶されたOCR結果を参照して、画像受付部11で受け付けた画像2に含まれるすべての表4を抽出し、抽出した各々の表4を、表4の構造に関して共通の特徴を有する表4毎に分類する。一例として、OCR処理部13Aは、抽出した各々の表4における各列の幅WD(図1参照)を参照し、各列の幅WDが同じ表4同士を、表4の構造に関して共通の特徴を有する表4として分類する。当然のことながら、抽出部13Bは、列の幅WDと、列の幅WD以外の表4の構造情報と、を組み合わせて、抽出した各々の表4を、表4の構造に関して共通の特徴を有する表4毎に分類してもよい。
同じ表4から分割された表4であれば、表4の構造が同じになる傾向が見られることから、表4の構造に関して共通の特徴を有する分割後の表4同士は、他の分割後の表4に比べて同じ表4を構成する表4同士である蓋然性が高い。このように、同じ表4を構成すると考えられる分割後の表4の集合を「表群」という。
当然のことながら、分割されていない表4の場合、表群には分割されていない表4が1つ含まれる。分割されている表4の場合、分割前の表4は表4の先頭にしか見出し行6を含んでいないため、表群には1つの見出し表4Aと、少なくとも1つ以上の後続表4Bが含まれる。
抽出部13Bは、分類した各々の表群を抽出結果DB17に記憶する。
制御部14は、画像処理部13によって画像2に含まれる各々の表4が表群に分類されると、予め定められた関連付けルール18に従って、表群に含まれる各々の表4を関連付ける制御を行う。
関連付けルール18は、表群に含まれる各々の表4をどのように関連付けるかを規定したルールである。
関連付けルール18には、連続性を有するように表群内の各々の表4を関連付ける関連付けルール18(以降、「連続性ルール」という)、及び整合性を有するように表群内の各々の表4を関連付ける関連付けルール18(以降、「整合性ルール」という)の少なくとも一方が含まれる。
表4に関する「連続性」とは、分割後の各々の表4の並び順が連続する状態をいう。また、表4に関する「整合性」とは、分割後の表4を組み合わせると、分割前の表4の内容が過不足なく含まれる状態をいう。
制御部14は、関連付けルール18として連続性ルールが規定されている場合には、表群に含まれる各々の表4が分割前の表4と同じ並びとなるように各々の表4を関連付ける。また、制御部14は、関連付けルール18として整合性ルールが規定されている場合には、表群に含まれる表4を関連付けることで得られる表4に、分割前の表4の内容が過不足なく含まれているかを予め判定した上で、表群に含まれる各々の表4を関連付ける。なお、「各々の表4を関連付ける」とは、一例として、関連付けルール18を満たすように分割後の表4を結合する態様を含む。
このようにして、見出し行6を含む表4Aに後続表4Bが関連付けられると、見出し行6に含まれる表4の各属性に対する属性値が表4の列方向に沿って並ぶことになる。したがって、見出し行6が含まれない後続表4Bに含まれる各セル3の内容が、表4の何れの属性に対応した属性値を表しているのかといった対応関係が得られることになる。すなわち、制御部14は、関連付けルール18に従って表群に含まれる各々の表4を関連付けることで、関連付けられた表4が連続性及び整合性の少なくとも一方を有した状態で、見出し行6が含まれない各々の後続表4Bに対して見出し行6を仮想的に対応付ける。
制御部14は連続性及び整合性の少なくとも一方を有するように関連付けられた表4から、見出し行6に含まれる表4の各属性に対する属性値を取得する。
表4の各属性に対する属性値の取得には、例えば「表中KV抽出」が用いられる。表中KV抽出とは、見出し行6に含まれる表4の属性に対する属性値を、ページ単位で表4から抽出する手法である。表中KV抽出における“KV”とは、“Key-Value”の略であり、“Key”とは画像2において属性を表す文字列であり、“Value”とは属性に対する属性値を表す文字列である。
例えば図1に示した発注表の画像2に対して表中KV抽出を行った場合、「金額」という属性に対して、表4Aの列方向に並んでいる「100,000」、「2,300」、「17,200」、「10,000」、「2,400」、「65,000」、及び「28,000」が金額の属性値として表4Aから抽出される。
こうした表中KV抽出には、表中のどのセル3がどの属性の属性値であるかを特定するために見出し行6が必要になる。
したがって、本来であれば、見出し行6を含まない後続表4Bからは、表中KV抽出によって表4の属性に対する属性値を抽出することができない。しかしながら、上記で説明したように、本実施形態に係る情報処理装置10の場合、後続表4Bに対して仮想的に見出し行6を対応付けることができる。したがって、本実施形態に係る情報処理装置10は、関連付けられた表4が連続性及び整合性の少なくとも一方を有する状態で、後続表4Bからも見出し行6に含まれる表4の属性に対する属性値を取得することができるようになる。
制御部14は、連続性及び整合性の少なくとも一方を有するように関連付けた各々の表4から取得した属性値を、見出し行6に含まれる表4の各属性と対応付けて抽出結果DBに記憶する。
なお、情報処理装置10おける関連付けルール18に従った具体的な表4の関連付けの処理内容については、後ほど詳細に説明する。
出力部15は、制御部14の指示に従って、制御部14によって画像2から抽出された分割前の表4の各属性に対する属性値を抽出結果DB17から取得して出力する。
表4の各属性に対する属性値を出力するとは、表4の各属性に対する属性値をユーザが確認可能な状態にすることである。したがって、表4の各属性に対する属性値を通信回線経由で外部装置に送信する形態、表4の各属性に対する属性値をディスプレイで表示する形態、表4の各属性に対する属性値を画像形成装置で用紙等の記録媒体に印字する形態、及び表4の各属性に対する属性値をユーザに読み取り権限が与えられている記憶装置に記憶する形態は、何れも表4の各属性に対する属性値の出力例である。
図3に示した情報処理装置10は、例えばコンピュータ20を用いて構成される。図4は、コンピュータ20を用いて構成した情報処理装置10における電気系統の要部構成例を示す図である。
コンピュータ20は、図3に示した情報処理装置10の各機能部を担うCPU(Central Processing Unit)21、CPU21で実行される情報処理プログラムを記憶するROM(Read Only Memory)22、CPU21の一時的な作業領域として使用されるRAM(Random Access Memory)23、不揮発性メモリ24、及び入出力インターフェース(I/O)25を備える。そして、CPU21、ROM22、RAM23、不揮発性メモリ24、及びI/O25がバス26を介して各々接続されている。
不揮発性メモリ24は、不揮発性メモリ24に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるがハードディスクを用いてもよい。不揮発性メモリ24は、必ずしもコンピュータ20に内蔵されている必要はなく、例えばメモリカードのようにコンピュータ20に着脱される記憶装置であってもよい。OCR結果DB16及び抽出結果DB17は、例えば不揮発性メモリ24に構築される。
I/O25には、例えば通信ユニット27、入力ユニット28、及び表示ユニット29が接続される。
通信ユニット27は通信回線に接続され、同じ接続回線に接続された記憶装置及びコンピュータといった外部装置と通信を行う通信プロトコルを備える。
入力ユニット28は、ユーザからの指示を受け付けてCPU21に通知する装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。情報処理装置10は、入力ユニット28を介してユーザから指示された機能を実行する。
表示ユニット29は、CPU21によって処理された情報を画像として表示する装置であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及び映像をスクリーンに投影するプロジェクタ等が用いられる。
入力ユニット28及び表示ユニット29は、図3に示したUI部12と連携して、ユーザから各種指示を受け付けると共に、情報処理装置10の動作や状態に関する各種情報をユーザに通知する。
なお、I/O25に接続されるユニットは図4に例示したユニットに限定されない。例えばプラテンガラスに置かれた文書の内容を光学的に読み取り、文書の内容を画像に変換するスキャナユニットをI/O25に接続してもよい。この場合、CPU21は、スキャナユニットからI/O25経由で文書の画像2を受け付けることになる。
スキャナユニットがI/O25に接続されていない場合、情報処理装置10は、例えば通信ユニット27を通じて外部装置から画像2を受け付ければよい。また、情報処理装置10は、メモリカードのようにコンピュータ20に着脱される記憶装置から画像2を受け付けてもよい。
<第1実施形態>
次に、情報処理装置10における処理の一例について詳細に説明する。
次に、情報処理装置10における処理の一例について詳細に説明する。
図5は、文書の画像2を例えば通信ユニット27を通じて外部装置から受け付けた場合に、CPU21によって実行される抽出処理の流れの一例を示すフローチャートである。なお、情報処理装置10の関連付けルール18には連続性ルールが規定されているものとする。
第1実施形態に係る抽出処理を規定する情報処理プログラムは、例えば情報処理装置10のROM22に予め記憶されている。情報処理装置10のCPU21は、ROM22に記憶される情報処理プログラムを読み込み、抽出処理を実行する。
ステップS10において、CPU21は、受け付けた画像2の各々に対してOCR処理を行い、各々の画像2内における文字情報及び表4の構造情報を含んだOCR結果を生成して不揮発性メモリ24に構築されたOCR結果DB16に記憶する。
ステップS20において、CPU21は、表中KV抽出を実行し、見出し行6を含む表4Aから、見出し行6に含まれる表4Aの各属性に対する属性値を抽出して、抽出した属性値を表4Aの属性毎にRAM23に記憶する。
ステップS30において、CPU21は、画像2に含まれる各々の表4の構造情報をOCR結果DB16から取得する。
ステップS40において、CPU21は、ステップS30で取得した表4の構造情報を用いて、画像2に含まれる各々の表4を、表4の構造に関して共通の特徴を有する表群に分類する。ここでは説明をわかりやすくするため、各々の表4が1つの表群に分類されたとする。
ステップS50において、CPU21は、表4Aの見出し行6に含まれる各々の属性を取得する。図1に示した発注表の表4Aであれば、「No」、「商品名」、「数量」、「単価」、及び「金額」が見出し行6に含まれる表4Aの属性として取得される。
ステップS60において、CPU21は、ステップS50で取得した表4Aの属性の中に、順序属性が含まれるか否かを判定する。順序属性とは、表4の並び順を表す属性である。図1に示した発注表の表4Aの場合、見出し行6に含まれる属性の一例である「No」は、1から昇順に並んだ整数を用いて表4における各行の並び順を管理している情報であるから、順序属性の一例である。このように、順序属性に対する属性値の並びは、昇順又は降順といった予め定められた規則性に従って決められている。したがって、CPU21は、順序属性に対する属性値の並びから、分割後の表4の連続性を判定することができる。
ステップS60の判定処理で、見出し行6に順序属性が含まれると判定された場合には、ステップS70に移行する。
ステップS70において、CPU21は、表4の連続性に関しての比較対象となる比較表として、見出し表4Aを設定する。すなわち、CPU21は、見出し表4Aを比較表として設定することで、表群に含まれる分割後の表4の中から、見出し表4Aの後ろに続く後続表4Bを特定するための準備を行う。
ステップS80において、CPU21は、表群に含まれる後続表4Bの中から何れか1つの後続表4Bを選択する。この場合、CPU21は、表群に含まれる後続表4Bの中からランダムに何れか1つの後続表4Bを選択してもよいが、画像2の受付順に従って各々の画像2に含まれていた後続表4Bを選択することが好ましい。
ユーザは、文書のページ順を間違えて画像化するよりも、文書をページ順に画像化することの方が多い。したがって、画像2の受付順に従って後続表4Bを選択することにより、画像2の受付時において比較表と最も近い位置にある後続表4Bが優先して選択されるようになるため、ランダムに後続表4Bを選択する場合と比較して、連続性を有するように分割後の各々の表4を関連付け終えるまでに要する時間を短縮することができる場合がある。本実施形態では、ステップS80で選択した後続表4Bを選択後続表4Bということにする。
ステップS90において、CPU21は、比較表に設定されている表4の最終行における順序属性の属性値と、選択後続表4Bの先頭行における順序属性の属性値を比較して、順序属性の属性値が、比較表から選択後続表4にわたって、順序属性に対して予め定められている規則性に従って並んでいるか否かを判定する。すなわち、CPU21は、順序属性の属性値が比較表の最終行と選択後続表4Bの先頭行で連続しているか否かを判定する。
図1に示した見出し表4Aが比較表に設定され、図2(A)に示した後続表4Bが選択後続表4Bであるとすれば、比較表の最終行における「No」の属性値は「7」で、選択後続表4Bの先頭行において「No」と同じ列の位置にある属性値は「8」となる。「No」の属性値に対して、当該属性値は表4の上から下方向に向かって1つずつ増加する整数が設定されるとの規則性が存在すれば、CPU21は、比較対象の属性値が「7」、「8」と並んでいることから、比較表と選択後続表4Bは連続している状態にあると判定する。なお、比較表は、本実施形態に係る「一方の表」の一例であり、選択後続表4Bは、本実施形態に係る「他方の表」の一例である。
比較表の最終行と選択後続表4Bの先頭行で順序属性の属性値が連続していればステップS100に移行する。
比較表と選択後続表4Bが連続していると判定されたことから、ステップS100において、CPU21は、比較表の後ろに選択後続表4Bが連続するように、順序属性の属性値の並びに従って比較表と選択後続表4Bを関連付ける。
ステップS130において、CPU21は、選択後続表4Bを新たな比較表として設定する。
ステップS140において、CPU21は、表群に含まれる後続表4Bの中に、まだ関連付けが完了していない後続表4Bが存在するか否かを判定する。関連付けが完了していない後続表4Bが存在する場合にはステップS80に移行し、CPU21は、表群に含まれる後続表4Bの中から、まだ関連付けが完了していない後続表4Bを新たな選択後続表4Bとして選択する。
一方、ステップS90の判定処理において、比較表と選択後続表4Bは連続していないと判定された場合、ステップS110に移行する。
ステップS110において、CPU21は、現在の比較表に対して連続性の判定を行っていない後続表4Bであって、かつ、まだ関連付けが行われていない後続表4Bが表群に含まれるか否かを判定する。表群の中に現在の比較表に対して連続性を判定していない未関連の後続表4Bが含まれる場合にはステップS80に移行して、CPU21は、表群に含まれる後続表4Bの中から、まだ現在の比較表に対して連続性の判定を行っていない後続表4Bであって、かつ、まだ関連付けが行われていない後続表4Bを選択後続表4Bとして選択する。
一方、ステップS110の判定処理で、まだ関連付けが行われていない表群内のすべての後続表4Bについて、現在の比較表に対する連続性の判定が実行済みであると判定された場合には、ステップS120に移行する。
この場合、例えば後続表4Bの少なくとも1つが欠落した状態の画像2を受け付けた等の状況が考えられるため、順序属性の属性値に従った表4同士の関連付けは困難となる。したがって、ステップS120において、CPU21は、画像2の受付順に従って、比較表の後ろに選択後続表4Bを関連付ける。すなわち、CPU21は、画像2の受付時において、比較表が含まれていた画像2の次のページにある画像2に含まれていた後続表4Bを比較表に続く表4とする。
なお、CPU21は、表群が複数存在する場合、画像2の受付順に従って、比較表の後ろに後続表4Bを関連付ける代わりに、他の表群から比較表に連続する後続表4Bを検出してもよい。例えば同じ表4から分割された表4であっても、表4の構造情報の読み取り誤差により分割後の表4が複数の表群にわたって分類されてしまうことがある。このような場合、CPU21は、ステップS80で後続表4Bを選択した表群以外の他の表群の中に、比較表に連続する後続表4Bが含まれていれば、他の表群から比較表に連続する後続表4を取得して比較表の後ろに関連付けてもよい。
CPU21は、画像2の受付順に従って比較表の後ろに後続表4Bを関連付けた後、ステップS130に移行し、比較表に関連付けた後続表4Bを新たな比較表に設定する。
すなわち、表群に含まれるすべての表4の関連付けが完了するまで、ステップS80~ステップS140の処理を繰り返し実行することで、表群に含まれる分割後の各々の表4を関連付けられる。関連付けされた表4のうち、分割後の表4の並び順が連続するように関連付けられた表4を「一連の表4」という。一連の表4は、見出し表4Aと少なくとも1つ以上の後続表4Bによって構成される。
ステップS140の判定処理で、表群内のすべての表4が関連付けられたと判定された場合には、ステップS160に移行する。
表群に含まれる表4を関連付けることで、表4Aの見出し行6に含まれる表4の各属性と、後続表4Bにおける各属性値との対応関係が明確になる。したがって、ステップS160において、CPU21は、ステップS20の表中KV抽出によって表4Aから抽出された、見出し行6に含まれる表4の各属性に対する属性値に、各々の後続表4Bにおける各属性値を後続表4Bの並び順に従って見出し行6の属性毎に付加する。これにより、関連付けが行われた各々の表4から、見出し行6に含まれる表4の各属性の属性値が取得されることになる。
各々の表4が連続性を有するように関連付けられていれば、見出し行6に含まれる表4の各属性に対する属性値は、分割前の表4の並び順に従って取得される。
ステップS170において、CPU21は、ステップS160で取得した、見出し行6に含まれる表4の各属性に対する属性値を出力して図5に示す抽出処理を終了する。
各々の表4が連続性を有するように関連付けられていれば、CPU21は、見出し行6に含まれる表4の各属性に対する属性値を、分割前の表4の並び順に沿って出力することになる。
なお、ステップS60の判定処理で、見出し行6に順序属性が含まれていないと判定された場合、CPU21は、表群に含まれる各々の表4を、順序属性の属性値を用いて関連付けることはできない。したがって、ステップS150に移行し、CPU21は、ステップS150において、画像2の受付順に従って各画像2に含まれていた表群内の各々の表4を関連付け、ステップS160に移行する。
この場合、関連付けられた表4は必ずしも連続性を有していないことがあるため、ステップS160で取得された表4の各属性に対する属性値の並び順は、分割前の表4の並び順とならないことがある。しかしながら、少なくとも見出し行6を含まない後続表4Bから見出し行6に含まれる表4の各属性に対する属性値は取得される。
CPU21は、ステップS170で見出し行6に含まれる表4の各属性に対する属性値を出力する場合、連続性の有無を通知する情報も一緒に出力することが好ましい。具体的には、1度でもステップS120又はS150の処理で、画像2の受付順に従って表4同士の関連付けが行われた表4の各々から属性値を取得した場合には、CPU21は、属性値の連続性が保証されないことを出力する。また、1度もステップS120又はS150の処理で、画像2の受付順に従って表4同士の関連付けが行われていない表4の各々から属性値を取得した場合には、CPU21は、属性値の連続性が保証されていることを出力する。
なお、ステップS40で、受け付けた画像2に含まれる表4が複数の表群に分類された場合、ステップS50~S170の処理を表群毎に実行すればよい。
このように、情報処理装置10は、1つの表4がページをまたぐように分割されて後続表4Bに見出し行6が含まれないような場合であっても、表4Aの見出し行6に含まれる順序属性に対する属性値の並び順から、後続表4Bの属性値が連続性を有するように分割後の表4を関連付けることができる。したがって、情報処理装置10は、分割後の各々の表4から、見出し行6に含まれる各属性に対する属性値を分割前の表4の並び順に沿って取得することができる。
<第2実施形態>
第1実施形態では、情報処理装置10の関連付けルール18に連続性ルールが規定されている場合の処理例について説明した。第2実施形態では、情報処理装置10の関連付けルール18に整合性ルールが規定されている場合の処理例について説明する。
第1実施形態では、情報処理装置10の関連付けルール18に連続性ルールが規定されている場合の処理例について説明した。第2実施形態では、情報処理装置10の関連付けルール18に整合性ルールが規定されている場合の処理例について説明する。
第2実施形態に係る情報処理装置10は、表群に含まれる各々の分割後の表4を関連付けて生成した表4に、分割前の表4から欠落してしまっている箇所や、分割前の表4にはない余分な箇所が存在していないかを確認した上で、分割後の表4から見出し行6に含まれる各属性に対する属性値を取得する。
図6は、文書の画像2を例えば通信ユニット27を通じて外部装置から受け付けた場合に、CPU21によって実行される抽出処理の流れの一例を示すフローチャートである。
第2実施形態に係る抽出処理を規定する情報処理プログラムは、例えば情報処理装置10のROM22に予め記憶されている。情報処理装置10のCPU21は、ROM22に記憶される情報処理プログラムを読み込み、抽出処理を実行する。
ステップS200~S230の各処理は、それぞれ図5に示した第1実施形態に係る抽出処理のステップS10~S40の各処理と同じであるため、説明を省略する。なお、第2実施形態においても説明をわかりやすくするため、ステップS230で、各々の表4が1つの表群に分類されたとする。
ステップS240において、CPU21は、表4Aの見出し行6に含まれる表4の各々の属性を取得する。また、CPU21は、表4Aの見出し行6に含まれる少なくとも1つの属性に対する属性値についての合計を記載している箇所(以降、「合計欄」という)を、表群に含まれる何れかの表4から検出する。CPU21は、検出した合計欄に記載されている属性値、すなわち、表4Aの見出し行6に含まれる表4の何れかの属性に対する属性値の合計を取得する。
例えば図1及び図2に示す表4の例の場合、CPU21は、図1に記載されている「合計金額」、又は図2(C)に記載されている「合計金額」の少なくとも一方を合計欄として表4から検出し、合計欄と同じ行に記載されている「566,000」を合計欄の合計として取得する。以降では、表群に含まれる何れかの表4を含む画像2から取得した合計欄の合計を「取得合計」という。すなわち、取得合計とは、表4を含む画像2内に予め記載されている合計の一例である。
表4から合計欄を検出するには、例えば「合計」、「総額」、及び「累計」といった何らかの合計が記載されていることを表す文字を表4から検出すればよい。また、合計欄から見てどの方向に合計欄の属性値があるかについての情報を予め規定しておくことで、CPU21は、当該規定に従って表4から合計欄の合計を取得することができる。
検出した合計欄の項目名に、表4Aの見出し行6に含まれる何れかの属性との関連を表す文字が含まれていれば、当該関連から、合計欄が表4Aの見出し行6に含まれる何れの属性に対する属性値の合計を表しているのかが判定される。例えば図1及び図2(C)に記載されている合計欄の一例である「合計金額」には「金額」という文字が含まれるため、「合計金額」は、図1に示した表4Aの見出し行6における「金額」に対する各属性値の合計を表している合計欄であると判定される。以降では、表4Aの見出し行6に含まれる属性であって、合計欄によって属性値の合計が表されている属性を「整合属性」という。
なお、CPU21は、合計欄の合計が記載されている位置から、合計欄の合計が表4Aの見出し行6に含まれる何れの属性に対する属性値の合計を表しているのかを判定してもよい。例えば、図2(C)の表4Bのように「合計金額」の合計を表す「566,000」と記載されている列の位置が、図1に示した表4Aの見出し行6における「金額」の列の位置と同じであれば、CPU21は、「566,000」は「金額」に対する各属性値の合計を表している合計欄であると判定する。
ステップS250において、CPU21は見出し表4Aを選択し、整合属性に対する見出し表4A内の属性値の合計を算出する。このように、表4に記載されている各々の属性値からCPU21が算出した合計を「算出合計」という。
ステップS260において、CPU21は、ステップS250で算出した整合属性に対する算出合計と、ステップS240で取得した整合属性に対する取得合計とが一致するか否かを判定する。算出合計と取得合計が異なる値であればステップS270に移行する。
算出合計と取得合計が異なるということは、見出し表4Aの後ろに少なくとも1つ以上の後続表4Bが続いているということになる。そこで、ステップS270において、CPU21は、ステップS250で算出した見出し表4Aの算出合計を累積算出合計としてRAM23に記憶する。
ステップS280において、CPU21は、表群に含まれる後続表4Bの中から、まだ選択されていない何れか1つの後続表4Bを選択する。CPU21は、表群に含まれる後続表4Bの中からランダムに何れか1つの後続表4Bを選択してもよいが、画像2の受付順に従って各々の画像2に含まれていた後続表4Bを選択することが好ましい。本実施形態では、ステップS280で選択した後続表4Bを選択後続表4Bということにする。
その上で、CPU21は、整合属性に対する選択後続表4B内の属性値の合計を算出する。なお、CPU21は、選択後続表4Bにおいて、見出し行6における整合属性の列の位置と同じ位置にある属性値を、整合属性に対する選択後続表4B内の属性値として認識する。
ステップS290において、CPU21は、RAM23に記憶している累積算出合計にステップS280で算出した選択後続表4Bの算出合計を加算し、選択後続表4Bの算出合計を加算した後の累積算出合計を新たな累積算出合計としてRAM23に記憶する。
ステップS300において、CPU21は、ステップS290で更新した累積算出合計と、ステップS240で取得した整合属性に対する取得合計とが同じ値であるか否かを判定する。累積算出合計と取得合計が同じ値であればステップS310に移行する。
累積算出合計と取得合計が同じ値ということは、累積算出合計を構成する各々の算出合計の算出対象となった表4同士を関連付ければ、分割前の表4を過不足なく構成することができるということになる。
すなわち、取得合計と同じ値を有する累積算出合計を構成する各々の算出合計の算出対象となった各々の表4は整合性を有することから、ステップS310において、CPU21は、表4の関連付け情報を「正常」に設定する。なお、表4の「関連付け情報」とは、整合性に関して各々の表4がどのような状態で関連付けられているかといった状態を表す情報である。関連付け情報における「正常」は、関連付けられた各々の表4が、整合性を有している状態にあることを表している。
ステップS320において、CPU21は、ステップS250で選択した見出し表4Aに、累積算出合計を構成する各々の算出合計の算出対象となった後続表4Bを関連付ける。なお、見出し表4Aに対する後続表4Bの関連付けは、ステップS280における後続表4Bの選択順に行うことが好ましい。例えば図1に示した見出し表4Aに対して、後続表4Bが図2(A)、図2(B)、及び図2(C)の順に選択されたとすれば、CPU21は、先頭から図1、図2(A)、図2(B)、及び図2(C)の順に各々の表4を関連付ける。CPU21は、関連付けられた各々の表4に関連付け情報を対応付けて抽出結果DB17に記憶する。
以降は、ステップS370及びS380の各処理で、それぞれ図5に示した第1実施形態に係る抽出処理のステップS160、及びS170の各処理と同じ処理を行い、関連付けられた各々の表4から抽出した、見出し行6に含まれる表4の各属性に対する属性値を出力して図6に示す抽出処理を終了する。
一方、ステップS300の判定処理で、累積算出合計と取得合計が異なる値であると判定された場合には、ステップS340に移行する。
ステップS340において、CPU21は、表群に含まれるすべての後続表4Bを選択したか否かを判定する。まだ未選択の後続表4Bが存在する場合には、未選択の後続表4B内の属性値の合計を累積算出合計に加算すれば、累積算出合計と取得合計とが同じ値になることがある。
したがって、ステップS280に移行し、表群に含まれる未選択の後続表4Bの中から何れか1つの後続表4Bを新たな選択後続表4Bとして選択する。その上で、CPU21は新たな選択後続表4Bに対してステップS290以降の処理を実行する。
一方、ステップS340の判定処理で、表群からすべての後続表4Bを選択したと判定された場合には、ステップS350に移行する。
表群に含まれるすべての後続表4Bを選択したにもかかわらず、累積算出合計と取得合計とが同じ値にならなかったということは、分割前の表4から分割された表4の数に対して、表群に含まれる表4の数に過不足が生じているということになる。こうした状況は、表群の抽出がうまく行われていないか、又は受け付けた画像2に不必要な表4が入っていたり、逆に必要な表4が含まれていなかったりする場合に発生する。
すなわち、表群に含まれる各々の表4は整合性を有さないことから、ステップS350において、CPU21は、表4の関連付け状態が「不足」であるか、または「余剰」であるかを判定する。
関連付け状態が「不足」とは、分割後の表4が欠落しているため、分割前の表4を構築することができない状態を表している。具体的には、CPU21は、累積算出合計が取得合計未満の場合に、表4の関連付け状態を「不足」と判定する。
関連付け状態が「余剰」とは、表群の中に、特定の分割前の表4とは種類の異なる別の表4の後続表4Bも含まれてしまっているため、特定の分割前の表4を構築することができない状態を表している。具体的には、CPU21は、累積算出合計が取得合計を超える場合に、表4の関連付け状態を「余剰」と判定する。
ステップS360において、CPU21は、表4の関連付け情報にステップS350で判定した判定結果を設定してステップS320に移行する。
なお、ステップS260の判定処理で、算出合計と取得合計とが同じ値であると判定された場合には、ステップS330に移行する。
この場合、分割前の表4は見出し表4Aそのものであるということになる。すなわち、見出し表4Aの後ろに続く後続表4Bは存在しない。したがって、この場合の見出し表4Aは単体で整合性を有しているため、ステップS330において、CPU21は、表4の関連付け情報を「正常」に設定して、ステップS370に移行する。
CPU21は、ステップS380で見出し行6に含まれる表4の各属性に対する属性値を出力する場合、整合性の有無を通知する情報も一緒に出力してもよい。具体的には、「正常」に設定されている関連付け情報が対応付けられている各々の表4から属性値を取得した場合には、CPU21は、属性値の整合性が保証されていることを出力する。また、「不足」又は「余剰」に設定されている関連付け情報が対応付けられている各々の表4から属性値を取得した場合には、CPU21は、属性値の整合性が保証されていないことを出力する。
第2実施形態に係る情報処理装置10によれば、1つの表4がページをまたぐように分割されて後続表4Bに見出し行6が含まれないような場合であっても、関連付け情報が「正常」に設定された分割後の各々の表4から、見出し行6に含まれる各属性に対する属性値を、分割前の表4に記載されている属性値と比較して過不足なく取得することができる。
したがって、表4の見出し行6に順序属性が含まれていなくても、表4の見出し行6に整合属性が含まれる場合、情報処理装置10の関連付けルール18に整合性ルールを規定することで、関連付け情報が「正常」に設定された分割後の各々の表4からは、分割前の表4に記載されていたすべての属性値を、見出し行6に含まれる属性毎に過不足なく取得することができる。
<第3実施形態>
第1実施形態に係る情報処理装置10は、分割後の各々の表4から、見出し行6に含まれる各属性に対する属性値を分割前の表4における属性値の並び順に沿って取得した。この場合、取得した属性値が連続性を有していることはわかるが、分割前の表4に記載されていたすべての属性値を、見出し行6に含まれる属性毎に過不足なく取得しているかは不明である。
第1実施形態に係る情報処理装置10は、分割後の各々の表4から、見出し行6に含まれる各属性に対する属性値を分割前の表4における属性値の並び順に沿って取得した。この場合、取得した属性値が連続性を有していることはわかるが、分割前の表4に記載されていたすべての属性値を、見出し行6に含まれる属性毎に過不足なく取得しているかは不明である。
例えば図1及び図2に示した4ページに分割された表4のうち、1ページから3ページの表4が同じ表群に分類され、最後の4ページ目、すなわち、図2(C)の表4Bが別の表群に分類されると、1ページから3ページの表4が分類されている表群から取得した属性値は連続性を有するが、整合性は有していないことになる。
第3実施形態では、分割後の各々の表4から、連続性及び整合性を有する属性値を見出し行6に含まれる属性毎に取得する情報処理装置10について説明する。
図7は、文書の画像2を例えば通信ユニット27を通じて外部装置から受け付けた場合に、CPU21によって実行される抽出処理の流れの一例を示すフローチャートである。
情報処理装置10の関連付けルール18には連続性ルール及び整合性ルールの両方が規定されているものとする。
第3実施形態に係る抽出処理を規定する情報処理プログラムは、例えば情報処理装置10のROM22に予め記憶されている。情報処理装置10のCPU21は、ROM22に記憶される情報処理プログラムを読み込み、抽出処理を実行する。
ステップS400において、CPU21は、第1処理を実行する。第1処理とは、図5に示した第1実施形態に係る抽出処理のステップS10~S150までの各処理の流れに従った処理である。第1処理によって、分割後の各々の表4が一連の表4に関連付けられているとする。
ステップS410において、CPU21は、第1処理によって関連付けられた一連の表4を含む何れかの画像2に合計欄があるか否かを判定する。合計欄がある場合にはステップS420に移行し、ステップS420において、CPU21は、合計欄に記載されている合計を取得する。
図6に示した第2実施形態に係る抽出処理のステップS240で説明したように、CPU21は、合計欄の項目名、及び合計欄の合計が記載されている位置の少なくとも一方の情報を用いて、合計欄に対応した整合属性を特定する。
ステップS430において、CPU21は、一連の表4を構成する各々の表4からそれぞれ算出された、分割後の各表4における整合属性に対する属性値の算出合計を分割後の表4毎に加算して、整合属性の属性値に関する累積算出合計を取得する。
ステップS440において、CPU21は、ステップS420で取得した取得合計と、ステップS430で算出した累積算出合計とが同じ値であるか否かを判定する。取得合計と累積算出合計とが同じ値であればステップS450に移行する。
この場合、第1処理で関連付けられた一連の表4は整合性を有することになる。したがって、CPU21は、ステップS450及びS460の各処理で、それぞれ図5に示した第1実施形態に係る抽出処理のステップS160、及びS170の各処理と同じ処理を行い、連続性及び整合性を有する一連の表4から、見出し行6に含まれる表4の各属性に対する属性値を抽出し、抽出結果を出力して図7に示す抽出処理を終了する。この場合、CPU21は、一連の表4から取得した属性値が連続性及び整合性を有しているとの通知をユーザに出力してもよい。
一方、ステップS410の判定処理で、一連の表4を構成する各々の表4を含んだ何れの画像2にも合計欄がないと判定された場合、一連の表4が整合性も有しているか不明である。したがって、CPU21は、見出し行6に含まれる表4の各属性に対する属性値を一連の表4から取得することなく、図7に示す抽出処理を終了する。この場合、CPU21は、例えば一連の表4が整合性を有しているか不明であるため属性値の取得を中止したとの通知をユーザに出力することが好ましい。
また、ステップS440の判定処理で、累積取得合計と算出合計とが異なると判定された場合、一連の表4は、連続性を有するが整合性は有していないことになる。したがって、CPU21は、見出し行6に含まれる表4の各属性に対する属性値を一連の表4から取得することなく、図7に示す抽出処理を終了する。この場合、CPU21は、一連の表4が整合性を有していないため属性値の取得を中止したとの通知をユーザに出力することが好ましい。
以上により、第3実施形態に係る情報処理装置10は、分割後の各々の表4を関連付けて構成された表4が、連続性及び整合性の両方を有している場合に、見出し行6に含まれる表4の各属性に対する属性値が取得する。すなわち、第3実施形態に係る抽出処理によって分割後の各々の表4から取得された各属性に対する属性値は、連続性及び整合性を有する。
なお、CPU21は、一連の表4が整合性を有しているか不明であるとの通知、又は、一連の表4が整合性を有していないとの通知に対して、入力ユニット28を通じてユーザから属性値の取得指示を受け付けた場合、一連の表4が整合性を有していないとしても、一連の表4から見出し行6に含まれる表4の各属性に対する属性値を取得してもよい。
<第4実施形態>
第3実施形態に係る情報処理装置10では、連続性を有する一連の表4に対して整合性の有無を判定し、分割後の各々の表4を関連付けて構成された表4が、連続性及び整合性の両方を有している場合に、見出し行6に含まれる表4の各属性に対する属性値を取得した。しかしながら、分割後の各々の表4を関連付けて構成された表4に対する連続性の判定、及び整合性の判定に関する順序に制約はない。
第3実施形態に係る情報処理装置10では、連続性を有する一連の表4に対して整合性の有無を判定し、分割後の各々の表4を関連付けて構成された表4が、連続性及び整合性の両方を有している場合に、見出し行6に含まれる表4の各属性に対する属性値を取得した。しかしながら、分割後の各々の表4を関連付けて構成された表4に対する連続性の判定、及び整合性の判定に関する順序に制約はない。
第4実施形態では、分割後の表4の整合性を判定した後に連続性の判定を行い、連続性及び整合性を有する属性値を見出し行6に含まれる属性毎に取得する情報処理装置10について説明する。
図8は、文書の画像2を例えば通信ユニット27を通じて外部装置から受け付けた場合に、CPU21によって実行される抽出処理の流れの一例を示すフローチャートである。
情報処理装置10の関連付けルール18には連続性ルール及び整合性ルールの両方が規定されているものとする。
第4実施形態に係る抽出処理を規定する情報処理プログラムは、例えば情報処理装置10のROM22に予め記憶されている。情報処理装置10のCPU21は、ROM22に記憶される情報処理プログラムを読み込み、抽出処理を実行する。
ステップS500において、CPU21は第2処理を実行する。第2処理とは、図6に示した第2実施形態に係る抽出処理のステップS200~S360までの各処理の流れに従った処理である。
ステップS510において、CPU21は、ステップS500で関連付けられた表4(以降の本実施形態では、単に「関連付けられた表4」という)に対応付けられている関連付け情報の内容を参照し、関連付け情報に「正常」が設定されているか否かを判定する。
関連付け情報に「正常」が設定されていない場合には、関連付けられた表4は整合性を有しているか保証されないため、図8に示す抽出処理を終了する。この場合、CPU21は、関連付けられた表4が整合性を有しているか不明であるため属性値の取得を中止したとの通知をユーザに出力することが好ましい。
ステップS510の判定処理で、関連付け情報に「正常」が設定されていると判定された場合には、ステップS520に移行する。すなわち、第2処理によって関連付けられた表4が整合性を有する場合にステップS520に移行する。
ステップS520において、CPU21は、関連付けられた表4の見出し行6に、順序属性があるか否かを判定する。関連付けられた表4の見出し行6に順序属性がない場合には、関連付けられた表4の連続性を担保することができないため、図8に示す抽出処理を終了する。この場合、CPU21は、関連付けられた表4は整合性を有しているが連続性を有しているかは不明であるため属性値の取得を中止したとの通知をユーザに出力することが好ましい。
ステップS520の判定処理で、関連付けられた表4の見出し行6に順序属性があると判定された場合には、ステップS530に移行する。
ステップS530において、CPU21は、関連付けられた表4の各々が連続しているか否かを判定する。表4の連続性の判定には、図5に示した第1実施形態に係る抽出処理のステップS90で説明した判定方法が用いられる。関連付けられた表4の各々が連続していない場合にはステップS540に移行する。
ステップS510の判定処理によって、関連付けられた表4は少なくとも整合性を有していることが担保されているため、関連付けられた各々の表4の順序属性に対する属性値を参照して、関連付けられた各々の表4の順序属性に対する属性値が連続するように関連付けられた各々の表4の順番を並べ替えれば、並べ替え後の関連付けられた表4は連続性を有することになる。
したがって、ステップS540において、CPU21は、関連付けられた各々の表4の順序属性に対する属性値を参照して、関連付けられた各々の表4が連続するように並べ替えを行い、ステップS550に移行する。
一方、ステップS530の判定処理で、関連付けられた表4の各々が連続していると判定された場合には、関連付けられた各々の表4の順番の並べ替えは不要であるため、ステップS540の処理を実行することなくステップS550に移行する。
CPU21は、ステップS550及びS560の各処理で、それぞれ図5に示した第1実施形態に係る抽出処理のステップS160、及びS170の各処理と同じ処理を行い、連続性及び整合性を有する関連付けられた表4から、見出し行6に含まれる表4の各属性に対する属性値を取得し、抽出結果を出力して図8に示す抽出処理を終了する。この場合、CPU21は、関連付けられた表4から取得した属性値が連続性及び整合性を有しているとの通知をユーザに出力してもよい。
以上により、第4実施形態に係る情報処理装置10は、分割後の各々の表4を関連付けて構成された表4が、連続性及び整合性の両方を有している場合に、見出し行6に含まれる表4の各属性に対する属性値を取得する。すなわち、第4実施形態に係る抽出処理によって分割後の各々の表4から取得された各属性の属性値は、連続性及び整合性を有する。
なお、CPU21は、関連付けられた表4が連続性を有しているか不明であるとの通知、又は、関連付けられた表4が整合性を有していないとの通知に対して、入力ユニット28を通じてユーザから属性値の取得指示を受け付けた場合、関連付けられた表4が整合性及び連続性の少なくとも一方を有していないとしても、関連付けられた表4から見出し行6に含まれる表4の各属性に対する属性値を取得してもよい。
上記に示した第4実施形態に係る情報処理装置10の抽出処理では、関連付けられた表4に対応付けられている関連付け情報に「正常」が設定されていない場合、関連付けられた表4は整合性を有しているか保証されないため、関連付けられた表4から属性値を取得することなく抽出処理を終了した。しかしながら、関連付けられた表4の関連付け情報が「正常」でない場合であっても、関連付けられた表4が整合性を有するように補正できる場合がある。
第1実施形態で説明したように、例えば同じ表4から分割された表4であっても、表4の構造情報の読み取り誤差により分割後の表4が複数の表群にわたって分類されてしまうことがある。
したがって、関連付け情報が「不足」に設定されている関連付けられた表4の場合、関連付けられた表4が含まれている表群以外の他の表群の中に、関連付けられた表4と共に分割前の同じ表4から分割された表4が含まれることがある。
こうした状況に対応するため、CPU21は、関連付けられた表4に対応付けられている関連付け情報が「不足」である場合には、関連付けられた表4が含まれている表群以外の他の表群から、関連付けられた表4の整合性を満たす分割された表4を取得して、関連付けられた表4に関連付けてもよい。この場合、関連付けられた表4は整合性を有するようになるため、CPU21は、図8のステップS520以降の処理を行うようにする。
一方で、関連付け情報が「余剰」に設定されている関連付けられた表4の場合、関連付けられた表4が含まれている表群の中に、種類の異なる別の表4から分割された表4が混在していることになる。
こうした状況に対応するため、CPU21は、関連付けられた表4に対応付けられている関連付け情報が「余剰」である場合には、関連付けられた表4の見出し行6に含まれる順序属性に対する属性値を参照して、関連付けられた表4の中から連続しない表4を削除する。その上で、CPU21は、不要な表4が削除された後の関連付けられた表4に対して、取得合計と整合属性に対する属性値の累積算出合計との比較から整合性を確認する。
CPU21は、関連付けられた表4が整合性を有することが確認できた場合に、図8のステップS520以降の処理を行うようにする。
上記に示した補正処理により、関連付けられた表4の関連付け情報が「正常」でない場合であっても、関連付けられた表4が整合性を有するように補正できることがある。
なお、図6に示した第2実施形態に係る情報処理装置10の抽出処理のステップS360において、関連付け情報が「不足」又は「余剰」に設定された場合に、上記に示した補正処理を実行した後、関連付けられた表4の各々から見出し行6に含まれる属性毎の属性値を取得してもよい。
<連続性判定の変形例>
表群に含まれる見出し表4Aの見出し行6に順序属性が存在しないような状況であっても、CPU21は、見出し表4A及び後続表4Bの外部に存在する情報であって、見出し表4Aと後続表4Bの連続性を表す外部情報を用いることで、連続性を有するように分割後の表4を関連付けることができる。
表群に含まれる見出し表4Aの見出し行6に順序属性が存在しないような状況であっても、CPU21は、見出し表4A及び後続表4Bの外部に存在する情報であって、見出し表4Aと後続表4Bの連続性を表す外部情報を用いることで、連続性を有するように分割後の表4を関連付けることができる。
図9は外部情報の一例であるページ番号5の例を示す図である。表4が含まれる画像2のページにページ番号5が付されていれば、CPU21は、ページ番号5を外部情報として、表群に分類された分割後の表4を、連続性を有するように関連付けることもできる。
また、図10は外部情報の一例である表番号7の例を示す図である。図10に示すように、分割された各々の表4の周囲に、「表1」や「Fig.1」といった表4の記載順序を表す表番号7が記載されることがある。特に、論文やレポートといった文書には、表4の途中で分割された各々の表4に対して表番号7を記載する慣例が存在する。したがって、CPU21は、表番号7を外部情報として、表群に分類された分割後の表4を、連続性を有するように関連付けることもできる。
また、CPU21は、表群に含まれる見出し表4Aの見出し行6に順序属性が含まれる場合、まず順序属性に対する属性値の並びから、連続性を有するように分割後の表4を関連付け、その後、外部情報を用いて、関連付けられた表4が連続性を有しているか再確認してもよい。
ここまで、図1及び図2に示したように表4がページ単位で分割されている場合について、連続性及び整合性の少なくとも一方を有するように表4同士を関連付ける例について説明した。しかしながら、表4の分割形態はページ単位に限られず、例えば図11に示すように、同じページ内で分割されている分割形態も存在する。
当然のことながら、情報処理装置10は、元々同じ表4が複数の表4に分割されていさえすれば表4の分割形態に関係なく、連続性及び整合性の少なくとも一方を有するように表4同士を関連付け、見出し行6に含まれる属性毎に属性値を取得することができる。したがって、図11に示すような表4の分割形態であっても、連続性及び整合性の少なくとも一方を有するように表4同士を関連付け、見出し行6に含まれる属性毎に属性値を取得できることは言うまでもない。
以上、実施形態を用いて情報処理装置10の一態様について説明したが、開示した情報処理装置10の形態は一例であり、情報処理装置10の形態は実施形態に記載の範囲に限定されない。本開示の要旨を逸脱しない範囲で実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も開示の技術的範囲に含まれる。例えば、本開示の要旨を逸脱しない範囲で、図5~図8に示した抽出処理の順序を変更してもよい。
また、上記の実施形態では、一例として抽出処理をソフトウエアで実現する形態について説明した。しかしながら、図5~図8に示した抽出処理と同等の処理をハードウエアで処理させるようにしてもよい。この場合、抽出処理をソフトウエアで実現した場合と比較して処理の高速化が図られる。
上記の実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU21)や、専用のプロセッサ(例えば GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
また、上記の実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記の実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
上記の実施形態では、ROM22に情報処理プログラムが記憶されている例について説明したが、情報処理プログラムの記憶先はROM22に限定されない。本開示の情報処理プログラムは、コンピュータ20で読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば情報処理プログラムをCD-ROM(Compact Disk Read Only Memory)及びDVD-ROM(Digital Versatile Disk Read Only Memory)のような光ディスクに記録した形態で提供してもよい。また、情報処理プログラムを、USB(Universal Serial Bus)メモリ及びメモリカードのような可搬型の半導体メモリに記録した形態で提供してもよい。
ROM22、不揮発性メモリ24、CD-ROM、DVD-ROM、USB、及びメモリカードは非一時的(non-transitory)記憶媒体の一例である。
更に、情報処理装置10は、通信ユニット27と通信回線で接続された外部装置から情報処理プログラムをダウンロードし、ダウンロードした情報処理プログラムを非一時的記憶媒体に記憶してもよい。この場合、情報処理装置10のCPU21は、外部装置からダウンロードした情報処理プログラムを非一時的記憶媒体から読み込んで抽出処理を実行する。
2 画像
3(3A、3B) セル
4 表
4A 見出し表(表)
4B 後続表(表)
5 ページ番号
6 見出し行
7 表番号
8 領域
10 情報処理装置
11 画像受付部
12 ユーザインターフェース部(UI部)
13 画像処理部
13A OCR処理部
13B 抽出部
14 制御部
15 出力部
18 関連付けルール
20 コンピュータ
21 CPU
22 ROM
23 RAM
24 不揮発性メモリ
25 I/O
26 バス
27 通信ユニット
28 入力ユニット
29 表示ユニット
16 OCR結果DB
17 抽出結果DB
WD 列の幅
3(3A、3B) セル
4 表
4A 見出し表(表)
4B 後続表(表)
5 ページ番号
6 見出し行
7 表番号
8 領域
10 情報処理装置
11 画像受付部
12 ユーザインターフェース部(UI部)
13 画像処理部
13A OCR処理部
13B 抽出部
14 制御部
15 出力部
18 関連付けルール
20 コンピュータ
21 CPU
22 ROM
23 RAM
24 不揮発性メモリ
25 I/O
26 バス
27 通信ユニット
28 入力ユニット
29 表示ユニット
16 OCR結果DB
17 抽出結果DB
WD 列の幅
Claims (10)
- プロセッサを備え、
前記プロセッサは、
画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、
前記見出し行に含まれる属性であって、前記第1表及び前記第2表の連続性を表す属性の属性値を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、
並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する
情報処理装置。 - 前記プロセッサは、
前記見出し行に含まれる属性であって、前記一連の表を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記一連の表を構成する表に対する過不足の有無を検出し、
過不足が検出されなかった前記一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する
請求項1に記載の情報処理装置。 - 前記整合性を表す属性は、前記見出し行に含まれる何れかの属性に対応した前記一連の表における各属性値の合計が前記一連の表を構成する何れかの表を含む画像内に予め示されている属性であり、
前記プロセッサは、前記一連の表を構成する各々の表の前記整合性を表す属性に対応した各属性値の合計と、前記一連の表を構成する何れかの表を含む画像内に予め示されている前記合計とが一致すれば、前記一連の表を構成する表に過不足がないと検出する
請求項2に記載の情報処理装置。 - 前記連続性を表す属性は、前記表群における属性値の並び順を表す属性であり、
前記プロセッサは、前記表群から選択した2つの表のうち、一方の表の最終行における前記連続性を表す属性の属性値と、他方の表の先頭行における前記連続性を表す属性の属性値とが、属性値が並んでいる状態として予め定められた規則性に従っている場合に、前記一方の表と前記他方の表が連続していると検出する
請求項1~請求項3の何れか1項に記載の情報処理装置。 - 前記プロセッサは、前記見出し行に前記連続性を表す属性が含まれなければ、前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、
過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する
請求項1に記載の情報処理装置。 - 前記プロセッサは、前記見出し行に前記整合性を表す属性が含まれなければ、前記第1表及び前記第2表の外部に存在する情報であって、前記第1表及び前記第2表の連続性を表す外部情報を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、
並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する
請求項5に記載の情報処理装置。 - 前記プロセッサは、前記第1表及び前記第2表の何れかが含まれるページのページ番号、又は前記第1表及び前記第2表の並び順を表す表番号を前記外部情報として用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付ける
請求項6に記載の情報処理装置。 - プロセッサを備え、
前記プロセッサは、
画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、
前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、
過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する
情報処理装置。 - コンピュータに、
画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、
前記見出し行に含まれる属性であって、前記第1表及び前記第2表の連続性を表す属性の属性値を用いて、前記表群に含まれる各々の表の並び順が連続するように各々の表を関連付け、
並び順が連続した前記第1表及び前記第2表によって構成される一連の表から、前記見出し行に含まれる各々の属性に対応した属性値を取得する処理を実行させるための
情報処理プログラム。 - コンピュータに、
画像化された複数の表から、表の構造に関して共通の特徴を有する、表中の属性値の属性を表す見出し行が付けられた第1表と、前記見出し行が付けられていない少なくとも1つ以上の第2表で構成された表群を抽出し、
前記見出し行に含まれる属性であって、前記表群を構成する表の過不足に関する整合性を表す属性の属性値を用いて、前記表群を構成する表に対する過不足の有無を検出し、
過不足が検出されなかった前記表群から、前記見出し行に含まれる各々の属性に対応した属性値を取得する処理を実行させるための
情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021156133A JP2023047181A (ja) | 2021-09-24 | 2021-09-24 | 情報処理装置、及び情報処理プログラム |
US17/701,677 US20230108505A1 (en) | 2021-09-24 | 2022-03-23 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021156133A JP2023047181A (ja) | 2021-09-24 | 2021-09-24 | 情報処理装置、及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023047181A true JP2023047181A (ja) | 2023-04-05 |
Family
ID=85775021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021156133A Pending JP2023047181A (ja) | 2021-09-24 | 2021-09-24 | 情報処理装置、及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230108505A1 (ja) |
JP (1) | JP2023047181A (ja) |
-
2021
- 2021-09-24 JP JP2021156133A patent/JP2023047181A/ja active Pending
-
2022
- 2022-03-23 US US17/701,677 patent/US20230108505A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230108505A1 (en) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824801B2 (en) | Interactively predicting fields in a form | |
US7853869B2 (en) | Creation of semantic objects for providing logical structure to markup language representations of documents | |
US20090019010A1 (en) | Document Search Device, Imaging Forming Apparatus, and Document Search System | |
JP2007279828A (ja) | 帳票処理装置、帳票様式作成装置、帳票、帳票処理用のプログラム、帳票様式作成用のプログラム | |
US11475688B2 (en) | Information processing apparatus and information processing method for extracting information from document image | |
JP6876914B2 (ja) | 情報処理装置 | |
JP2019040467A (ja) | 画像処理装置およびその制御方法 | |
US8526744B2 (en) | Document processing apparatus and computer readable medium | |
US20230206672A1 (en) | Image processing apparatus, control method of image processing apparatus, and storage medium | |
CN113449732A (zh) | 信息处理装置、图像读取装置、记录介质、信息处理方法 | |
JP2023047181A (ja) | 情報処理装置、及び情報処理プログラム | |
US20220019731A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP7317612B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111596988B (zh) | 一种终端页面的图文展示方法及装置 | |
JP2016045896A (ja) | 表示制御装置、表示装置、プログラム、記録媒体 | |
JP2009252185A (ja) | 情報検索装置、情報検索方法、制御プログラム及び記録媒体 | |
US9400926B2 (en) | Image processing apparatus, image processing method, and non-transitory computer readable medium | |
JP7331551B2 (ja) | 情報処理装置及び情報処理プログラム | |
CN110390323B (zh) | 信息处理装置以及计算机可读介质 | |
JP6152633B2 (ja) | 表示制御装置及びプログラム | |
JP2009288994A (ja) | 帳票出力管理装置及び帳票出力管理方法 | |
EP3287952A1 (en) | Input control program, input control device, input control method, character correction program, character correction device, and character correction method | |
JP2019169182A (ja) | 情報処理装置、制御方法、プログラム | |
JP7383882B2 (ja) | 情報処理装置、及び情報処理プログラム | |
CN115204121B (zh) | 教学电子书热区点读快速生成的方法、装置、计算机设备及存储介质 |