JP6325472B2 - データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム - Google Patents
データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム Download PDFInfo
- Publication number
- JP6325472B2 JP6325472B2 JP2015041286A JP2015041286A JP6325472B2 JP 6325472 B2 JP6325472 B2 JP 6325472B2 JP 2015041286 A JP2015041286 A JP 2015041286A JP 2015041286 A JP2015041286 A JP 2015041286A JP 6325472 B2 JP6325472 B2 JP 6325472B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- adjacent
- nodes
- inclusion
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
まず、図1を参照しながら、データ構造抽出装置10が扱う帳票ファイルについて説明する。
図2を用いてデータ構造抽出装置10の構成を説明する。データ構造抽出装置10は、データ構造抽出部11と、記憶部12とを備える。
次に、図3を用いてデータ構造抽出装置10のデータ構造抽出部11を詳細に説明する。データ構造抽出部11は、グラフ生成部13と、ノードクラスタ部138と、木構造推定部14と、帳票構造構築部143とを備える。なお、記憶部12の項目名データベース123は、装備する場合と装備しない場合があり、装備する場合については後記する。
グラフ生成部13は、操作インタフェース識別部131と、帳票書式情報取得部132と、ノード生成部133と、プロパティ情報取得部134と、隣接エッジ生成部135と、包含エッジ生成部136とを備える。項目名登録部137は、装備する場合と装備しない場合があり、装備する場合については後記する。
木構造推定部14は、部分木パターン生成部140と、木構造データ構築部141と、木構造選定部142とを備える。項目名割当部139は装備する場合と装備しない場合があり、装備する場合については後記する。
次に、図4−1を用いて、データ構造抽出装置10の処理手順を説明する。データ構造抽出装置10のデータ構造抽出部11において帳票ファイルの入力を受け付けると(S1)、グラフ生成部13は、帳票ファイルの項目名および帳票データを示すノードのグラフを生成する(S2)。つまり、グラフ生成部13は、帳票を構成する各ノードについて、各ノード間の隣接関係および包含関係を示すノード情報を生成する。また、グラフ生成部13は、帳票のプロパティ情報の取得も行う。次に、ノードクラスタ部138は、各ノードのノード情報に示される隣接エッジの連結性に基づいて各ノードをノードクラスタに分類する(S3)。そして、木構造推定部14は、ノードクラスタに分類されたノード群ごとに部分木パターンを生成し、生成した部分木パターンを組み合わせて木構造データを生成する(S4:木構造推定)。その後、帳票構造構築部143は、S4で生成された木構造データと、グラフ生成部13において取得した帳票のプロパティ情報とを統合し、帳票データベース122に登録する(S5:帳票構造構築)。
次に、図4−2を用いて、図4−1のS2のグラフ生成処理を詳細に説明する。まず、グラフ生成部13の操作インタフェース識別部131は、帳票ファイルの操作インタフェースの識別を行い(S131)、帳票書式情報取得部132は、帳票ファイルの書式情報の取得を行い(S132)、ノード生成部133は、帳票ファイルを構成するノード情報生成を行う(S133:ノード生成)。また、プロパティ情報取得部134は、帳票のファイル情報、ドキュメント情報、非ノード情報を当該帳票のプロパティ情報として集約し、帳票構造構築部143へ出力する(S134:プロパティ情報取得)。その後、隣接エッジ生成部135は、帳票の書式情報およびノード情報を参照して、当該帳票のノード間の隣接関係を示す隣接エッジを生成し、生成した隣接エッジを当該ノードのノード情報に追加する(S135:隣接エッジ生成)。その後、包含エッジ生成部136は、ノード情報に示される各ノードの隣接エッジおよび帳票の書式情報を参照して、各ノードの包含エッジを生成し、生成した包含エッジを当該ノードのノード情報に追加する(S136:包含エッジ生成)。
次に、図4−3を用いて、図4−1のS4の木構造推定処理を詳細に説明する。木構造推定部14の部分木パターン生成部140は、S3でノードクラスタに分類されたノード群について部分木パターンを生成する(S140)。そして、木構造推定部14は、S140で生成された部分木パターンを組み合わせて木構造データを構築する(S141)。その後、木構造選定部142は、S141で構築された木構造データが複数あれば、これらの中から木構造データを1つ選定する(S142)。
次に、図5−1を用いて、図4−2のS131の操作インタフェースの識別処理の一例を説明する。なお、以下の説明において、指定先への出力時のデータの記述言語は、例えば、CSV(Comma-Separated Values)、JSON(JavaScript(登録商標) Object Notation)、XML(eXtensible Markup Language)等を用いる。また、指定先への出力はフォルダごとに出力してもよいし、ZIP、CAB形式等のデータ圧縮を行った上で出力してもよい。
次に、図5−2を用いて、図4−2のS132の操作インタフェースの識別処理の一例を説明する。帳票書式情報取得部132は、帳票ファイルの操作インタフェース情報を読み込み(S1321)、帳票ファイルを読み込むと(S1322)、帳票ファイルからページ(シート)ごとの書式情報を取得し(S1323)、また、帳票ファイルからドキュメント情報を取得する(S1324)。そして、帳票書式情報取得部132は、取得した書式情報、ドキュメント情報に罫線情報があれば(S1325でYes)、取得した書式情報、ドキュメント情報を指定先に出力する(S1326)。例えば、書式情報についてはノード生成部133に出力し、ドキュメント情報についてはプロパティ情報取得部134へ出力する。なお、帳票書式情報取得部132は、取得した書式情報、ドキュメント情報に罫線情報がなければ(S1325でNo)、例えば、エラーメッセージとして「帳票として情報を登録しない」旨のユーザに返す(S1327)。
次に、図5−3、図5−4および図16−2を用いて、図4−2のS133のノード生成処理の一例を説明する。ノード生成部133は、書式情報を読み込み(S1331)、また、帳票構造ルール121を読み込み(S1332)、帳票構造ルール121のノード生成ルール(図16−1参照)に従い、書式情報からノード情報を取得する(S1333)。ノード情報は、例えば、図5−4に示すように、罫線で囲まれた文字列(例えば、「担当者」)、罫線で囲まれたセルの左上座標(px1,py1)および右下座標(px2,py2)、塗りつぶし色(例えば、白)、罫線の種類(例えば、実線)、罫線のサイズ(例えば、1pt)等である。この他、罫線で囲まれたセルの高さや幅の情報も含んでいてもよい。
次に、図5−5を用いて、図4−2のS134のプロパティ情報取得処理の一例を説明する。プロパティ情報取得部134は、ファイル情報を読み込み(S1341)、ドキュメント情報を読み込み(S1342)、非ノード情報を読み込み(S1343)、帳票構造ルール121を読み込む(S1344)。そして、プロパティ情報取得部134は、読み込んだ帳票構造ルール121に従って非ノード情報から帳票メタ情報を生成する(S1345)。帳票メタ情報とは、帳票のタイトル、日付、様式等の帳票に付随する情報である。
次に、図7−1および図7−2を用いて、図4−2のS135の隣接エッジ生成処理の一例を説明する。隣接エッジ生成部135は、図4−2のS133で生成されたノード情報を読み込み(S1351)、帳票構造ルール121を読み込む(S1352)。そして、隣接エッジ生成部135は、帳票構造ルール121に従い、各ノード間の隣接エッジを求め(S1353)、隣接関係をチェックする(S1354)。その後、隣接エッジ生成部135は、ノード情報にS1353で生成した隣接エッジ(隣接エッジ情報)を追加し(S1355)、隣接エッジ生成部135は隣接エッジ情報が追加されたノード情報を包含エッジ生成部136に出力する(S1356)。
次に、図7−3および図16−3を用いて、図7−1のS1353の各ノード間の隣接エッジを求める処理の一例を説明する。隣接エッジ生成部135は、図7−1のS1351で読み込んだノード情報を参照して、未探索のノードX,Yを定義すると(S13532)、ノードXとノードYが、隣接関係に関する帳票構造ルール121(図16−1の(a)の隣接エッジ生成ルール)を満たすか否かを判定する(S13533)。S13533において、隣接エッジ生成部135が、ノードXとノードYについて隣接関係に関する帳票構造ルール121を満たすと判定したとき(S13533でYes)、ノードX,Yに対して隣接方向に隣接エッジを張る(S13534)。そして、隣接エッジ生成部135は、全てのノード間の隣接関係をチェックしたと判定すると(S13535でYes)、隣接エッジ情報を出力する(S13536)。一方、S13533において、隣接エッジ生成部135がノードXとノードYについて隣接関係に関する帳票構造ルール121を満たさないと判定したとき(S13533でNo)、S13534をスキップしてS13535へ進む。一方、隣接エッジ生成部135は、まだノード間の隣接関係をチェックしていないものがあると判定すると(S13535でNo)、S13532へ戻る。
次に、図7−4および図16−4を用いて、図7−1のS1354の各ノード間の隣接関係をチェックする処理の一例を説明する。隣接エッジ生成部135は、S13536で出力された隣接エッジ情報を読み込み(S13541)、未確認のノードXについて隣接方向kを定義する(S13542)。なお、隣接方向kは、横方向、縦方向のいずれかを示し、例えば、横方向であればk=0とし、縦方向であればk=1とする。次に、隣接エッジ生成部135は、ノードXのk方向の隣接エッジが帳票構造ルール121(図16−1の(b)の隣接エッジチェックルール)を満たし(S13543でNo)、全ノード、全隣接方向を確認済みであれば(S13545でYes)、隣接エッジ情報を出力する(S13546)。一方、ノードXのk方向の隣接エッジが帳票構造ルール121(図16−1の(b)の隣接エッジチェックルール)を満たさなければ(S13543でYes)、当該隣接エッジを削除し(S13544)、S13545へ進む。また、S13545でいずれかのノードまたはいずれかの隣接方向を確認していなければ(S13545でNo)、S13541へ戻る。
次に、図8および図16−5を用いて、図4−2のS136の包含エッジ生成処理の一例を説明する。包含エッジ生成部136は、図4−2のS135で生成された隣接エッジ情報を含むノード情報を読み込み(S1361)、また、帳票構造ルール121を読み込む(S1362)。そして、包含エッジ生成部136は、未探索のノードX,Y、隣接方向kを定義すると(S1363)、任意のノードXと他のノードYとk方向(縦/横)方向について、包含関係に関する帳票構造ルール121(図16−1の(a)の包含エッジ生成ルール)を満たすか否かを判定する(S1364)。ここで、包含エッジ生成部136が任意のノードXと他のノードYとk方向(縦/横)方向について、包含関係に関する帳票構造ルール121を満たしていれば(S1364でYes)、ノードX,Y間に包含エッジを張る(S1365)。一方、包含エッジ生成部136が任意のノードXと他のノードYとk方向(縦/横)方向について、包含関係に関する帳票構造ルール121(図16−1の(a)の包含エッジ生成ルール)を満たしていなければ(S1364でNo)、S1365をスキップしてS1366へ進む。S1366で、全てのノード間の包含関係を確認済みであれば(S1366でYes)、ノード情報に包含エッジ情報を追加し(S1367)、当該ノード情報をノードクラスタ部138に出力する(S1368)。一方、まだいずれかのノード間の包含関係を確認済みでなければ(S1366でNo)、S1363へ戻る。
次に、図10−1、図10−2および図10−3を用いて、図4−1のS3のノードクラスタに分類する処理の一例を説明する。ノードクラスタ部138は、図4−1のS2のグラフ生成処理で生成されたノード情報を読み込み(S1381)、帳票構造ルール121を読み込む(S1382)。そして、ノードクラスタ部138は帳票構造ルール121(図16−1の(a)に示すノードクラスタ生成ルール)に従い、任意のノードXを始点として他のノードYのクラスタリングを行う(S1383)。その後、ノードクラスタ部138はクラスタリングされていないノードがあるか否かを確認し(S1384)、クラスタリングされていないノードがあれば(S1384でYes)、クラスタリングされていないノードをノードXとして選択し(S1385)、S1383に戻る。一方、ノードクラスタリングされていないノードがなければ(S1384でNo)、ノードクラスタ部138はノードクラスタを木構造推定部14に出力する(S1386)。
なお、図10−1のS1383の処理は、例えば、図10−3に示す処理手順により行われる。まず、ノードクラスタ部138は、ノードXのノード情報を読み込むと(S13831)、ノードXを始点として他のノードYを探索し(S13832)、ノードYを発見できなかったとき(S13833でNo)、ノードYがクラスタリング済みか否かを判定し(S13834)、ノードYがクラスタリング済みでなければ(S13834でNo)、ノードYをノードXと同じクラスタ(ノードクラスタ)に分類し、ノードYに分類済みのフラグをたてる(S13835)。その後、S13836へ進む。S13833でノードYを発見できたとき(S13833でYes)、S13839へ進む。またノードYがクラスタリング済みであれば(S13834でYes)、S13836へ進む。
次に、図12−1〜図12−5、図16−6および図16−7を用いて、図4−3のS140の部分木パターン生成処理の一例を説明する。部分木パターン生成部140は、図4−1のS3で分類されたノードクラスタのノード情報を読み込み(S1401)、帳票構造ルール121を読み込む(S1402)。そして、部分木パターン生成部140は、ノードクラスタ内の包含ノードの集合を取得し、探索済包含ノード集合に{φ}を設定する(S1403)。なお、包含ノードとは、ノード間の包含関係において他のノードを包含する側のノードであり、例えば、図16−5の符号161に示すノード群のうちノードXが包含ノードに相当する。
次に、図12−3を用いて、図12−1のS1405の部分木パターンの取得処理の一例を説明する。部分木パターン生成部140は、レベルnのC(X,k)を読み込み(S14051)、帳票構造ルール121を読み込む(S14052)。そして、部分木パターン生成部140は、C(X,k)の部分木パターンに{φ}を設定し(S14053)、nが1以上であれば(S14054のYes)、C(X,k)に含まれる直近階層の包含ノード(ノードX´)について、C(X´,k)をダミーノードとみなす(S14055)。例えば、部分木パターン生成部140は、図12−2に示すノード群のうち、符号1201に示すノード群を、図12−3の吹き出し1202に示すように1つのノード(ダミーノード)とみなす。なお、S14054でnが1以上でなければ(S14054でNo)、S14059へ進む。
次に、図12−4を用いて、図12−3のS14056およびS14060におけるC(X,k)についての木構造変換処理の一例を説明する。部分木パターン生成部140は、C(X,k)を読み込み(S140601)、木構造生成に関する帳票構造ルール121を読み込む(S140602)。そして、部分木パターン生成部140は、木構造生成に関する帳票構造ルール121(図16−1の(a)の木構造生成ルール)に従い、各ノードの隣接エッジの修正と項目属性の設定を行う(S140603)。
次に、図13を用いて、図4−3のS141の木構造データ構築処理を説明する。木構造データ構築部141は、S140で生成された各包含ノードの部分木パターンを読み込み(S1411)、ノードクラスタのノード情報を読み込み(S1412)、帳票構造ルール121を読み込む(S1413)。そして、木構造データ構築部141は、木構造データの集合に{φ}を設定した後(S1414)、ノードの重複がないような部分木パターンの組み合わせを求める(S1415)。その後、木構造データ構築部141は、部分木パターンの組み合わせ群から、未確認の部分木パターンの組み合わせを選ぶ(S1416)。つまり、後記するS1419の処理を行っていない部分木パターンの組み合わせを選ぶ。その後、木構造データ構築部141は、S1412で読み込んだノードクラスタのノード情報を参照して、S1416で選んだ部分木パターンの組み合わせについて、不足しているノードを追加する(S1417)。
次に、図14−1を用いて、図4−3のS142の木構造データ選定処理を説明する。木構造選定部142は、木構造データ構築部141から出力された木構造データを読み込む(S1421)。ここで、読み込んだ木構造データが1種類でなければ(S1422でNo)、木構造データ選定に関する帳票構造ルール121を読み込み(S1423)、木構造データ選定に関する帳票構造ルール121(図16−1の(b)の木構造データ選定ルール)に従い、木構造データの選定処理を行い(S1424)、選定した木構造データを出力する(S1425)。一方、読み込んだ木構造データが1種類であれば(S1422でYes)、木構造選定部142は、読み込んだ木構造データを出力する(S1425)。
次に、図15を用いて、図4−1のS5の帳票構造構築処理を説明する。帳票構造構築部143は、木構造推定部14により出力された木構造データを読み込むと(S1431)、全ノードクラスタの木構造データを取得済みか否かを判定し(S1433)、全ノードクラスタの木構造データを取得済みであれば(S1433のYes)、ノードクラスタを統合する(S1434)。そして、帳票構造構築部143は、プロパティ情報取得部134から出力されたプロパティ情報を読み込み(S1435)、このプロパティ情報を含む帳票構成に木構造データを追加する(S1436)。これを帳票構成情報とする。
なお、データ構造抽出装置10は、帳票ファイルから抽出した項目名を項目名データベース123に登録しておき、新たな帳票ファイルを受け付けたときには、この項目名データベース123を参照して、ノードクラスタのノードの項目属性を付与するようにしてもよい。
図9を用いて項目名登録部137の処理手順の例を説明する。項目名登録部137は、ノード生成部133から出力された帳票のノード情報を読み込み(S1371)、項目名判断に関する帳票構造ルール121を読み込む(S1372)。そして、項目名登録部137は、当該帳票のノード情報が項目名の判断に関する帳票構造ルール121を満たすと判断したとき(S1373でYes)、当該帳票をテンプレートとみなし、項目名の判断に関する帳票構造ルール121に従って、各ノードから文字列情報を抜き出す(S1374)。その後、項目名登録部137は、抜き出した文字列から文の構造を省き(S1375)、抜き出した文字列を項目名データベース123に登録する(S1376)。一方、項目名登録部137は、当該帳票のノード情報が項目名の判断に関する帳票構造ルール121を満たさないと判断したとき(S1373でNo)、処理を終了する。
図11を用いて項目名割当部139の処理手順の例を説明する。項目名割当部139は、ノードクラスタのノード情報を読み込み(S1391)、項目名データベース123の項目名リストを読み込む(S1392)。次に、項目名割当部139は、ノードクラスタの未確認のノードをノードXとし(S1393)、任意のノードXの文字列が項目リスト上に存在すれば(S1394のYes)、ノードXの項目属性に「項目名」を割り当て(S1395)、ノードXの文字列が項目リスト上に存在しなければ(S1394のNo)、ノードXの項目属性を割り当てない(S1396)。S1395、S1396の後、項目名割当部139が全てのノードを確認した(つまり、S1393以降の処理を実行した)と判断すると(S1397でYes)、ノードクラスタのノード情報を部分木パターン生成部140に出力する(S1398)。一方、項目名割当部139において未確認のノードがあれば(S1397でNo)、S1393へ戻る。
また、上記実施形態に係るデータ構造抽出装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、データ構造抽出装置10と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
11 データ構造抽出部
12 記憶部
13 グラフ生成部
121 帳票構造ルール
122 帳票データベース
123 項目名データベース
131 操作インタフェース識別部
132 帳票書式情報取得部
133 ノード生成部
134 プロパティ情報取得部
135 隣接エッジ生成部
136 包含エッジ生成部
137 項目名登録部
138 ノードクラスタ部
139 項目名割当部
140 部分木パターン生成部
141 木構造データ構築部
142 木構造選定部
143 帳票構造構築部
Claims (9)
- 帳票の書式情報を参照して、前記帳票の項目名を示すノードおよびデータを示すノードを生成するノード生成部と、
前記帳票の書式情報を参照して、前記ノード間の隣接関係を示す隣接エッジを生成する隣接エッジ生成部と、
前記ノードの隣接エッジおよび前記帳票の書式情報を参照して、前記ノードの位置およびサイズから、前記ノード間の縦方向または横方向の包含関係を示す包含エッジを生成する包含エッジ生成部と、
前記隣接エッジの連結性に基づいて前記ノードをノードクラスタに分類するノードクラスタ部と、
前記ノードクラスタに分類されたノード群の包含エッジを参照して、前記包含関係を有するノード群について、帳票上の項目名とデータの並びに関する特性を満たすように、前記隣接エッジの修正および各ノードが項目名かデータかの項目属性の設定を行って部分木パターンを生成する部分木パターン生成部と、
前記部分木パターンを前記ノードの重複がないように組み合わせることにより前記帳票の木構造データを生成する木構造データ構築部と、
を備えることを特徴とするデータ構造抽出装置。 - 前記包含エッジ生成部は、
前記ノードの隣接エッジおよび前記帳票の書式情報を参照して、前記ノードの右方向に隣接するノードが2つ以上あり、前記ノードの右方向に隣接するノードのy座標が全て前記ノードのy座標の範囲にあり、前記ノードの右方向に隣接するノードのy座標のいずれか1つが前記ノードの始点のy座標と重なり、かつ前記ノードの右方向に隣接するノードのy座標のいずれか1つが前記ノードの終点のy座標と重なるとき、前記隣接するノードおよび当該ノードに隣接するノードを、前記ノードと包含関係のあるノードとして前記包含エッジを生成することを特徴とする請求項1に記載のデータ構造抽出装置。 - 前記包含エッジ生成部は、
前記ノードの隣接エッジおよび前記帳票の書式情報を参照して、前記ノードの下方向に隣接するノードが2つ以上あり、前記ノードの下方向に隣接するノードのx座標が全て前記ノードのx座標の範囲にあり、前記ノードの右方向に隣接するノードのx座標のいずれか1つが前記ノードの始点のx座標と重なり、かつ前記ノードの下方向に隣接するノードのx座標のいずれか1つが前記ノードの終点のx座標と重なるとき、前記隣接するノードおよび当該ノードに隣接するノードを、前記ノードと包含関係のあるノードとして前記包含エッジを生成することを特徴とする請求項1に記載のデータ構造抽出装置。 - 前記部分木パターン生成部は、
前記ノードクラスタに分類されたノード群が、複数の階層にわたる包含関係を有するとき、前記階層ごとに前記部分木パターンを生成することを特徴とする請求項1〜3のいずれか1項に記載のデータ構造抽出装置。 - 前記部分木パターン生成部は、
前記部分木パターンの生成の過程で、格子状に連結されたノード群を検出したとき、前記ノード群のノードそれぞれの項目属性および配置位置に基づき、前記ノード群の示す帳票構造が、項目とデータとが一対一の関係である列挙型か、項目とデータとが一対多の関係である表型かを推定し、推定結果に基づき、前記ノード群の隣接エッジを修正することを特徴とする請求項1〜4のいずれか1項に記載のデータ構造抽出装置。 - 前記データ構造抽出装置は、さらに、
前記ノードのうち項目名である可能性のあるノードから文字列を抜き出し、項目名データベースに登録する項目名登録部と、
前記項目名データベースに登録された文字列を参照して、前記ノードクラスタの各ノードに対して前記項目属性を付与する項目名割当部とを備えることを特徴とする請求項1〜5のいずれか1項に記載のデータ構造抽出装置。 - 前記データ構造抽出装置は、さらに、
前記木構造データ構築部が、1つの帳票について複数の木構造データを生成したとき、前記複数の木構造データの差分情報を出力する木構造選定部を備えることを特徴とする請求項1〜6のいずれか1項に記載のデータ構造抽出装置。 - データ構造抽出装置により実行されるデータ構造抽出方法であって、
帳票の書式情報を参照して、前記帳票の項目名を示すノードおよびデータを示すノードを生成するステップと、
前記帳票の書式情報を参照して、前記ノード間の隣接関係を示す隣接エッジを生成するステップと、
前記ノードの隣接エッジおよび前記帳票の書式情報を参照して、前記ノードの位置およびサイズから、前記ノード間の縦方向または横方向の包含関係を示す包含エッジを生成するステップと、
前記隣接エッジの連結性に基づいて前記ノードをノードクラスタに分類するステップと、
前記ノードクラスタに分類されたノード群の包含エッジを参照して、前記包含関係を有するノード群について、帳票上の項目名とデータの並びに関する特性を満たすように、前記隣接エッジの修正および各ノードが項目名かデータかの項目属性の設定を行って部分木パターンを生成するステップと、
前記部分木パターンを前記ノードの重複がないように組み合わせることにより前記帳票の木構造データを生成するステップと、
を含んだことを特徴とするデータ構造抽出方法。 - 帳票の書式情報を参照して、前記帳票の項目名を示すノードおよびデータを示すノードを生成するステップと、
前記帳票の書式情報を参照して、前記ノード間の隣接関係を示す隣接エッジを生成するステップと、
前記ノードの隣接エッジおよび前記帳票の書式情報を参照して、前記ノードの位置およびサイズから、前記ノード間の縦方向または横方向の包含関係を示す包含エッジを生成するステップと、
前記隣接エッジの連結性に基づいて前記ノードをノードクラスタに分類するステップと、
前記ノードクラスタに分類されたノード群の包含エッジを参照して、前記包含関係を有するノード群について、帳票上の項目名とデータの並びに関する特性を満たすように、前記隣接エッジの修正および各ノードが項目名かデータかの項目属性の設定を行って部分木パターンを生成するステップと、
前記部分木パターンを前記ノードの重複がないように組み合わせることにより前記帳票の木構造データを生成するステップと、
をコンピュータに実行させることを特徴とするデータ構造抽出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015041286A JP6325472B2 (ja) | 2015-03-03 | 2015-03-03 | データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015041286A JP6325472B2 (ja) | 2015-03-03 | 2015-03-03 | データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016162275A JP2016162275A (ja) | 2016-09-05 |
JP6325472B2 true JP6325472B2 (ja) | 2018-05-16 |
Family
ID=56847055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015041286A Active JP6325472B2 (ja) | 2015-03-03 | 2015-03-03 | データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6325472B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6612680B2 (ja) * | 2016-06-02 | 2019-11-27 | 日本電信電話株式会社 | 論理関係認識装置、論理関係認識方法および論理関係認識プログラム |
CN112313691B (zh) * | 2018-06-25 | 2024-06-28 | 株式会社工程师论坛 | 匹配分数计算装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4853891B2 (ja) * | 2004-12-27 | 2012-01-11 | 公立大学法人広島市立大学 | 文書構造情報の作成方法 |
-
2015
- 2015-03-03 JP JP2015041286A patent/JP6325472B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016162275A (ja) | 2016-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930159A (zh) | 一种基于图像的界面代码生成的方法及系统 | |
US8824798B2 (en) | Information processing device, computer readable medium storing information processing program, and information processing method | |
CN106255979B (zh) | 行分割方法 | |
CN111512315A (zh) | 文档元数据的按块提取 | |
JP2007095102A (ja) | 文書処理装置および文書処理方法 | |
CN113723270A (zh) | 基于rpa及ai的文件处理方法及装置 | |
KR101549792B1 (ko) | 문서 자동 작성 장치 및 방법 | |
US11321558B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
US10762377B2 (en) | Floating form processing based on topological structures of documents | |
TW200416583A (en) | Definition data generation method of account book voucher and processing device of account book voucher | |
CN112651217B (zh) | 论文文档的处理方法、处理装置、电子设备及存储介质 | |
JP2011150466A (ja) | 文字列認識装置、文字列認識プログラムおよび文字列認識方法 | |
JP2009122723A (ja) | 帳票データ抽出プログラム、帳票データ抽出装置および帳票データ抽出方法 | |
JP6325472B2 (ja) | データ構造抽出装置、データ構造抽出方法およびデータ構造抽出プログラム | |
JP2011070558A (ja) | 文書画像処理装置、文書画像処理方法および文書画像処理プログラム | |
CN114724156B (zh) | 表单识别方法、装置及电子设备 | |
WO2016056236A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
US9524354B2 (en) | Device, method, and program for processing data with tree structure | |
JP2010108208A (ja) | 文書処理装置 | |
US10402484B2 (en) | Aligning annotation of fields of documents | |
US9049400B2 (en) | Image processing apparatus, and image processing method and program | |
CN106933844B (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 | |
JP2009252185A (ja) | 情報検索装置、情報検索方法、制御プログラム及び記録媒体 | |
JP6430919B2 (ja) | 罫線枠補正方法、罫線枠補正装置および罫線枠補正プログラム | |
US10803308B2 (en) | Apparatus for deciding whether to include text in searchable data, and method and storage medium thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6325472 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |