(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】テーブル認識方法、及び装置
(51)【国際特許分類】
G06T 7/60 20170101AFI20241219BHJP
【FI】
G06T7/60 200K
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024540929
(86)(22)【出願日】2022-12-13
(85)【翻訳文提出日】2024-07-09
(86)【国際出願番号】 CN2022138631
(87)【国際公開番号】W WO2023130915
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】202210018252.1
(32)【優先日】2022-01-07
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】523037233
【氏名又は名称】北京有竹居▲網▼絡技▲術▼有限公司
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ジャン,ウェンチアン
(72)【発明者】
【氏名】ホアン,ツァン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA18
5L096DA02
5L096FA16
5L096FA72
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
本発明は、テーブル認識方法を開示し、テーブルを含む処理すべき画像を取得し、前記処理すべき画像における各々のセルの情報を決定することができ、前記各々のセルの情報は、前記各々のセルの周囲枠の位置を含む。その後、前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得る。さらに、前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることができ、ここで、前記構造座標は、開始行、開始列、終了行、および、終了列を含む。行方向におけるセルの親子関係および列方向におけるセルの親子関係は、グラフ構造に比べて単純である。したがって、本解決案を利用すれば、セルの構造座標を決定するための計算量を減らすことができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
テーブルを含む処理すべき画像を取得し、前記処理すべき画像における各々のセルの情報を決定することであって、前記各々のセルの情報は前記各々のセルの周囲枠の位置を含むことと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含むことと、を含む、
ことを特徴とするテーブル認識方法。
【請求項2】
前記各々のセルの情報は、
前記各々のセル内のテキストの単語埋め込みベクトル、および/または、前記各々のセルの視覚的特徴をさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記の前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることは、
前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることを含む、ことを特徴とする請求項1または2に記載の方法。
【請求項4】
前記機械学習モデルは、
特徴抽出モジュールと、第1意思決定モジュールと、第2意思決定モジュールと、を備え、
前記特徴抽出モジュールは、前記各々のセルの情報に対して処理を実行して、特性シーケンスを得るために用いられ、
前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、
前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる、ことを特徴とする請求項3に記載の方法。
【請求項5】
前記特徴抽出モジュールは、Transformerモデルのエンコーダである、ことを特徴とする請求項4に記載の方法。
【請求項6】
前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンションself-attentionモジュールである、ことを特徴とする請求項4に記載の方法。
【請求項7】
前記の前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることは、
前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することと、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項8】
少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を指示するために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記の前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することは、
セルiに対応する開始行座標b_iを決定し、セルiがまたがる行数r_iを決定することと、
前記b_iおよび前記r_iに基づいて、セルiに対応する終了行座標をb_i+r_i-1として決定することと、を含み、
ここで、セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記r_iは1であり、サブ分岐があると、セルiに対応する行数は当該セルiの各々のサブ分岐の対応する行数の和であり、
セルiがテーブルヘッダーノードに対応すると、開始行b_iは、セルiが位置するツリーの前の1つのツリーの終了行に1を加算したものに等しく、
当該セルiがノードqのk番目のサブノードに対応すると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の合計またがり行数の和である、ことを特徴とする請求項7に記載の方法。
【請求項9】
少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を指示するために用いられ、1つのセルはツリーにおける1つのノードに対応し、前記の前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することは、
セルiがまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することと、
前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定することと、を含み、
ここで、セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記s_iは1であり、サブ分岐があると、セルiに対応する列数は、当該セルiの各々のサブ分岐の対応する列数の和であり、
当該セルiがテーブルヘッダーノードに対応すると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しく、
当該セルiがノードpのj番目のサブノードに対応すると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の合計またがり列数の和である、ことを特徴とする請求項7に記載の方法。
【請求項10】
前記各々のセルの構造座標および前記各々のセル内のテキストに基づいて、目標テーブルを生成することをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項11】
テーブルを含む処理すべき画像を取得し、前記処理すべき画像における各々のセルの情報を決定するための取得ユニットであって、前記各々のセルの情報は前記各々のセルの周囲枠の位置を含む取得ユニットと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得るための第1決定ユニットと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得るための第2決定ユニットであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含む第2決定ユニットと、を備える、
ことを特徴とするテーブル認識装置。
【請求項12】
デバイスであって、
プロセッサとメモリとを備え、
前記プロセッサは、前記メモリに記憶された命令を実行することによって、前記デバイスに請求項1~10のいずれか1項に記載の方法を実行させるために用いられる、ことを特徴とするデバイス。
【請求項13】
デバイスに請求項1~10のいずれか1項に記載の方法を実行させるように指示するための命令を含む、ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項14】
コンピュータ上で実行されると、コンピュータに請求項1~10のいずれか1項に記載の方法を実行させる、ことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互引用
本出願は、2022年1月7日に中国国家知識産権局、出願番号が202210018252.1、発明名称が「テーブル認識方法、及び装置」である中国特許出願の優先権を主張し、その全内容は参照として本出願に組み入れられる。
技術分野
本発明は、画像処理分野に関し、特に、テーブル認識方法、及び装置に関する。
【背景技術】
【0002】
テーブル認識は、テーブル構造認識(Table Structure Recognition、TSR)とテーブルコンテンツ認識(Table
Content Recognition、TCR)の2つの部分を含む。ここで、構造認識とは、テーブルを含む画像から各セルが位置する行と列の位置と具体的な囲み枠の物理的位置を解析することを指す。コンテンツ認識とは、各セル内のテキストを認識することを指す。構造認識とコンテンツ認識の2つのステップを通じて、各セルの構造座標および各セル内のテキスト内容を得ることができ、さらに当該テーブルをexcelまたはwordなどのフォーマットに変換することができ、それにより、さらなる手動の校正と編集を容易にし、テーブル情報のデジタル化処理プロセスを大幅に容易にした。
【0003】
現在、テーブル構造を認識する方法は、より複雑であり、より多くの計算リソースを消費することになる。
【0004】
したがって、上記問題を解決できる解決案が急務となっている。
【発明の概要】
【0005】
本発明が解決しようとする技術的問題は、テーブル構造をいかに簡単に認識するかであり、テーブル認識方法、及び装置を提供する。
【0006】
第1態様によると、本発明の実施例は、テーブル認識方法を提供し、前記方法は、
テーブルを含む処理待ち画像を取得し、前記処理待ち画像における各々のセルの情報を決定することであって、前記各々のセルの情報は前記各々のセルの囲み枠の位置を含むことと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含むことと、を含む。
【0007】
選択的に、前記各々のセルの情報は、
前記各々のセル内のテキストの単語埋め込みベクトル、および/または、前記各々のセルの視覚的特徴をさらに含む。
【0008】
選択的に、前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることは、
前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることを含む。
【0009】
選択的に、前記機械学習モデルは、を含み:
特徴抽出モジュールと、第1意思決定モジュールと、第2意思決定モジュールと、を備え、
前記特徴抽出モジュールは、前記各々のセルの情報に対して処理を実行して、特性シーケンスを得るために用いられ、
前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、
前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる。
【0010】
選択的に、前記特徴抽出モジュールは、Transformerモデルのエンコーダである。
【0011】
選択的に、前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンション(self-attention)モジュールである。
【0012】
選択的に、前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることは、
前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することと、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することと、を含む。
【0013】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することは、
セルiに対応する開始行座標b_iを決定し、セルiにまたがる行数r_iを決定することと、
前記b_iおよび前記r_iに基づいて、セルiに対応する終了行座標をb_i+r_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記r_iは1であり、サブ分岐があると、セルiに対応する行数は当該セルiの各個のサブ分岐の対応する行数の合計であり、
セルiがテーブルヘッダーノードに対応されると、開始行b_iは、セルiが位置するツリーの前の1つのツリーの終了行に1を加算したものに等しく、
当該セルiがノードqのk番目のサブノードに対応されると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の全てにまたがる行数の合計である。
【0014】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することは、
セルiにまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することと、
前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記s_iは1であり、サブ分岐があると、セルiに対応する列数は、当該セルiの各個のサブ分岐の対応する列数の合計であり、
当該セルiがテーブルヘッダーノードに対応されると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しく、
当該セルiがノードpのj番目のサブノードに対応されると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の全てにまたがる列数の合計である。
【0015】
選択的に、前記方法は、
前記各々のセルの構造座標および前記各々のセル内のテキストに基づいて、目標テーブルを生成することをさらに含む。
【0016】
第2態様によると、本発明の実施例は、を提供しテーブル認識装置、前記装置は、
テーブルを含む処理待ち画像を取得し、前記処理待ち画像における各々のセルの情報を決定するための取得ユニットであって、前記各々のセルの情報は前記各々のセルの囲み枠の位置を含む取得ユニットと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得るための第1決定ユニットと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得るための第2決定ユニットであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含む第2決定ユニットと、を備える。
【0017】
選択的に、前記各々のセルの情報は、
前記各々のセル内のテキストの単語埋め込みベクトル、および/または、前記各々のセルの視覚的特徴をさらに含む。
【0018】
選択的に、前記第1決定ユニットは、
前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得る。
【0019】
選択的に、前記機械学習モデルは、
特徴抽出モジュールと、第1意思決定モジュールと、第2意思決定モジュールと、を備え、
前記特徴抽出モジュールは、前記各々のセルの情報に対して処理を実行して、特性シーケンスを得るために用いられ、
前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、
前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる。
【0020】
選択的に、前記特徴抽出モジュールは、Transformerモデルのエンコーダである。
【0021】
選択的に、前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンション(self-attention)モジュールである。
【0022】
選択的に、前記第2決定ユニットは、
前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定し、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定する。
【0023】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することは、
セルiに対応する開始行座標b_iを決定し、セルiにまたがる行数r_iを決定することと、
前記b_iおよび前記r_iに基づいて、セルiに対応する終了行座標をb_i+r_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記r_iは1であり、サブ分岐があると、セルiに対応する行数は当該セルiの各個のサブ分岐の対応する行数の合計であり、
セルiがテーブルヘッダーノードに対応されると、開始行b_iは、セルiが位置するツリーの前の1つのツリーの終了行に1を加算したものに等しく、
当該セルiがノードqのk番目のサブノードに対応されると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の全てにまたがる行数の合計である。
【0024】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することは、
セルiにまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することと、
前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記s_iは1であり、サブ分岐があると、セルiに対応する列数は、当該セルiの各個のサブ分岐の対応する列数の合計であり、
当該セルiがテーブルヘッダーノードに対応されると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しく、
当該セルiがノードpのj番目のサブノードに対応されると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の全てにまたがる列数の合計である。
【0025】
選択的に、前記装置は、
前記各々のセルの構造座標および前記各々のセル内のテキストに基づいて、目標テーブルを生成するための生成ユニットをさらに備える。
【0026】
第3態様によると、本発明の実施例は、を提供しデバイス、前記デバイスは、プロセッサとメモリとを備え、
前記プロセッサは、前記メモリに記憶された命令を実行することによって、前記デバイスに上述した第1態様のいずれか1項に記載の方法を実行させる。
【0027】
第4態様によると、本発明の実施例は、コンピュータ読み取り可能な記憶媒体を提供し、命令を含み、前記命令は、上述した第1態様のいずれか1項に記載の方法を実行するようデバイスに指示する。
【0028】
第5態様によると、本発明の実施例は、コンピュータプログラム製品を提供し、前記コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータにお上述した第1態様のいずれか1項に記載の方法を実行させる。
【0029】
本発明の実施例は、従来の技術と比べて以下の利点を有する。
【0030】
本発明の実施例は、テーブル認識方法を提供し、1例において、テーブルを含む処理待ち画像を取得し、前記処理待ち画像における各々のセルの情報を決定することができ、前記各々のセルの情報は、前記各々のセルの囲み枠の位置を含む。その後、前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得る。各々のセルの行方向における親セルを得、すなわち、前記各々のセルの行方向における親子関係を得た。各々のセルの列方向における親セルを得、すなわち、前記各々のセルの列方向における親子関係を得た。さらに、前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることができ、ここで、前記構造座標は、開始行、開始列、終了行、および、終了列を含む。このことからわかるように、本解決案を利用すれば、可以各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得る。行方向におけるセルの親子関係および列方向におけるセルの親子関係は、グラフ構造と比べて単純である。したがって、本解決案を利用すれば、セルの構造座標を決定するための計算量を減らすことができる。
【図面の簡単な説明】
【0031】
本発明の実施例または先行技術における技術的解決案をより明確に説明するために、以下では、実施例または先行技術説明において使用する必要のある図面を簡単に説明し、以下の説明における図面は、本発明に記載された実施例の一部に過ぎず、当該分野の通常の技術者にとっては、創造的な労力を要することなく、これらの図面に従って他の図面を得ることができることは明らかである。
【
図1】本発明の実施例によって提供されるテーブル認識方法のプロセスの概略図である。
【
図2】本発明の実施例によって提供される1つの例示的なシナリオの概略図である。
【
図3】本発明の実施例によって提供されるもう1つの例示的なシナリオの概略図である。
【
図4】本発明の実施例によって提供されるテーブル認識装置の構造の概略図である。
【発明を実施するための形態】
【0032】
当業者が本発明の解決案をより良く理解できるようにするため、以下では、本発明の実施例における技術的解決案を、本発明の実施例における図面と併せて、明確かつ完全に説明するが、説明した実施例は本発明の実施例の一部に過ぎず、実施例の全ではないことは明らかである。本発明の実施例に基づいて、当該分野の通常の技術者が創造的な労力を要することなく得られる全ての他の実施例はいずれも本発明の保護範囲に属する。
【0033】
本発明の発明者は、研究の結果、いくつかの方法において、セルをノードとみなし、テーブルをグラフ(Graph)構造としてモデル化し、グラフニューラルネットワーク(Graph
Neural Networks、GNN)を利用してセル間の関係をモデル化して、例えば2つのセルが同じ行、同じ列にあるか否かを判断し、その後、セルが同じ行にあるか否か、セルが同じ列にあるか否かに基づいて、論理処理方法を用いてテーブルの構造座標を得ることができることを発見した。
【0034】
グラフ構造の場合、任意の2つのノード間にいずれも関係が存在する可能性があり、したがって、グラフでモデル化して得られるグラフ構造におけるノード間の関係はより複雑であり、リング構造さえ存在する可能性があることを理解するのは難しくない。したがって、グラフ構造を利用してテーブルの構造座標を得るためには、より複雑な論理処理方法を使用する必要があり、それに伴い、より多くの計算リソースを消費する必要がある。
【0035】
上記問題を解決するために、本発明の実施例は、テーブル認識方法を提供し、各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることができる。行方向におけるセルの親子関係および列方向におけるセルの親子関係は、グラフ構造と比べて単純である。したがって、本解決案を利用すれば、より簡単な論理処理方法を使用して、各々のセルの構造座標を決定することができ、計算リソースの消費を減らすことができる。
【0036】
以下では、図面と併せて、本発明の様々な非限定的な実施形態を詳細に説明する。
【0037】
例示的な方法
図1を参照すると、当該図面は、本発明の実施例によって提供されるテーブル認識方法のプロセスの概略図である。
図1に示された方法は、クライアントによって実行されてもよいし、サーバによって実行されてもよく、本発明の実施例は具体的に限定しない。本実施例において、前記方法は、例えば、以下のステップS101~S103を含んでもよい。
【0038】
S101において、テーブルを含む処理待ち画像を取得し、前記処理待ち画像における各々のセルの情報を決定し、ここで、前記各々のセルの情報は前記各々のセルの囲み枠の位置を含む。
【0039】
本発明の実施例において、前記処理待ち画像を取得することは、具体的に実現するときに、撮影デバイスによって撮影して得られた前記処理待ち画像を取得してもよいし、ネットワークリソースから前記処理待ち画像を取得してもよいし、他の方式によって前記処理待ち画像を得てもよく、本発明の実施例は具体的に限定しない。
【0040】
本発明の実施例において、前記各々のセルの情報とは、各々のセルに関連する情報を指す。
【0041】
1例において、光学式文字認識(Optical Character
Recognition、OCR)技術を利用して前記処理待ち画像におけるテキストを認識し、その後、認識されたテキストに基づいて、各々のセルの囲み枠の位置を決定することができる。ここで、説明の便宜上、前記各々のセルにおける任意の1つのセルを「第1セル」と称する。すると、第1セルの囲み枠の位置は、前記第1セルにおけるテキストを囲むテキストボックスの位置である。
【0042】
1例において、前記各々のセルの情報は、前記各々のセルの囲み枠の位置に加えて、前記各々のセル内のテキストの単語埋め込みベクトルを含むことができる。1例として、OCR技術を利用して各々のユニットにおけるテキストを認識して得ることができ、その後、bertまたはword2vecなどの単語埋め込みベクトルモデルを利用して前記各々のセルにおけるテキストに対して処理を実行して、前記各々のセル内のテキストの単語埋め込みベクトルを得ることができる。
【0043】
別の1例において、前記各々のセルの情報は、前記各々のセルの囲み枠の位置に加えて、前記各々のセルの視覚的特徴を含むことができ、ここで、前記各々のセルの視覚的特徴は、前記各々のセルが位置する画像領域に対して計算(例えば畳み込み計算)を実行して得られる特徴であってもよく、前記各々のセルの視覚的特徴は、前記各々のセルの背景色および/またはテクスチャなどの視覚情報を反映することができる。
【0044】
S102において、前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得る。
【0045】
1例において、前記各々のセルの横軸座標間の大きさ関係および前記各々のセルの縦軸座標との間の大きさ関係に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを決定することができる。
【0046】
別の1例において、機械学習モデルを事前に訓練し、当該機械学習モデルを利用して前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを決定することができる。具体的には、前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることができる。
【0047】
前記機械学習モデルに関しては、1例において、前記機械学習モデルは、特徴抽出モジュールと第1意思決定モジュールと第2意思決定モジュールとを備えることができ、前記特徴抽出モジュールは、入力された各々のセルの情報に対して処理を実行して、特徴シーケンスを得るために用いられ、ここで、前記特徴シーケンスは前記第1意思決定モジュールと第2意思決定モジュールの両方への入力として使用されることを説明する必要がある。前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる。
【0048】
1例において、機械学習モデルの出力が、機械学習モデルを利用することによって各ノードの行方向における親セル及び各ノードの列方向におけるセルを決定する点で、機械学習モデルの入力に依存することを考慮すると、前記機械学習モデルは、自然言語処理(Natural Language
Processing、NLP)において一般的に使用されるPointerNetの計算方式を使用することができる。また、従来のPointerNetは、リカレントニューラルネットワーク(Recurrent Neural Network、RNN)をベースとしており、当該機械学習モデルの長距離依存モデリング能力を強化するために、テーブルにおけるセル数がより多い場合にも、当該機械学習モデルが各セルの行方向における親セルおよび各セルの列方向における親セルを正確に決定できるようにし、本発明の実施例において、PointerNetをTransformerに基づくエンコーダ(encoder)に最適化することができる。言い換えれば、1例において、前記特徴抽出モジュールは、Transformerモデルのエンコーダである。
【0049】
ここで、前記エンコーダは、セルフアテンションモジュール(self-attention)とフィードフォワードニューラルネットワーク(feedforward neural network)モジュールとを含むことができる。当該セルフアテンションモジュールとフィードフォワードニューラルネットワークモジュールの計算方式は、従来のTransformerモデルのエンコーダにおける計算方式と類似しており、ここでは詳細に説明しない。
【0050】
1例において、前記各々のセルの情報が前記特徴抽出モジュールを通過した後、特徴行列QとKを得ることができ、ここで、機械学習モデルに入力した情報がn個のセルの情報を含むと仮定すると、前記QとKはいずれもn*mの行列である。
【0051】
1例において、前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンションモジュールである。
【0052】
1例において、第1意思決定モジュールは、QとKの関連行列QKTを計算し、その後、関連行列の各行に対してそれぞれsoftmax演算を実行して、n*nのα行列を得ることができる。ここで、α行列の要素αijは、セルjが行方向においてセルiの親セルである確率値を示すために用いられる。
【0053】
同様に、第2意思決定モジュールも、QとKに基づいて1つのn*nのβ行列を計算し得ることができ、β行列の要素βijは、セルjが列方向においてセルiの親セルである確率値を示すために用いられる。
【0054】
ルートノードとしてのセルには、1つの仮想ノード(例えば、ラベルが-1である)を導入して当該ルートノードの親ノードを表すことができることを説明する必要がある。
【0055】
各々のセルの行方向における親ノードに関しては、
図2と併せて説明し、
図2は本発明の実施例によって提供される1つの例示的なシナリオの概略図である。在
図2において、セルはノードによって表される。
【0056】
図2に示されたように、ノード0の親ノードはノード-1であり、ノード1およびノード2の親ノードはいずれもノード0であり、ノード3の親ノードはノード2であり、ノード4の親ノードはノード3であり、
図2に示された各ノードの行方向における親ノードに基づいて、
図2に示されたツリー構造を得ることができる。
【0057】
各々のセルの列方向における親ノード、および、各々のセルの列方向における親ノードに基づいてツリー構造を決定することに関しては、ここではこれ以上例を挙げて説明しない。
【0058】
1例において、構造座標が既知の訓練テーブルを利用して前記機械学習モデルを訓練することができる。前記訓練テーブルの構造座標が既知であるため、当該訓練テーブルの各々のセル情報および各々のセルの行方向における親セルが既知であり、当該訓練テーブルの各々のセルの列方向における親セルも既知である。したがって、前記訓練テーブルに基づいて先に言及された機械学習モデルを訓練し得ることができる。
【0059】
S103において、前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得、ここで、前記構造座標は、開始行、開始列、終了行、および、終了列を含む。
【0060】
S102を実行した後に各々のセルの行方向における親セルを得、すなわち、前記各々のセルの行方向における親子関係を得、これに応じて、各々のセルの列方向における親セルを得、すなわち、前記各々のセルの列方向における親子関係を得た。さらに、S103を実行することによって、前記各々のセルの構造座標を得ることができる。
【0061】
ここで、前記各々のセルの行方向における親子関係は、行フォレストとして反映されることができ、当該行フォレストは、複数のツリーを含んでもよい。前記各々のセルの列方向における親子関係は、列フォレストとして反映されることができ、当該列フォレストは、複数のツリーを含んでもよい。
【0062】
1例において、S103を具体的に実現するときに、前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定し、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することができる。
【0063】
まず、「前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定すること」の具体的な実施形態を説明する。
【0064】
前記各々のセルのうちのセルiについては、セルiに対応する開始行座標b_iを決定し、セルiにまたがる行数r_iを決定することができ、b_iおよびr_iに基づいて、セルiの終了行座標をb_i+r_i-1として決定することができる。ここで、セルiは、前記各々のセルのうちの任意の1つのセルである。
【0065】
r_iについて、説明する必要があるのは、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、当該セルiが最も細かい粒度のセルであることを示す。このとき、前記r_iは、1であり、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐があると、すなわち、セルiが複数のサブセルを含むと、このとき、セルiに対応する行数は、当該セルiの各個のサブ分岐の対応する行数の合計である。
【0066】
セルiにまたがる行数r_iを決定する際には、右から左への方式を使用して前記セルiが位置するツリーにおける各ノードにまたがる行数を決定することができる。
【0067】
b_iについて、説明する必要があるのは、
セルiがテーブルヘッダーノードに対応されると、開始行b_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了行に1を加算したものに等しい。ここで、テーブルヘッダーノードの親ノードは、仮想ノードである。
【0068】
前述したように、前記各々のセルの行方向における親子関係に基づいて、行フォレストを得ることができ、行フォレストは複数のツリーを含むことができる。1例において、当該複数のツリー構造におけるテーブルヘッダーノードの縦座標の小さいものから大きいものへの順序で、当該複数のツリー構造をソートすることができる。前記セルiが位置するツリーの前の1つのツリーとは、前述した順序で当該複数のツリー構造をソートした後に、セルiが位置するツリーの前にソートされた1つのツリーを指す。
【0069】
当該セルiがノードqのk番目のサブノードに対応されると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の全てにまたがる行数の合計である。ここで、
ノードqは、1つのサブノードを含んでもよく、このとき、kの値が1であり、sum1=0、b_i=b_qであり、
ノードqも、複数のサブノードを含んでもよく、このとき、kの値は1以上であってもよく、kの値が1であると、sum1=0、b_i=b_qであり、kの値が1よりも大きいと、b_i=b_q+sum1である。
【0070】
左から右への順序で各々のセルに対応するノードの開始行を順に決定することができ、すなわち、まず、テーブルヘッダーノードの開始行を決定し、その後に、テーブルヘッダーノードの各個のサブノードの開始行を決定することができ、これに従って、ノードqの開始行を取得することができ、これに応じて、ノードqに対応するk番目のサブノードであるセルiの開始行もこれに従って決定することができる。
【0071】
「前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定すること」に関しては、
図3と併せて説明する。
図3は、本発明の実施例によって提供されるもう1つの例示的なシナリオの概略図である。
【0072】
図3に示されたように、
図3に示されたテーブルを含む画像については、機械学習モデルを利用して
図3の左下領域の行フォレストを得ることができる。当該行フォレストは、4つのツリーを含む。
図3における1つのノードは、1つのセルに対応される。
【0073】
右から左への方式を使用して、1番目のツリーにおける各ノードにまたがる行数を決定する。ここで、
ノード5は1番目のツリーにおいて分岐がないので、ノード5にまたがる行数は1であり、
同様に、ノード6、ノード7、および、ノード8は1番目のツリーにおいて分岐がないので、ノード6、ノード7、および、ノード8にまたがる行数は1であり、
ノード1は1番目のツリーにおいて2つの分岐があり、それぞれノード5をルートノードとする分岐およびノード6をルートノードとする分岐であることに対応して、当該2つの分岐にまたがる行数はいずれも1であるので、ノード1にまたがる行数は2である。
【0074】
ノード1は1番目のツリーのテーブルヘッダーノードであるので、ノード1の開始行は0であり(または、1であり、本発明においてはノード1の開始行が0である例を説明する)、ノード1の終了行は0+2-1=1である。
【0075】
ノード5はノード1の1番目のサブノードであるので、ノード5の開始行はノード1の開始行に等しく、すなわち、ノード5の開始行は0であり、ノード5にまたがる行数は1であり、そのため、ノード5の終了行は0である。
【0076】
ノード6はノード1の2番目のサブノードであるので、ノード6の開始行はノード1の開始行にノード1の1番目のサブノードにまたがる行数に等しく、すなわち、ノード6の開始行は0+1=1に等しく、ノード6にまたがる行数が1であるので、ノード6の終了行は1である。
【0077】
ノード7はノード6の1番目のサブノードであるので、ノード7の開始行はノード6の開始行に等しく、すなわち、ノード7の開始行は1であり、ノード7にまたがる行数は1であり、そのため、ノード7の終了行は1である。
【0078】
ノード8はノード7の1番目のサブノードであるので、ノード8の開始行はノード7の開始行に等しく、すなわち、ノード8の開始行は1であり、ノード8にまたがる行数は1であり、そのため、ノード8の終了行は1である。
【0079】
右から左への方式を使用して、2番目のツリーにおける各ノードにまたがる行数を決定する。ここで、
ノード2、ノード9、ノード10、および、ノード11は2番目のツリーにおいて分岐がないので、ノード2、ノード9、ノード10、および、ノード11にまたがる行数は、1であり、
ノード2が2番目のツリーのテーブルヘッダーノードであるので、ノード2の開始行は2であり(1番目のツリーのテーブルヘッダーノードの終了行1に1を加算する)、ノード2の終了行は2+1-1=2である。
【0080】
ノード9はノード2の1番目のサブノードであるので、ノード9の開始行はノード2の開始行に等しく、すなわち、ノード9の開始行は2であり、ノード9にまたがる行数は1であり、そのため、ノード9の終了行は2である。
【0081】
ノード10はノード9の1番目のサブノードであるので、ノード10の開始行はノード9の開始行に等しく、すなわち、ノード10の開始行は2であり、ノード10にまたがる行数は1であり、そのため、ノード10の終了行は2である。
【0082】
ノード11はノード10の1番目のサブノードであるので、ノード11の開始行はノード10の開始行に等しく、すなわち、ノード11の開始行は2であり、ノード11にまたがる行数は1であり、そのため、ノード11の終了行は2である。
【0083】
これに従って、ノード3、ノード12、ノード13、および、ノード14の開始行は3であり、終了行は3であり、ノード4、ノード15、ノード16、および、ノード17の開始行は4であり、終了行は4であることを得ることができる。
【0084】
次に、「前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定すること」の具体的な実施形態を説明する。
【0085】
前記各々のセルのうちのセルiについては、セルiにまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することができ、その後、前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定する。
【0086】
前記s_iについて、説明する必要があるのは、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、セルiが最も細かい粒度のセルであることを示し、このとき、前記s_iは、1であり、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐があると、セルiに対応する列数は、当該セルiの各個のサブ分岐の対応する列数の合計である。
【0087】
a_iについて、説明する必要があるのは、
当該セルiがテーブルヘッダーノードに対応されると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しい。
【0088】
前述したように、前記各々のセルの列方向における親子関係に基づいて、列フォレストを得ることができ、列フォレストは、複数のツリーを含むことができる。1例において、当該複数のツリー構造におけるテーブルヘッダーノードの横座標の小さいものから大きいものへの順序で当該複数のツリー構造をソートすることができる。前記セルiが位置するツリーの前の1つのツリーとは、前述した順序で当該複数のツリー構造をソートした後に、セルiが位置するツリーの前にソートされた1つのツリーである。
【0089】
当該セルiがノードpのj番目のサブノードに対応されると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の全てにまたがる列数の合計である。ここで、
ノードpは1つのサブノードを含むことができ、このとき、jの値は1であり、sum2=0、a_i=a_pであり、
ノードpも複数のサブノードを含むことができ、このとき、jの値は1以上であってもよく、jの値が1に等しいと、sum2=0、a_i=a_pであり、jの値が1よりも大きいと、a_i=a_p+sum2である。
【0090】
上から下への順序で各々のセルに対応するノードの開始列を順に決定することができ、すなわち、まず、テーブルヘッダーノードの開始列を決定し、その後に、テーブルヘッダーノードの各個のサブノードの開始列を決定することができ、これに従って、ノードpの開始列を取得することができ、これに応じて、ノードpに対応するj番目のサブノードであるセルiの開始列もこれに従って決定することができる。
【0091】
「前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定すること」について、
図3と併せて例を挙げて説明する。
【0092】
図3に示されたように、
図3に示されたテーブルを含む画像については、機械学習モデルを利用して
図3の右下領域の行フォレストを得ることができる。当該行フォレストは、2つのツリーを含む。
【0093】
下から上への方式を使用して、1番目のツリーにおける各ノードにまたがる列数を決定する。ここで、
ノード4、ノード3、ノード2、および、ノード1は1番目のツリーにおいて分岐がないので、ノード4、ノード3、ノード2、および、ノード1にまたがる列数は、1であり、
ノード1は1番目のツリーのテーブルヘッダーノードであるので、ノード1の開始列は0であり(または、1であり、本発明においてノード1の開始列が0である例を説明する)、ノード1の終了列は0+1-1=0である。
【0094】
ノード2はノード1の1番目のサブノードであるので、ノード2の開始列はノード1の開始列に等しく、すなわち、ノード2の開始列は0であり、ノード2にまたがる列数は1であり、そのため、ノード2の終了列は0である。
【0095】
ノード3はノード2の1番目のサブノードであるので、ノード3の開始列はノード2の開始列に等しく、すなわち、ノード3の開始列は0であり、ノード3にまたがる列数は1であり、そのため、ノード3の終了列は0である。
【0096】
ノード4はノード3の1番目のサブノードであるので、ノード4の開始列はノード3の開始列に等しく、すなわち、ノード4の開始列は0であり、ノード4にまたがる列数は1であり、そのため、ノード4の終了列は0である。
【0097】
下から上への方式を使用して、2番目のツリーにおける各ノードにまたがる列数を決定する。ここで、
ノード6、ノード7、ノード8、ノード9、ノード10、ノード11、ノード12、ノード13、ノード14、ノード15、ノード16、および、ノード17はいずれもサブ分岐がないため、ノード6、ノード7、ノード8、ノード9、ノード10、ノード11、ノード12、ノード13、ノード14、ノード15、ノード16、および、ノード17にまたがる列数は、いずれも1であり、
ノード5にまたがる列数は、その3つのサブノード(ノード6、ノード7、および、ノード8)にまたがる列数の合計であり、すなわち、ノード5にまたがる列数は3である。
【0098】
上から下への順序で、2番目のツリーにおける各ノードの開始列および終了列を決定する。
【0099】
ノード5の開始列は、1番目のツリーのテーブルヘッダーノードの終了列に1を加算したものであり、すなわち、ノード1の終了列0に1を加算してノード5の開始列が1であることを得、ノード5にまたがる列数は3であるので、ノード5の終了列は1+3-1=3である。
【0100】
ノード6はノード5の1番目のサブノードに対応されるので、ノード6の開始列はノード5の開始列に等しく、すなわち、ノード6の開始列は1であり、ノード6にまたがる列数は1であり、そのため、ノード6の終了列も1である。
【0101】
ノード9はノード6の1番目のサブノードであるので、ノード9の開始列はノード6の開始列に等しく、すなわち、ノード9の開始列は1であり、ノード9にまたがる列数は1であり、そのため、ノード9の終了列も1である。これに従って、ノード12とノード15の開始列および終了列はいずれも1であることを得ることができる。
【0102】
ノード7はノード5の2番目のサブノードに対応されるので、ノード7の開始列はノード5の開始列1にノード5の1番目のサブ分岐にまたがる列数1を加算したものに等しく、そのため、ノード7の開始列は2であり、ノード7にまたがる列数は1であり、そのため、ノード7の終了列も2である。
【0103】
ノード10はノード7の1番目のサブノードであるので、ノード10の開始列はノード7の開始列に等しく、すなわち、ノード10の開始列は2であり、ノード10にまたがる列数は1であり、そのため、ノード10の終了列も2である。これに従って、ノード13とノード16の開始列および終了列はいずれも2であることを得ることができる。
【0104】
ノード8はノード5の3番目のサブノードに対応されるので、ノード8の開始列はノード5開始列1にノード5の前の2つの分岐にまたがる列数の合計2を加算したものに等しく、すなわち、ノード8の開始列は3であり、ノード8にまたがる列数は1であり、そのため、ノード8の終了列も3である。
【0105】
ノード11はノード8の1番目のサブノードであるので、ノード11の開始列はノード8の開始列に等しく、すなわち、ノード11の開始列は3であり、ノード11にまたがる列数は1であり、そのため、ノード11の終了列も3である。これに従って、ノード14とノード17の開始列および終了列はいずれも3であるであることを得ることができる。
【0106】
以上の説明からわかるように、本解決案を利用すれば、各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることができる。行方向におけるセルの親子関係および列方向におけるセルの親子関係は、グラフ構造と比べて単純である。したがって、本解決案を利用すれば、セルの構造座標を決定するための計算量を減らすことができる。
【0107】
1例において、各々のセルの構造座標を決定した後、座標構造及び各々のセル内のテキストを組み合わせて、目標テーブルを生成することができる。ここで、前記各々のセル内のテキストは、OCR技術を利用して得ることができる。
【0108】
本発明の実施例は、前記目標テーブルのフォーマットを具体的に限定しなく、前記目標テーブルは、excelフォーマットであってもよいし、wordフォーマットであってもよいし、他のフォーマットであってもよく、ここでは限定しない。
【0109】
前記目標テーブルがexcelフォーマットであると、前記各々のセルの構造座標に基づいて、表の総列数および総行数を決定することも可能であり、これにより、目標テーブルを生成する際に、まず、総列数および総行数に従ってセルを分割し、その後、各々のセルの構造座標に基づいて、セルの操作を結合することによって、目標テーブルにおける各々のセルを得る。ここで、
前記総列数は、各々のセルの終了列の最大値から各々のセルの開始列の最小値を減算して得られる値に1を加算したものである。
図3に示されたシナリオについては、各々のセルの終了列の最大値は3であり、各々のセルの開始列の最小値は0であるので、総列数は3-0+1=4である。
【0110】
前記総行数は、各々のセルの終了行の最大値から各々のセルの開始行の最小値を減算して得られる値に1を加算したものである。
図3に示されたシナリオについては、各々のセルの終了行の最大値は4であり、各々のセルの開始行の最小値は0であるので、総行数は4-0+1=5である。
【0111】
例示的なデバイス
上述した実施例によって提供される方法に基づいて、本発明の実施例は、装置をさらに提供し、以下では図面と併せて当該装置を説明する。
【0112】
図4を参照すると、当該図面は、本発明の実施例によって提供されるテーブル認識装置の構造の概略図である。前記装置400は、例えば、具体的には、取得ユニット401と、第1決定ユニット402と、第2決定ユニット403と、を備えてもよい。
【0113】
取得ユニット401は、テーブルを含む処理待ち画像を取得し、前記処理待ち画像における各々のセルの情報を決定し、前記各々のセルの情報は前記各々のセルの囲み枠の位置を含み、
第1決定ユニット402は、前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得、
第2決定ユニット403は、前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得、前記構造座標は、開始行、開始列、終了行、および、終了列を含む。
【0114】
選択的に、前記各々のセルの情報は、
前記各々のセル内のテキストの単語埋め込みベクトル、および/または、前記各々のセルの視覚的特徴をさらに含む。
【0115】
選択的に、前記第1決定ユニット402は、
前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得る。
【0116】
選択的に、前記機械学習モデルは、
特徴抽出モジュールと、第1意思決定モジュールと、第2意思決定モジュールと、を備え、
前記特徴抽出モジュールは、前記各々のセルの情報に対して処理を実行して、特性シーケンスを得るために用いられ、
前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、
前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる。
【0117】
選択的に、前記特徴抽出モジュールは、Transformerモデルのエンコーダである。
【0118】
選択的に、前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンション(self-attention)モジュールである。
【0119】
選択的に、前記第2決定ユニット403は、
前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定し、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定する。
【0120】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することは、
セルiに対応する開始行座標b_iを決定し、セルiにまたがる行数r_iを決定することと、
前記b_iおよび前記r_iに基づいて、セルiに対応する終了行座標をb_i+r_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記r_iは1であり、サブ分岐があると、セルiに対応する行数は当該セルiの各個のサブ分岐の対応する行数の合計であり、
セルiがテーブルヘッダーノードに対応されると、開始行b_iは、セルiが位置するツリーの前の1つのツリーの終了行に1を加算したものに等しく、
当該セルiがノードqのk番目のサブノードに対応されると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の全てにまたがる行数の合計である。
【0121】
選択的に、少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を示すために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することは、
セルiにまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することと、
前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定することと、を含み、ここで、
セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記s_iは1であり、サブ分岐があると、セルiに対応する列数は、当該セルiの各個のサブ分岐の対応する列数の合計であり、
当該セルiがテーブルヘッダーノードに対応されると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しく、
当該セルiがノードpのj番目のサブノードに対応されると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の全てにまたがる列数の合計である。
【0122】
選択的に、前記装置は、
前記各々のセルの構造座標および前記各々のセル内のテキストに基づいて、目標テーブルを生成するための生成ユニットをさらに備える。
【0123】
前記装置400は、上述した方法の実施例によって提供されるテーブル認識方法に対応する装置であり、前記装置400の各々のユニットの具体的な実現は、いずれも上述した方法の実施例に記載のテーブル認識方法と同じ考えであり、したがって、前記装置400の各々のユニットの具体的な実現は、上述した方法の実施例の関連する説明部分を参照することができ、ここでは繰り返して説明しない。
【0124】
本発明の実施例は、デバイスをさらに提供し、前記デバイスは、プロセッサとメモリとを備え、
前記プロセッサは、前記メモリに記憶された命令を実行することによって、前記デバイスに上述した方法の実施例によって提供されるテーブル認識方法を実行させる。
【0125】
本発明の実施例は、コンピュータ読み取り可能な記憶媒体を提供し、命令を含み、前記命令は、上述した方法の実施例によって提供されるテーブル認識方法を実行するようデバイスに指示する。
【0126】
本発明の実施例は、コンピュータプログラム製品をさらに提供し、前記コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータに上述した方法の実施例によって提供されるテーブル認識方法を実行させる。
【0127】
当業者は、本明細書を考慮し、ここに開示された発明を実践した後、本発明の他の実施案を容易に想到し得る。本発明は、本発明の任意の変形、用途または適応的変化をカバーし、これらの変形、用途または適応的変化は、本発明の一般的な原理に従い、本開示に開示されていない当技術分野における公知の常識または慣用技術手段を含む。本明細書及び実施例は、例示的なものとしてのみみなされ、本発明の真の範囲と精神は、以下の特許請求の範囲によって示される。
【0128】
本発明は、上述し図面に示した正確な構造に限定されるものではなく、その範囲を逸脱しない範囲で種々の修正及び変更を行うことができることを理解されたい。本発明の範囲は、添付の請求項のみによって制限される。
【0129】
上記は本発明の好適な実施例にすぎず、本発明を制限するためのものではなく、本発明の精神と原則の中で行われたいかなる変更、等価置換、改良などは、本発明の保護範囲に含まれるべきである。
【手続補正書】
【提出日】2024-07-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
テーブルを含む処理すべき画像を取得し、前記処理すべき画像における各々のセルの情報を決定することであって、前記各々のセルの情報は前記各々のセルの周囲枠の位置を含むことと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含むことと、を含む、
ことを特徴とするテーブル認識方法。
【請求項2】
前記各々のセルの情報は、
前記各々のセル内のテキストの単語埋め込みベクトル、および/または、前記各々のセルの視覚的特徴をさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記の前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることは、
前記各々のセルの情報を機械学習モデルに入力して、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得ることを含む、ことを特徴とする請求項
1に記載の方法。
【請求項4】
前記機械学習モデルは、
特徴抽出モジュールと、第1意思決定モジュールと、第2意思決定モジュールと、を備え、
前記特徴抽出モジュールは、前記各々のセルの情報に対して処理を実行して、特性シーケンスを得るために用いられ、
前記第1意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの行方向における親セルを得るために用いられ、
前記第2意思決定モジュールは、前記特徴シーケンスに基づいて、前記各々のセルの列方向における親セルを得るために用いられる、ことを特徴とする請求項3に記載の方法。
【請求項5】
前記特徴抽出モジュールは、Transformerモデルのエンコーダである、ことを特徴とする請求項4に記載の方法。
【請求項6】
前記第1意思決定モジュールおよび第2意思決定モジュールは、いずれもセルフアテンションself-attentionモジュールである、ことを特徴とする請求項4に記載の方法。
【請求項7】
前記の前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得ることは、
前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することと、前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項8】
少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を指示するために用いられ、1つのセルはツリーにおける1つのノードに対応され、前記の前記各々のセルの行方向における親子関係に基づいて、前記各々のセルの開始行および終了行を決定することは、
セルiに対応する開始行座標b_iを決定し、セルiがまたがる行数r_iを決定することと、
前記b_iおよび前記r_iに基づいて、セルiに対応する終了行座標をb_i+r_i-1として決定することと、を含み、
ここで、セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記r_iは1であり、サブ分岐があると、セルiに対応する行数は当該セルiの各々のサブ分岐の対応する行数の和であり、
セルiがテーブルヘッダーノードに対応すると、開始行b_iは、セルiが位置するツリーの前の1つのツリーの終了行に1を加算したものに等しく、
当該セルiがノードqのk番目のサブノードに対応すると、開始行b_iは、b_q+sum1に等しく、ここで、b_qはノードqの開始行であり、sum1はノードqの(k-1)個のサブ分岐の合計またがり行数の和である、ことを特徴とする請求項7に記載の方法。
【請求項9】
少なくとも1つのツリー構造は、前記各々のセルの行方向における親子関係を指示するために用いられ、1つのセルはツリーにおける1つのノードに対応し、前記の前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの開始列および終了列を決定することは、
セルiがまたがる列数s_iを決定し、セルiに対応する開始列座標a_iを決定することと、
前記s_iおよびa_iに基づいて、セルiに対応する終了列座標をa_i+s_i-1として決定することと、を含み、
ここで、セルiが位置するツリーにおける当該セルiに対応するノードにサブ分岐がないと、前記s_iは1であり、サブ分岐があると、セルiに対応する列数は、当該セルiの各々のサブ分岐の対応する列数の和であり、
当該セルiがテーブルヘッダーノードに対応すると、開始列a_iは、セルiが位置するツリーの前の1つのツリーのテーブルヘッダーノードの終了列に1を加算したものに等しく、
当該セルiがノードpのj番目のサブノードに対応すると、開始列a_iは、a_p+sum2に等しく、ここで、a_pはノードpの開始列であり、sum2は、ノードpの(j-1)個のサブ分岐の合計またがり列数の和である、ことを特徴とする請求項7に記載の方法。
【請求項10】
前記各々のセルの構造座標および前記各々のセル内のテキストに基づいて、目標テーブルを生成することをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項11】
テーブルを含む処理すべき画像を取得し、前記処理すべき画像における各々のセルの情報を決定するための取得ユニットであって、前記各々のセルの情報は前記各々のセルの周囲枠の位置を含む取得ユニットと、
前記各々のセルの情報に基づいて、前記各々のセルの行方向における親セルおよび前記各々のセルの列方向における親セルを得るための第1決定ユニットと、
前記各々のセルの行方向における親子関係および前記各々のセルの列方向における親子関係に基づいて、前記各々のセルの構造座標を得るための第2決定ユニットであって、前記構造座標は、開始行、開始列、終了行、および、終了列を含む第2決定ユニットと、を備える、
ことを特徴とするテーブル認識装置。
【請求項12】
デバイスであって、
プロセッサとメモリとを備え、
前記プロセッサは、前記メモリに記憶された命令を実行することによって、前記デバイスに請求項1~10のいずれか1項に記載の方法を実行させるために用いられる、ことを特徴とするデバイス。
【請求項13】
デバイスに請求項1~10のいずれか1項に記載の方法を実行させるように指示するための命令を含む、ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項14】
コンピュータ上で実行されると、コンピュータに請求項1~10のいずれか1項に記載の方法を実行させる、ことを特徴とするコンピュータプログラム製品。
【国際調査報告】