DE112020005095T5 - Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen - Google Patents

Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen Download PDF

Info

Publication number
DE112020005095T5
DE112020005095T5 DE112020005095.5T DE112020005095T DE112020005095T5 DE 112020005095 T5 DE112020005095 T5 DE 112020005095T5 DE 112020005095 T DE112020005095 T DE 112020005095T DE 112020005095 T5 DE112020005095 T5 DE 112020005095T5
Authority
DE
Germany
Prior art keywords
data
neural network
content
markup
training
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
Application number
DE112020005095.5T
Other languages
English (en)
Inventor
Peter Zhong
Antonio Jose Jimeno Yepes
Elaheh ShafieiBavani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020005095T5 publication Critical patent/DE112020005095T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein computerrealisiertes Verfahren zum Verwenden eines Modells für maschinelles Lernen (ML), um Tabellendaten automatisch aus einem Bild zu extrahieren, enthält ein Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen. Das Verfahren enthält des Weiteren ein Trainieren eines ersten neuronalen Netzwerks, um die Tabellendaten unter Verwendung der Markup-Daten in Zellen zu trennen, und ein Trainieren eines zweiten neuronalen Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten zu ermitteln. Das Verfahren enthält des Weiteren ein Empfangen eines Eingabebildes, das erste Tabellendaten ohne jegliche Markup-Daten enthält, ein Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Computertechnologie und im Besonderen auf ein Inhaltserkennungssystem, das automatisch eine Struktur ermittelt, die verwendet wird, um Informationen als Tabellendaten vorzulegen, und die des Weiteren den Inhalt in den Tabellendaten ermittelt.
  • HINTERGRUND
  • In jedem beliebigen Fachgebiet, sei es Medizin, Recht, Ingenieurstechnik, Wissenschaft, Wirtschaft usw., wird eine beträchtliche Menge an Literatur wie z.B. Bücher, Fachbeiträge, Artikel, Blog-Beiträge usw. erzeugt. Literatur wird zusätzlich auch im Rahmen von Handelsaktivitäten erzeugt, z.B. Rechnungen, Angebote, Kontoauszüge, Verträge usw. All diese Literatur wird üblicherweise für den Austausch zwischen Personen verfasst, ohne dass ein maschinelles Verständnis vorgesehen ist. Zu Unterscheidungszwecken werden die Dokumente als „natürlichsprachige“ Dokumente beschrieben, im Gegensatz zu Dokumenten oder Dateien, die für eine maschinelle Lesbarkeit und ein maschinelles Verständnis verfasst werden. Mit dem Aufkommen von künstlicher Intelligenz und anderen Fortschritten beim maschinellen Lernen sind Maschinen wie z.B. Computer in der Lage, das Korpus von Informationen aus der Literatur zu analysieren, um Erkenntnisse bereitzustellen, die für Menschen womöglich nicht erkennbar sind. Es gibt verschiedene Systeme für die syntaktische Analyse und die Analyse von Dokumenten, die ein Entschlüsseln von Inhalt der Literatur ermöglichen und eine Funktionalität wie z.B. eine Suchfunktion bereitstellen. In veröffentlichter Literatur sind wichtige Informationen häufig in Tabellen enthalten, die in dem Dokument enthalten sind. Dies gilt besonders für medizinische Literatur wie z.B. klinische Studien, in denen zahlreiche Informationen zu Ergebnissen verschiedener Gruppen ausschließlich in diesen Tabellen enthalten und im übrigen Text nicht vorhanden sind.
  • Gegenwärtig lassen sich diese Tabellen nur schwer oder überhaupt nicht syntaktisch analysieren, da es kein Standardformat bzw. keine Standardstruktur gibt. Während Menschen hierin versiert sind, sind Maschinen bisher noch nicht in der Lage, die Struktur von Tabellen zu verstehen, um eine Bedeutung zu extrahieren. In der Technik besteht somit ein Bedarf, das obige Problem zu lösen.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt, stellt die vorliegende Erfindung ein computerrealisiertes Verfahren, ein System und Computerprogrammprodukt zum Ermitteln von Inhalt in Tabellendaten bereit, aufweisend: ein Verwenden eines Algorithmus für maschinelles Lernen (ML) eines Prozessors, um Trainingsschritte auszuführen, die ein ML-Modell trainieren, wobei die Trainingsschritte aufweisen: ein Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen; ein Trainieren eines ersten neuronalen Netzwerks, um die Tabellendaten aus dem Satz von Bildern unter Verwendung der Markup-Daten in Zellen zu trennen; und ein Trainieren eines zweiten neuronalen Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten aus dem Satz von Bildern zu ermitteln; ein Empfangen eines Eingabebildes, das erste Tabellendaten ohne jegliche Markup-Daten enthält, die eine Struktur der ersten Tabellendaten angeben; und ein Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Ermitteln von Inhalt in Tabellendaten bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Durchführen der Schritte der Erfindung durchzuführen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert wird und in den internen Arbeitsspeicher eines digitalen Computers ladbar ist, das Software-Codeabschnitte aufweist, um bei Ausführung des Programms auf einem Computer die Schritte der Erfindung durchzuführen.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung enthält ein computerrealisiertes Verfahren zum Verwenden eines ML-Modells, um Tabellendaten automatisch aus einem Bild zu extrahieren, ein Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen. Das Verfahren enthält des Weiteren ein Trainieren eines ersten neuronalen Netzwerks, um die Tabellendaten unter Verwendung der Markup-Daten in Zellen zu trennen, und ein Trainieren eines zweiten neuronalen Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten zu ermitteln. Das Verfahren enthält des Weiteren nach einem Empfangen eines Eingabebildes, das erste Tabellendaten ohne jegliche Markup-Daten enthält, ein Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung enthält ein System einen Arbeitsspeicher und einen Prozessor, der mit dem Arbeitsspeicher verbunden wird. Der Prozessor wird mit ML-Algorithmen programmiert, um ein Verfahren durchzuführen, das ein Trainieren eines ML-Modells enthält. Das Trainieren enthält ein Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen. Das Trainieren enthält des Weiteren ein Trainieren eines ersten neuronales Netzwerks, um die Tabellendaten aus dem Satz von Bildern unter Verwendung der Markup-Daten in Zellen zu trennen. Das Trainieren enthält des Weiteren ein Trainieren eines zweiten neuronales Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten aus dem Satz von Bildern zu ermitteln. Im Anschluss an das Trainieren enthält das Verfahren des Weiteren nach einem Empfangen eines Eingabebildes, das erste Tabellendaten ohne Markup-Daten enthält, die eine Struktur der ersten Tabellendaten angeben, ein Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  • Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung enthält ein Computerprogrammprodukt eine Arbeitsspeichereinheit mit darin gespeicherten computerausführbaren Anweisungen. Bei Ausführung durch einen Prozessor veranlassen die computerausführbaren Anweisungen den Prozessor, ein Verfahren durchzuführen, das ein Trainieren eines ML-Modells enthält. Das Trainieren enthält ein Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen. Das Trainieren enthält des Weiteren ein Trainieren eines ersten neuronales Netzwerks, um die Tabellendaten aus dem Satz von Bildern unter Verwendung der Markup-Daten in Zellen zu trennen. Das Trainieren enthält des Weiteren ein Trainieren eines zweiten neuronales Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten aus dem Satz von Bildern zu ermitteln. Im Anschluss an das Trainieren enthält das Verfahren des Weiteren nach einem Empfangen eines Eingabebildes, das erste Tabellendaten ohne Markup-Daten enthält, die eine Struktur der ersten Tabellendaten angeben, ein Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  • Ausführungsformen der vorliegenden Erfindung ermöglichen die Verwendung von maschinellem Lernen, um Tabellendaten in digitaler Literatur automatisch syntaktisch zu analysieren und zu verstehen und die Literatur wiederum für eine vollständige Analyse zu verwenden. Gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden Tabellendaten in der Literatur entschlüsselt, obwohl die Tabellendaten in verschiedenen Layouts, Stilarten, Informationsarten und -formaten und ohne ausdrückliche Beschreibung der Codierungs-/Formatierungsinformationen zu der Struktur der Tabellendaten vorliegen. Entsprechend ermöglichen Ausführungsformen der vorliegenden Erfindung Verbesserungen von automatischen Inhaltserkennungssystemen, die derzeit nicht in der Lage sind, vorgelegte Tabellendaten automatisch zu entschlüsseln.
  • Durch die Methoden der vorliegenden Erfindung werden zusätzliche technische Merkmale und Vorteile realisiert. Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und als Bestandteil der beanspruchten Erfindung betrachtet. Zum besseren Verständnis wird auf die ausführliche Beschreibung und die Zeichnungen verwiesen.
  • Figurenliste
  • Die Besonderheiten der hier beschriebenen Ausschließlichkeitsrechte werden in den Ansprüchen am Ende der Beschreibung konkret aufgezeigt und eindeutig beansprucht. Die oben genannten und weitere Merkmale und Vorteile der Ausführungsformen der Erfindung werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen offensichtlich, wobei:
    • 1 ein System zur Inhaltserkennung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 2 ein Beispiel-Eingabebild in einem Bildformat in einem Beispielszenario darstellt;
    • 3 eine elektronische Ausgabe von Tabellendaten aus dem Eingabebild in einem Markup-Format in einem Beispielszenario darstellt;
    • 4 einen Ablaufplan eines Verfahrens zum Trainieren eines ML-Modells gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt, um Tabellendaten aus einem Eingabebild zu extrahieren;
    • 5 eine Beispielstruktur eines ML-Modells und einen Datenfluss eines Trainierens des ML-Modells gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 6 ein Computersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt;
    • 7 eine Cloud-Computing-Umgebung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt; und
    • 8 Modellschichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt.
  • Die hier abgebildeten Darstellungen dienen lediglich der Veranschaulichung. Es sind viele Abweichungen von den hier beschriebenen Darstellungen oder den Operationen möglich, ohne vom inhaltlichen Umfang der Erfindung abzuweichen. Zum Beispiel können die Aktionen in einer anderen Reihenfolge durchgeführt werden, oder Aktionen können hinzugefügt, gelöscht oder geändert werden. Darüber hinaus beschreiben der Begriff „verbunden“ und Variationen hiervon einen Datenübertragungspfad zwischen zwei Elementen und implizieren keine direkte Verbindung zwischen den Elementen ohne dazwischengeschaltete Elemente/Verbindungen. All diese Variationen werden als Bestandteil der Beschreibung betrachtet.
  • In den beigefügten Figuren und der folgenden ausführlichen Beschreibung der offenbarten Ausführungsformen werden die verschiedenen in den Figuren veranschaulichten Elemente mit zwei- oder dreistelligen Bezugsziffern bereitgestellt. Mit geringfügigen Abweichungen entspricht die ganz links dargestellte Zahl bzw. entsprechen die ganz links dargestellten Zahlen einer jeden Bezugsziffer derjenigen Figur, in der ihr Element erstmalig veranschaulicht wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Veröffentlichte Literatur enthält wichtige Informationen, die in einem Tabellenformat („Tabellen“) vorliegen, d.h. als Tabellendaten, die in dem Dokument bzw. den Dokumenten enthalten sind. Die Literatur kann Informationen enthalten, die in Gestalt einer Tabelle vorgelegt werden, die die Informationen über mehrere Zeilen und Spalten hinweg organisiert. Solche Tabellendaten ermöglichen ein strukturiertes Vorlegen von Informationen, ein Zusammenfassen von Schlüsselinformationen und ein Vorlegen von Ergebnissen und/oder Beobachtungen. In der Regel sind die Tabellendaten als ein Bild in dem Dokument enthalten, ohne jegliche entsprechende Informationen, die die Struktur beschreiben, die zum Tabulieren der Daten verwendet wird. Die Struktur gibt an, wie die Daten getrennt werden, zum Beispiel in Zeilen, Spalten, Zellen und anderen derartigen Komponenten der Tabelle.
  • In vielen Fällen ist ein Verständnis der Informationen in den Tabellen von größter Bedeutung für eine Analyse der verschiedenen Dokumente in der Literatur. Entsprechend ist es beim maschinellen Lernen notwendig, Tabellendaten zu lesen und zu verstehen, um die Literatur für eine vollständige Analyse zu verwenden. Allerdings gibt es eine technische Herausforderung beim Entschlüsseln von Tabellendaten in Literatur, da die Tabellendaten in verschiedenen Layouts, Stilarten, Informationsarten und -formaten und ohne ausdrückliche Beschreibung der Codierungs-/Formationsinformationen zu der Struktur der Daten vorgelegt werden. Während Menschen darin versiert sind, solche verschiedenartigen Layouts und Stilarten von Tabellendaten zu lesen, ist das Entschlüsseln der Tabellendaten eine technische Herausforderung. Einige Beispiele für eine Verschiedenartigkeit von Tabellen können unterschiedliche Höhen von Zeilen und Spalten, ein Zusammenführen von Speicherzellen eines ersten neuronalen Netzwerks, eine unterschiedliche Anzahl von Spalten, eine unterschiedliche Anzahl von Zeilen in verschiedenen Spalten oder unterschiedliche Arten von Rändern enthalten, die die Zellen kennzeichnen, usw.
  • Bei einer medizinischen Literatur wie z.B. klinischen Studien sind zum Beispiel Informationen zu Ergebnissen verschiedener Gruppen in solchen Tabellen enthalten. Es versteht sich, dass medizinische Literatur nur ein Beispiel ist und dass Tabellendaten in Literatur aus verschiedenen anderen Fachgebieten vorkommen, z.B. Ingenieurstechnik, Wissenschaft, Wirtschaft, Recht usw., und dass die Ausführungsformen der vorliegenden Erfindung nicht auf eine Verwendung von Dokumenten aus einem bestimmten Fachgebiet beschränkt sind.
  • Des Weiteren sind die Daten, die in einem Dokument unter Verwendung des Tabellenformats vorgelegt werden, im restlichen Text des Dokuments in vielen Fällen nicht vorhanden. Für ein automatisches Inhaltserkennungssystem, das verfügbare Literatur auf autonome Weise syntaktisch analysiert, um den Inhalt des Dokuments zu entschlüsseln, besteht somit eine technische Herausforderung im Entschlüsseln solcher Tabellendaten. Gegenwärtig ist es eine technische Herausforderung, solche Tabellendaten syntaktisch zu analysieren, da es kein Standardformat oder keine Standardstruktur gibt, die zum Tabulieren der Daten verwendet wird. Die Daten werden üblicherweise für ein menschliches Verständnis tabuliert, und Menschen sind im Allgemeinen versiert darin, solche Daten, die in einem Tabellenformat formatiert sind, unter Verwendung von Ad-hoc-Strukturen und ohne dass ihnen eine Beschreibung der Formatierung vorgelegt werden muss, syntaktisch zu analysieren.
  • Ausführungsformen der vorliegenden Erfindung lösen solche technischen Herausforderungen und ermöglichen Maschinen, die Struktur (oder das Format) von Tabellendaten autonom zu verstehen, um die Bedeutung der Tabellendaten zu extrahieren. Eine oder mehrere Ausführungsformen der vorliegenden Erfindung ermöglichen ein Trainieren eines ML-Modells, um Tabellendaten ohne jegliche Beschreibung der Struktur oder Trenninformation oder Kennzeichnungen zu empfangen, die die Formatierung der Tabellendaten angeben, um einzelne Spalten, Zeilen und/oder Zellen zu identifizieren und den in der Tabelle enthaltenen Inhalt (z.B. Text, Bilder usw.) zu extrahieren. Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung wird der extrahierte Inhalt in einem strukturierten und aussagekräftigen Format ausgegeben.
  • Bei einer oder mehreren Ausführungsformen der Erfindung empfängt das ML-Modell die Tabellendaten in Gestalt von digitalen Bildern von Tabellen, die über keinerlei angegebene Trennkennzeichen oder Kennzeichnungen verfügen. Zum Beispiel können die digitalen Bilder in einem beliebigen digitalen Bilddateiformat vorliegen, wie z.B. Bitmap, JPEG (Joint Photographic Experts Group), PNG (Portable Network Graphic) oder ein beliebiges anderes Format. In einem oder mehreren Beispielen werden die Bilder von Tabellendaten aus Dokumenten extrahiert, die wiederum in einem beliebigen digitalen Inhaltsformat vorliegen, wie z.B. PDF (Portable Document Format), DOC und dergleichen. Das ML-Modell kann dann einzelne Spalten, Zeilen und Zellen identifizieren und den darin enthaltenen Text auf eine strukturierte und aussagekräftige Weise extrahieren. Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die extrahierten Daten unter Verwendung eines computerlesbaren Formats ausgegeben, wie z.B. Hypertext Markup Language (HTML), Extended Markup Language (XML) oder ein beliebiges anderes derartiges computerlesbares Format.
  • 1 stellt ein System 100 zur Inhaltserkennung gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Das System 100 kann die in 8 dargestellte Inhaltserkennungs-Arbeitslast 96 sein. Alternativ kann das System 100 ein eigenständiges System sein, das für eine Inhaltserkennung verwendet wird. Das System 100 enthält neben anderen Komponenten eine Inhaltserkennungseinheit 120, die ein Eingabebild 112 von Tabellendaten aus einem elektronischen Dokument 110 empfängt. Das empfangene Eingabebild 112 wird von keinerlei Strukturinformationen begleitet, die das Format der Tabellendaten in dem Eingabebild 112 beschreiben.
  • Die Inhaltserkennungseinheit 120 verwendet ein ML-Modell 122, um den Inhalt des Eingabebildes 112 syntaktisch zu analysieren und eine elektronische Ausgabe 130 zu erzeugen, die die Tabellendaten in einem Markup-Format 132 enthält. Die Tabellendaten in dem Markup-Format 132 enthalten eine Struktur der Tabellendaten in einem getrennten Format, das zum Beispiel die Zellen in den Tabellendaten beschreibt. Zum Beispiel beschreibt das getrennte Format die Zeilen und die Spalten der Tabellendaten, die die Daten in mehrere Zellen unterteilen. Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann die Inhaltserkennungseinheit 120 außerdem Text aus dem Eingabebild 112 extrahieren und in die elektronische Ausgabe 130 aufnehmen. Der extrahierte Text kann so vorgelegt werden, dass die Bedeutung auf Grundlage der Beziehungen zwischen den Zellen in den Tabellendaten ermittelt werden kann.
  • Das ML-Modell 122 wird trainiert, um den Inhalt des Eingabebildes 112 unter Verwendung von Trainingsdaten 140 syntaktisch zu analysieren. Die Trainingsdaten 140 enthalten extrahierte Bilder 142 von Tabellendaten, die mit entsprechenden Markup-Daten 144 gepaart werden, die eine Struktur und einen Inhalt der Tabellendaten in den extrahierten Bildern 142 bereitstellen. Die Trainingsdaten 140 enthalten mehrere (z.B. Tausende, Millionen usw.) solcher entsprechenden Paare von extrahierten Bildern 142 von Tabellendaten und entsprechenden Markup-Daten 144 einer Tabellenstruktur und eines Tabelleninhalts. Die Trainingsdaten 140 werden durch das ML-Modell verwendet, um das Identifizieren einer Tabellenstruktur und eines Tabelleninhalts in einem bestimmten Bild von Tabellendaten, wie z. B. dem Eingabebild 112, ohne die entsprechende Beschreibung der Struktur der Tabellendaten zu lernen.
  • 2 stellt ein Beispiel-Eingabebild 112 in einem Beispielszenario dar, und 3 stellt eine elektronische Ausgabe 130 in einem Beispielszenario dar. In dem dargestellten Beispiel, das in 2 gezeigt wird, enthält das Eingabebild 112 Spalten 410 und Zeilen 420. Wie gezeigt, können eine oder mehrere Zeilen Teilzeilen 430 enthalten. Die Zeilen 420 und die Spalten 410 bilden mehrere Zellen 440. Die Struktur der Tabellendaten wird in dem Markup-Format 132 in der elektronischen Ausgabe 130 getrennt, wie in 3 gezeigt wird. Die Trennung in dem Markup-Format 132 beschreibt die Spaltentrennung 510, die den Spalten 410 entspricht. Die Spaltentrennung 510 gibt eine Anzahl der Spalten 410 an. Die Spaltentrennung 510 beschreibt außerdem die Kopfdaten der Spalten 410. Die Spaltentrennung 510 kann auch andere Eigenschaften enthalten, um die Spalten 410 in anderen Beispielen zu beschreiben, bei denen die Spalten 410 andere Attribute wie zum Beispiel Teilspalten haben können.
  • Das in 3 gezeigte Markup-Format 132 enthält auch eine Zeilentrennung 520, die den Zeilen 420 entspricht. Die Zeilentrennung 520 beschreibt eine Anzahl der Zeilen 420 in dem Eingabebild 112. Die Zeilentrennung 520 enthält außerdem die Kopfdaten der Zeilen 420. Die Zeilentrennung 520 enthält außerdem die Teiltrennung 530 für eine Zeile 420, die eine oder mehrere Teilzeilen 430 enthält.
  • Die in 3 gezeigte elektronische Ausgabe 130 enthält des Weiteren den extrahierten Text 540 aus den Zellen 440, die in 2 gezeigt werden. Der extrahierte Text 540 ist entsprechend der Struktur enthalten, die anhand des in 2 gezeigten Eingabebildes 112 getrennt wird.
  • 4 stellt einen Ablaufplan eines Verfahrens 600 zum Trainieren des ML-Modells 122 der Inhaltserkennungseinheit 120 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar, um Tabellendaten aus dem Eingabebild 112 zu extrahieren. In einem Block 610 enthält das Verfahren 600 ein Trainieren des ML-Modells 122 unter Verwendung der Trainingsdaten 140. Die Trainingsdaten enthalten extrahierte Bilder 142 von Tabellendaten, die mit entsprechenden Markup-Daten 144 gepaart werden, die die Struktur und den Inhalt der Tabellendaten in den extrahierten Bildern 142 bereitstellen. In einem oder mehreren Beispielen können die Trainings-Markup-Daten 144 mehrere XML-Dateien sein, die Kennzeichnungen der Tabellendaten in entsprechenden Bilddateien oder Dokumentdateien bereitstellen, die die Trainingsbilder 142 enthalten.
  • Die Trainings-Markup-Daten 144 stellen dem ML-Modell 122 eine normalisierte, strukturierte Darstellung der Tabellendaten in den Trainingsbildern 142 bereit. Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung werden die Trainingsbilder 142 erzeugt, indem Tabellendaten in mehreren Dokumenten (z.B. PDF-Dateien) zu Bilddateien (z.B. JPEG-Dateien) konvertiert werden. Eine solche Konvertierung kann in einem oder mehreren Beispielen automatisch durchgeführt werden, sodass die eigentlichen Trainingsdaten 140 ohne manuelle Aktivitäten erzeugt werden. Die Trainingsdaten 140 stellen mehrere (Tausende, Millionen) von Stichproben bereit, die die Trainingsbilder 142 bereitstellen, ergänzt durch ein Grundwissen zu den Tabellendaten in der Markup-Darstellung 144.
  • Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung kann das ML-Modell 122 eine Deep-Learning-Netzwerkarchitektur haben, die mit den Trainingsdaten 140 trainiert werden kann. 5 stellt eine Beispielstruktur des ML-Modells 122 und einen Datenfluss eines Trainierens des ML-Modells 122 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar.
  • Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung ist das ML-Modell 122 eine neuronale Deep-Learning-Netzwerkarchitektur, die ein Codierer/Decodierer-Modell mit mehreren Schichten von neuronalen Faltungsnetzwerken (Convolutional Neural Networks, CNNs), Aufmerksamkeitsmodulen und rekurrenten neuronalen Netzwerken (Recurrent Neural Networks, RNNs) verwendet. Bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung enthält das ML-Modell 122 einen Codierer 710 und zwei Decodierungssätze, einen ersten Decodierungssatz 720 und einen zweiten Decodierungssatz 730.
  • Der Codierer 710 enthält ein oder mehrere CNNs, die die Trainingsbilder 142 analysieren und einen Satz von Faltungsfiltern verwenden, um die visuellen Merkmale der Trainingsbilder 142 zu erfassen. Die Parameter der Faltungsfilter werden während des Trainierens mittels einer Rückwärtspropagierung aktualisiert. Die visuellen Merkmale werden zusammenfassend als eine Merkmalskarte bezeichnet. Jedes Pixel in der Merkmalskarte ist ein hochdimensionaler Merkmalsvektor, der das Muster eines entsprechenden lokalen Patches (z.B. 16 x 16 Pixel) in den Trainingsbildern 142 beschreibt. Der Codierer 710 leitet die Merkmalskarte an den ersten Decodierungssatz 720 und den zweiten Decodierungssatz 730 weiter.
  • Die Decodierungssätze 720, 730 können eine oder mehrere Einheiten von RNNs und Aufmerksamkeitsmodulen enthalten. In einem oder mehreren Beispielen können die RNNs als LSTM-Zellen (Long Short-Term Memory oder GRU-Zellen (Gated Recurrent Unit) realisiert werden. Der erste Decodierungssatz 720 kann verwendet werden, um die Struktur der Tabellendaten in den Trainingsbildern 142 (und dem Eingabebild 112) zu ermitteln. Entsprechend kann der erste Decodierungssatz 720 auch als ein Satz von strukturdecodierenden neuronalen Netzwerken bezeichnet werden. Der zweite Decodierungssatz 730 kann verwendet werden, um den Inhalt einer oder mehrerer Zellen in den Tabellendaten der Trainingsbilder 142 (und des Eingabebildes 112) zu ermitteln. Entsprechend kann der zweite Decodierungssatz 730 auch als ein Satz von inhaltsdecodierenden neuronalen Netzwerken bezeichnet werden.
  • Der Satz von strukturdecodierenden neuronalen Netzwerken (720) enthält ein Strukturaufmerksamkeitsmodul 722 und einen Strukturdecodierer 724, bei dem es sich um ein RNN handelt. Das Strukturaufmerksamkeitsmodul 722 ist ein neuronales Netzwerk, das lernt, wie verschiedenen Bereichen der Merkmalskarte, die aus den Trainingsbildern 142 (und dem Eingabebild 112) codiert wird, verschiedene Fokussierungsgrade zuzuweisen sind, um die Struktur zu entschlüsseln. Ein höherer Fokussierungsgrad in einer bestimmten Region der Merkmalskarte führt dazu, dass der Strukturdecodierer 724 mehr Informationen aus dieser Region nutzt. Der Fokussierungsgrad an einer bestimmten Position in der Merkmalskarte wird ermittelt, indem ein Satz von Gewichtungsparametern mit der Merkmalskarte selbst sowie mit einem „verborgenen Zustand“ des Strukturdecodierers 724 multipliziert wird. In einem RNN ist ein „verborgener Zustand“ in Zusammenhang mit einer rekurrenten Schicht ein Wert, der während der Rekurrenz gemeinsam genutzt wird, um eine Darstellung früherer Eingaben bereitzustellen. Die Gewichtungsparameter des Aufmerksamkeitsmoduls 722 werden während des Trainierens mittels Rückwärtspropagierung angepasst, wie weiter unten ausführlicher beschrieben wird. Das Aufmerksamkeitsmodul 722 analysiert die Merkmalskarte der Trainingsbilder 142, um den Fokussierungsgrad zu ermitteln. Das Strukturdecodierungs-RNN 724 enthält auch seine eigenen Gewichtungsparameter, die mittels Rückwärtspropagierung aktualisiert werden. Das Strukturdecodierungs-RNN 724 und das Strukturaufmerksamkeitsmodul 722 werden wiederholt gemeinsam trainiert, um die Gewichtungsparameter beider Netzwerke anzupassen, des Strukturdecodierungs-RNNs 724 und des Strukturaufmerksamkeitsmoduls 722.
  • Die Gewichtungen werden aktualisiert, um die Differenz zwischen der Markup-Darstellungsschätzung 730, die durch den Satz von strukturdecodierenden neuronalen Netzwerken (720) erzeugt wird, und der bekannten Tabellenstruktur 144 für die Trainingsbilder 142 zu minimieren. Wie in 5 dargestellt, wird die Markup-Darstellungsschätzung mit der Tabellenstruktur 144 verglichen, um eine Verlustfunktion 740 zu berechnen. Die Verlustfunktion 740 gibt eine Differenz zwischen der Struktur, die extrahiert wird, und der bekannten Struktur in den Trainingsdaten 144 an. Die Verlustfunktion 740 wird dem Strukturdecodierungs-RNN 724, dem Strukturaufmerksamkeitsmodul 722 und dem Codierer 710 als eine Rückmeldung bereitgestellt. Alternativ wird auf Grundlage der Differenz ein Strukturgenauigkeitswert berechnet und als eine Rückmeldung bereitgestellt. Die Gewichtungen des Strukturdecodierungs-RNNs 724, des Strukturaufmerksamkeitsmoduls 722 und des Codierers 710 werden auf Grundlage des Strukturgenauigkeitswerts aktualisiert, sodass die Markup-Darstellungsschätzung 730 näher bei den Tabellendaten 144 liegt. In einem oder mehreren Beispielen wird der Strukturgenauigkeitswert mit einem vorgegebenen Genauigkeitsschwellenwert verglichen. Wenn der Strukturgenauigkeitswert den vorgegebenen Strukturgenauigkeitsschwellenwert übersteigt, wird der Satz von strukturdecodierenden neuronalen Netzwerken 720 als trainiert gekennzeichnet. Wenn der Strukturgenauigkeitswert jedoch um mehr als einen bestimmten Schwellenwert von dem vorgegebenen Strukturgenauigkeitsschwellenwert abweicht, wird der Satz von strukturdecodierenden neuronalen Netzwerken 720 weiterhin trainiert, d.h. seine Gewichtungen werden angepasst.
  • Der Satz von inhaltsdecodierenden neuronalen Netzwerken 730 wird auf eine ähnliche Weise trainiert und funktioniert ähnlich wie der Satz von strukturdecodierenden neuronalen Netzwerken 720. Der Satz von inhaltsdecodierenden neuronalen Netzwerken 730 enthält ein Inhaltsaufmerksamkeitsmodul 732 und einen Inhaltsdecodierer 734, bei dem es sich um ein RNN handelt. Das Inhaltsaufmerksamkeitsmodul 732 ist ein neuronales Netzwerk, das lernt, wie verschiedenen Bereichen der Merkmalskarte, die aus den Trainingsbildern 142 (und dem Eingabebild 112) codiert wird, verschiedene Fokussierungsgrade zuzuweisen sind, um den Inhalt zu entschlüsseln. Ein höherer Fokussierungsgrad in einer bestimmten Region der Merkmalskarte führt dazu, dass der Inhaltsdecodierer 734 mehr Informationen aus dieser Region nutzt. Der Fokussierungsgrad an einer bestimmten Position in der Merkmalskarte wird ermittelt, indem ein Satz von Gewichtungsparametern mit der Merkmalskarte selbst sowie mit einem verborgenen Zustand des Strukturdecodierer 724 und dem verborgenen Zustand des Inhaltsdecodierers 734 multipliziert wird. Die Gewichtungsparameter des Inhaltsaufmerksamkeitsmoduls 732 werden während des Trainierens mittels Rückwärtspropagierung angepasst, wie noch ausführlicher beschrieben wird. Zum Beispiel analysiert das Inhaltsaufmerksamkeitsmodul 732 die Merkmalskarte der Trainingsbilder 142, die durch das Inhaltsdecodierungs-RNN 734 verwendet werden sollen. Das Inhaltsdecodierungs-RNN 734 enthält auch seine eigenen Gewichtungsparameter, die mittels Rückwärtspropagierung aktualisiert werden. Das Inhaltsdecodierungs-RNN 734 und das Inhaltsaufmerksamkeitsmodul 732 werden wiederholt gemeinsam trainiert, um die Gewichtungsparameter beider Netzwerke anzupassen, des Inhaltsdecodierungs-RNNs 734 und des Inhaltsaufmerksamkeitsmoduls 732.
  • Die Gewichtungen werden aktualisiert, um die Differenz zwischen der Darstellungsschätzung 730, die durch den Satz von inhaltsdecodierenden neuronalen Netzwerken erzeugt wird, und dem bekannten Inhalt in Tabellendaten für die Trainingsbilder 142 zu minimieren. Wie in 5 dargestellt, wird die Markup-Darstellungsschätzung 730 mit den Tabellendaten 144 verglichen, um die Verlustfunktion 740 zu berechnen. Die Verlustfunktion 740 gibt eine Differenz zwischen dem Inhalt, der extrahiert wird, und dem bekannten Inhalt in den Trainingsdaten 144 an. Die Verlustfunktion 740 wird dem Inhaltsdecodierungs-RNN 734, dem Inhaltsaufmerksamkeitsmodul 732 und dem Codierer 710 als eine Rückmeldung bereitgestellt. Alternativ wird auf Grundlage der Differenz ein Inhaltsgenauigkeitswert berechnet und als eine Rückmeldung bereitgestellt. Die Gewichtungen des Inhaltsdecodierungs-RNNs 734, des Inhaltsaufmerksamkeitsmoduls 732 und des Codierers 710 werden auf Grundlage des Inhaltsgenauigkeitswerts aktualisiert, sodass die Markup-Darstellungsschätzung 730 näher bei den Tabellendaten 144 liegt. In einem oder mehreren Beispielen wird der Inhaltsgenauigkeitswert mit einem vorgegebenen Genauigkeitsschwellenwert verglichen. Wenn der Genauigkeitswert den vorgegebenen Genauigkeitsschwellenwert übersteigt, wird der Satz von inhaltsdecodierenden neuronalen Netzwerken 730 als trainiert gekennzeichnet. Wenn der Genauigkeitswert jedoch um mehr als einen bestimmten Schwellenwert von dem vorgegebenen Genauigkeitsschwellenwert abweicht, wird der Satz von inhaltsdecodierenden neuronalen Netzwerken 730 weiterhin trainiert, d.h. seine Gewichtungen werden angepasst.
  • Entsprechend enthält das ML-Modell 120 bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung zum Trennen von Tabellendaten, die in einem Bildformat vorgelegt werden, drei neuronale Netzwerke - den Codierer 710, das Strukturaufmerksamkeitsmodul 722 und den Strukturdecodierer 724. Der Codierer 710 ermittelt Merkmalskarten aus den Trainingsbildern, die an das Strukturaufmerksamkeitsmodul 722 weitergeleitet werden. Das Strukturaufmerksamkeitsmodul 722 ermittelt einen Fokussierungsgrad aus den Merkmalskarten. Der Strukturdecodierer verwendet den Fokussierungsgrad und die Merkmalskarten, um eine Trennungsschätzung der Struktur der Tabellendaten zu ermitteln. Auf Grundlage einer Differenz zwischen der Schätzung und der Markup-Darstellung aus den Trainingsdaten 144 werden die Gewichtungen des Codierers 710, des Strukturaufmerksamkeitsmoduls 722 und des Strukturdecodierers 724 aktualisiert/angepasst.
  • Zum Extrahieren von Inhalt aus den Tabellendaten enthält das ML-Modell 120 zusätzlich das Inhaltsaufmerksamkeitsmodul 732 und den Inhaltsdecodierer 734, die beide gemeinsam mit dem Codierer 710 arbeiten. Dabei verwendet das Inhaltsaufmerksamkeitsmodul 732 die durch den Codierer 710 ermittelten Merkmalskarten, um Fokussierungsgrade für eine Inhaltsextraktion zu ermitteln. Der Inhaltsdecodierer 734 ermittelt daraufhin eine Inhaltsschätzung unter Verwendung der Merkmalskarten und der Fokussierungsgrade. Die Differenz zwischen der Inhaltsschätzung und dem tatsächlichen Inhalt aus den Trainingsdaten wird verwendet, um die Gewichtungen des Codierers 710, des Inhaltsaufmerksamkeitsmoduls 732 und des Inhaltsdecodierers 734 anzupassen. In einem oder mehreren Beispielen verwendet das Inhaltsaufmerksamkeitsmodul 732 Eingaben aus dem Strukturdecodierer 724. In einem oder mehreren Beispielen werden alle neuronalen Netzwerke in dem ML-Modell 120 gemeinsam trainiert.
  • Unter erneuter Bezugnahme auf den Ablaufplan des Verfahrens 600 in 4 enthält bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung das Verfahren 600 des Weiteren in einem Block 620 ein Empfangen des Eingabebildes 112, das Tabellendaten mit einer unbekannten Struktur enthält. Anders ausgedrückt kennt die Inhaltserkennungseinheit 120 die Struktur der Tabellendaten in dem Eingabebild nicht.
  • In einem Schritt 630 ermittelt die Inhaltserkennungseinheit 120 die Trennung der Struktur der Tabellendaten in dem Eingabebild 112 unter Verwendung des trainierten ML-Modells 122. Insbesondere ermöglichen das bzw. die strukturdecodierenden neuronalen Netzwerke ein Identifizieren der Trennung der Tabellendaten auf Grundlage der Gewichtungen, die während des Trainierens festgelegt werden. Die Trennung enthält eine Markup-Darstellung der Zellen 440 in dem Eingabebild 112. Die Trennung enthält außerdem eine Markup-Darstellung der Spalten 410 und der Zeilen 420 aus den Tabellendaten. Die Trennung identifiziert des Weiteren die Abgrenzung zwischen Teilzeilen und Teilspalten, die unter Umständen in den Tabellendaten vorhanden sind.
  • Des Weiteren enthält das Verfahren 600 in einem Block 640 ein Extrahieren von Inhalt aus den Tabellendaten in dem Eingabebild 112 unter Verwendung des Satzes von inhaltsdecodierenden neuronalen Netzwerken 730.
  • Das Verfahren 600 enthält des Weiteren in einem Block 650 ein Zusammenführen des extrahierten Inhalts und der Trennung der Tabellendaten aus dem Eingabebild 112. Das Zusammenführen enthält ein Aufnehmen des extrahierten Inhalts in die Markup-Darstellung der getrennten Struktur der Tabellendaten. Entsprechend wird bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung eine Markup-Datei erzeugt (siehe 3), die Tags entsprechend der Markup-Sprache enthält, die zum Abgrenzen der Tabellenstruktur verwendet wird. Die Markup-Datei enthält des Weiteren den extrahierten Inhalt, der in die Tags eingebettet ist.
  • Auf diese Weise wird das Eingabebild 112 unter Verwendung des ML-Modells 122 automatisch analysiert, um die Struktur der Tabellendaten aus dem Eingabebild zu identifizieren und des Weiteren den Inhalt der Tabellendaten zu extrahieren. Die Tabellendaten werden des Weiteren unter Verwendung eines Markup-Formats dargestellt. Obwohl in den hierin beschriebenen Beispielen ein Markup-Format verwendet wird, ist zu beachten, dass die Tabellendaten bei einer oder mehreren Ausführungsformen der vorliegenden Erfindung auch unter Verwendung einer beliebigen anderen elektronischen Formatierung oder beliebiger anderer elektronischer Protokolle wie z.B. einem CSV-Format (Comma Separated Values) oder einem beliebigen anderen maschinenlesbaren Format dargestellt werden können.
  • Unter Bezugnahme auf 6 wird allgemein ein Computersystem 800 gemäß einer Ausführungsform gezeigt. Das Computersystem 800 kann ein elektronisches Computer-Framework sein, das eine beliebige Anzahl und Kombination von Datenverarbeitungseinheiten und Netzwerken aufweist und/oder verwendet und verschiedene Datenübertragungstechnologien nutzt, wie hierin beschrieben wird. Das Computersystem 800 kann einfach skalierbar, erweiterbar und modular sein und über die Fähigkeit verfügen, zu verschiedenen Diensten zu wechseln oder manche Merkmale unabhängig von anderen neu zu konfigurieren. Das Computersystem 800 kann zum Beispiel, ein Server, Desktop Computer, Laptop Computer, Tablet Computer oder Smartphone sein. In manchen Beispielen kann das Computersystem 800 ein Cloud-Computing-Knoten sein. Das Computersystem 800 lässt sich im allgemeinen Zusammenhang von Anweisungen beschreiben, die durch ein Computersystem ausführbar sind, wie z.B. Programmmodule, die durch ein Computersystem ausgeführt werden. Allgemein können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und dergleichen enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem 800 kann in verteilten Cloud-Computing-Umgebungen eingesetzt werden, wo Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk miteinander verbunden werden. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien wie beispielsweise Arbeitsspeichereinheiten befinden.
  • Wie in 6 gezeigt, hat das Computersystem 800 eine oder mehrere Zentraleinheiten (Central Processing Units, CPUs) 801a, 801b, 801c usw. (die gemeinsam oder allgemein als der bzw. die Prozessoren 801 bezeichnet werden). Die Prozessoren 801 können ein Einzelkernprozessor, ein Mehrkernprozessor, ein Datenverarbeitungs-Cluster oder eine beliebige Anzahl von anderen Konfigurationen sein. Die auch als Verarbeitungsschaltungen bezeichneten Prozessoren 801 werden außerdem über einen Systembus 802 mit einem Systemarbeitsspeicher 803 und verschiedenen anderen Komponenten verbunden. Der Systemarbeitsspeicher 803 kann einen Festwertspeicher (Read-Only Memory, ROM) 804 und einen Direktzugriffsspeicher (Random Access Memory, RAM) 805 enthalten. Der ROM 804 wird mit dem Systembus 802 verbunden und kann ein Basic Input/Output System (BIOS) enthalten, das bestimmte grundlegende Funktionen des Computersystems 800 steuert. Der RAM ist ein Lese-Schreib-Arbeitsspeicher, der mit dem Systembus 802 verbunden wird, um durch die Prozessoren 801 verwendet zu werden. Der Systemarbeitsspeicher 803 stellt einen vorübergehenden Arbeitsspeicherplatz für Operationen der Anweisungen während des Betriebs bereit. Der Systemarbeitsspeicher kann einen Direktzugriffsspeicher (RAM), Festwertspeicher, Flash-Arbeitsspeicher oder beliebige andere geeignete Arbeitsspeichersysteme enthalten.
  • Das Computersystem 800 weist einen Eingabe/Ausgabe(E/A)-Adapter 806 und einen Datenübertragungsadapter 807 auf, die mit dem Systembus 802 verbunden werden. Der E/A-Adapter 806 kann ein SCSI-Adapter (Small Computer System Interface) sein, der mit einer Festplatte 808 und/oder einer anderen ähnlichen Komponente Daten austauscht. Der E/A-Adapter 806 und die Festplatte 80 werden hierin zusammenfassend als ein Massenspeicher 810 bezeichnet.
  • Eine Software 811 zur Ausführung auf dem Computersystem 800 kann in dem Massenspeicher 810 gespeichert werden. Der Massenspeicher 810 ist ein Beispiel für ein physisches Speichermedium, das durch die Prozessoren 801 lesbar ist, wobei die Software 811 als Anweisungen zur Ausführung durch die Prozessoren 801 gespeichert wird, um den Betrieb des Computersystems 800 zu veranlassen, wie dies hierin im Folgenden unter Bezugnahme auf die verschiedenen Figuren beschrieben wird. Beispiele für ein Computerprogrammprodukt und die Ausführung einer solcher Anweisung werden hierin ausführlicher dargelegt. Der Datenübertragungsadapter 807 verbindet den Systembus 802 mit einem Netzwerk 812, bei dem es sich um ein externes Netzwerk handeln kann, das dem Computersystem 800 ermöglicht, mit anderen solchen Systemen Daten auszutauschen. Bei einer Ausführungsform speichern ein Bereich des Systemarbeitsspeichers 803 und der Massenspeicher 810 gemeinsam ein Betriebssystem, das ein beliebiges geeignetes Betriebssystem sein kann, wie z.B. das z/OS- oder AIX-Betriebssystem der IBM Corporation, um die Funktionen der verschiedenen in 6 gezeigten Komponenten zu koordinieren.
  • Zusätzliche Eingabe/Ausgabe-Einheiten werden wie gezeigt über einen Anzeigeadapter 815 und einen Schnittstellenadapter 816 mit dem System 802 verbunden. Bei einer Ausführungsform können die Adapter 806, 807, 815 und 816 mit einem oder mehreren E/A-Bussen verbunden werden, die über eine (nicht gezeigte) zwischengeschaltete Busbrücke mit dem Systembus 802 verbunden werden. Eine Anzeige 819 (z.B. ein Bildschirm oder ein Anzeigemonitor) wird mit dem Systembus 802 durch einen Anzeigeadapter 815 verbunden, der einen Grafik-Controller zur Verbesserung der Leistung von grafikintensiven Anwendungen sowie einen Video-Controller enthalten kann. Eine Tastatur 821, eine Maus 822, ein Lautsprecher 823 usw. können über den Schnittstellenadapter 816, der zum Beispiel einen SIO-Chip (Super I/O) enthalten kann, der mehrere Einheitenadapter zu einer einzigen integrierten Schaltung zusammenfasst, mit dem Systembus 802 zusammenschaltet werden. Geeignete E/A-Busse zum Verbinden von Peripherieeinheiten wie z.B. Festplatten-Controllern, Netzwerkadaptern und Grafikadaptern enthalten üblicherweise gemeinsame Protokolle wie beispielsweise das PCI-Protokoll (Peripheral Component Interconnect). Wie in 6 konfiguriert, enthält das Computersystem 800 somit eine Verarbeitungsfähigkeit in Gestalt der Prozessoren 801 und eine Speicherfähigkeit wie z.B. den Systemarbeitsspeicher 803 und den Massenspeicher 810, Eingabemittel wie z.B. die Tastatur 821 und die Maus 822 sowie eine Ausgabefähigkeit wie z.B. den Lautsprecher 823 und die Anzeige 819.
  • Bei manchen Ausführungsformen kann der Datenübertragungsadapter 807 Daten unter Verwendung einer beliebigen geeigneten Schnittstelle oder eines beliebigen geeigneten Protokolls übertragen, wie z.B. das iSCSI-Protokoll (Internet Small Computer System Interface) und dergleichen. Das Netzwerk 812 kann z.B. ein Mobilfunknetzwerk, ein Funknetzwerk, ein Weitverkehrsnetzwerk (Wide Area Network, WAN), ein lokales Netzwerk (Local Area Network, LAN) oder das Internet und dergleichen sein. Eine externe Datenverarbeitungseinheit kann über das Netzwerk 812 mit dem Computersystem 800 verbunden werden. In manchen Beispielen kann die externe Datenverarbeitungseinheit ein externer Web-Server oder ein Cloud-Computing-Knoten sein.
  • Es sollte klar sein, dass das Blockschaubild aus 6 nicht dahingehend zu verstehen ist, als müsse das Computersystem 800 alle in 6 gezeigten Komponenten enthalten. Vielmehr kann das Computersystem 800 eine geringere Anzahl von beliebigen geeigneten Komponenten oder aber zusätzliche geeignete Komponenten enthalten, die in 6 nicht veranschaulicht werden (z.B. zusätzliche Arbeitsspeicherkomponenten, eingebettete Controller, Module, zusätzliche Netzwerkschnittstellen usw.). Des Weiteren können die hierin in Bezug auf das Computersystem 800 beschriebenen Ausführungsformen mit jeder geeigneten Logik realisiert werden, wobei die Logik, wie hierin erwähnt, jede geeignete Hardware (z.B. einen Prozessor, einen eingebetteten Controller oder eine anwendungsspezifische integrierte Schaltung), Software (z.B. eine Anwendung und dergleichen), Firmware oder jede beliebige Kombination aus Hardware, Software und Firmware in verschiedenen Ausführungsformen enthalten kann.
  • Ausführungsformen der vorliegenden Erfindung können in einem oder mehreren Beispielen unter Verwendung einer Cloud-Computing-Technologie realisiert werden. Es sei klargestellt, dass die Realisierung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud Computing enthält. Vielmehr können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Einsatzmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfähigkeiten wie Server-Zeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Fähigkeiten über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Fähigkeiten können für eine schnelle horizontale Skalierung (Scale-out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Fähigkeiten häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfähigkeit auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcenverbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Benutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfähigkeiten, mit der möglichen Ausnahme von eingeschränkten nutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen für Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Zielsetzung, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Nutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Mittelpunkt des Cloud Computing steht eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten enthält.
  • Unter Bezugnahme auf 7 wird eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, Personal Digital Assistant) oder das Mobiltelefon 54A, der Desktop Computer 54B, der Laptop Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie Private, Community, Public oder Hybrid Clouds zusammengefasst werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder aber in einer Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten der in 7 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 8 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe Computer 61; auf der RISC-Architektur (Reduced Instruction Set Computer) beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen enthalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (Service Level Agreement, SLA) 85 stellt die Vorab-Anordnung und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einer SLA bereit.
  • Eine Arbeitslastenschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Beispiele für Auslastungen und Funktionen, die von dieser Schicht bereitgestellt werden können, lauten: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und eine Inhaltserkennung 96.
  • Entsprechend ermöglichen eine oder mehrere Ausführungsformen der vorliegenden Erfindung einer Maschine, unstrukturierte Tabellen aus verschiedenartiger Literatur, die in einem elektronischen Format verfügbar ist, autonom zu verstehen. Ausführungsformen der vorliegenden Erfindung stellen eine technische Lösung für eine technische Herausforderungen auf dem Gebiet der Datenverarbeitungstechnologie bereit und verbessern die Datenverarbeitungstechnologie, indem sie der Maschine ermöglichen, solche Funktionen autonom durchzuführen.
  • Des Weiteren stellen Ausführungsformen der vorliegenden Erfindung eine praktische Anwendung bereit, indem sie Systemen ermöglichen, automatische Dienste wie z.B. eine Korpuskonvertierung und ein „Compare and Comply“ bereitzustellen. Ein Korpuskonvertierungsdienst kann zum Beispiel ein System sein, das durch maschinelles Lernen unterstützt und trainiert wird, um die Tabellendaten syntaktisch zu analysieren. Das System verwendet eine optische Zeichenerkennung (Optical Character Recognition, OCR), um Text in Dokumentenbildern ausfindig zu machen, und verwendet manuell definierte Merkmale, um Tabellen syntaktisch zu analysieren. Zum Trainieren des Systems müssen Benutzer die Position von Spalten, Zeilen und Zellen manuell annotieren. Wie hierin beschrieben, kommen Ausführungsformen der vorliegenden Erfindung ohne explizite Annotationen der Elemente von Tabellen aus. Vielmehr verwenden Ausführungsformen der vorliegenden Erfindung eine strukturierte Darstellung zur Überwachung. Entsprechend stellen Ausführungsformen der vorliegenden Erfindung ein verbessertes Training und ein verbessertes System bereit, das für ein umfassendes Training und ein Training mit mehreren gleichzeitigen Aufgaben geeignet ist. Zusätzlich verwendet ein vorhandenes Compare-and-Comply-System einen Satz von manuell definierten Regeln, um das Tabellen-Layout zu definieren und unter Verwendung einer OCR-Technologie Inhalt zu extrahieren. Ausführungsformen der vorliegenden Erfindung ermöglichen eine solche Extraktion, indem eine umfassende Verarbeitung verwendet wird, die manche der Fehler vermeidet, die durch die verschiedenen Verarbeitungsschritte in dem Compare-and-Comply-System angehäuft werden.
  • Des Weiteren verbessern Ausführungsformen der vorliegenden Erfindung die Inhaltserkennungssysteme, indem sie eine Tabellendatenverarbeitung enthalten und in manchen Fällen eine Leistung einer Tabellendatenverarbeitung verbessern. Wie weiter oben erwähnt, ist in zahlreichen elektronischen Dokumenten eine beträchtliche Menge an Informationen in einem unstrukturierten Tabellenformat verfügbar. Solche Tabellendaten enthalten Informationen wie z.B. Krankenversicherungsdaten, in Wissenschaftsliteratur veröffentlichte Informationen und dergleichen.
  • Ausführungsformen der vorliegenden Erfindung kann eine Bilddarstellung einer Tabelle zugeführt werden, die sich benutzerfreundlich erhalten lässt. Ausführungsformen der vorliegenden Erfindung lernen automatisch, wie sich das Tabellen-Layout (Struktur und Inhalt) auf eine umfassende Art und Weise erkennen lässt und wie sich entscheiden lässt, wann Text extrahiert werden soll. Des Weiteren führen Ausführungsformen der vorliegenden Erfindung eine vollständige syntaktische Analyse und Trennung der Tabellenstruktur durch, anstatt nur den Inhalt einer jeden Zelle aus der Tabelle als eine einzelne Einheit zu extrahieren. Zusätzlich können Ausführungsformen der vorliegenden Erfindung mehrspaltige/mehrzeilige Tabellen syntaktisch analysieren und trennen. Des Weiteren führen Ausführungsformen der vorliegenden Erfindung eine syntaktische Analyse der Tabellendaten durch, ohne dass es explizite Annotationen eines oder mehrerer Elemente (z.B. Positionen von Spalten, Zeilen und Zellen) in der Struktur der Tabelle gibt.
  • Entsprechend erfordern Ausführungsformen der vorliegenden Erfindung nur die extrahierten Bilder von Tabellen, um deren Strukturen und deren Inhalt auf intelligente Weise in wiederverwendbaren Markup-Formate (HTML/XML) zu identifizieren. Ausführungsformen der vorliegenden Erfindung stellen somit einen Vorteil gegenüber bestehenden Systemen auf OCR-Grundlage bereit, indem Ausführungsformen der vorliegenden Erfindung ein Identifizieren der Struktur von Tabellenbildern ermöglichen und programmgesteuerte Tabellen von Elementen erzeugen, was durch die Systeme auf OCR-Grundlage nicht erreicht wird.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder computerlesbare Speichermedien) mit darauf gespeicherten computerlesbaren Programmanweisungen enthalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein RAM, ein ROM, ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die computerlesbare Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbarer Programmanweisungen ausgeführt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubildes festgelegten Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert werden, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der bzw. des in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um ein computerrealisiertes Verfahren zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion bzw. Funktionen aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Modifikationen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hierin beschriebenen Ausführungsformen zu ermöglichen.
  • Verschiedene Ausführungsformen der Erfindung werden hier unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung sind denkbar, ohne vom Umfang dieser Erfindung abzuweichen. In der folgenden Beschreibung und in den Zeichnungen werden verschiedene Verbindungen und Positionsbeziehungen (z.B. über, unter, neben usw.) zwischen Elementen dargelegt. Sofern nicht anderweitig genannt, können diese Verbindungen und/oder Positionsbeziehungen direkt oder indirekt sein, und die vorliegende Erfindung ist in diesem Zusammenhang nicht als Beschränkung zu verstehen. Entsprechend kann sich eine Verbindung von Einheiten entweder auf eine direkte oder eine indirekte Verbindung beziehen, und eine Positionsbeziehung zwischen Einheiten kann eine direkte oder indirekte Positionsbeziehung sein. Darüber hinaus können die verschiedenen hier beschriebenen Aufgaben und Prozessschritte in eine umfassendere Verfahrensweise oder einen umfassenderen Prozess mit zusätzlichen Schritten oder einer zusätzlichen Funktionalität eingebettet werden, die hier nicht im Detail beschrieben werden bzw. wird.
  • Für die Auslegung der Ansprüche und der Beschreibung sind die folgenden Definitionen und Abkürzungen zu verwenden. Wie hierin verwendet, sollen die Begriffe „weist auf“, „aufweisend“, „enthält“, „enthaltend“, „hat“, „mit“, „fasst“ oder „fassend“ bzw. jegliche andere Abwandlung hiervon einen nicht ausschließlichen Einschluss ausdrücken. Zum Beispiel ist eine Zusammensetzung, eine Mischung, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, die bzw. der eine Liste von Elementen aufweist, nicht notwendigerweise auf diese Elemente beschränkt, sondern kann auch andere Elemente enthalten, die nicht ausdrücklich aufgeführt werden oder einer solchen Zusammensetzung, Mischung, einem solchen Prozessor, Verfahren, Artikel oder einer solchen Vorrichtung innewohnen.
  • Zusätzlich wird der Begriff „beispielhaft“ hierin im Sinne von „als Beispiel, exemplarisch oder zur Veranschaulichung dienend“ verwendet. Jede hier als „beispielhaft“ beschriebene Ausführungsform oder Ausgestaltung ist nicht zwingend so zu verstehen, als sei sie gegenüber anderen Ausführungsformen oder Entwürfen bevorzugt oder vorteilhaft. Die Begriffe „mindestens einer“ und „einer oder mehrere“ können so verstanden werden, als enthielten sie jede Ganzzahl größer als oder gleich eins, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ kann so verstanden werden, als enthielte er eine Ganzzahl größer als oder gleich zwei, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ enthalten.
  • Die Begriffe „circa“, „im Wesentlichen“, „ungefähr“ und Abwandlungen hiervon sollen den Grad an Fehlerhaftigkeit enthalten, der auf Grundlage der zum Zeitpunkt der Anmeldungseinreichung verfügbaren Ausstattung einer Messung der betreffenden Menge zugehörig ist. So kann „circa“ zum Beispiel einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Werts enthalten.
  • Aus Gründen der Kürze werden herkömmliche Techniken, die sich auf die Herstellung und Verwendung von Aspekten der Erfindung beziehen, hier nicht notwendigerweise im Detail beschrieben. Im Besonderen sind verschiedene hier beschriebene Aspekte von Datenverarbeitungssystemen und spezifischen Computerprogrammen zum Realisieren der verschiedenen technischen Merkmale hinlänglich bekannt. Entsprechend werden im Interesse der Kürze viele herkömmliche Realisierungsdetails hier nur kurz erwähnt oder vollständig weggelassen, ohne Einzelheiten zu dem bekannten System und/oder Prozess bereitzustellen.

Claims (16)

  1. Computerrealisiertes Verfahren, aufweisend: Verwenden eines Algorithmus für maschinelles Lernen (ML), um Trainingsschritte auszuführen, die ein ML-Modell trainieren, wobei die Trainingsschritte aufweisen: Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen; Trainieren eines ersten neuronalen Netzwerks, um die Tabellendaten aus dem Satz von Bildern unter Verwendung der Markup-Daten in Zellen zu trennen; und Trainieren eines zweiten neuronalen Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten aus dem Satz von Bildern zu ermitteln; Empfangen eines Eingabebildes, das erste Tabellendaten ohne Markup-Daten enthält, anzeigend eine Struktur der ersten Tabellendaten; Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  2. Computerrealisiertes Verfahren nach Anspruch 1, wobei ein Trainieren des ersten neuronalen Netzwerks ein syntaktisches Analysieren eines ersten Bildes aus dem Satz von Bildern aufweist, um es mit Bereichen der Tabellendaten aus dem ersten Bild abzustimmen, wie sie durch entsprechende erste Markup-Daten aus dem Satz von Markup-Daten angegeben werden.
  3. Computerrealisiertes Verfahren nach Anspruch 2, wobei ein Trainieren des ersten neuronalen Netzwerks des Weiteren aufweist: Berechnen einer Strukturgenauigkeit des ersten neuronalen Netzwerks, indem ein syntaktisch analysierter Bereich aus dem ersten Bild mit den Tabellendaten aus den entsprechenden ersten Markup-Daten verglichen wird; Aktualisieren einer oder mehrerer Gewichtungen aus dem ersten neuronalen Netzwerk auf Grundlage dessen, dass die Strukturgenauigkeit unter einem vorgegebenen Schwellenwert liegt; und Kennzeichnen des ersten neuronalen Netzwerks als trainiert, wenn die Strukturgenauigkeit den vorgegebenen Schwellenwert übersteigt.
  4. Computerrealisiertes Verfahren nach einem beliebigen der vorangegangenen Ansprüche, wobei ein Trainieren des zweiten neuronalen Netzwerks ein Extrahieren von Inhalt aus einem ersten Bild aus dem Satz von Bildern aufweist, um ihn mit einem Inhalt der Tabellendaten aus dem ersten Bild abzustimmen, wie er durch entsprechende erste Markup-Daten aus dem Satz von Markup-Daten angegeben wird.
  5. Computerrealisiertes Verfahren nach Anspruch 4, wobei ein Trainieren des zweiten neuronalen Netzwerks des Weiteren aufweist: Berechnen einer Inhaltsgenauigkeit des ersten neuronalen Netzwerks, indem Inhalt, der aus dem ersten Bild extrahiert wurde, mit dem Inhalt aus den entsprechenden ersten Markup-Daten verglichen wird; Aktualisieren einer oder mehrerer Gewichtungen aus dem zweiten neuronalen Netzwerk auf Grundlage dessen, dass die Inhaltsgenauigkeit unter einem vorgegebenen Schwellenwert liegt; und Kennzeichnen des zweiten neuronalen Netzwerks als trainiert, wenn die Inhaltsgenauigkeit den vorgegebenen Schwellenwert übersteigt.
  6. Computerrealisiertes Verfahren nach einem beliebigen der vorangegangenen Ansprüche, wobei ein Erzeugen der elektronischen Ausgabe des Weiteren ein Zusammenführen der Struktur, die getrennt wurde, und des extrahierten Inhalts aus dem Eingabebild aufweist.
  7. Computerrealisiertes Verfahren nach Anspruch 6, wobei die elektronische Ausgabe aufweist, dass der extrahierte Inhalt aus dem Eingabebild gemäß der Struktur unter Verwendung einer vorgegebenen Markup-Sprache getrennt wird.
  8. System, aufweisend: einen Arbeitsspeicher; und einen mit dem Arbeitsspeicher verbundenen Prozessor, wobei der Prozessor mit ML-Algorithmen programmiert und konfiguriert wird, um ein Verfahren durchzuführen, aufweisend: Trainieren eines ML-Modells, wobei das Trainieren aufweist: Empfangen eines Satzes von Bildern von Tabellendaten und eines Satzes von Markup-Daten, die jeweils den Bildern von Tabellendaten entsprechen; Trainieren eines ersten neuronalen Netzwerks, um die Tabellendaten aus dem Satz von Bildern unter Verwendung der Markup-Daten in Zellen zu trennen; und Trainieren eines zweiten neuronalen Netzwerks, um unter Verwendung der Markup-Daten einen Inhalt der Zellen in den Tabellendaten aus dem Satz von Bildern zu ermitteln; Empfangen eines Eingabebildes, das erste Tabellendaten ohne Markup-Daten enthält, anzeigend eine Struktur der ersten Tabellendaten; und Erzeugen einer elektronischen Ausgabe, die den ersten Tabellendaten entspricht, durch ein Ermitteln der Struktur der ersten Tabellendaten unter Verwendung des ersten neuronalen Netzwerks und ein Extrahieren von Inhalt der ersten Tabellendaten unter Verwendung des zweiten neuronalen Netzwerks.
  9. System nach Anspruch 8, wobei ein Trainieren des ersten neuronalen Netzwerks ein syntaktisches Analysieren eines ersten Bildes aus dem Satz von Bildern aufweist, um es mit Bereichen der Tabellendaten aus dem ersten Bild abzustimmen, wie sie durch entsprechende erste Markup-Daten aus dem Satz von Markup-Daten angegeben werden.
  10. System nach Anspruch 9, wobei ein Trainieren des ersten neuronalen Netzwerks des Weiteren aufweist: Berechnen einer Strukturgenauigkeit des ersten neuronalen Netzwerks, indem ein syntaktisch analysierter Bereich aus dem ersten Bild mit den Tabellendaten aus den entsprechenden ersten Markup-Daten verglichen wird; Aktualisieren einer oder mehrerer Gewichtungen aus dem ersten neuronalen Netzwerk auf Grundlage dessen, dass die Strukturgenauigkeit unter einem vorgegebenen Schwellenwert liegt; und Kennzeichnen des ersten neuronalen Netzwerks als trainiert, wenn die Strukturgenauigkeit den vorgegebenen Schwellenwert übersteigt.
  11. System nach einem beliebigen der Ansprüche 8 bis 10, wobei ein Trainieren des zweiten neuronalen Netzwerks ein Extrahieren von Inhalt aus einem ersten Bild aus dem Satz von Bildern aufweist, um ihn mit einem Inhalt der Tabellendaten aus dem ersten Bild abzustimmen, wie er durch entsprechende erste Markup-Daten aus dem Satz von Markup-Daten angegeben wird.
  12. System nach Anspruch 11, wobei ein Trainieren des zweiten neuronalen Netzwerks des Weiteren aufweist: Berechnen einer Inhaltsgenauigkeit des ersten neuronalen Netzwerks, indem Inhalt, der aus dem ersten Bild extrahiert wird, mit dem Inhalt aus den entsprechenden ersten Markup-Daten verglichen wird; Aktualisieren einer oder mehrerer Gewichtungen aus dem zweiten neuronalen Netzwerk auf Grundlage dessen, dass die Inhaltsgenauigkeit unter einem vorgegebenen Schwellenwert liegt; und Kennzeichnen des zweiten neuronalen Netzwerks als trainiert, wenn die Inhaltsgenauigkeit den vorgegebenen Schwellenwert übersteigt.
  13. System nach einem beliebigen der Ansprüche 8 bis 12, wobei ein Erzeugen der elektronischen Ausgabe des Weiteren ein Zusammenführen der Struktur, die getrennt wurde, und des extrahierten Inhalts aus dem Eingabebild aufweist.
  14. System nach Anspruch 13, wobei die elektronische Ausgabe aufweist, dass der extrahierte Inhalt aus dem Eingabebild gemäß der Struktur unter Verwendung einer vorgegebenen Markup-Sprache getrennt wird.
  15. Computerprogrammprodukt zum Ermitteln von Inhalt in Tabellendaten, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren nach einem beliebigen der Ansprüche 1 bis 7 durchzuführen.
  16. Computerprogrammprodukt, das auf einem computerlesbaren Medium gespeichert wird und in den internen Arbeitsspeicher eines digitalen Computers ladbar ist, welches Software-Codeabschnitte aufweist, um bei Ausführung des Programms auf einem Computer das Verfahren nach einem beliebigen der Ansprüche 1 bis 7 durchzuführen.
DE112020005095.5T 2019-10-22 2020-10-20 Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen Pending DE112020005095T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/659,977 2019-10-22
US16/659,977 US11380116B2 (en) 2019-10-22 2019-10-22 Automatic delineation and extraction of tabular data using machine learning
PCT/IB2020/059845 WO2021079262A1 (en) 2019-10-22 2020-10-20 Automatic delineation and extraction of tabular data using machine learning

Publications (1)

Publication Number Publication Date
DE112020005095T5 true DE112020005095T5 (de) 2022-08-04

Family

ID=75490751

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005095.5T Pending DE112020005095T5 (de) 2019-10-22 2020-10-20 Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen

Country Status (6)

Country Link
US (1) US11380116B2 (de)
JP (1) JP7488006B2 (de)
CN (1) CN114424257A (de)
DE (1) DE112020005095T5 (de)
GB (1) GB2605052B (de)
WO (1) WO2021079262A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915465B2 (en) 2019-08-21 2024-02-27 Eygs Llp Apparatus and methods for converting lineless tables into lined tables using generative adversarial networks
US11625934B2 (en) * 2020-02-04 2023-04-11 Eygs Llp Machine learning based end-to-end extraction of tables from electronic documents
US11810380B2 (en) * 2020-06-30 2023-11-07 Nielsen Consumer Llc Methods and apparatus to decode documents based on images using artificial intelligence
US20220171922A1 (en) * 2020-12-01 2022-06-02 Jpmorgan Chase Bank, N.A. Method and system for conditioned generation of descriptive commentary for quantitative data
CN112990165B (zh) * 2021-05-19 2021-08-06 北京欧应信息技术有限公司 用于表格识别的方法、电子设备和存储介质
US11822216B2 (en) 2021-06-11 2023-11-21 Nielsen Consumer Llc Methods, systems, apparatus, and articles of manufacture for document scanning
CN113901763A (zh) * 2021-09-30 2022-01-07 北京百度网讯科技有限公司 一种表格描述文本生成方法、装置、设备及存储介质
US11972627B2 (en) * 2021-12-16 2024-04-30 Accenture Global Solutions Limited Intelligent data extraction system and method
US20230229850A1 (en) * 2022-01-14 2023-07-20 Microsoft Technology Licensing, Llc Smart tabular paste from a clipboard buffer
US11837004B1 (en) * 2023-02-24 2023-12-05 Oracle Financial Services Software Limited Searchable table extraction

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063719B1 (en) 1995-10-02 2015-06-23 People Innovate For Economy Foundation, Inc. Table format programming
JP2000090117A (ja) 1998-07-16 2000-03-31 Ricoh Co Ltd 文書画像の論理要素抽出方法、装置および記録媒体
US7142728B2 (en) * 2002-05-17 2006-11-28 Science Applications International Corporation Method and system for extracting information from a document
US7350142B2 (en) * 2003-03-27 2008-03-25 Microsoft Corporation Method and system for creating a table version of a document
US7590647B2 (en) * 2005-05-27 2009-09-15 Rage Frameworks, Inc Method for extracting, interpreting and standardizing tabular data from unstructured documents
US8473467B2 (en) 2009-01-02 2013-06-25 Apple Inc. Content profiling to dynamically configure content processing
US10289636B2 (en) 2010-02-08 2019-05-14 Here Global B.V. Virtual table generator for analyzing geographic databases
US8229864B1 (en) * 2011-05-06 2012-07-24 Google Inc. Predictive model application programming interface
US8972336B2 (en) * 2012-05-03 2015-03-03 Salesforce.Com, Inc. System and method for mapping source columns to target columns
US11631265B2 (en) * 2012-05-24 2023-04-18 Esker, Inc. Automated learning of document data fields
US9135327B1 (en) * 2012-08-30 2015-09-15 Ez-XBRL Solutions, Inc. System and method to facilitate the association of structured content in a structured document with unstructured content in an unstructured document
US8914419B2 (en) 2012-10-30 2014-12-16 International Business Machines Corporation Extracting semantic relationships from table structures in electronic documents
CN105868758B (zh) 2015-01-21 2019-12-17 阿里巴巴集团控股有限公司 图像中文本区域检测方法、装置及电子设备
US10360130B2 (en) 2015-05-20 2019-07-23 Sap Se Symbol tables for processing hierarchical data structures in data flow analysis
US10387531B1 (en) * 2015-08-18 2019-08-20 Google Llc Processing structured documents using convolutional neural networks
US20170052988A1 (en) 2015-08-20 2017-02-23 International Business Machines Corporation Normalizing values in data tables
US10706218B2 (en) * 2016-05-16 2020-07-07 Linguamatics Ltd. Extracting information from tables embedded within documents
US10467464B2 (en) 2016-06-07 2019-11-05 The Neat Company, Inc. Document field detection and parsing
CN107515886B (zh) 2016-06-17 2020-11-24 阿里巴巴集团控股有限公司 一种数据表的识别方法、装置和系统
US9965809B2 (en) 2016-07-25 2018-05-08 Xerox Corporation Method and system for extracting mathematical structures in tables
CN106503055B (zh) 2016-09-27 2019-06-04 天津大学 一种从结构化文本到图像描述的生成方法
US10534790B2 (en) 2016-10-20 2020-01-14 International Business Machines Corporation Dynamic and predictive global temporary tables
US10726252B2 (en) 2017-05-17 2020-07-28 Tab2Ex Llc Method of digitizing and extracting meaning from graphic objects
US10242257B2 (en) 2017-05-18 2019-03-26 Wipro Limited Methods and devices for extracting text from documents
US10339212B2 (en) 2017-08-14 2019-07-02 Adobe Inc. Detecting the bounds of borderless tables in fixed-format structured documents using machine learning
JP6847812B2 (ja) 2017-10-25 2021-03-24 株式会社東芝 文書理解支援装置、文書理解支援方法、およびプログラム
US10706228B2 (en) * 2017-12-01 2020-07-07 International Business Machines Corporation Heuristic domain targeted table detection and extraction technique
US10482344B2 (en) * 2018-01-04 2019-11-19 Wipro Limited System and method for performing optical character recognition
US10977737B2 (en) * 2018-01-10 2021-04-13 Liberty Mutual Insurance Company Training gradient boosted decision trees with progressive maximum depth for parsimony and interpretability
US10303771B1 (en) 2018-02-14 2019-05-28 Capital One Services, Llc Utilizing machine learning models to identify insights in a document
CN108416279B (zh) * 2018-02-26 2022-04-19 北京阿博茨科技有限公司 文档图像中的表格解析方法及装置
US10726040B2 (en) 2018-03-07 2020-07-28 Sap Se Lossless conversion of database tables between formats
JP6938408B2 (ja) * 2018-03-14 2021-09-22 株式会社日立製作所 計算機及びテンプレート管理方法
US11593552B2 (en) 2018-03-21 2023-02-28 Adobe Inc. Performing semantic segmentation of form images using deep learning
CN108549850B (zh) 2018-03-27 2021-07-16 联想(北京)有限公司 一种图像识别方法及电子设备
US10783400B2 (en) 2018-04-06 2020-09-22 Dropbox, Inc. Generating searchable text for documents portrayed in a repository of digital images utilizing orientation and text prediction neural networks
US10699171B2 (en) * 2018-04-12 2020-06-30 Microsoft Technology Licensing, Llc Automated image scale adjustment based upon document and image context
CN110390094B (zh) * 2018-04-20 2023-05-23 伊姆西Ip控股有限责任公司 对文档进行分类的方法、电子设备和计算机程序产品
US10241992B1 (en) 2018-04-27 2019-03-26 Open Text Sa Ulc Table item information extraction with continuous machine learning through local and global models
CN110532834B (zh) * 2018-05-24 2022-12-23 北京庖丁科技有限公司 基于富文本格式文档的表格提取方法、装置、设备和介质
GB2574608B (en) * 2018-06-11 2020-12-30 Innoplexus Ag System and method for extracting tabular data from electronic document
US11200413B2 (en) * 2018-07-31 2021-12-14 International Business Machines Corporation Table recognition in portable document format documents
JP6577692B1 (ja) 2018-09-28 2019-09-18 楽天株式会社 学習システム、学習方法、及びプログラム
US10846524B2 (en) * 2018-11-14 2020-11-24 Adobe Inc. Table layout determination using a machine learning system
US10970848B2 (en) * 2018-11-29 2021-04-06 Sap Se Font family and size aware character segmentation
AU2019391808A1 (en) * 2018-12-04 2021-07-01 Leverton Holding Llc Methods and systems for automated table detection within documents
CA3126147A1 (en) * 2019-01-10 2020-07-16 Travera LLC Machine learning in functional cancer assays
US20200311413A1 (en) * 2019-03-28 2020-10-01 Konica Minolta Laboratory U.S.A., Inc. Document form identification
CN110008923B (zh) 2019-04-11 2021-07-27 网易有道信息技术(北京)有限公司 图像处理方法和训练方法、以及装置、介质、计算设备

Also Published As

Publication number Publication date
CN114424257A (zh) 2022-04-29
GB2605052B (en) 2024-01-03
JP7488006B2 (ja) 2024-05-21
US20210117668A1 (en) 2021-04-22
WO2021079262A1 (en) 2021-04-29
GB2605052A (en) 2022-09-21
US11380116B2 (en) 2022-07-05
GB202207244D0 (en) 2022-06-29
JP2022553663A (ja) 2022-12-26

Similar Documents

Publication Publication Date Title
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE112020000526T5 (de) System und verfahren zum inkrementellen lernen für eine objekterkennung
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
DE112016003355T5 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE112018005167T5 (de) Aktualisieren von trainingsdaten
DE112019004076T5 (de) Dezentralisiertes verteiltes deep learning
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE112020002228T5 (de) Kognitive video- und audio-suchaggregation
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE102021124264A1 (de) Erzeugung von synthetischen Systemfehlern
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE112021000810T5 (de) Optisches erkennen von zellenstrukturen unter verwendung hierarchischer neuronaler netzwerke und zellengrenzen zum strukturieren von clustern
DE112021006215T5 (de) Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112021006273T5 (de) Automatische beschreibung und entnahme von tabellendaten im portable document format unter verwendung von neuronalen graphennetzen
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112021004577T5 (de) Verwalten eines aufgabenablaufs in einer edge-datenverarbeitungsumgebung
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence