(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-19
(54)【発明の名称】グラフ・ニューラル・ネットワークを用いたポータブル・ドキュメント・フォーマットの表形式データの自動描写及び抽出
(51)【国際特許分類】
G06F 40/177 20200101AFI20240112BHJP
G06F 18/213 20230101ALI20240112BHJP
G06N 20/00 20190101ALI20240112BHJP
G06N 3/09 20230101ALI20240112BHJP
G06F 40/151 20200101ALI20240112BHJP
G06N 3/04 20230101ALI20240112BHJP
【FI】
G06F40/177
G06F18/213
G06N20/00 130
G06N3/09
G06F40/151
G06N3/04 100
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023531043
(86)(22)【出願日】2021-11-17
(85)【翻訳文提出日】2023-05-23
(86)【国際出願番号】 CN2021131195
(87)【国際公開番号】W WO2022116827
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000316
【氏名又は名称】弁理士法人ピー・エス・ディ
(72)【発明者】
【氏名】ジョン、ピーター
(72)【発明者】
【氏名】ヒメノイエペス、アントニオ、ホゼ
【テーマコード(参考)】
5B109
【Fターム(参考)】
5B109TA11
(57)【要約】
ポータブル・ドキュメント・フォーマット(PDF)の表形式データの自動描写及び抽出のための方法が開示される。方法は、1つ又は複数のプロセッサが、テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出することを含み、メタデータは、表形式データの文字及び境界線と関連付けられる。方法は、メタデータに少なくとも部分的に基づいて、テキスト・ベースのPDFの表形式データに対応するグラフ構造を生成することをさらに含む。方法は、グラフ構造のベクトル表現を生成することをさらに含む。方法は、ベクトル表現に少なくとも部分的に基づいて、表形式データに対応するツリー構造を構築することをさらに含む。
【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサにより、テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出することであって、前記メタデータは前記表形式データの文字及び境界線と関連付けられる、抽出することと、
1つ又は複数のプロセッサにより、前記メタデータに少なくとも部分的に基づいて、前記テキスト・ベースのPDFの表形式データに対応するグラフ構造を生成することと、
1つ又は複数のプロセッサにより、前記グラフ構造のベクトル表現を生成することと、
1つ又は複数のプロセッサにより、前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応するツリー構造を構築することと
を含む、方法。
【請求項2】
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データに少なくとも部分的に基づいて、前記ツリー構造の1つ又は複数のリーフに属性を割り当てることをさらに含む、請求項1に記載の方法。
【請求項3】
前記テキスト・ベースのPDFの前記表形式データに対応する前記メタデータを抽出することは、
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データの各文字に対応する文字情報を識別することであって、前記文字情報は前記テキスト・ベースのPDFの前記表形式データの各文字の位置を含む、識別することと、
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データの各境界線に対応する境界情報を識別することであって、前記境界情報は前記テキスト・ベースのPDFの前記表形式データの各境界線の位置を含む、識別することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記テキスト・ベースのPDFの前記表形式データに対応する前記グラフ構造を生成することは、
1つ又は複数のプロセッサにより、前記メタデータの文字位置情報に少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データの各文字に対応するノードを生成することと、
1つ又は複数のプロセッサにより、三角形分割技術に少なくとも部分的に基づいて、それぞれのノードのセットに関連する複数の頂点を識別することであって、前記ノードのセットの生成されたノードの各々は前記表形式データの文字に対応する、識別することと、
1つ又は複数のプロセッサにより、前記複数の頂点に関連する複数のエッジを決定することであって、前記複数のエッジは前記それぞれのノードのセットの間の隣接関係を表す、決定することと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記グラフ構造の前記ベクトル表現を生成することは、
1つ又は複数のプロセッサにより、前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のノードのセットのうちの1つのノードに対応する第1の特徴ベクトルのセットを生成することであって、前記ノードは前記表形式データの文字に対応する、生成することと、
1つ又は複数のプロセッサにより、前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のエッジのセットのうちの1つのエッジに対応する第2の特徴ベクトルのセットを生成することと、
1つ又は複数のプロセッサにより、アテンション・グラフ・ニューラル・ネットワークである機械学習アルゴリズムを用いて前記グラフ構造の前記ノードのセット及び前記エッジのセットを特徴空間にエンコードすることと
をさらに含む、請求項1に記載の方法。
【請求項6】
1つ又は複数のプロセッサにより、前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の訓練セットを作成することと、
1つ又は複数のプロセッサにより、前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の試験セットを作成することと、
1つ又は複数のプロセッサにより、1つ又は複数の教師あり訓練方法を用いて前記機械学習アルゴリズムを訓練することであって、前記機械学習アルゴリズムはツリー・ビルダー・モデル及びセル・ビルダー・モデルを含む、訓練することと
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応する前記ツリー構造を構築することは、
1つ又は複数のプロセッサにより、前記ツリー構造の親ノード及び子ノードを構成するアクションを選択することであって、前記アクションは前記表形式データの要素に対応する、選択することと、
1つ又は複数のプロセッサにより、前記ツリー構造の前記構成された親ノードと子ノードとの間のブランチ割り当てを決定することと
をさらに含む、請求項1に記載の方法。
【請求項8】
1つ又は複数のコンピュータ可読ストレージ媒体と、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令とを含み、前記プログラム命令は、
テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出するためのプログラム命令と、
前記メタデータに少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データに対応するグラフ構造を生成するためのプログラム命令と、
前記グラフ構造のベクトル表現を生成するためのプログラム命令と、
前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応するツリー構造を構築するためのプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項9】
前記テキスト・ベースのPDFの前記表形式データに少なくとも部分的に基づいて、前記ツリー構造の1つ又は複数のリーフに属性を割り当てるための、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項10】
前記テキスト・ベースのPDFの前記表形式データに対応する前記メタデータを抽出するためのプログラム命令は、
前記テキスト・ベースのPDFの前記表形式データの各文字に対応する文字情報を識別することであって、前記文字情報は前記テキスト・ベースのPDFの前記表形式データの各文字の位置を含む、識別することと、
前記テキスト・ベースのPDFの前記表形式データの各境界線に対応する境界情報を識別することであって、前記境界情報は前記テキスト・ベースのPDFの前記表形式データの各境界線の位置を含む、識別することと
を行うためのプログラム命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項11】
前記テキスト・ベースのPDFの前記表形式データに対応する前記グラフ構造を生成するためのプログラム命令は、
前記メタデータの文字位置情報に少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データの各文字に対応するノードを生成することと、
三角形分割技術に少なくとも部分的に基づいて、それぞれのノードのセットに関連する複数の頂点を識別することであって、前記ノードのセットの生成されたノードの各々は前記表形式データの文字に対応する、識別することと、
前記複数の頂点に関連する複数のエッジを決定することであって、前記複数のエッジは前記それぞれのノードのセットの間の隣接関係を表す、決定することと
を行うための命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項12】
前記グラフ構造の前記ベクトル表現を生成するためのプログラム命令は、
前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のノードのセットのうちの1つのノードに対応する第1の特徴ベクトルのセットを生成することであって、前記ノードは前記表形式データの文字に対応する、生成することと、
前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のエッジのセットのうちの1つのエッジに対応する第2の特徴ベクトルのセットを生成することと、
機械学習アルゴリズムを用いて前記グラフ構造の前記ノードのセット及び前記エッジのセットを特徴空間にエンコードすることであって、前記機械学習アルゴリズムはアテンション・グラフ・ニューラル・ネットワークである、エンコードすることと
を行うためのプログラム命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項13】
前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の訓練セットを作成することと、
前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の試験セットを作成することと、
1つ又は複数の教師あり訓練方法を用いて前記機械学習アルゴリズムを訓練することであって、前記機械学習アルゴリズムはツリー・ビルダー・モデル及びセル・ビルダー・モデルを含む、訓練することと
を行うための、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応する前記ツリー構造を構築するためのプログラム命令は、
前記ツリー構造の親ノード及び子ノードを構成するアクションを選択することであって、前記アクションは前記表形式データの要素に対応する、選択することと、
前記ツリー構造の前記構成された親ノードと子ノードとの間のブランチ割り当てを決定することと
を行うためのプログラム命令をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項15】
1つ又は複数のコンピュータ・プロセッサと、
1つ又は複数のコンピュータ可読ストレージ媒体と、
前記1つ又は複数のプロセッサの少なくとも1つにより実行される、前記コンピュータ可読ストレージ媒体上に格納されたプログラム命令と
を含み、前記プログラム命令は、
テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出するためのプログラム命令であって、前記メタデータは前記表形式データの文字及び境界線と関連付けされる、プログラム命令と、
前記メタデータに少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データに対応するグラフ構造を生成するためのプログラム命令と、
前記グラフ構造のベクトル表現を生成するためのプログラム命令と、
前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応するツリー構造を構築するためのプログラム命令と
を含む、コンピュータ・システム。
【請求項16】
前記テキスト・ベースのPDFの前記表形式データに少なくとも部分的に基づいて、前記ツリー構造の1つ又は複数のリーフに属性を割り当てるための、前記1つ又は複数のプロセッサの少なくとも1つにより実行される、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項17】
前記テキスト・ベースのPDFの前記表形式データに対応する前記メタデータを抽出するためのプログラム命令は、
前記テキスト・ベースのPDFの前記表形式データの各文字に対応する文字情報を識別することであって、前記文字情報は前記テキスト・ベースのPDFの前記表形式データの各文字の位置を含む、識別することと、
前記テキスト・ベースのPDFの前記表形式データの各境界線に対応する境界情報を識別することであって、前記境界情報は前記テキスト・ベースのPDFの前記表形式データの各境界線の位置を含む、識別することと
を行うためのプログラム命令をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項18】
前記テキスト・ベースのPDFの前記表形式データに対応する前記グラフ構造を生成するためのプログラム命令は、
前記メタデータの文字位置情報に少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データの各文字に対応するノードを生成することと、
三角形分割技術に少なくとも部分的に基づいて、それぞれのノードのセットに関連する複数の頂点を識別することであって、前記ノードのセットの生成されたノードの各々は前記表形式データの文字に対応する、識別することと、
前記複数の頂点に関連する複数のエッジを決定することであって、前記複数のエッジは前記それぞれのノードのセットの間の隣接関係を表す、決定することと
を行うためのプログラム命令をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項19】
前記グラフ構造の前記ベクトル表現を生成するためのプログラム命令は、
前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のノードのセットのうちの1つのノードに対応する第1の特徴ベクトルのセットを生成することであって、前記ノードは前記表形式データの文字に対応する、生成することと、
前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のエッジのセットのうちの1つのエッジに対応する第2の特徴ベクトルのセットを生成することと、
機械学習アルゴリズムを用いて前記グラフ構造の前記ノードのセット及び前記エッジのセットを特徴空間にエンコードすることであって、前記機械学習アルゴリズムはアテンション・グラフ・ニューラル・ネットワークである、エンコードすることと
を行うためのプログラム命令さらに含む、請求項15に記載のコンピュータ・システム。
【請求項20】
前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の訓練セットを作成することと、
前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の試験セットを作成することと、
1つ又は複数の教師あり訓練方法を用いて前記機械学習アルゴリズムを訓練することであって、前記機械学習アルゴリズムはツリー・ビルダー・モデル及びセル・ビルダー・モデルを含む、訓練することと
を行うための、前記1つ又は複数のプロセッサの少なくとも1つにより実行される、前記1つ又は複数のコンピュータ可読ストレージ媒体上に格納されたプログラム命令をさらに含む、請求項19に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、機械学習の分野に関し、より詳細には、ポータブル・ドキュメント・フォーマットの表形式データの描写(delineation)及び抽出(extraction)に関する。
【背景技術】
【0002】
多くの学習タスクでは、要素間の豊富な関係情報を含むグラフ・データを扱うことが必要である。グラフ・ニューラル・ネットワーク(GNN)は、グラフのノード間のメッセージ・パッシングを介してグラフの依存性をキャプチャするコネクショニスト・モデルである。標準的なニューラル・ネットワークとは異なり、グラフ・ニューラル・ネットワークは、任意の深さの近隣からの情報を表現できる状態を保持する。プリミティブなGNNは不動点(fixed point)のための訓練が困難であることが分かっているが、ネットワーク・アーキテクチャ、最適化技術、並列計算における最近の進歩により、それらを用いた学習の成功が可能になった。近年、上述した多くのタスクにおいて、グラフ畳み込みネットワーク(graph convolutional network、GCN)、グラフ・アテンション・ネットワーク(graph attention network、GAT)、ゲート付きグラフ・ニューラル・ネットワーク(gated graph neural network、GGNN)などのグラフ・ニューラル・ネットワークの変形に基づくシステムは、画期的な性能を示している。
【0003】
グラフ・アテンション・ネットワーク(GAT)は、グラフ構造化データ上で動作する新規なニューラル・ネットワーク・アーキテクチャであり、マスクされた自己アテンション(self-attention)層を活用する。ノードが近隣の特徴に注目することができる層を積み重ねることで、どのような種類の費用のかかる行列演算(逆行列計算など)も必要とせず、又はグラフ構造を前もって知ることに依存せず、近隣の異なるノードに異なる重みを(例えば、暗黙的に)指定することが可能になる。
【0004】
平面における離散点の所与のセット「P」についてのドロネー三角形分割(Delaunay triangulation)(デローニ三角形分割(Delone triangulation)としても知られる)は、「P」におけるどの点も「DT(P)」における任意の三角形の外心内にないような三角形分割DT(P)である。一般の位置にある離散点セット「P」のドロネー三角形分割は、「P」についてのボロノイ図の双対グラフに対応する。ドロネー三角形の外心はボロノイ図の頂点である。2Dの場合、ボロノイ頂点は、ドロネー三角形の隣接関係から得ることができるエッジを介して接続される。
【発明の概要】
【0005】
本発明の態様は、ポータブル・ドキュメント・フォーマット(PDF)の表形式データの自動描写及び抽出のための方法、コンピュータ・プログラム製品、及びシステムを開示する。方法は、1つ又は複数のプロセッサが、テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出することを含み、メタデータは、表形式データの文字及び境界線と関連付けられる。方法は、1つ又は複数のプロセッサが、メタデータに少なくとも部分的に基づいて、テキスト・ベースのPDFの表形式データに対応するグラフ構造を生成することをさらに含む。方法は、1つ又は複数のプロセッサが、グラフ構造のベクトル表現を生成することをさらに含む。方法は、1つ又は複数のプロセッサが、ベクトル表現に少なくとも部分的に基づいて、表形式データに対応するツリー構造を構築することをさらに含む。
【図面の簡単な説明】
【0006】
【
図1】本発明の実施形態による、データ処理環境の機能ブロック図である。
【
図2】本発明の実施形態による、ポータブル・ドキュメント・フォーマット(PDF)の表形式データの自動描写及び抽出のための、
図1のデータ処理環境内でのプログラムの動作ステップを示すフローチャートである。
【
図3A】本発明の実施形態による、テキスト・ベースのPDFの表の例示を示す図である。
【
図3B】本発明の実施形態による、テキスト・ベースのPDF文書の表の分解組立図の例示を示す図である。
【
図3C】本発明の実施形態による、テキスト・ベースのPDF文書の表に対応するツリー構造の例示を示す図である。
【
図4】本発明の実施形態による、
図1のコンポーネントのブロック図である。
【発明を実施するための形態】
【0007】
本発明の実施形態は、ポータブル・ドキュメント・フォーマット(PDF)内の表形式データの自動描写及び抽出を可能にする。本発明の実施形態は、テキスト・ベースのPDFフォーマットの表形式データを、各文字がノードとして扱われるグラフとして表形式データのPDFファイルを定式化する構造フォーマットに変換する。本発明の実施形態は、生成されたグラフのノードをベクトル表現にエンコードする。本発明の付加的な実施形態は、1つ又は複数のノード埋め込み及び隣接関係から表形式データに対応するツリー構造を作成する。本発明のさらに別の実施形態は、属性を生成されたツリー構造のリーフに割り当てる。
【0008】
3兆を超える文書がポータブル・ドキュメント・フォーマット(PDF)で利用可能であり、これらの文書は、自然言語で伝えるよりも効果的に情報を要約する多くの表を含むことができる。PDF文書は、画面又は紙にいつでも印刷できるが、機械可読ではない。その結果、これらの文書を機械可読にし、自然言語処理アルゴリズムによる自動処理を可能にするための努力がなされてきた。
【0009】
本発明の幾つかの実施形態は、PDF文書の表を理解するための規則ベースの手法が、規則の生成者の能力に制限され、訓練可能ではなく、その結果、新しい文書ドメインのために自動的に最適化できないことを認識する。さらに、機械学習手法は、PDF文書の表形式領域を画像に変換し、コンピュータ・ビジョン・モデルで分析することを必要とするが、これは、解像度及びグラフィックス処理ユニット(GPU)メモリに関連する問題に直面し、PDF文書ファイルの貴重なメタデータを利用するものではない。本発明の種々の実施形態は、PDF文書のメタデータを利用して表形式データのグラフを定式化し、グラフのノード及びエッジをエンコードすることにより、このような問題を改善する。さらに、本発明の実施形態は、エンコードされたグラフ特徴を利用して、表形式データのツリー構造を再構築し、ツリー構造のリーフの属性を決定する。
【0010】
本発明の実施形態は、コンピュータ・ビジョン・モデルを介して表形式データを処理する間、コンピューティング・システムがGPUメモリの問題を経験することを認識する。本発明の種々の実施形態は、グラフ・ニューラル・ネットワーク(GNN)ベースの解決法を利用し、表形式データに対応するメタデータを用いてテキスト・ベースのPDFフォーマットの表形式データを構造フォーマットに変換することにより、コンピューティング・システムの効率を高めるように動作することができる。その結果、PDFファイルの表形式データを画像に変換し、変換された画像から情報を抽出することに関連したGPUメモリの問題を排除することにより、利用される処理リソースの量が低減する。
【0011】
本発明の実施形態の実装は、様々な形をとることができ、例示的な実装の詳細は、図を参照して後述される。
【0012】
ここで、図を参照して本発明を詳細に説明する。
図1は、本発明の一実施形態による、全体が100と示される分散データ処理環境を示す機能ブロック図である。
図1は1つの実装の例示を提供するものに過ぎず、異なる実施形態を実装することができる環境に関するいかなる制限も意味するものではない。特許請求の範囲により述べられる本発明の範囲から逸脱することなく、当業者により、示される環境に対する多くの修正を行うことができる。
【0013】
本発明は、個人データ、コンテンツ、又はユーザが処理されないことを望む情報を含むことができる、データベース144などの種々のアクセス可能なデータ・ソースを含むことができる。個人データには、個人識別情報又は機密個人情報、並びに追跡もしくは地理位置情報などのユーザ情報が含まれる。処理とは、個人データに対して行われる、収集、記録、組織化、構造化、格納、適合、変更、検索、協議、使用、伝送による開示、流布、又は他の方法で利用可能にすること、組み合わせ、制限、消去、又は破壊などの、任意の自動又は非自動の動作又は動作のセットを指す。表プログラム200は、個人データの認可された安全な処理を可能にする。表プログラム200は、インフォームド・コンセントを提供し、個人データの収集を通知して、ユーザが個人データの処理をオプト・イン又はオプト・アウトすることを可能にする。同意は、幾つかの形を取ることができる。オプト・イン同意は、個人データが処理される前に、肯定的アクションをとるよう、ユーザに課すことができる。或いは、オプト・アウト同意は、個人データが処理される前に、個人データの処理を防止するために肯定的アクションを取るよう、ユーザに課すことができる。表プログラム200は、個人データ及び処理の性質(例えば、タイプ、範囲、目的、期間など)に関する情報を提供する。表プログラム200は、格納された個人データのコピーをユーザに提供する。表プログラム200は、不正確又は不完全な個人データの訂正又は補完を可能にする。表プログラム200は、個人データの即時削除を可能にする。
【0014】
分散データ処理環境100は、全てがネットワーク110を介して相互接続されるサーバ140及びクライアント・デバイス120を含む。ネットワーク110は、例えば、電気通信ネットワーク、ローカル・エリア・ネットワーク(LAN)、都市域(municipal)エリア・ネットワーク(MAN)、インターネットなどの広域ネットワーク(WAN)、又はこの3つの組み合わせとすることができ、有線、無線、又は光ファイバ接続を含むことができる。ネットワーク110は、音声、データ、及びビデオ情報を含む、マルチメディア信号を含むデータ、音声、もしくはビデオ信号、又はそれらの組み合わせを受送信することができる1つ又は複数の有線もしくは無線ネットワーク、又はその両方を含むことができる。一般に、ネットワーク110は、分散データ処理環境100内のサーバ140及びクライアント・デバイス120、並びに他のコンピューティング・デバイス(図示せず)の間の通信をサポートする接続及びプロトコルの任意の組み合わせとすることができる。
【0015】
クライアント・デバイス120は、ラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、スマート・ウォッチ、スマート・スピーカ、仮想アシスタント、又はネットワーク110を介して分散データ処理環境100内の種々のコンポーネント及びデバイスと通信することができる任意のプログラム可能電子デバイスのうちの1つ又は複数とすることができる。一般に、クライアント・デバイス120は、機械可読プログラム命令を実行し、ネットワーク110などのネットワークを介して分散データ処理環境100内の他のコンピューティング・デバイス(図示せず)と通信することができる1つ又は複数のプログラム可能電子デバイス又はプログラム可能電子デバイスの組み合わせを表す。本発明の実施形態によれば、クライアント・デバイス120は、
図4に関して示され、さらに詳細に説明されるようなコンポーネントを含むことができる。
【0016】
クライアント・デバイス120は、ユーザ・インターフェース122及びアプリケーション124を含む。本発明の種々の実施形態において、ユーザ・インターフェースは、デバイスのユーザとクライアント・デバイス上に存在する複数のアプリケーションとの間のインターフェースを提供するプログラムである。ユーザ・インターフェース122のようなユーザ・インターフェースは、プログラムがユーザに提示する情報(グラフィック、テキスト、音声など)と、プログラムを制御するためにユーザが採用する制御シーケンスとを指す。様々なタイプのユーザ・インターフェースが存在する。一実施形態において、ユーザ・インターフェース122は、グラフィカル・ユーザ・インターフェースである。グラフィカル・ユーザ・インターフェース(GUI)は、テキスト・ベースのインターフェース、タイプされたコマンド・ラベル、又はテキスト・ナビゲーションとは対照的に、二次表記などのグラフィカル・アイコン及び視覚インジケータを通じて、ユーザが、コンピュータ・キーボード及びマウスなどの電子デバイスと対話することを可能にするタイプのユーザ・インターフェースである。コンピューティングにおいて、GUIは、コマンドをキーボードでタイプすることを必要とするコマンド・ライン・インターフェースの急勾配の学習曲線の認識に反応して導入された。GUIにおけるアクションは、多くの場合、グラフィック要素の直接操作を通じて行われる。別の実施形態において、ユーザ・インターフェース122は、スクリプト又はアプリケーション・プログラミング・インターフェース(API)である。
【0017】
アプリケーション124は、クライアント・デバイス120上で実行されるように設計されたコンピュータ・プログラムである。アプリケーションは、パーソナル・コンピュータ上でアクセスされる類似のサービス(例えば、ウェブ・ブラウザ、音楽の再生、eメール・プログラム、又は他のメディアなど)をユーザに提供する働きをすることが多い。一実施形態において、アプリケーション124は、モバイル・アプリケーション・ソフトウェアである。例えば、モバイル・アプリケーション・ソフトウェアすなわち「app」は、スマートフォン、タブレット・コンピュータ、及び他のモバイル・デバイス上で実行されるように設計されたコンピュータ・プログラムである。別の実施形態において、アプリケーション124は、ウェブ・ユーザ・インターフェース(WUI)であり、動作のためのテキスト、文書、ウェブ・ブラウザ・ウィンドウ、ユーザ・オプション、アプリケーション・インターフェース、及び命令を表示することができ、かつプログラムがユーザに提供する情報(例えば、グラフィック、テキスト、及び音声など)と、プログラムを制御するためにユーザが採用する制御シーケンスとを含むことができる。別の実施形態において、アプリケーション124は、表プログラム200のクライアント側アプリケーションである。
【0018】
本発明の種々の実施形態において、サーバ140は、デスクトップ・コンピュータ、コンピュータ・サーバ、又は当技術分野において周知の任意の他のコンピュータ・システムとすることができる。一般に、サーバ140は、コンピュータ可読プログラム命令を実行することができる任意の電子デバイス又は電子デバイスの組み合わせを表す。本発明の実施形態によると、サーバ140は、
図4に関してさらに詳細に示され、説明されるコンポーネントを含むことができる。
【0019】
サーバ140は、スタンドアロン・コンピューティング・デバイス、管理サーバ、ウェブ・サーバ、モバイル・コンピューティング・デバイス、又はデータの受信、送信、及び処理が可能な任意の他の電子デバイスもしくはコンピューティング・システムとすることができる。一実施形態において、サーバ140は、クラウド・コンピューティング環境などにおいて、サーバ・システムとして複数のコンピュータを利用するサーバ・コンピューティング・システムを表すことができる。別の実施形態において、サーバ140は、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、携帯情報端末(PDA)、スマートフォン、又はネットワーク110を介して分散データ処理環境100内のクライアント・デバイス120及び他のコンピューティング・デバイス(図示せず)と通信することができる任意のプログラム可能電子デバイスとすることができる。別の実施形態において、サーバ140は、分散データ処理環境100内でアクセスされるときにシームレス・リソースの単一のプールとして機能するクラスタ化されたコンピュータ及びコンポーネント(例えば、データベース・サーバ・コンピュータ、アプリケーション・サーバ・コンピュータなど)を利用するコンピュータ・システムを表す。
【0020】
サーバ140は、ストレージ・デバイス142、データベース144、及び表プログラム200を含む。ストレージ・デバイス142は、データベース・サーバ、ハード・ディスク・ドライブ、又はフラッシュ・メモリなどの、クライアント・デバイス120及びサーバ140によってアクセスし利用することができるデータを格納することができる、例えば永続ストレージ405などの任意のタイプのストレージ・デバイスで実装することができる。一実施形態において、ストレージ・デバイス142は、サーバ140内の複数のストレージ・デバイスを表すことができる。本発明の種々の実施形態において、ストレージ・デバイス142は、データベース144を含むことができる多数のタイプのデータを格納する。データベース144は、格納され、サーバ140からアクセスされるデータの1つ又は複数の組織化された集合体を表すこともできる。例えば、データベース144は、PDFファイル、PDFファイルのメタデータ、表形式データなどを含む。一実施形態において、データ処理環境100は、ネットワーク110を介してアクセス可能な付加的な情報をホストする付加的なサーバ(図示せず)を含むことができる。
【0021】
一般に、表プログラム200は、経験則を用いてPDFデータ(例えば、語、行、テキスト・ボックスなど)を解析するのを回避しながら、テキスト・ベースのPDFフォーマットの表形式データを構造フォーマットに変換することができ、これにより、エンド・ツー・エンドの訓練及び処理が可能になる。一実施形態では、表プログラム200は、データベース144の文書の表のツリー構造を生成する。例えば、表プログラム200は、PDF情報(例えば、PDFの表のメタデータ)及びドロネー三角形分割を用いて、PDF文書の表のグラフを生成する。この例では、表プログラム200は、機械学習アルゴリズム(例えば、アテンションGNN)を利用して、グラフのノード及びエッジを特徴空間にエンコードする。表プログラム200は、エンコードされたグラフの特徴を利用して、表のツリー構造を再構築し、表プログラム200は、ツリー操作のシーケンスを予測する。さらに、表プログラム200は、ツリー構造のリーフ(例えば、表のセル)の属性を予測する。その結果、PDFデータをグラフとしてモデル化し、機械学習アルゴリズムを用いて、グラフからインサイトを導き出すことにより、PDF情報の利用が可能になる。表プログラム200の機械学習アルゴリズムは、予測を行う際に状態履歴を考慮に入れることを可能にする状態情報ノードを利用することができる、シーケンシャルなツリー・ビルダー・モデル及びセル・ビルダー・モデルを含むことができる。
【0022】
図2は、本発明の実施形態による、テキスト・ベースのPDFフォーマットの表形式データを構造フォーマットに変換するプログラムである、表プログラム200の動作ステップを示すフローチャートである。一実施形態において、表プログラム200は、ユーザがネットワーク110を通じてクライアント・デバイス120を表プログラム200に接続することに応答して、開始する。例えば、表プログラム200は、ユーザが、WLAN(例えば、ネットワーク110)を介してラップトップ(例えば、クライアント・デバイス120)を表プログラム200に登録する(例えば、オプト・インする)ことに応答して、開始する。別の実施形態では、表プログラム200は、クライアント・デバイス120を連続的に監視するバックグラウンド・アプリケーションである。例えば、表プログラム200は、ユーザのラップトップ(例えば、クライアント・デバイス120)の起動時に開始し、ラップトップを監視して、ユーザが表形式データ(例えば、表)を含むPDFファイルにアクセスするのを検出するクライアント側アプリケーション(例えば、アプリケーション124)である。
【0023】
ステップ202において、表プログラム200は、文書の表のメタデータを抽出する。一実施形態では、表プログラム200は、データベース144のPDF文書の表形式データに対応するメタデータを抽出する。例えば、表プログラム200は、テキスト・ベースのPDF文書から表(例えば、表形式データ)に対応する情報(例えば、メタデータ)を抽出する。この例では、表プログラム200は、文字の位置及びフォント情報、及び表の行の位置を含む情報を識別する。さらに、表プログラム200は、PDF解析を利用して、テキスト・ベースのPDF文書のメタデータを抽出することができ、これにより、テキスト・ベースのPDF文書を解析するためのユーザの経験則を排除することができる。
【0024】
図3Aは、本発明の実施形態による、表プログラム200が変換するテキスト・ベースのPDF文書の表のインスタンスの例示的な図である表310を示す。表310は、線312、線314、線316、ヘッダ313、及び本体315を含む。線312、線314、及び線316(以下、線)は、表310の境界線である。ヘッダ313は、本体315の各列を表記するのに使用される、線312と線314との間の表形式データ表310の行に対応する。本体315は、表310の主要部であり、行及び列のキャプションに関して分類された数値情報を含む。
図3Aに関する例示的な実施形態では、表プログラム200は、クライアント・デバイス120から表310を受け取り、表310をデータベース144に格納する。
【0025】
図3Bは、本発明の例示的な実施形態による、表プログラム200がメタデータの抽出を開始した後の表310の分解組立図の例示的な図である、処理済みの表320を示す。表320は、線312、線314、及びバウンディング・ボックス322を含む。バウンディング・ボックス322は、メタデータの抽出の際に識別された文字を示すバウンディング・ボックスである。
図3Bに関する例示的な実施形態では、表プログラム200は、
図3Bに示されるような、
図3Aの表310の各文字に対応するバウンディング・ボックス322の1つ又は複数のインスタンスを含む。この例示的な実施形態では、表プログラム200は、表310のバウンディング・ボックス322の各インスタンスについてのフォント及び位置情報を収集するとともに、表310の線についての位置情報も収集する。
【0026】
ステップ204において、表プログラム200は、表に対応するグラフを生成する。一実施形態では、表プログラム200は、データベース144のPDF文書の表形式データに対応するグラフを生成する。例えば、表プログラム200は、テキスト・ベースのPDF文書の表(例えば、表形式データ)の各文字の三角形分割技術(例えば、ドロネー三角形分割)及び位置情報(例えば、メタデータ)を利用して、表の文字に対応するグラフ構造を生成する。この例では、表プログラム200は、「P」のセットのどの点も「DT(P)」のいずれの三角形の外心内にもないような、離散点(例えば、表の各文字)の「P」のセットのドロネー三角形分割「DT」である「DT(P)」を計算する。一般の位置にある離散点セット「P」のドロネー三角形分割は、「P」についてのボロノイ図の双対グラフに対応し、ここで、ドロネー三角形の外心はボロノイ図の頂点「V」であり、2次元(2D)の場合、ボロノイ頂点「V」は、ドロネー三角形の隣接関係から導き出すことができるエッジ「E」を介して接続される。さらに、表プログラム200は、表の文字の各々の位置及び隣接関係を表す、頂点「V」及びエッジ「E」(例えば、グラフ(V,E))を利用して表に対応するグラフ構造を生成する。ここで
図3Bを参照すると、例示的な実施形態では、表プログラム200は、バウンディング・ボックス322の1つ又は複数のインスタンスをドロネー三角形の外心(例えば、頂点「V」)として利用して、表320の文字についての外心としてのバウンディング・ボックス322の1つ又は複数のインスタンスの隣接関係に基づいてグラフ構造を生成する。
【0027】
ステップ206において、表プログラム200は、グラフのノード及びエッジを埋め込む。一実施形態では、表プログラム200は、機械学習アルゴリズムを利用して、生成されたグラフのベクトル表現を生成する。例えば、表プログラム200は、アテンション・グラフ・ニューラル・ネットワーク(例えば、機械学習アルゴリズム)を利用して、生成されたグラフ構造(例えば、グラフ(V,E))のノード及びエッジを特徴空間にエンコードする。この例では、表プログラム200は、生成されたグラフ構造のそれぞれのセットの各ノード「V」(例えば、文字)及び各エッジ「E」に対応する特徴ベクトルのセットを生成する。さらに、表プログラム200は、表のメタデータ及び「DT」の情報を利用して、文字、位置情報(例えば、バウンディング・ボックス)、フォント特徴(例えば、ボールド体、イタリック体等)などの特徴を含むことができるノード「V」のセットのうちのノードに対応する特徴ベクトルのセットを生成する。また、表プログラム200は、表のメタデータ及び「DT」の情報を利用して、開始ノード(例えば、「V0」)、終了ノード(例えば、「V1」)、エッジ・カテゴリ等などの特徴を含むことができるエッジ「E」のセットのうちのエッジに対応する特徴ベクトルのセットを生成する。さらに、表プログラム200は、表の識別された線を利用して、エッジ「E」を分類するために「DT」のエッジが交差するかどうかを判断する。
【0028】
別の実施形態において、表プログラム200は、機械学習アルゴリズムを訓練して、データベース144の生成されたPDF文書の表形式データのグラフに対応するツリー構造を構築する。例えば、表プログラム200は、機械学習アルゴリズム(例えば、アテンション・グラフ・ニューラル・ネットワーク、グラフ・ニューラル・ネットワークなど)を訓練し、ノード埋め込み及びノード埋め込みの隣接関係を利用して表(例えば、表形式データ)のツリー表現(例えば、ツリー構造)を作成する。この例では、機械学習アルゴリズムは、表プログラム200が連続的に構成する2つ又はそれより多いモデル(例えば、ツリー・ビルダー・ネットワーク、ツリー・ビルダー・モデル、セル・ビルダー・モデルなど)を含むことができ、これにより、第1のモデル(例えば、セル・ビルダー・モデル)が第2のモデル(例えば、ツリー・ビルダー・モデル・ノード)の状態情報を利用して、ツリー表現のセル(例えば、リーフ)のコンテンツを予測する(すなわち、ツリー・ビルダー・モデル及びセル・ビルダー・モデルを共同訓練し、PDF文書の表形式データの構造化表現を再構築する)ことが可能になる。
【0029】
さらに、表プログラム200は、ツリー・ビルダー・モデルを、アクションのシーケンス損失で訓練することができ、ここで、アクションは、ツリー表現を構築する際の、ヘッダの挿入、本体の挿入、行の挿入、セルの挿入、親への移動、終了等などのタスクを含む。さらに、表プログラム200は、アクションのシーケンス損失、セル・コンテンツのシーケンス損失、及び列/行スパン回帰損失の加重和で、セル・ビルダー・モデルを訓練し、セルの属性を割り当てることができ、セルの属性は、列スパンの量に対応する値、行スパンの量に対応する値、及びセルのコンテンツを含むことができる。また、機械学習アルゴリズムの表200の訓練は、2つ又はそれより多いモデルと相関する2つ又はそれより多いアテンション機構を含むことができ、ここで、アテンション機構は、ニューラル・ネットワークの入力(例えば、特徴)のサブセットに注目する能力を有するニューラル・ネットワーク(例えば、機械学習アルゴリズム)を備える。
【0030】
ステップ208において、表プログラム200は、表のツリー構造を再構築する。一実施形態では、表プログラム200は、データベース144のPDF文書の表形式データの生成されたグラフに対応するツリー構造を生成する。例えば、表プログラム200は、PDF文書の表形式データ(例えば、表)のツリー構造表現(例えば、ツリー表現)を構築する。この例では、表プログラム200は、機械学習アルゴリズム(例えば、ツリー・ビルダー・モデル、ニューラル・ネットワーク、AGNN等)の出力を利用して、ツリー構造表現を構築する際に選択すべきアクション(例えば、ヘッダの挿入、本体の挿入、行の挿入、セルの挿入等)を判断する。さらに、表プログラム200は、生成されたグラフ(例えば、グラフ[V,E])の隣接関係(例えば、エッジ)を利用して、親ノードと子ノードとの間のツリー構造表現のブランチ割り当てを決定する。
【0031】
図3Cは、本発明の例示的な実施形態による、表プログラム200がツリー構造に変換するテキスト・ベースのPDF文書の表のインスタンスの例示的な図である構造330を示す。構造330は、表ノード331、ヘッダ・ノード332、本体ノード333、行ノード334の複数のインスタンス、セル・ノード335の複数のインスタンス、及びブランチ336の複数のインスタンスを含む。表ノード331は、
図3Aの表310に対応する根ノードである。ヘッダ・ノード332は、
図3Aのヘッダ313に対応する親ノードである。行ノード334は、表310の表形式データ(例えば、行)に対応する子ノードであり、リーフ(例えば、セル・ノード335)の1つ又は複数のインスタンスを含むことができる。セル・ノード335は、
図3Aの表310のコンテンツ(例えば、文字、値等)を含むことができるリーフ・ノードである。ブランチ336は、ノード間の隣接関係を示す構造330の要素である。さらに、構造330は、ツリー構造の1つ又は複数の要素(ノード、行、セル等)が欠けている(すなわち、表現されていないが含まれる)ことを示す複数の省略記号を含む。
図3Aに関する例示的な実施形態では、表プログラム200は、機械学習アルゴリズムを利用して、構造330の形態で表310を再構築する(すなわち、ツリー構造を形成する)ためのアクションを選択する。
【0032】
ステップ210において、表プログラム200は、ツリー構造に属性を割り当てる。一実施形態では、表プログラム200は、データベース144のPDF文書の表形式データに対応する生成されたツリー構造に属性を割り当てる。例えば、表プログラム200は、PDF文書の表形式データ(例えば、表)のツリー構造表現(例えば、ツリー表現)の1つ又は複数のリーフ(例えば、セル)のセル属性を決定する。この例では、表プログラム200は、機械学習アルゴリズム(例えば、セル・ビルダー・モデル、ニューラル・ネットワーク、AGNN等)の出力を利用して、ツリー構造表現のリーフを埋めるときに割り当てるための属性(例えば、列スパン、行スパン、コンテンツ等)を決定する。
【0033】
図3Cを参照すると、例示的な実施形態において、表プログラム200は、機械学習アルゴリズムを利用して、セル・ノード335の属性を定義する。この例では、表プログラム200は、機械学習アルゴリズムの出力に基づいて、セル属性(例えば、列スパン、行スパン、コンテンツ等)に対応する文字もしくは整数値、又はその両方を割り当てる。さらに、列スパンは、
図3Bの1つ又は複数のノードの集合体のコンテンツが包含する、
図3Bの処理済み表320の列の数である。行スパンは、
図3Bの1つ又は複数のノードの集合体のコンテンツが包含する、
図3Bの処理済みの表320の行の数である。コンテンツは、データベース144のPDF文書の表形式データの文字/値(例えば、処理済みの表320の1つ又は複数のノード)の集合体である。1つのシナリオでは、コンテンツが
図3Bの「平均(Mean)」を含むノードの集合体である場合、表プログラム200は、セル・ノード335についてのセル属性を次のように割り当てる:すなわち、列スパン:(1);行スパン:(1);及びコンテンツ:「平均」である。
【0034】
図4は、本発明の例示的な実施形態による、クライアント・デバイス120及びサーバ140のコンポーネントのブロック図を示す。
図4は、1つの実装の例示を提供するに過ぎず、異なる実施形態を実装することができる環境に関するいかなる制限も意味するものではないことを理解されたい。示される環境に対する多くの修正を行うことができる
【0035】
図4は、プロセッサ401、キャッシュ403、メモリ402、永続ストレージ405、通信ユニット407、入力/出力(I/O)インターフェース406及び通信ファブリック404を含む。通信ファブリック404は、キャッシュ403、メモリ402、永続ストレージ405、通信ユニット407、及び入力/出力(I/O)インターフェース406の間の通信を提供する。通信ファブリック404は、プロセッサ(マイクロプロセッサ、通信及びネットワーク・プロセッサ等)、システム・メモリ、周辺機器、及びシステム内の任意の他のハードウェア・コンポーネントの間でデータもしくは制御情報又はその両方を送るように設計された任意のアーキテクチャで実装することができる。例えば、通信ファブリック404は、1つ又は複数のバス又はクロスバー・スィッチで実装することができる。
【0036】
メモリ402及び永続ストレージ405は、コンピュータ可読ストレージ媒体である。本実施形態において、メモリ402は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ402は、任意の適切な揮発性又は不揮発性コンピュータ可読ストレージ媒体を含むことができる。キャッシュ403は、メモリ402から、最近アクセスされたデータ及び最近アクセスされたデータ近傍のデータを保持することによって、プロセッサ401の性能を向上させる高速メモリである。
【0037】
本発明の実施形態を実施するために使用されるプログラム命令及びデータ(例えば、ソフトウェア及びデータ410)は、キャッシュ403を介するそれぞれのプロセッサ401の1つ又は複数による実行のために、永続ストレージ405及びメモリ402内に格納することができる。実施形態において、永続ストレージ405は、磁気ハード・ディスク・ドライブを含む。代替的に又は磁気ハード・ディスク・ドライブに加えて、永続ストレージ405は、ソリッド・ステート・ハード・ドライブ、半導体ストレージ・デバイス、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、フラッシュ・メモリ、又は、プログラム命令もしくはデジタル情報を格納することができる任意の他のコンピュータ可読ストレージ媒体を含むことができる。
【0038】
永続ストレージ405によって使用される媒体は、取り外し可能とすることもできる。例えば、永続ストレージ405のために取り外し可能ハード・ドライブを使用することができる。他の例として、永続ストレージ405の一部でもある別のコンピュータ可読ストレージ媒体への転送のためにドライブに挿入される光学及び磁気ディスク、サム・ドライブ、及びスマートカードが挙げられる。キャッシュ403を介するそれぞれのプロセッサ401の1つ又は複数によるアクセスもしくは実行、又はその両方のために、ソフトウェア及びデータ410を永続ストレージ405に格納することができる。クライアント・デバイス120に関して、ソフトウェア及びデータ410は、ユーザ・インターフェース122及びアプリケーション124のデータを含む。サーバ140に関して、ソフトウェア及びデータ410は、ストレージ・デバイス142及び表プログラム200のデータを含む。
【0039】
これらの例において、通信ユニット407は、他のデータ処理システム又はデバイスとの通信を提供する。これらの例において、通信ユニット407は、1つ又は複数のネットワーク・インターフェース・カードを含む。通信ユニット407は、物理的通信リンク及び無線通信リンクのいずれか又は両方の使用を通じて通信を提供することができる。本発明の実施形態を実施するために使用されるプログラム命令及びデータ(例えば、ソフトウェア及びデータ410)は、通信ユニット407を通じて永続ストレージ405にダウンロードすることができる。
【0040】
I/Oインターフェース406は、各コンピュータ・システムに接続することができる他のデバイスによるデータの入力及び出力を可能にする。例えば、I/Oインターフェース406は、キーボード、キーパッド、タッチ・スクリーン、もしくは何らかの他の好適な入力デバイス、又はその組み合わせのような外部デバイス408への接続を提供することができる。外部デバイス408は、例えば、サム・ドライブ、ポータブル光ディスク又はポータブル磁気ディスク、及びメモリカードなど、ポータブル・コンピュータ可読ストレージ媒体を含むこともできる。本発明の実施形態を実施するために使用されるプログラム命令及びデータ(例えば、ソフトウェア及びデータ410)は、そうした携帯型コンピュータ可読ストレージ媒体上に格納し、I/Oインターフェース406を介して永続ストレージ405にロードすることができる。I/Oインターフェース406は、ディスプレイ409にも接続される。
【0041】
ディスプレイ409は、データをユーザに表示する機構を提供し、例えば、コンピュータ・モニタとすることができる。
【0042】
本明細書で説明されるプログラムは、本発明の特定の実施形態においてそれらが実装される用途に基づいて識別される。しかしながら、本明細書における特定のプログラム名称はいずれも単に便宜上使用されるものであり、従って、本発明は、そのような名称により識別もしくは意味される、又はその両方である、いずれかの特定の用途だけでの使用に限定されるべきではないことを理解されたい。
【0043】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はそれらの組み合わせを、いずれかの可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
【0044】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0045】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク、又はそれらの組み合わせなどのネットワークを介して、外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、又はそれらの組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【0046】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【0047】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0048】
これらのコンピュータ可読プログラム命令を、コンピュータのプロセッサ、又は他のプログラム可能データ処理装置に与えて機械を製造し、それにより、コンピュータのプロセッサ又は他のプログラム可能データ処理装置によって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。コンピュータ、プログラム可能データ処理装置もしくは他のデバイス又はそれらの組み合わせを特定の方式で機能させるように指示することができるこれらのコンピュータ・プログラム命令を、コンピュータ可読媒体内に格納することもでき、それにより、そこに命令が格納されたコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0049】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。
【0050】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、関与する機能に応じて、連続して示される2つのブロックが実際には同時に、実質的に同時に、部分的又は全体に時間的に重複する方法で実行されることもあり、又はこれらのブロックが場合によって逆順で実行されることもある。ブロック図もしくはフローチャート図又は両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は、専用ハードウェアとコンピュータ命令との組み合わせを実行する特定用途向けハードウェア・ベースのシステムによって実装できることにも留意されたい。
【0051】
本開示の種々の実施形態の説明は、例証の目的のために提示されたが、これらは、網羅的であること、又は開示した実施形態に限定することを意図するものではない。当業者には、説明される実施形態の範囲から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実用性、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
【手続補正書】
【提出日】2023-06-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサにより、テキスト・ベースのポータブル・ドキュメント・フォーマット(PDF)の表形式データに対応するメタデータを抽出することであって、前記メタデータは前記表形式データの文字及び境界線と関連付けられる、抽出することと、
1つ又は複数のプロセッサにより、前記メタデータに少なくとも部分的に基づいて、前記テキスト・ベースのPDFの表形式データに対応するグラフ構造を生成することと、
1つ又は複数のプロセッサにより、前記グラフ構造のベクトル表現を生成することと、
1つ又は複数のプロセッサにより、前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応するツリー構造を構築することと
を含む、方法。
【請求項2】
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データに少なくとも部分的に基づいて、前記ツリー構造の1つ又は複数のリーフに属性を割り当てることをさらに含む、請求項1に記載の方法。
【請求項3】
前記テキスト・ベースのPDFの前記表形式データに対応する前記メタデータを抽出することは、
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データの各文字に対応する文字情報を識別することであって、前記文字情報は前記テキスト・ベースのPDFの前記表形式データの各文字の位置を含む、識別することと、
1つ又は複数のプロセッサにより、前記テキスト・ベースのPDFの前記表形式データの各境界線に対応する境界情報を識別することであって、前記境界情報は前記テキスト・ベースのPDFの前記表形式データの各境界線の位置を含む、識別することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記テキスト・ベースのPDFの前記表形式データに対応する前記グラフ構造を生成することは、
1つ又は複数のプロセッサにより、前記メタデータの文字位置情報に少なくとも部分的に基づいて、前記テキスト・ベースのPDFの前記表形式データの各文字に対応するノードを生成することと、
1つ又は複数のプロセッサにより、三角形分割技術に少なくとも部分的に基づいて、それぞれのノードのセットに関連する複数の頂点を識別することであって、前記ノードのセットの生成されたノードの各々は前記表形式データの文字に対応する、識別することと、
1つ又は複数のプロセッサにより、前記複数の頂点に関連する複数のエッジを決定することであって、前記複数のエッジは前記それぞれのノードのセットの間の隣接関係を表す、決定することと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記グラフ構造の前記ベクトル表現を生成することは、
1つ又は複数のプロセッサにより、前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のノードのセットのうちの1つのノードに対応する第1の特徴ベクトルのセットを生成することであって、前記ノードは前記表形式データの文字に対応する、生成することと、
1つ又は複数のプロセッサにより、前記表形式データに対応する前記メタデータに少なくとも部分的に基づいて、前記グラフ構造のエッジのセットのうちの1つのエッジに対応する第2の特徴ベクトルのセットを生成することと、
1つ又は複数のプロセッサにより、アテンション・グラフ・ニューラル・ネットワークである機械学習アルゴリズムを用いて前記グラフ構造の前記ノードのセット及び前記エッジのセットを特徴空間にエンコードすることと
をさらに含む、請求項1に記載の方法。
【請求項6】
1つ又は複数のプロセッサにより、前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の訓練セットを作成することと、
1つ又は複数のプロセッサにより、前記グラフ構造の前記ベクトル表現の複数のノード及び複数の頂点に基づいて、1つ又は複数の試験セットを作成することと、
1つ又は複数のプロセッサにより、1つ又は複数の教師あり訓練方法を用いて前記機械学習アルゴリズムを訓練することであって、前記機械学習アルゴリズムはツリー・ビルダー・モデル及びセル・ビルダー・モデルを含む、訓練することと
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ベクトル表現に少なくとも部分的に基づいて、前記表形式データに対応する前記ツリー構造を構築することは、
1つ又は複数のプロセッサにより、前記ツリー構造の親ノード及び子ノードを構成するアクションを選択することであって、前記アクションは前記表形式データの要素に対応する、選択することと、
1つ又は複数のプロセッサにより、前記ツリー構造の前記構成された親ノードと子ノードとの間のブランチ割り当てを決定することと
をさらに含む、請求項1に記載の方法。
【請求項8】
請求項1から請求項7までのいずれかに記載の方法を、1つ又は複数のプロセッサに実行させる、コンピュータ・プログラム。
【請求項9】
請求項8に記載のコンピュータ・プログラムを格納した、コンピュータ可読ストレージ媒体。
【請求項10】
1つ又は複数のコンピュータ・プロセッサと、
1つ又は複数のコンピュータ可読ストレージ媒体と、
前記1つ又は複数のプロセッサの少なくとも1つに
、請求項1から請求項7までのいずれかに記載の方法を実行さ
せる、前記コンピュータ可読ストレージ媒体上に格納されたプログラム命令と
を含む、コンピュータ・システム。
【国際調査報告】