DE102014108191A1 - Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten - Google Patents

Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten Download PDF

Info

Publication number
DE102014108191A1
DE102014108191A1 DE201410108191 DE102014108191A DE102014108191A1 DE 102014108191 A1 DE102014108191 A1 DE 102014108191A1 DE 201410108191 DE201410108191 DE 201410108191 DE 102014108191 A DE102014108191 A DE 102014108191A DE 102014108191 A1 DE102014108191 A1 DE 102014108191A1
Authority
DE
Germany
Prior art keywords
data
data value
tabular
erroneous
cell
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.)
Ceased
Application number
DE201410108191
Other languages
English (en)
Inventor
Donna Karen Byron
Scott N. Gerard
Alexander Pikovsky
Timothy P. Winkler
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 DE102014108191A1 publication Critical patent/DE102014108191A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

Mechanismen werden zum Ausführen einer Tabellendatenkorrektur in einem Dokument bereitgestellt. Tabellendaten werden empfangen und analysiert, um mindestens einen Abschnitt der Tabellendaten zu identifizieren, der einen fehlerhaften/fehlenden Datenwert hat. Eine funktionale Abhängigkeit des mindestens einen Abschnitts der Tabellendaten in einem oder mehreren weiteren Abschnitten der Tabellendaten wird bestimmt. Ein korrekter Datenwert für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten wird auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts bestimmt. Außerdem werden die Tabellendaten modifiziert, um den fehlerhaften oder fehlenden Datenwert durch den korrekten Datenwert zu ersetzen und dadurch modifizierte Tabellendaten zu erzeugen. Anschließend wird an den modifizierten Tabellendaten eine Verarbeitungsoperation ausgeführt, um eine sich daraus ergebende Ausgabe zu erzeugen.

Description

  • HINTERGRUND
  • Die vorliegende Anmeldung betrifft allgemein eine verbesserte Datenverarbeitungsvorrichtung und ein verbessertes Datenverarbeitungsverfahren und insbesondere Mechanismen zum Ausführen einer Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten.
  • Dokumente enthalten Informationen in vielen Formen. Zum Beispiel vermitteln textliche Informationen, die als Sätze und Abschnitte angeordnet sind, Informationen in einer beschreibenden Form. Einige Typen von Informationen werden jedoch in einem tabellarischen Aufbau dargestellt. Zum Beispiel kann ein Dokument Tabellen zum Darstellen von Finanzdaten, Organisationsinformationen und allgemeiner von beliebigen Datenelementen enthalten, die durch irgendeine Beziehung miteinander in Verbindung stehen.
  • Verarbeitung natürlicher Sprache (NLP – Natural Language Processing) ist eine Technik, die einen Austausch von Informationen zwischen Menschen und Datenverarbeitungssystemen erleichtert. Zum Beispiel betrifft ein Zweig von NLP ein Umwandeln eines vorgegebenen Inhalts in eine von Menschen verwendbare Sprache oder Form. Zum Beispiel kann NLP ein Dokument akzeptieren, dessen Inhalt in einer computerspezifischen Sprache oder Form vorliegt, und ein Dokument erzeugen, dessen entsprechender Inhalt in einer von Menschen lesbaren Form vorliegt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • In einer veranschaulichenden Ausführungsform wird in einem Datenverarbeitungssystem, das einen Prozessor und einen Arbeitsspeicher aufweist, ein Verfahren zum Ausführen einer Tabellendatenkorrektur bereitgestellt. Das Verfahren weist ein Empfangen von Tabellendaten und ein Analysieren der Tabellendaten auf, um mindestens einen Abschnitt der Tabellendaten zu identifizieren, der einen fehlerhaften oder fehlenden Datenwert aufweist. Das Verfahren weist ferner für den mindestens einen Abschnitt ein Bestimmen einer funktionalen Abhängigkeit des mindestens einen Abschnitts der Tabellendaten von einem oder mehreren weiteren Abschnitten der Tabellendaten auf. Des Weiteren weist das Verfahren für den mindestens einen Abschnitt ein Bestimmen eines korrekten Datenwerts für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts auf. Außerdem weist das Verfahren ein Modifizieren der Tabellendaten auf, um den fehlerhaften oder fehlenden Datenwert durch den korrekten Datenwert zu ersetzen und dadurch eine modifizierte Tabellendatenstruktur zu erzeugen. Ferner weist das Verfahren ein Ausführen einer Verarbeitungsoperation an der modifizierten Tabellendatenstruktur auf, um eine daraus resultierende Ausgabe zu erzeugen.
  • In weiteren veranschaulichenden Ausführungsformen wird ein Computerprogrammprodukt bereitgestellt, das ein von einem Computer verwendbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Wenn das computerlesbare Programm auf einer Datenverarbeitungseinheit ausgeführt wird, veranlasst es die Datenverarbeitungseinheit, verschiedene der einzelnen Operationen und Kombinationen davon auszuführen, die oben in Bezug auf das Verfahren der veranschaulichenden Ausführungsform dargelegt sind.
  • In noch einer weiteren veranschaulichenden Ausführungsform wird ein System/eine Vorrichtung bereitgestellt. Das System/die Vorrichtung kann einen oder mehrere Prozessoren und einen Arbeitsspeicher aufweisen, der mit dem einen oder den mehreren Prozessoren verbunden ist. Der Arbeitsspeicher kann Anweisungen aufweisen, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, verschiedene der einzelnen Operationen und Kombinationen davon auszuführen, die oben in Bezug auf das Verfahren der veranschaulichenden Ausführungsform dargelegt sind.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden ausführlichen Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben oder werden dadurch für den Fachmann offenkundig.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Die Erfindung sowie ein bevorzugter Verwendungsmodus und weitere ihrer Zielsetzungen und Vorteile lassen sich am besten unter Bezugnahme auf die folgende ausführliche Beschreibung von veranschaulichenden Ausführungsformen in Verbindung mit den begleitenden Zeichnungen verstehen, wobei:
  • 1 eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen zeigt, in denen veranschaulichende Ausführungsformen umgesetzt werden können;
  • 2 ein Blockschaubild eines Datenverarbeitungssystems darstellt, in dem veranschaulichende Ausführungsformen umgesetzt werden können;
  • 3 ein Beispiel für Tabellendaten darstellt, in denen funktionale Abhängigkeiten gemäß einer veranschaulichenden Ausführungsform identifiziert werden können;
  • die 4A und 4B ein Blockschaubild einer Methode zum Erkennen von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform darstellen;
  • 5 ein Blockschaubild einer Anwendung zum Erkennen von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform darstellt;
  • 6 einen Ablaufplan für einen Beispielprozess zum Erkennen von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform darstellt;
  • 7 einen Ablaufplan für einen Beispielprozess zum Beurteilen eines Konfidenzniveaus gemäß einer veranschaulichenden Ausführungsform darstellt;
  • 8 eine Beispieldarstellung einer Tabellenstruktur ist, die in einem Dokument gefunden werden kann, das durch ein System zur Verarbeitung natürlicher Sprache verarbeitet wurde, in dem ein fehlerhafter Datenwert in der Tabellenstruktur vorhanden ist;
  • 9 ein Beispiel-Blockschaubild einer Anwendung zum Korrigieren von fehlerhaften oder fehlenden Datenwerten in Zellen auf der Grundlage von erkannten funktionalen Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform ist; und
  • 10 ein Ablaufplan ist, der einen Beispielprozess zum Korrigieren von fehlerhaften oder fehlenden Datenwerten in Zeilen auf der Grundlage von erkannten funktionalen Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform darlegt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die veranschaulichenden Ausführungsformen betreffen ein Korrigieren von fehlerhaften oder fehlenden Werten in Tabellendatenstrukturen unter Verwendung erkannter funktionaler Abhängigkeiten in den Tabellendatenstrukturen zwischen Abschnitten der Tabellendatenstrukturen oder übergreifend über eine oder mehrere verschiedene Tabellendatenstrukturen. Es sollte klar sein, dass diese Tabellendatenstrukturen in verschiedenen Formaten bereitgestellt werden können, einschließlich als separate Tabellendatendateien oder eingebettet in andere Datenstrukturen, wie zum Beispiel Dokumente einer Sammlung von Informationen.
  • Des Weiteren können verschiedene Verarbeitungsoperationen auf derartige Tabellendatenstrukturen durch verschiedene Anwendungen, Algorithmen und dergleichen angewendet werden oder können der Ansatzpunkt für fehlerhafte oder fehlende Datenwerte in Tabellendatenstrukturen sein. Eine derartige Verarbeitungsoperation, die angewendet werden kann, ist eine Verarbeitung natürlicher Sprache (NLP) eines Dokuments, das eine Tabellendatenstruktur enthält. Ein weiterer Typ einer Operation, die auf ein Dokument angewendet wird und zu Tabellendatenstrukturen mit fehlerhaften oder fehlenden Datenwerten führen kann, ist eine optische Zeichenerkennung (OCR – Optical Character Reading). Zu noch weiteren Typen von Operationen gehört eine manuelle Eingabe von Tabellendaten in eine Anwendung, um eine Tabellendatenstruktur zu erzeugen. Jede Verarbeitungsoperation, die zu einer Tabellendatenstruktur führen oder auf diese angewendet werden kann, kann der Schwerpunkt der Mechanismen der veranschaulichenden Ausführungsformen sein.
  • Zu Zwecken der folgenden Beschreibung wird angenommen, dass die Mechanismen der veranschaulichenden Ausführungsformen zum Zweck eines Ausführens einer Verarbeitung natürlicher Sprache an der Tabellendatenstruktur auf Tabellendatenstrukturen angewendet werden, die eingebettet oder anderweitig einem Dokument in einer Sammlung von Informationen zugehörig sind. Es sollte jedoch klar sein, dass dies nur eine mögliche Umsetzung ist und die Mechanismen der veranschaulichenden Ausführungsformen nicht darauf beschränkt sind. Der Schutzumfang der veranschaulichenden Ausführungsformen der vorliegenden Erfindung soll vielmehr jede Tabellendatenstruktur und jede Verarbeitungsoperation einschließen, die auf eine korrigierte Tabellendatenstruktur angewendet werden kann, einschließlich in Dokumente eingebettete Tabellendatenstrukturen und NLP-Operationen, die auf korrigierte Tabellendatenstrukturen angewendet werden, sind aber nicht darauf beschränkt.
  • Unter Verwendung von NLP als einer Beispiel-Verarbeitungsoperation, die auf eine Tabellendatenstruktur angewendet werden soll, erkennen die veranschaulichenden Ausführungsformen, dass einer NLP unterzogene Dokumente im Allgemeinen Tabellendaten enthalten, nämlich Inhalt in der Form von einer oder mehreren Tabellendatenstrukturen (Tabellen). Eine Zelle einer Tabelle ist eine Inhaltseinheit in einer Tabelle, derart, dass die Inhalte der Zelle eindeutig durch eine Zeile und eine Spalte oder andere geeignete Koordinaten der Tabelle identifiziert werden können.
  • Die veranschaulichenden Ausführungsformen erkennen, dass in den Zellen einer Tabelle dargestellte Inhalte sich oft auf Informationen in anderen Zellen derselben Tabelle, Zellen einer verschiedenen Tabelle in demselben Dokument oder Zellen einer verschiedenen Tabelle in einem verschiedenen Dokument beziehen. Die Beziehungen zwischen den Informationen, die in verschiedenen Zellen enthalten sind, sind wichtig, um die Bedeutung der Tabellendaten zu verstehen und im Allgemeinen die Bedeutung des Dokuments als einem Ganzen zu verstehen.
  • Die veranschaulichenden Ausführungsformen erkennen, dass eine spezielle Verarbeitung oder Bearbeitung in der NLP benötigt wird, um die Tabellendaten korrekt und vollständig zu interpretieren. Eine derzeit verfügbare Technologie zum Verstehen der Beziehung zwischen Zellenwerten ist auf eine heuristische Annahme einer Beschriftung für eine Zelle unter Verwendung der Zeilen- oder Spaltentitel beschränkt.
  • Des Weiteren erkennen die veranschaulichenden Ausführungsformen, dass Tabellen in elektronischen Dokumenten falsche oder fehlende Informationen enthalten können, zum Beispiel aufgrund fehlerhafter Scan-Operationen für eine optische Zeichenerkennung (OCR), beschädigter Daten, falscher Dateneingabe durch Personen oder jeder beliebigen weiteren möglichen Fehlerquelle. Ferner können diese Tabellen Informationen enthalten, die für das Verständnis des Dokuments im Allgemeinen kritisch sind, und somit ist es wichtig, die Informationen zu korrigieren, sooft dies möglich ist.
  • Die veranschaulichenden Ausführungsformen, die zum Beschreiben der vorliegenden Erfindung verwendet werden, beschäftigen sich allgemein mit den oben beschrieben Problemen und weiteren Problemen im Zusammenhang mit den Einschränkungen der gegenwärtig verfügbaren NPL-Technologie hinsichtlich ihrer Verarbeitung von Tabelleninformationen in elektronischen Dokumenten und lösen sie. Die veranschaulichenden Ausführungsformen stellen ein Verfahren, ein System und ein Computerprogramm zum Erkennen von Beziehungen in Tabellendaten und zum Korrigieren von falschen oder fehlenden Informationen in derartigen Tabellendaten auf der Grundlage von erkannten funktionalen Abhängigkeiten bereit.
  • Die veranschaulichenden Ausführungsformen erkennen, dass eine Zelle in einer Tabelle von einer oder mehreren weiteren Zellen, von über verschiedene Tabellen übergreifenden Zellen in dem vorgegebenen Dokument oder über verschiedene Tabellen in verschiedenen Dokumenten übergreifenden Zellen abhängig sein kann. Die Abhängigkeit einer Zelle von einer anderen ist naturgemäß funktional, nämlich abhängig auf der Grundlage einer Funktion. Die Funktionen, die die Grundlagen derartiger funktionaler Abhängigkeiten bilden, können zum Beispiel jede Kombination von mathematischen, statistischen, logischen oder bedingten Funktionen sein, die gewisse Zellenwerte bearbeiten, um Zellenwerte in gewissen anderen Zellen zu vermitteln. Zum Beispiel ist eine Zelle, die einen Gesamtsummenwert enthält, funktional abhängig von den Zellen, deren Werte an der Berechnung des Gesamtsummenwerts beteiligt sind. In einem weiteren Beispiel kann eine Ergebniszelle einer statistischen Analyse, wie beispielsweise eine Zelle, die einen Abweichungswert in einem Experiment enthält, funktional abhängig sein von einer Gruppe von weiteren Zellen, etwa in einer weiteren Tabelle, wobei die Resultate der verschiedenen Wiederholungen des Experiments aufgezeichnet werden.
  • Die veranschaulichenden Ausführungsformen sollen nicht auf diese Beispiele beschränkt sein. Funktionale Abhängigkeiten sind bezeichnend für Beziehungen zwischen den Zellen von einer oder mehreren Tabellen und sind in hohem Maße konfigurierbar, abhängig von den Daten in einer Tabelle oder einem Dokument, deren Zweck und der Bedeutung der verschiedenen Zellen. Ferner kann eine Zelle an jeder Anzahl von funktionalen Abhängigkeiten beteiligt sein, als eine abhängige Zelle und/oder auch als eine Zelle, von der etwas abhängig ist. Da sich Informationen in einer Zelle auf Informationen beziehen können, die an irgendeiner Stelle in einem vorgegebenen Dokument verfügbar sind, kann eine funktionale Abhängigkeit einer Zelle auch ein Abhängigsein von Nicht-Tabellendaten in einem vorgegebenen Dokument enthalten.
  • Die veranschaulichenden Ausführungsformen verbessern das Verständnis der Informationen, die in Tabellenform in einem Dokument dargestellt sind, indem ein NLP-Werkzeug in die Lage versetzt wird, Beziehungen von Zellen von Tabellendaten zu verstehen. Die veranschaulichenden Ausführungsformen stellen eine Möglichkeit zum Bestimmen der funktionalen Abhängigkeiten von Zellen in einer Tabelle von anderen Zellen, umgebendem Text der Tabelle, Inhalten in einem Dokument oder einer Kombination davon bereit. Des Weiteren stellen die veranschaulichenden Ausführungsformen Mechanismen zum Korrigieren von falschen Daten in diesen Zellen oder zum Vervollständigen der Daten in Zellen, in denen Daten fehlen, auf der Grundlage der erfassten oder erkannten funktionalen Abhängigkeiten bereit.
  • In Bezug auf Tabelleninhalte bezieht sich der Begriff „Genauigkeit” auf ein Maß dessen, wie viel von dem, was aus einer Tabelle verstanden wird, richtig ist gegenüber dem, wie viel aus der Tabelle verstanden wird. Der Begriff „Abruf” bezieht sich auf ein Maß dessen, wie viel von der Tabelle verstanden wird gegenüber dem, wie viele Informationen tatsächlich vorhanden sind, die in der Tabelle zu verstehen sind. Typischerweise führen Versuche zur Genauigkeitsverbesserung zu einer schlechteren Abrufleistung und umgekehrt. Hierin beschriebene veranschaulichende Ausführungsformen verbessern sowohl Genauigkeit als auch Abruf bei einer Verarbeitung natürlicher Sprache eines Dokuments mit Tabellendaten.
  • Die veranschaulichenden Ausführungsformen werden nur zu Beispielzwecken in Bezug auf gewisse Dokumente und Tabellendaten beschrieben. Die Erfindung soll durch derartige Dokumente, Tabellendaten oder ihre Beispielattribute nicht eingeschränkt werden. Ferner können die veranschaulichenden Ausführungsformen in Bezug auf jeden Typ von Daten, Datenquelle oder Zugriff auf eine Datenquelle über ein Datennetzwerk umgesetzt werden. Jeder Typ von Datenspeichereinheit kann die Daten für eine veranschaulichende Ausführungsform der vorliegenden Erfindung bereitstellen, entweder lokal in einem Datenverarbeitungssystem oder über ein Datennetzwerk, ohne von dem Erfindungsgedanken und dem Schutzumfang der veranschaulichenden Ausführungsformen abzuweichen.
  • Die veranschaulichenden Ausführungsformen werden unter Verwendung von spezifischem Code, spezifischen Auslegungen, Architekturen, Protokollen, Layouts, Schemas und Werkzeugen nur zu Beispielzwecken beschrieben und sollen nicht auf die veranschaulichenden Ausführungsformen beschränkt sein. Ferner werden die veranschaulichenden Ausführungsformen in einigen Fällen nur als Beispiel zur Verdeutlichung der Beschreibung unter Verwendung von bestimmter Software, bestimmten Werkzeugen und Datenverarbeitungsumgebungen beschrieben. Die veranschaulichenden Ausführungsformen können in Verbindung mit weiteren vergleichbaren oder ähnlichen Zwecken dienenden Strukturen, Systemen, Anwendungen oder Architekturen verwendet werden. Eine veranschaulichende Ausführungsform kann in Hardware, Software oder einer Kombination davon umgesetzt werden.
  • Die Beispiele in dieser Offenbarung werden nur zur Verdeutlichung der Beschreibung verwendet und die veranschaulichenden Ausführungsformen sollen nicht darauf beschränkt sein. Weitere Daten, Operationen, Aktionen, Aufgaben, Aktivitäten und Bearbeitungen sind ausgehend von dieser Offenbarung vorstellbar und selbige werden in dem Schutzumfang der veranschaulichenden Ausführungsformen in Betracht gezogen.
  • Alle hierin aufgelisteten Vorteile sind nur Beispiele und die veranschaulichenden Ausführungsformen sollen nicht darauf beschränkt sein. Weitere oder unterschiedliche Vorteile können durch spezifische veranschaulichende Ausführungsformen verwirklicht werden. Ferner kann eine bestimmte veranschaulichende Ausführungsform einige, alle oder keine der oben aufgelisteten Vorteile haben.
  • Die oben genannten Aspekte und Vorteile der veranschaulichenden Ausführungsformen der vorliegenden Erfindung werden hierin im Folgenden ausführlicher unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Es sollte klar sein, dass die Figuren nur eine Veranschaulichung von beispielhaften Ausführungsformen der vorliegenden Erfindung sein sollen. Die vorliegende Erfindung kann Aspekte, Ausführungsformen und Modifizierungen an den dargestellten beispielhaften Ausführungsformen einschließen, die in den Figuren nicht explizit gezeigt werden, für einen Fachmann in Anbetracht der vorliegenden Beschreibung der veranschaulichenden Ausführungsformen aber problemlos ersichtlich sind.
  • Wie einem Fachmann klar sein wird, können Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte der vorliegenden Erfindung in der Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, auf die alle hierin allgemein als „Schaltung”, „Modul” oder „System” Bezug genommen werden kann. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren beliebigen computerlesbaren Medien mit einem darin ausgeführten, von einem Computer verwendbaren Programmcode verkörpert ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann ein System, eine Vorrichtung oder ein Einheit von elektronischer, magnetischer, optischer, elektromagnetischer oder Halbleiter-Natur, jede geeignete Kombination aus dem Vorgenannten oder Entsprechungen davon sein. Zu spezielleren Beispielen (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würde Folgendes zählen: eine elektrische Einheit mit einer Speicherfähigkeit, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), eine Einheit auf Lichtwellenleiter-Grundlage, ein tragbarer CD-ROM, eine optische Speichereinheit, eine Magnetspeichereinheit oder jede geeignete Kombination des Vorgenannten. In dem Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes konkrete Medium sein, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung verwendet werden kann.
  • In einigen veranschaulichenden Ausführungsformen ist das computerlesbare Medium ein nicht-transitorisches computerlesbares Medium. Ein nicht-transitorisches computerlesbares Medium ist jedes Medium, das kein unabhängiges Signal oder eine unabhängige Ausbreitungswelle ist, d. h. ein reines Signal bzw. eine reine Ausbreitungswelle per se. Ein nicht-transitorisches computerlesbares Medium kann Signale und Ausbreitungswellen verwenden, ist aber nicht das Signal oder die Ausbreitungswelle selbst. Somit können zum Beispiel verschiedene Formen von Arbeitsspeichereinheiten und weitere Typen von Systemen, Einheiten oder Vorrichtungen, die Signale in beliebiger Weise einsetzen, wie zum Beispiel, um ihren Zustand aufrechtzuerhalten, als nicht-transitorische computerlesbare Medien innerhalb des Schutzumfangs der vorliegenden Erfindung betrachtet werden.
  • Ein computerlesbares Signalmedium kann andererseits ein verbreitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode enthalten, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein derartiges verbreitetes Signal kann jede einer Vielfalt von Formen annehmen, einschließlich elektromagnetisch, optisch oder jede geeignete Kombination davon, es ist aber nicht darauf beschränkt. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung übertragen, verbreiten oder transportieren kann. Desgleichen ist ein computerlesbare Speichermedium jedes computerlesbare Medium, das kein computerlesbares Signalmedium ist
  • In einem computerlesbaren Medium verkörperter Computercode kann unter Verwendung jedes geeigneten Mediums übertragen werden, einschließlich drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, Funkfrequenz (HF) usw. oder jeder geeigneten Kombination davon, ist aber nicht darauf beschränkt.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie JavaTM, SmalltalkTM, C++ oder dergleichen und herkömmlichen prozeduralen Programmiersprachen wie der Programmiersprache „C” oder ähnlichen Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, 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 dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden werden, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den veranschaulichenden Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern und Kombinationen von Blöcken in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen erstellen, die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegeben sind.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Fertigungsartikel erzeugen, einschließlich Anweisungen, die die in dem Block oder den Blöcken von Ablaufplan und/oder Blockschaubild angegebene Funktion/Handlung umsetzen.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten geladen werden, um die Ausführung einer Serie von Arbeitsschritten auf dem Computer, einer anderen Vorrichtung, die programmierbare Daten ausführt, oder anderen Einheiten zu veranlassen, um einen über den Computer umgesetzten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Handlungen bereitstellen, die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds angegeben sind.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Diesbezüglich kann jeder Block in dem Ablaufplan oder in den Blockschaubildern ein Modul, ein Segment oder einen Codeabschnitt darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Es ist ebenfalls anzumerken, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge auftreten können als in den Figuren angegeben. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es wird ebenfalls angemerkt, dass jeder Block in den Blockschaubildern und/oder in der Veranschaulichung des Ablaufplans und Kombinationen von Blöcken in den Blockschaubildern und/oder der Veranschaulichung des Ablaufplans durch spezielle Systeme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
  • Somit können die veranschaulichenden Ausführungsformen in vielen verschiedenen Typen von Datenverarbeitungsumgebungen verwendet werden. Um einen Kontext für die Beschreibung der spezifischen Elemente und der Funktionalität der veranschaulichenden Ausführungsformen bereitzustellen, werden die 1 und 2 im Folgenden als Beispielumgebungen angegeben, in denen Aspekte der veranschaulichenden Ausführungsformen umgesetzt werden können. Es sollte klar sein, dass die 1 und 2 nur Beispiele sind und durch sie keinerlei Einschränkung hinsichtlich der Umgebungen festgestellt oder impliziert werden soll, in denen Aspekte oder Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. Viele Modifizierungen können an den dargestellten Umgebungen vorgenommen werden, ohne von dem Erfindungsgedanken und Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Unter Bezugnahme auf die Figuren und insbesondere unter Bezugnahme auf die 1 und 2 sind diese Figuren beispielhafte Darstellungen von Datenverarbeitungsumgebungen, in denen veranschaulichende Ausführungsformen umgesetzt werden können. Die 1 und 2 sind nur Beispiele und sollen keinerlei Einschränkung hinsichtlich der Umgebungen feststellen oder implizieren, in denen verschiedene Ausführungsformen umgesetzt werden können. Eine bestimmte Umsetzung kann auf der Grundlage der folgenden Beschreibung viele Modifizierungen an den dargestellten Umgebungen vornehmen.
  • 1 zeigt eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen, in denen veranschaulichende Ausführungsformen umgesetzt werden können. Eine Datenverarbeitungsumgebung 100 ist ein Netzwerk von Computern, in denen die veranschaulichenden Ausführungsformen umgesetzt werden können. Die Datenverarbeitungsumgebung 100 enthält ein Netzwerk 102. Das Netzwerk 102 ist das Medium, das zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern verwendet wird, die in der Datenverarbeitungsumgebung 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen enthalten, wie drahtgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel. Ein Server 104 und ein Server 106 sind zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Software-Anwendungen können auf jedem Computer in der Datenverarbeitungsumgebung 100 ausgeführt werden.
  • Außerdem sind Clients 110, 112 und 114 mit dem Netzwerk 102 verbunden. Ein Datenverarbeitungssystem wie beispielsweise der Server 104 oder 106 oder der Client 110, 112 oder 114 können Daten enthalten und Software-Anwendungen oder Software-Werkzeuge haben, die darauf ausgeführt werden.
  • Nur als Beispiel und ohne irgendeine Einschränkung auf eine derartige Architektur zu implizieren, stellt 1 gewisse Komponenten dar, die in einer Beispielumsetzung einer Ausführungsform verwendbar sind. Zum Beispiel ist eine Anwendung 105 im Server 104 eine Umsetzung einer hierin beschriebenen Ausführungsform. Die Anwendung 105 arbeitet in Verbindung mit einer Engine 103 zur Verarbeitung natürlicher Sprache (NLP). Die NLP-Engine 103 kann zum Beispiel eine vorhandene Anwendung sein, die fähig ist, eine Verarbeitung natürlicher Sprache an Dokumenten auszuführen und so modifiziert oder konfiguriert werden kann, dass sie in Verbindung mit der Anwendung 105 arbeitet, um eine Operation gemäß einer hierin beschriebenen Ausführungsform auszuführen. Der Speicher 108 enthält eine Hypothesenbibliothek 109 gemäß einer Ausführungsform. Der Client 112 enthält ein Dokument mit Tabellendaten 113, die gemäß einer Ausführungsform verarbeitet werden.
  • Die Server 104 und 106, die Speichereinheit 108 und die Clients 110, 112 und 114 können unter Verwendung von drahtgebundenen Verbindungen, drahtlosen Datenübertragungsprotokollen oder weiterer geeigneter Datenkonnektivität mit dem Netzwerk 102 verbunden werden. Die Clients 110, 112 und 114 können zum Beispiel PCs oder Netzwerkcomputer sein. In dem dargestellten Beispiel kann der Server 104 Daten wie beispielsweise Boot-Dateien, Betriebssystemabbilder und Anwendungen für die Clients 110, 112 und 114 bereitstellen. Die Clients 110, 112 und 114 sind in diesem Beispiel Clients für den Server 104. Die Clients 110, 112, 114 oder eine Kombination davon können ihre eigenen Daten, Boot-Dateien, Betriebssystemabbilder und Anwendungen enthalten. Die Datenverarbeitungsumgebung 100 kann zusätzliche Server, Clients und weitere nicht gezeigte Einheiten enthalten.
  • In dem dargestellten Beispiel kann die Datenverarbeitungsumgebung 100 das Internet sein. Das Netzwerk 102 kann eine Sammlung von Netzwerken und Gateways darstellen, die Transmission Control Protocol/Internet Protocol (TCP/IP) und andere Protokolle für den Datenaustausch untereinander verwenden. Das Kernstück des Internet ist ein Backbone von Datenübertragungsverbindungen zwischen Hauptknoten oder Host-Computern, die Tausende von gewerblichen, behördlichen, schulischen und anderen Computersystemen enthalten, die Daten und Nachrichten weiterleiten. Selbstverständlich kann die Datenverarbeitungsumgebung 100 auch als eine Anzahl von verschiedenen Typen von Netzwerken umgesetzt werden, wie zum Beispiel ein Intranet, ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN). 1 soll als Beispiel dienen und nicht als eine Architektur-Einschränkung für die verschiedenen veranschaulichenden Ausführungsformen.
  • Unter anderen Verwendungszwecken kann die Datenverarbeitungsumgebung 100 zum Umsetzen einer Client-Server-Umgebung verwendet werden, in der die veranschaulichenden Ausführungsformen umgesetzt werden können. Eine Client-Server-Umgebung ermöglicht, dass Software-Anwendungen und Daten so über ein Netzwerk verteilt werden können, dass eine Anwendung funktioniert, indem die Interaktivität zwischen einem Client-Datenverarbeitungssystem und einem Server-Datenverarbeitungssystem verwendet wird. Die Datenverarbeitungsumgebung 100 kann auch eine dienstorientierte Architektur nutzen, in der über ein Netzwerk verteilte, funktionell aufeinander abgestimmte Software-Komponenten als zusammenhängende Geschäftsanwendungen zusammengepackt werden können.
  • Unter Bezugnahme auf 2 stellt diese Figur ein Blockschaubild eines Datenverarbeitungssystems dar, in dem veranschaulichende Ausführungsformen umgesetzt werden können. Ein Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer, wie beispielsweise der Server 104 oder der Client 112 in 1 oder ein anderer Typ von Einheit, in dem sich ein vom Computer verwendbarer Programmcode oder Anweisungen befinden können, welche die Prozesse für die veranschaulichenden Ausführungsformen umsetzen.
  • In dem dargestellten Beispiel verwendet das Datenverarbeitungssystem 200 eine Hub-Architektur mit Northbridge und Arbeitsspeicher-Controller-Hub (NB/MCH) 202 und Southbridge und Eingabe/Ausgabe-(E/A)Controller-Hub (SB/ICH) 204. Eine Verarbeitungseinheit 206, ein Hauptarbeitsspeicher 208 und ein Grafikprozessor 210 sind mit dem Northbridge und Arbeitsspeicher-Controller-Hub (NB/MCH) 202 verbunden. Die Verarbeitungseinheit 206 kann einen oder mehrere Prozessoren enthalten und kann unter Verwendung von einem oder mehreren heterogenen Prozessorsystemen umgesetzt werden. Die Verarbeitungseinheit 206 kann ein Mehrkernprozessor sein. In gewissen Umsetzungen kann der Grafikprozessor 210 kann mit dem NB/MCH 202 über einen beschleunigten Grafikanschluss (AGP – Accelerated Graphics Port) verbunden werden.
  • In dem dargestellten Beispiel ist ein Adapter 212 des lokalen Netzwerks (LAN) mit dem Southbridge und E/A-Controller-Hub (SB/ICH) 204 verbunden. Ein Audio-Adapter 216, ein Tastatur- und Maus-Adapter 220, ein Modem 222, ein Nur-Lese-Speicher (ROM) 224, Universal-Serial-Bus-(USB)Anschlüsse und weitere Datenübertragungsanschlüsse 232 und PCI/PCIe-Einheiten 234 sind mit dem Southbridge und E/A-Controller-Hub 204 über einen Bus 238 verbunden. Ein Festplattenlaufwerk (HDD) 226 und ein CD-ROM 230 sind mit dem Southbridge und E/A-Controller-Hub 204 über einen Bus 240 verbunden. Zu den PCI/PCIe-Einheiten 234 können beispielsweise Ethernet-Adapter, Add-in-Karten und PC-Karten für Notebook-Computer gehören. PCI verwendet einen Karten-Bus-Controller, PCIe hingegen nicht. Der ROM 224 kann beispielsweise ein binäres Flash-Eingabe/Ausgabe-System (BIOS) sein. Das Festplattenlaufwerk 226 und der CD-ROM 230 können zum Beispiel eine Integrated Drive Electronics-(IDE) oder Serial Advanced Technology Attachment-(SATA)Schnittstelle verwenden. Eine Super-I/O-(SIO)Einheit 236 kann mit dem Southbridge und E/A-Controller-Hub (SB/ICH) 204 über den Bus 238 verbunden werden.
  • Arbeitsspeicher wie der Hauptarbeitsspeicher 208, der ROM 224 oder ein (nicht gezeigter) Flash-Speicher sind einige Beispiele für von einem Computer verwendbare Speichereinheiten. Das Festplattenlaufwerk 226, der CD-ROM 230 und weitere ähnlich verwendbare Einheiten sind einige Beispiele für von einem Computer verwendbare Speichereinheiten, einschließlich einem von einem Computer verwendbaren Medium.
  • Auf der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert und stellt eine Steuerung von verschiedenen Komponenten in dem Datenverarbeitungssystem 200 in 2 bereit. Das Betriebssystem kann ein im Handel erhältliches Betriebssystem wie AIX® (AIX ist eine Marke der International Business Machines Corporation in den Vereinigten Staaten und in anderen Ländern), Microsoft® Windows® (Microsoft und Windows sind Marken von Microsoft Corporation in den Vereinigten Staaten und in anderen Ländern) oder Linux® sein (Linux ist eine Marke von Linus Torvalds in den Vereinigten Staaten und in anderen Ländern). Ein objektorientiertes Programmiersystem wie das JavaTM-Programmiersystem kann zusammen mit dem Betriebssystem ausgeführt werden und stellt Aufrufe an das Betriebssystem aus JavaTM-Programmen oder Anwendungen bereit, die auf dem Datenverarbeitungssystem 200 ausgeführt werden (Java und alle Marken und Logos auf Java-Grundlage sind Marken oder eingetragene Marken von Oracle Corporation und/oder seiner verbundenen Unternehmen).
  • Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme wie die Anwendung 105 in 1 befinden sich auf mindestens einer von einer oder mehreren Speichereinheiten wie dem Festplattenlaufwerk 226 und können zum Ausführen durch die Verarbeitungseinheit 206 in mindestens einen von einem oder mehreren Arbeitsspeichern geladen werden, wie beispielsweise den Hauptarbeitsspeicher 208. Die Prozesse für die veranschaulichenden Ausführungsformen können durch die Verarbeitungseinheit 206 unter Verwendung von durch einen Computer umgesetzte Anweisungen ausgeführt werden, die sich in einem Arbeitsspeicher befinden können wie beispielsweise dem Hauptarbeitsspeicher 208, dem Nur-Lese-Speicher 224 oder in einer oder mehreren Peripherie-Einheiten.
  • Die Hardware in den 1 bis 2 kann je nach Umsetzung unterschiedlich sein. Weitere interne Hardware- oder Peripherie-Einheiten wie Flash-Speicher, gleichwertiger nicht-flüchtiger Arbeitsspeicher oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstelle der Hardware verwendet werden, die in den 1 bis 2 dargestellt ist. Des Weiteren können die Prozesse der veranschaulichenden Ausführungsformen auf ein Mehrfachprozessor-Datenverarbeitungssystem angewendet werden.
  • In einigen veranschaulichenden Beispielen kann das Datenverarbeitungssystem 200 ein Personal Digital Assistant (PDA) sein, der im Allgemeinen mit einem Flash-Speicher konfiguriert ist, um nicht-flüchtigen Arbeitsspeicher zum Speichern von Betriebssystemdateien und/oder vom Benutzer erzeugten Daten bereitzustellen. Ein Bussystem kann einen oder mehrere Busse aufweisen, wie beispielsweise einen Systembus, einen E/A-Bus und einen PCI-Bus. Selbstverständlich kann das Bussystem unter Verwendung jedes beliebigen Typs von Datenübertragungsstruktur oder -architektur umgesetzt werden, der eine Datenübertragung zwischen verschiedenen Komponenten oder Einheiten bereitstellt, die an die Struktur oder Architektur angeschlossen sind.
  • Eine Datenübertragungseinheit kann eine oder mehrere Einheiten enthalten, die zum Senden und Empfangen von Daten verwendet werden, wie beispielsweise ein Modem oder ein Netzwerk-Adapter. Ein Arbeitsspeicher kann zum Beispiel der Hauptarbeitsspeicher 208 oder ein Cache-Speicher sein wie beispielsweise der Cache-Speicher in dem North Bridge und Arbeitsspeicher-Controller-Hub 202. Eine Verarbeitungseinheit kann einen oder mehrere Prozessoren oder CPUs enthalten.
  • Die in den 1 bis 2 dargestellten Beispiele und die oben beschriebenen Beispiele sollen keine Architektureinschränkungen implizieren. Zum Beispiel kann das Datenverarbeitungssystem 200 abgesehen von der Form eines PDA auch ein Tablet-Computer, ein Laptop-Computer oder eine Telefoneinheit sein.
  • Unter Bezugnahme auf 3 stellt diese Figur ein Beispiel für Tabellendaten dar, in denen funktionale Abhängigkeiten gemäß einer veranschaulichenden Ausführungsform identifiziert werden können. Eine Tabelle 300 ist ein Beispiel für Tabellendaten, die in dem Dokument 113 in 1 auftreten, in dem funktionale Abhängigkeiten zum Beispiel unter Verwendung der Anwendung 105 in 1 bestimmt werden können.
  • Die horizontalen oder vertikalen Linien sind nur als Beispiel zum Begrenzen einer Tabelle und Zelle dargestellt, ohne dadurch eine Einschränkung zu implizieren. Eine Tabelle oder Tabellendaten können auf jede geeignete Weise ausgedrückt werden, und eine Zelle kann auf jede Weise innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen abgegrenzt werden. Zum Beispiel werden Einrückung, Abstand zwischen Zellendaten, verschiedene Abstände in Tabellen- und Nichttabellen-Inhalt, Symbole, Grafiken, eine bestimmte Ansicht oder Perspektive zum Veranschaulichen von Tabellendaten oder eine Kombination von diesen und weitere beispielhafte Ausdruckweisen für Tabellendaten und Zellen hierin als innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen in Betracht gezogen.
  • Eine Tabelle 302 ist ein Abschnitt einer Tabelle 300 und enthält mehrere Header, die dazu dienen, die Daten in den verschiedenen Zellen in Überschriften, Kategorien oder Klassifizierungen (Kategorien) zusammenzufassen. Die Header können Zeilen-Header oder Spalten-Header sein. Die Header sind nicht auf die Tabellenbegrenzungen oder -enden innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen beschränkt. Zum Beispiel kann ein Header zwischen Zellen in eine Tabelle eingebettet sein, wie beispielsweise in der Form eines untergeordneten Headers, um zum Beispiel eine Unterkategorie von Tabellendaten zu identifizieren. Derartige Header für untergeordnete Zeilen oder untergeordnete Spalten werden als innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen in Betracht gezogen. In einer Ausführungsform können gewisse Header-Informationen getrennt von den entsprechenden Tabellendaten angegeben werden, wie beispielsweise in einer Fußnote, einem Anhang, einer anderen Tabelle oder einem anderen Speicherort in einem vorgegebenen Dokument.
  • Zum Beispiel identifiziert ein Header 304 eine Gruppe von Spalten, die Daten für die weitgefasste Kategorie „Geschäftsjahr beendet am 31. Januar” enthalten. Header 306, 308 und 310 identifizieren Unterkategorien der Daten „Geschäftsjahr beendet am 31. Januar”, und zwar nach Jahr für drei Beispieljahre.
  • Zeilen-Header 312 enthalten einige Suchhinweisbegriffe in Bezug auf Inhalt und Aufbau zum Identifizieren von Abhängigkeiten zwischen Zellen. Zum Beispiel ist ein Zeilen-Header 314 eine „Gesamtsumme” und ist unter Zeilen-Headern 316 und 318 eingerückt. Desgleichen ist ein Zeilen-Header 320 eine weitere „Gesamtsumme” und unter einem Zeilen-Header 322 eingerückt. Die Einrückungen an den Zeilen-Headern 314 und 320 sind beispielhafte Aufbau-Suchhinweisbegriffe, die für ein Verständnis der funktionalen Beziehungen zwischen Zellen in derselben Zeile wie die Zeilen-Header 314 und 320 oder anderen Zellen in der Tabelle 302 nützlich sind. Das Wort „Gesamtsumme” in den Zeilen-Headern 314 und 320 ist ein weiteres Beispiel für die Inhalts-Suchhinweisbegriffe, die in einer ähnlichen Weise zum Bestimmen von funktionalen Abhängigkeiten von Zellen in ihren entsprechenden Zeilen nützlich sind. Das heißt, Inhalts-Suchhinweisbegriffe können Suchhinweisbegriffe zu funktionalen Beziehungen zwischen Zellen bereitstellen, indem sie Begriffe, funktionale Definitionen, Gleichungen oder dergleichen enthalten, die identifizierbar sind und auf der Grundlage der Header/Zellen selbst bezeichnend für die Beziehungen sind. Die Aufbau-Suchhinweisbegriffe stellen Suchhinweisbegriffe auf der Grundlage ihrer hierarchischen oder anderen aufbaubezogenen Beziehungen zueinander bereit.
  • Diese Beispiel-Suchhinweisbegriffe sollen die veranschaulichenden Ausführungsformen nicht einschränken. Viele weitere Suchhinweisbegriffe von inhaltlichen, aufbaubezogenen oder weiteren Typen sind aus dieser Offenbarung für einen Fachmann vorstellbar, und selbige werden in dem Schutzumfang der veranschaulichenden Ausführungsformen in Betracht gezogen. Im Folgenden wird zum einfacheren Verständnis und der Deutlichkeit der folgenden Beschreibung der veranschaulichenden Ausführungsformen auf die aufbaubezogenen, inhaltlichen oder weiteren Suchhinweisbegrifftypen insgesamt als „Suchhinweisbegriffe” verwiesen.
  • Wie klar sein sollte, helfen selbige Suchhinweisbegriffe, die Informationen in verschiedenen Zellen verschieden zu verstehen. Zum Beispiel wird eine Tabelle 352 betrachtet, die ein anderer Abschnitt der Tabelle 300 ist. Ein Header 354 identifiziert eine Gruppe von Spalten, die Daten für die weitgefasste Kategorie „Änderung” enthalten. Header 356 und 358 identifizieren Unterkategorien der „Änderungs”-Daten, mit anderen Worten, Vergleiche zwischen zwei aufeinander folgenden Jahren aus den drei Beispieljahren der Kategorien 306, 308 und 310.
  • Die Zeilen-Header 312 vermitteln den Zellen in ihren entsprechenden Zeilen in den Tabellen 302 und 352 unterschiedliche Bedeutungen. Während zum Beispiel die „Gesamtsumme” gemäß dem Zeilen-Header 314 einen Dollarbetrag für Einkünfte in den entsprechenden Zellen in der Tabelle 302 impliziert, impliziert derselbe Zeilen-Header eine Dollarbetrag-Änderung und eine Prozentsatzänderung in den entsprechenden Zellen in der Tabelle 352. Wie in dieser Beispieltabelle 300 können die Suchhinweisbegriffe in einer Ausführungsform an einer Position wie in den Zeilen-Headern 312 auch in Verbindung mit anderen Suchhinweisbegriffen, Daten oder Inhalt an anderen Stellen agieren, um ein Bestimmen der Bedeutung in gewissen Zellen in vorgegebenen Tabellendaten zu ermöglichen.
  • Unter Bezugnahme auf die 4A und 4B stellen diese Figuren ein Blockschaubild einer Art und Weise eines Erkennens von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform dar. Eine Tabelle 400 ist dieselbe wie die Tabelle 300 in 3. Tabellen 402, 452 entsprechen jeweils analog den Tabellen 302 und 352 in 3. Spalten-Header 404, 406, 408 und 410 entsprechen jeweils analog den Headern 304, 306, 308 und 310 in 3.
  • Zeilen-Header 412 bis 422 entsprechen jeweils analog den Zeilen-Headern 312 bis 322 in 3. Desgleichen entsprechen Spalten-Header 454, 456 und 458 von Tabelle 452 jeweils analog den Headern 354, 356 und 358 in 3.
  • Wie unter Bezugnahme auf 3 angemerkt, können Suchhinweisbegriffe in und um vorgegebene Tabellendaten beim Bestimmen der funktionalen Abhängigkeiten einer Zelle helfen. Desgleichen können Formatierungssteuerzeichen (Markups) in einer vorgegebenen Tabelle ebenfalls zusätzliche Suchhinweisbegriffe bilden und bei dieser Bestimmung helfen, eine vorherige Bestimmung bestätigen oder beides. Zum Beispiel sind Linien 424 und 426 beispielhafte Tabellenformatierungssteuerzeichen, die als zusätzliche Suchhinweisbegriffe beim Bestimmen von funktionalen Abhängigkeiten einiger Zellen fungieren. Wie oben angemerkt, sind Linien oder andere Darstellungsarten zum Ausdrücken einer Tabellen- oder Zellenabgrenzung nur Beispiele und sollen die veranschaulichenden Ausführungsformen nicht einschränken. Tabellen und Zellen können ohne Verwendung von Ausdruckshilfen wie beispielsweise die Linien 424 und 426 innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen ausgedrückt werden.
  • Zum Beispiel gibt der Zeilen-Header 414 an, dass eine Zelle 428 eine Gesamtsumme oder eine Summierung einiger Werte enthält, die an anderer Stelle dargestellt sind, etwa in der Tabelle 402. Mit anderen Worten, ein Suchhinweisbegriff im Header 414 hilft, eine funktionale Abhängigkeit des Typs „Summe” der Zelle 428 von einigen anderen Zellen zu bestimmen.
  • Die Zeile 424 stützt diese Bestimmung und hilft einen Zellenbereich einzugrenzen, der an dieser funktionalen Abhängigkeit beteiligt sein könnte. Zum Beispiel kommt eine Ausführungsform zu dem Schluss, dass Inhalte der Zelle 428 eine Gesamtsumme oder Summe der Zellenwerte sind, die über der Linie 424 bis hinauf zu einem anderen Begrenzungszeichen stehen, wie beispielsweise einer anderen Linie, einer Tabellenabgrenzung oder dergleichen.
  • In einem weiteren Beispiel gibt der Zeilen-Header 420 an, dass eine Zelle 430 eine Gesamtsumme oder eine Summierung einiger Werte enthält, die an anderer Stelle dargestellt sind, etwa in der Tabelle 402. Mit anderen Worten, ein Suchhinweisbegriff im Header 420 hilft, eine Hypothese einer funktionalen Abhängigkeit des Typs „Summe” der Zelle 430 von einigen anderen Zellen zu bestimmen oder zu bestätigen.
  • Die Zeile 426 stützt diese Bestimmung und hilft einen Zellenbereich einzugrenzen, der an dieser funktionalen Abhängigkeit beteiligt sein könnte. Zum Beispiel kommt eine Ausführungsform zu dem Schluss, dass Inhalte der Zelle 430 eine Gesamtsumme oder Summe der Zellenwerte sind, die über der Linie 426 bis hinauf zu einem anderen Begrenzungszeichen stehen, wie beispielsweise der Linie 424.
  • Die Linien 424 und 426 werden nur zur Verdeutlichung der Beschreibung als strukturelle Beispiel-Formatierungssteuerzeichen oder Suchhinweisbegriffe und nicht als Einschränkung der veranschaulichenden Ausführungsformen beschrieben. Ein weiteres Beispiel-Formatierungssteuerzeichen, das auf ähnliche Weise beim Bestimmen von funktionalen Beziehungen zwischen Zellen helfen kann, ist ein semantischer Suchhinweisbegriff wie ein kompatibler Zeilen- und Spaltentyp. Wenn zum Beispiel ein Zeilen-Header einer Zelle einen Umsatzwert angibt und der Spalten-Header einer Zelle ein Jahr angibt, ist es wahrscheinlich, dass die Zelle in dieser Zeile und Spalte mindestens einen Umsatzwert in diesem Jahr angibt und vielleicht mit gewissen anderen Werten in derselben Spalte durch eine funktionale Beziehung eines Zwischensummentyps in Beziehung steht. In diesem Beispiel betrifft ein Suchhinweisbegriff eine bestimmte Zelle. Ein derartiger zellenspezifischer Suchhinweisbegriff ist nützlich für eine Bestätigung einer funktionalen Abhängigkeit für diese Zelle und kann zum Bestätigen einer ähnlichen funktionalen Abhängigkeit über die ganze Spalte übergreifend verwendet werden.
  • In einem weiteren Beispiel weist das Vorhandensein eines allgemeinen Headers 404 auf eine Gemeinsamkeit in den Spalten 406, 408 und 410 hin. Gesondert kann eine Ausführungsform zu dem Schluss kommen, dass der Inhalt aller Header 406, 408 und 410 den semantischen Typ „Jahr” aufweist. Die Ausführungsform bestimmt einen Hinweis, dass diese drei Spalten ähnlich sind. Wenn die Ausführungsform befindet, dass dieselben funktionalen Abhängigkeiten in diesen drei Spalten gelten, beurteilt die Ausführungsform ein Konfidenzniveau für diese Erkenntnis unter Verwendung der Tatsache, dass dieser Hinweis bzw. dieser Suchhinweisbegriff das Konfidenzniveau unterstützt. Ein Hinweis wie oben beschrieben ist ein spaltenabdeckender Hinweis. Eine Hypothese, dass eine Abhängigkeit für eine Anzahl von Spalten gilt, ist eine spaltenabdeckende Hypothese. Ein spaltenabdeckender Hinweis ist nützlich für die Unterstützung einer spaltenabdeckenden Hypothese.
  • Eine Ausführungsform verwendet einige der verfügbaren Formatierungssteuerzeichen oder Suchhinweisbegriffe in und um die Tabelle, um eine Hypothese zu einer funktionalen Abhängigkeit aufzustellen. Eine Ausführungsform verwendet ferner weitere verfügbare Suchhinweisbegriffe oder Formatierungssteuerzeichen, um die Hypothese zu bestätigen, wodurch ein Konfidenzniveau bezüglich der Hypothese verbessert wird. Im Wesentlichen ist eine Hypothese eine Grundstruktur einer funktionalen Abhängigkeit – eine hypothetische Beziehung zwischen hypothetischen Zellen – die beim Anwenden auf eine tatsächliche Tabelle und die einen Bestandteil bildenden Zellen für alle Anwendungsfälle wahr oder falsch, oder manchmal wahr und manchmal falsch sein kann.
  • Eine Hypothese wird bestätigt oder unterstützt, oder mit anderen Worten, die Konfidenz in eine Hypothese liegt über einem Schwellenwert, wenn Suchhinweisbegriffe oder Formatierungssteuerzeichen eine Instanz unterstützen, in der die funktionale Abhängigkeit gemäß der Hypothese ein korrektes Ergebnis ergibt. Die Konfidenz in eine Hypothese erhöht sich ebenfalls von einem Wert zum anderen, wie beispielsweise von unter einem Schwellenwert eines Konfidenzniveaus auf über den Schwellenwert des Konfidenzniveaus, wenn die funktionale Abhängigkeit gemäß dem Suchhinweisbegriff bei anderen Zellen oder Zellenbereichen in den vorgegebenen Tabellendaten nachgebildet werden kann (d. h. ein Hinweis gilt als wahr oder unterstützt die Hypothese).
  • In Maschinenlernbegriffen wird jeder Suchhinweisbegriff in einer Gruppe aller möglichen unterstützenden Suchhinweisbegriffe als ein „Merkmal” bezeichnet. Vorhandensein oder Fehlen eines Merkmals für eine vorhandene Hypothese erhöht oder verringert das Niveau der Konfidenz in diese Hypothese. Ein „Modell” ist gemäß einer Ausführungsform ein Mechanismus zum Berechnen der Konfidenzquote für eine Hypothese auf der Grundlage einer Untergruppe von Merkmalen, die vorhanden sind (oder die Hypothese unterstützen). In einer Ausführungsform arbeitet das Modell als eine regelbasierte Engine. In einer weiteren Ausführungsform ist das Modell „schulbar” unter Verwendung einer Schulungsgruppe von Tabellen, deren Konfidenzquote von vornherein bekannt ist (d. h. eine „beschriftete Gruppe”).
  • Eine Hypothesenbibliothek 432 entspricht analog der Hypothesenbibliothek 109 in 1. Die Hypothesenbibliothek 432 ist eine Sammlung von Hypothesen, die eine Ausführungsform wie in der Anwendung 105 in 1 empfängt, um funktionale Abhängigkeiten in der Tabelle 400 zu bestimmen. In einer Ausführungsform stellt ein Benutzer die Hypothesenbibliothek 432 bereit. In einer weiteren Ausführungsform stellt eine Anwendung die Hypothesenbibliothek 432 bereit. In einer Ausführungsform ist die Hypothesenbibliothek 432 ein Teil einer größeren Hypothesenbibliothek (nicht gezeigt) und wird gemäß einigen Kriterien ausgewählt. Ein Beispielkriterium für ein Auswählen der Mitgliedhypothesen der Hypothesenbibliothek 432 kann gebietsspezifisch sein. Zum Beispiel kann die Hypothesenbibliothek 432 nur diejenigen Hypothesen enthalten, die auf das Gebiet der Tabellendaten anwendbar sind, die analysiert werden. Die einen Bestandteil bildenden Hypothesen in der Hypothesenbibliothek 432 können geändert werden, wenn sich die Tabellendaten ändern.
  • In der dargestellten Beispiel-Hypothesenbibliothek 432 stellt eine Hypothese 434 die Hypothese auf, dass einige Zellen eine Summe von einigen anderen Zellen in derselben Spalte sind, d. h. „Spaltensummen” oder „col_sum” sind. Desgleichen stellt eine Hypothese 436 die Hypothese auf, dass einige Zellen eine Differenz zwischen gewissen anderen Zellen in derselben Zeile sind, d. h. eine „Zeilendifferenz” oder „row_diff” sind. Eine Hypothese 438 stellt die Hypothese auf, dass einige Zellen eine Division einer gewissen anderen Zelle in derselben Zelle durch eine andere Zelle in derselben Zeile oder eine Konstante sind, d. h. eine „Zeilendivision” oder „row_div” sind.
  • Eine Hypothese 440 stellt die Hypothese auf, dass einige Hypothesen sich in verschiedenen Spalten wiederholen, d. h. eine „Spaltenwiederholung” oder „col_repeat” sind. Zum Beispiel kann sich die „Spaltensummen”-Hypothese 434 in der Spalte 406 und in den Spalten 408 und 410 wiederholen. Desgleichen stellt eine Hypothese 442 die Hypothese auf, dass sich einige Hypothesen in verschiedenen Zeilen wiederholen, d. h. eine „Zeilenwiederholung” oder „row_repeat” sind. Zum Beispiel kann sich die „Zeilendifferenz”-Hypothese 436 in Zeile 416 und in den Zeilen 418 und 414 wiederholen. Eine Anwendbarkeit einer Hypothese kann die Konfidenz in eine Anwendbarkeit einer anderen Hypothese auf diese Weise aufwerten. Mit anderen Worten, wenn die Hypothese 434 eine funktionale Abhängigkeit zwischen gewissen Zellen anzugeben scheint, und die Hypothese 440 die Anwendbarkeit der Hypothese 434 über mehr als eine Spalte übergreifend zu validieren scheint, weist eine Ausführungsform ein höheres Niveau als der Schwellenwert der Konfidenz in die funktionalen Abhängigkeit auf, die durch die Hypothese 434 angegeben wird.
  • Eine grafische Darstellung 460 zeigt die verschiedenen Beispielhypothesen in der Hypothesenbibliothek 432, die in der Tabelle 400 ablaufen. Zum Beispiel scheint an einem Element 462 in der grafischen Darstellung 460 die Hypothese col_sum auf eine Wertegruppe angewendet zu werden, die sich zwischen den Linien 424 und dem Beginn von Daten in der Tabelle 402 befindet, d. h. die Elemente 464 und 466 in der grafischen Darstellung 460, und führt zu dem Wert in der Zelle 428. Desgleichen scheint an einem Element 468 die Hypothese col_sum ebenfalls auf die Zellen zwischen den Linien 424 und 426 angewendet zu werden, von denen eine ein Ergebnis einer vorherigen Anwendung derselben Hypothese auf das Element 462 ist, und die andere ein Element 470 ist und zu dem Wert in einer Zelle 430 führt. Ein Element 472 in der grafischen Darstellung 460 gibt an, dass sich die Anordnung der Elemente 462, 464, 466, 468 und 470 gemäß der Hypothese 440 in den Spalten 408 und 410 in der Tabelle 402 wiederholt. Der Rest der grafischen Darstellung 460 bestimmt auf ähnliche Weise die funktionalen Abhängigkeiten in der Tabelle 452.
  • Somit geben die Beispiele von bestimmten Abhängigkeiten, die in dem Beispiel in den 4A und 4B dargestellt werden, wiederholbare Muster an und werden durch die unterstützende Berechnung an den beteiligten Zellen validiert. Einen geeigneten Schwellenwert vorausgesetzt kann eine Ausführungsform ein Konfidenzniveau ausdrücken, das den Schwellenwert überschreitet. Dementsprechend gibt die Ausführungsform eine verarbeitete Form natürlicher Sprache der Zellen der Tabelle 400 aus, wobei die Zellenwerte nicht nur in Bezug auf ihre Werteinheiten oder Header ausgedrückt werden, sondern auch durch ihre Beziehungen untereinander.
  • Zum Beispiel würde der Wert in der Zelle 428 nicht nur als „zwei Millionen einhunderteinundfünfzigtausend dreihunderteinundvierzig Dollar Gesamtumsatz und neutrale Erträge in 2009”, sondern auch als „eine Gesamtsumme der Einkünfte in den Kategorien Strom und Gas des Umsatzes und der neutralen Erträge im Jahr 2009” ausgedrückt werden. Eine derartige Verarbeitung natürlicher Sprache mit der Unterstützung durch eine Ausführungsform ist weitaus nützlicher und informativer als das, was mit der derzeit verfügbaren NLP-Technologie erzeugt werden kann.
  • Unter Bezugnahme auf 5 stellt diese Figur ein Blockschaubild einer Anwendung zum Erkennen von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform dar. Eine Anwendung 502 kann anstelle der Anwendung 105 in 1 verwendet werden. Die Anwendung 502 empfängt als Eingaben 504 und 506 ein oder mehrere Dokumente, jeweils mit Tabellendaten und einer Hypothesenbibliothek. Die Anwendung 502 enthält eine Funktion 508 zum Auffinden von Instanzen von Tabellendaten in der Eingabe 504. Unter Verwendung der Hypothesenbibliothek 506 analysiert eine Funktion 510 die funktionalen Abhängigkeiten von Zellendaten in einer Instanz von Tabellendaten, die durch die Funktion 508 in der Eingabe 504 gefunden wurden.
  • Beim Ausführen der Analyse verwendet die Funktion 510 eine Funktion 512, um Zellenbereiche zu bestimmen, die an einer vorgegebenen funktionalen Abhängigkeit beteiligt sind. Einige Beispielmöglichkeiten zum Bestimmen von Zellenbereichen unter Verwendung von Suchhinweisbegriffen und Formatierungssteuerzeichen werden in dieser Offenbarung beschrieben.
  • Eine Funktion 514 beurteilt ein Niveau der Konfidenz in eine funktionale Abhängigkeit, die durch die Funktion 510 analysiert wurde. Die Funktionen 510, 512 und 514 bearbeiten ohne Einschränkung so viele Zellen in so vielen Tabelleninstanzen wie nötig in einer vorgegebenen Umsetzung. Die Anwendung 502 gibt ein oder mehrere NLP-Dokumente 516 mit Tabellenstrukturen und darin identifizierten funktionalen Abhängigkeiten aus, wobei optional jede geeignete Möglichkeit eines Angebens von Konfidenzniveaus in eine oder mehrere derartige funktionale Abhängigkeiten aufgenommen wird.
  • Unter Bezugnahme auf 6 stellt diese Figur einen Ablaufplan eines Beispielprozesses zum Erkennen von Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform dar. Ein Prozess 600 kann in der Anwendung 502 in 5 umgesetzt werden. Der Prozess 600 beginnt mit einem Empfangen einer Gruppe von einem oder mehreren Dokumenten, die Tabellendaten enthalten (Schritt 602). Der Prozess 600 empfängt eine Hypothesenbibliothek (Schritt 604). Die Hypothesenbibliothek kann zum Beispiel so eingeschränkt werden, dass sie nur diejenigen Hypothesen enthält, die auf das betreffende Gebiet der im Schritt 602 empfangenen Dokumente anwendbar sind.
  • Die Komplexität eines Auffindens von funktionalen Abhängigkeiten steigt exponentiell mit der Größe der analysierten Tabelle und der Anzahl von Hypothesen in einer vorgegebenen Hypothesenbibliothek. Somit optimiert eine Ausführungsform das Erkennen von funktionalen Abhängigkeiten durch Begrenzen der Anzahl von Hypothesentypen in einer vorgegebenen Hypothesenbibliothek, durch Begrenzen der Zellenbereiche, die nach funktionalen Abhängigkeiten durchsucht werden sollen oder durch eine Kombination davon.
  • Der Prozess 600 wählt eine Hypothese aus der Hypothesenbibliothek (Schritt 606). Der Prozess 600 wählt einen Zellenbereich, zum Beispiel unter Verwendung von Suchhinweisbegriffen, Formatierungssteuerzeichen oder Variationen davon, in einer Kombination von einem oder mehreren derartigen Suchhinweisbegriffen, Formatierungssteuerzeichen oder Variationen, über eine oder mehrere Tabellen oder umgebende Inhalte übergreifend in einem oder mehreren Dokumenten (Schritt 608). Der Prozess 600 bestimmt, ob die gewählte Hypothese zu dem gewählten Zellenbereich passt (Schritt 610). Wie zum Beispiel unter Bezugnahme auf die 4A und 4B beschrieben, kann der Prozess 600 bestimmen, ob eine fragliche Zelle als eine Spaltensumme aus einem Zellenbereich berechnet wird, der durch gewisse Formatierungssteuerzeichen über dieser Zelle abgegrenzt wird. Diese Beispielmöglichkeit des Bestimmens, ob die gewählte Hypothese passt, soll nicht auf die veranschaulichenden Ausführungsformen eingeschränkt sein. Da die verwendete Hypothese jede geeignete Hypothese gemäß den analysierten Dokumenten sein kann, kann jede geeignete Möglichkeit zum Bestimmen, ob die Hypothese erfüllt wird, innerhalb des Schutzumfangs von Prozess 600 verwendet werden.
  • Wenn die gewählte Hypothese für den gewählten Zellenbereich passt („Ja”-Pfad von Schritt 610), fährt der Prozess 600 mit Schritt 614 fort. In einer Ausführungsform legt der Prozess 600 nach dem Bestimmen, dass eine Sammlung von Suchhinweisbegriffen eine Hypothese unterstützt, ein Niveau der Konfidenz in die funktionale Abhängigkeit gemäß der Hypothese fest (Block 612). Eine Ausführungsform setzt den Block 612 getrennt vom Prozess 600 um und führt die Beurteilung des Konfidenzniveaus getrennt vom Prozess 600 aus, wie beispielsweise in einer unterschiedlichen Wiederholung, Übergabe oder Verarbeitung. Eine Ausführungsform des Blocks 612 wird in 7 als Prozess 700 beschrieben.
  • Der Prozess 600 bestimmt, ob weitere Tabellendaten analysiert werden müssen, um funktionale Abhängigkeiten von Zellen zu bestimmen (Schritt 614). Wenn weitere Tabellendaten analysiert werden müssen („Ja”-Pfad von Schritt 614), kehrt der Prozess 600 zum Schritt 606 zurück. Wenn keine weiteren Tabellendaten analysiert werden müssen („Nein”-Pfad von Schritt 614), gibt der Prozess 600 ein oder mehrere NLP-Dokumente mit Tabellenstrukturen und funktionalen Abhängigkeiten gemäß den zutreffenden Hypothesen und der Konfidenz aus (Schritt 616). Danach endet der Prozess 600. In einer Ausführungsform gibt der Prozess 600 Tabellenstrukturen und funktionale Abhängigkeiten gemäß den zutreffenden Hypothesen und der Konfidenz zur Verwendung in einer vorhandenen NLP-Engine aus, wie beispielsweise die NLP-Engine 103 in 1, die das NLP-Dokument erzeugt.
  • Wenn der Prozess 600 im Schritt 610 bestimmt, dass die gewählte Hypothese nicht in geeigneter Weise für den gewählten Zellenbereich zutrifft („Nein”-Pfad von Schritt 610), bestimmt der Prozess, ob der Zellenbereich für die gewählte Hypothese erschöpft ist (Schritt 618). Wenn die gewählte Hypothese zum Beispiel eine „Spaltensumme” ist und der Zellenbereich über der Zelle, die ausgewertet wird, auf null Zellen verringert wurde, wäre der Zellenbereich für diese Hypothese erschöpft. Eine Zellenbereicherschöpfung ist ein hypothesenabhängiges Konzept und kann auf jede geeignete Weise gemäß der betrachteten Hypothese festgelegt werden.
  • Wenn der Zellenbereich erschöpft ist („Ja”-Pfad von Schritt 618), bestimmt der Prozess 600, ob weitere Hypothesen übrig sind, die für die Zelle getestet werden sollen, deren Funktionsabhängigkeit analysiert wird (Schritt 620). Wenn eine oder mehrere Hypothesen getestet werden können („Ja”-Pfad von Schritt 620), kehrt der Prozess 600 zum Schritt 606 zurück. Wenn keine weiteren Hypothesen getestet werden müssen („Nein”-Pfad von Schritt 620), fährt der Prozess 600 mit Schritt 614 fort.
  • Wenn ein Zellenbereich nicht erschöpft ist („Nein”-Pfad von Schritt 618) korrigiert der Prozess 600 den Zellenbereich, beispielsweise durch Erhöhen der Zellenanzahl in dem Bereich, Verringern der Zellenanzahl in dem Bereich, Wechseln zu einem anderen Zellenbereich oder einer Kombination von diesen und andere mögliche Änderungen (Schritt 622). Danach kehrt der Prozess 600 zum Schritt 610 zurück.
  • Unter Bezugnahme auf 7 stellt diese Figur einen Ablaufplan eines Beispielprozesses zum Beurteilen eines Konfidenzniveaus gemäß einer veranschaulichenden Ausführungsform dar. Ein Prozess 700 kann als der Block 612 in 6 umgesetzt werden. Eine Verzweigung des Prozesses 700 beginnt mit einem Wählen eines verschiedenen Zellenbereichs gemäß ähnlichen Formatierungssteuerzeichen oder Suchhinweisbegriffen (Schritt 702). Zum Beispiel wählt der Prozess 700 in einer Ausführungsform vergleichbare Zellenbereiche in verschiedenen Spalten oder Zeilen, die Daten von ähnlichem Zweck aufweisen. In einer weiteren Ausführungsform berücksichtigt der Prozess 700 (nicht gezeigt) weitere semantische Suchhinweisbegriffe, strukturelle Suchhinweisbegriffe, Werteinheiten und Typkompatibilitäten zwischen Zellen, suggestiven Wörtern oder Formulierungen wie „Gesamtsumme” oder „Zwischensumme” oder eine Kombination von diesen und andere Hilfen, um einen verschiedenen Zellenbereich zu wählen, um eine Entsprechung für die gewählte Hypothese zu prüfen.
  • Mit anderen Worten, eine Ausführungsform sucht für einen Zellenbereich und eine Hypothese, die für diesen Bereich wahr ist, nach einer Gruppe von unterstützenden Suchhinweisbegriffen (Merkmalen). Diese Gruppe von unterstützenden Suchhinweisbegriffen kann nicht nur Formatierungssteuerzeichen oder semantische Suchhinweisbegriffe enthalten, sondern auch andere Hypothesen, die für diesen Zellenbereich als wahr ermittelt wurden. Die Ausführungsform findet somit eine Sammlung von unterstützenden Angaben für diese Hypothese in diesem Zellenbereich. Die Ausführungsform berechnet dann eine Konfidenz-Gesamtquote auf der Grundlage der unterstützenden Angaben.
  • Der Prozess 700 bestimmt, ob die Hypothese (eine primäre Hypothese) zu dem in Schritt 702 gewählten neuen Zellenbereich passt (Schritt 704). Wenn die Hypothese zu dem neuen Zellenbereich passt („Ja”-Pfad von Schritt 704), erhöht der Prozess 700 das Niveau der Konfidenz in die funktionale Abhängigkeit gemäß der Hypothese (Schritt 706). Danach endet der Prozess 700. Wenn die Hypothese nicht zu dem neuen Zellenbereich passt („Nein”-Pfad von Schritt 704), kann der Prozess 700 enden oder danach wiederholt werden, wobei das Konfidenzniveau unverändert bleibt, oder er kann das Konfidenzniveau verringern (Schritt 708). Der Wert eines Merkmals kann zum Beispiel positiv, null oder negativ sein. Wenn zum Beispiel über drei Beispielspalten übergreifend kein gemeinsamer Header vorhanden ist, könnte der Wert des entsprechenden Merkmals null – also neutral – sein. Wenn die drei Spalten jedoch verschiedene semantische Typen aufweisen, wird dieses Merkmal wahrscheinlich negativ sein, wodurch sich die Konfidenz tatsächlich verringert.
  • Eine weitere Verzweigung des Prozesses 700 beginnt mit einem Wählen einer verschiedenen Hypothese (einer sekundären Hypothese), die dem Zellenbereich entspricht, zu dem eine andere Hypothese (die primäre Hypothese) bereits passt (Schritt 703). Der Prozess 700 bestimmt, ob die andere Hypothese – die sekundäre Hypothese – zu dem Zellenbereich passt (Schritt 705). Wenn die sekundäre Hypothese zu dem Zellenbereich passt („Ja”-Pfad von Schritt 705), erhöht der Prozess 700 das Niveau der Konfidenz in die funktionale Abhängigkeit gemäß der Hypothese im Schritt 706. Danach kann der Prozess 700 enden. Wenn die Hypothese nicht zu dem neuen Zellenbereich passt („Nein”-Pfad von Schritt 705), kann der Prozess 700 enden oder danach wiederholt werden, wobei das Konfidenzniveau unverändert bleibt, oder er kann das Konfidenzniveau im Schritt 708 verringern.
  • Wenn der Prozess 700 wiederholt wird, wiederholt sich der Prozess 700 für verschiedene Zellenbereiche und verschiedene sekundäre Hypothesen in ähnlicher Weise. Eine wiederholte Iteration wertet verschiedene Hypothesen über verschiedene Bereiche und ermittelte Ergebnisse übergreifend aus. Eine sekundäre Hypothese mag anfänglich nicht für einen Zellenbereich gelten, doch kann die sekundäre Hypothese (und weitere Hypothesen höherer Ordnung) (nicht gezeigt), wenn weitere Abhängigkeiten erkannt werden, damit beginnen, weitere Zellenbereiche abzugleichen und andere ermittelte Ergebnisse zu unterstützen. Derartige Abgleiche oder Unterstützung kann wiederum ein Testen weiterer Hypothesen auslösen usw. (nicht gezeigt).
  • Während der Beurteilungsphase der Konfidenz versucht eine Ausführungsform eine Sammlung von verschiedenen „Merkmalen” zu erstellen, die ein Niveau der Konfidenz in eine funktionale Abhängigkeit erhöhen könnten. Eine Ausführungsform betrachtet das Vorhandensein von Abhängigkeiten zweiter Ordnung, wie durch eine Stimmigkeit der zweiten Hypothese (Unstimmigkeit) angegeben, als ein weiteres konfidenzsteigerndes (konfidenzverringerndes) Merkmal. Eine zellenbereichsübergreifende Anwendbarkeit wird in den mehreren Ausführungsformen nur als Beispiele dargestellt und beschrieben, ohne eine Einschränkung darauf zu implizieren. Eine Merkmalgruppe, die für eine Änderung eines Konfidenzniveaus betrachtet wird, ist nicht nur auf eine Bereichsähnlichkeit beschränkt, sondern kann von vielen anderen Merkmalen von Tabellendaten abgeleitet werden, die als Suchhinweisbegriffe verwendet werden können, wie beispielsweise verschiedene Formatierungssteuerzeichen-Suchhinweisbegriffe, Layout-Suchhinweisbegriffe (d. h. allgemeine Kategorie-Header), semantische Suchhinweisbegriffe (d. h. alle Header haben denselben semantischen Typ (d. h. „Jahr”) und abgeleitete erkannte Abhängigkeiten wie ähnliche Abhängigkeit in mehreren Zeilen, sie sind aber nicht darauf beschränkt.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Diesbezüglich kann jeder Block in dem Ablaufplan oder in den Blockschaubildern ein Modul, ein Segment oder einen Codeabschnitt darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Es ist ebenfalls anzumerken, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge auftreten können als in den Figuren angegeben. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es wird ebenfalls angemerkt, dass jeder Block in den Blockschaubildern und/oder in der Veranschaulichung des Ablaufplans und Kombinationen von Blöcken in den Blockschaubildern und/oder der Veranschaulichung des Ablaufplans durch spezielle Systeme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
  • Somit werden ein Verfahren, ein System und ein Computerprogramm, die durch einen Computer umgesetzt werden, in den veranschaulichenden Ausführungsformen zum Erkennen von Beziehungen in Tabellendaten bereitgestellt. Eine Ausführung verwendet eine Hypothesenbibliothek, um zu testen, ob Abschnitte von vorgegebenen Tabellendaten eine bestimmte Struktur und funktionale Abhängigkeit aufweisen. Eine Hypothese wird für eine oder mehrere Zellenbereiche getestet, um zu bestimmen, ob ein Resultat der Hypothese unter Verwendung der gewählten Zellenbereiche durch Berechnungen unterstützt wird. Ein Konfidenzniveau wird der funktionalen Abhängigkeit innerhalb des Zellenbereichs gemäß der Hypothese zugeordnet. Die Zellenbereiche werden auf der Grundlage einer Vielzahl von Kriterien gewählt, einschließlich einer Vielfalt von Suchhinweisbegriffen und Formatierungssteuerzeichen in den Tabellendaten, dem die Tabellendaten umgebenden Inhalt oder an anderer Stelle in der vorgegebenen Gruppe von Dokumenten.
  • Suchhinweisbegriffe und Hypothesenbestätigungen werden unter Verwendung von Zellenbereichen in einigen Ausführungsformen nur als Beispiele beschrieben und sollen keine Einschränkung darauf implizieren. Informationen, Suchhinweisbegriffe oder Merkmale zum Unterstützen eines Wählens einer bestimmten Hypothese können aus jedem Abschnitt eines vorgegebenen Dokuments, einschließlich einem anderen Inhalt als Tabellendaten in dem Dokument innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen stammen.
  • Einige Ausführungsformen werden unter Bezugnahme auf vordefinierte Hypothesen oder bekannte Funktionen nur als Beispiele beschrieben und sollen keine Einschränkung auf die veranschaulichenden Ausführungsformen implizieren. Eine Ausführungsform kann auch eine Hypothese zu einer vorher unbekannten oder unprogrammierten funktionalen Abhängigkeit in der Form einer erlernten Funktion aufstellen. Zum Beispiel kann eine Ausführungsform eine Analysetechnik auf Daten in einer vorgegebenen Tabelle anwenden und ein statistisches Datenmuster in den Tabellendaten suchen. Die Ausführungsform kann so konfiguriert werden, dass derartige Erkenntnisse in der Form einer erlernten Funktion oder einer erlernten Hypothese innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen berücksichtigt werden. Die Ausführungsform kann dann die erlernte Hypothese in die Sammlung zur weiteren Validierung oder Beurteilung des Konfidenzniveaus aufnehmen.
  • Die Beschreibung der Beispiele und hierin beschriebenen Ausführungsformen wurde unter Bezugnahme auf Suchhinweisbegriffe, Hypothesen, Dokumente, Tabellendaten und NLP in englischer Sprache erstellt und soll die veranschaulichenden Ausführungsformen nicht darauf einschränken. Eine Ausführungsform kann in ähnlicher Weise unter Verwendung von Suchhinweisbegriffen, Hypothesen, Dokumenten, Tabellendaten und NLP in beliebiger Sprache innerhalb des Schutzumfangs der veranschaulichenden Ausführungsformen umgesetzt werden.
  • Die obige Beschreibung veranschaulicht die Funktion der vorliegenden Erfindung in verschiedenen Ausführungsformen, funktionale Beziehungen oder Abhängigkeiten zwischen Zellen in Tabelleninformationen von einem oder mehreren Dokumenten während einer Verarbeitung natürlicher Sprache des einen oder der mehreren Dokumente zu identifizieren. Die funktionalen Abhängigkeiten können aus einer einzelnen Tabellenstruktur, aus mehreren Tabellenstrukturen übergreifend in einem einzelnen Dokument oder aus mehreren Tabellenstrukturen übergreifend von mehreren Dokumenten bestimmt werden. Die erkannten funktionalen Abhängigkeiten können beim Ausführen von Prozessen einer Verarbeitung natürlicher Sprache eingesetzt werden, die für verschiedene Zwecke verwendet werden können. Ein derartiger Zweck ist die Nutzung einer Verarbeitung natürlicher Sprache als Teil eines Frage-und-Antwort-Systems (QA – Question and Answer), wie beispielsweise das WatsonTM QA-System, das von International Business Machines Corporation in Armonk, New York, erhältlich ist. Zum Beispiel können die erkannten funktionalen Abhängigkeiten von einem derartigen QA-System verwendet werden, wenn Kommentarvorgänge zum Kommentieren von Dokumenten einer Sammlung zur späteren Verwendung vorgenommen werden, wenn Frage-Antwort-Operationen ausgeführt werden.
  • Zusätzlich zum Vorgenannten stellen die veranschaulichenden Ausführungsformen ferner Mechanismen zum Korrigieren von falschen Informationen in Tabellenstrukturen von Dokumenten und zum Ergänzen derartiger Tabellenstrukturen mit Informationen bereit, die in den Tabellenstrukturen eventuell fehlen. Das heißt, wie oben erwähnt, dass Informationen in Tabellenstrukturen von Dokumenten falsch sein oder fehlen können aufgrund vieler verschiedener Gründe, einschließlich Fehlern in Operationen einer optischen Zeichenerkennung (OCR), fehlerhaften Daten, eines Benutzerfehlers beim Ausführen einer Dateneingabe oder dergleichen. Diese Tabellenstrukturen können jedoch Informationen enthalten, die für ein Verständnis des Dokuments im Allgemeinen kritisch sind, und somit ist es wichtig, die Informationen zu korrigieren oder die fehlenden Informationen bereitzustellen, sooft dies möglich ist. Die veranschaulichenden Ausführungsformen stellen genau dafür Mechanismen auf der Grundlage der identifizierten funktionalen Abhängigkeiten zwischen Zellen der erkannten Tabellenstruktur bereit, wobei die vorher beschriebenen Mechanismen oder ähnliche Mechanismen zum Erkennen einer funktionalen Abhängigkeit verwendet werden.
  • Mit dieser zusätzlichen Fähigkeit der veranschaulichenden Ausführungsformen können die veranschaulichenden Ausführungsformen für eine vorgegebene Tabellenstruktur in einem Dokument, das einen fehlerhaften oder fehlenden Wert in einer Zelle der Tabellenstruktur enthält, wobei diese Zelle an einer erkannten funktionalen Abhängigkeit beteiligt ist, den Wert in der Zelle korrigieren oder erzeugen, indem die funktionale Abhängigkeit für die fehlerhafte Zelle invertiert wird.
  • Das bedeutet, dass die veranschaulichenden Ausführungsformen aus der erkannten funktionalen Abhängigkeitsstruktur, die unter Verwendung der vorher beschrieben Mechanismen erkannt wird, eine Unterstruktur eines Abschnitts der Tabelle, die die falschen oder fehlenden Datenwerte enthält, als mit der größeren Struktur übereinstimmend ableiten. Anschließend berechnen die veranschaulichenden Ausführungsformen unter Verwendung dieser bekannten Beziehungen zwischen einzelnen Zellen den korrekten Wert für die Zelle, um so die übereinstimmende funktionale Abhängigkeitsstruktur richtig zu vervollständigen.
  • Diese zusätzliche Fähigkeit der veranschaulichenden Ausführungsformen steigert ferner das Erkennen von funktionalen Abhängigkeiten durch eine Bereitstellung von Mechanismen zum Identifizieren von fehlerhaften Zellen in einer Tabellenstruktur und anschließend, nachdem sie identifiziert wurden, zum Korrigieren der fehlerhaften Zellen unter Verwendung der erkannten funktionalen Abhängigkeiten, wobei eine fehlerhafte Zelle eine Zelle ist, die entweder einen falschen Datenwert speichert oder in der ein Datenwert fehlt. Des Weiteren können in einigen veranschaulichenden Ausführungsformen anstelle eines tatsächlichen Korrigierens eines fehlerhaften oder fehlenden Datenwerts in einer Tabellenstruktur auf der Grundlage der erkannten funktionalen Abhängigkeiten Operationen aufgerufen werden, um einen menschlichen Benutzer wegen des fehlerhaften oder fehlenden Datenwerts zu warnen, wobei die Natur des Fehlers in dem Datenwert angegeben wird, z. B. dass eine Zelle, für die ein Datenwert erforderlich ist, stattdessen einen Gleitkommawert aufweist oder der Datenwert einfach fehlt, und um einen korrekten Datenwert zum Ersetzen des fehlerhaften oder fehlenden Datenwerts vorzuschlagen und für den Benutzer die Option bereitzustellen, den vorgeschlagenen korrekten Datenwert zu akzeptieren oder abzulehnen. Wenn der Benutzer den korrekten Datenwert akzeptiert, kann die Tabellenstruktur automatisch aktualisiert werden. Wenn der Benutzer den korrekten Datenwert ablehnt, kann die Tabellenstruktur nicht aktualisiert werden, und der Benutzer kann stattdessen einen anderen Datenwert angeben, um den fehlerhaften oder fehlenden Datenwert zu ersetzen.
  • Zum Identifizieren fehlerhafter Zellen können verschiedene Algorithmen und heuristische Verfahren eingesetzt werden. Zum Beispiel kann in einer veranschaulichenden Ausführungsform ein Zellenblock vordefiniert werden, z. B. kann eine gewisse Anzahl von Spalten und Zeilen in der Tabellenstruktur angegeben werden, und der Block von Zellen kann analysiert werden, um zu bestimmen, ob sie eine reguläre Struktur aufweisen, z. B. ein wiederholbares Muster, eine definierte oder erkannte Abhängigkeitsbeziehung oder dergleichen. Wenn der Zellenblock eine reguläre Struktur aufweist, kann der Zellenblock ferner analysiert werden, um zu bestimmen, ob eine oder mehrere Zellen in dem Zellenblock nicht mit der reguläre Struktur übereinstimmen. Wenn ein Zellenblock zum Beispiel einer Auflistung von numerischen Werten entspricht und eine Zelle einen alphabetischen Eintrag aufweist, wie beispielsweise ein Wort, eine Zeichenfolge von Buchstaben oder dergleichen, kann die Zelle als nicht in Übereinstimmung mit der regulären Struktur des Zellenblocks bestimmt werden. Wenn ein Zellenblock in einem anderen Beispiel einer Auflistung von Datumsangaben entspricht und eine Zelle in dem Block eine Gleitkommazahl aufweist, kann bestimmt werden, dass diese Zelle verdächtig ist, fehlerhaft zu sein, weil sie nicht in Übereinstimmung mit der regulären Struktur des Zellenblocks zu sein scheint.
  • Die Identifizierung von Zellen, die verdächtig sind, fehlerhaft zu sein, kann verschiedene Tabellenformatierungshinweise nutzen, wie Spalten-Header, Zeilen-Header, Zellenformeln und dergleichen, die beim Identifizieren der regulären Struktur des Zellenblocks helfen und diejenigen Zellen bestimmen, die nicht zu der identifizierten regulären Struktur passen. Des Weiteren können verschiedene Verfahren von künstlicher Intelligenz und maschinellem Lernen eingesetzt werden, um beim Identifizieren verdächtiger Zellen in der Tabellenstruktur zu helfen. Zum Beispiel können Merkmale, die während einer Verarbeitung natürlicher Sprache eines Dokuments und der Tabellenstruktur extrahiert werden, wie beispielsweise Formatierungssprachen-Informationen, Layout-Informationen, funktionale Suchhinweisbegriffe und dergleichen verwendet werden, um funktionale Abhängigkeiten in der Tabellenstruktur abzuleiten. Dies erleichtert ein Schulen und Verwenden von maschinellen Lernmodellen, die dann verwendet werden können, um das Vorhandensein einer funktionalen Abhängigkeit in einer Tabellenstruktur zu signalisieren. Das Vorhandensein von fehlerhaften oder fehlenden Datenwerten in der Tabellenstruktur kann durch Identifizieren von Abschnitten der Tabellenstruktur ausgeführt werden, die die funktionalen Abhängigkeiten durchbrechen, die von den maschinellen Lernmodellen identifiziert wurden.
  • Zum Beispiel kann der vorher beschriebene Mechanismus zum Identifizieren von funktionalen Abhängigkeiten zwischen Zellen verwendet werden, um die funktionale Abhängigkeit einer Zelle in einem Zellenblock zu identifizieren, indem die Informationen betrachtet werden, die aus anderen Zellen, Headern, dem Titel der Tabelle und anderen Informationen über den Inhalt und die Struktur der Tabelle gesammelt werden können. Zum Beispiel können eine arithmetische Abhängigkeit (z. B. Summe, Produkt, Einheitenumrechnung, Verhältnis usw.) oder bekannte Aufzählungen (z. B. Wochentage, Monate des Jahres, Uhrzeit usw.) für die Zelle identifiziert werden, indem die Zellen um die fragliche Zelle, die Header von Spalten/Zeilen, der Titel der Tabelle, den Zellen zugehörige Formeln und dergleichen betrachtet werden. Wenn ein funktionales Muster für andere Spalten- und/oder Zeilenabhängigkeiten in dem Zellenblock als wahr identifiziert werden, ausgenommen für die Zeile/Spalte, die die Zelle enthält oder die Zelle selbst, ist es wahrscheinlich, dass diese Zelle einen fehlerhaften Datenwert speichert oder darin ein Datenwert fehlt und sie somit eine verdächtige Zelle ist, deren Datenwert korrigiert oder anderweitig bereitgestellt werden muss.
  • Die Identifizierung von verdächtigen Zellen in Zellenblöcken kann für jeden Zellenblock in einer Tabellenstruktur wiederholt werden. Somit kann ein einzelner Zellenblock null oder mehrere verdächtige Zellen haben, und eine Tabellenstruktur kann mehrere Zellenblöcke haben, wobei jeder Zellenblock null oder mehrere in ihnen identifizierte verdächtige Zellen haben kann.
  • Nachdem eine verdächtige Zelle in einem Zellenblock unter Verwendung der oben beschriebenen Mechanismen identifiziert worden ist, werden dieser Zelle zugehörige funktionale Abhängigkeiten identifiziert und invertiert, um einen korrekten Datenwert für die verdächtige Zelle zu berechnen. Wenn daher die funktionale Abhängigkeit lautet, dass die verdächtige Zelle mit dem Datenwert A eine von 4 Eingabewerten A, B, C und D für eine Summierungsoperation ist, z. B. SUM = A + B + C + D, kann der korrekte Datenwert für die verdächtige Zelle berechnet werden, indem die funktionale Abhängigkeit so invertiert wird, dass der korrekte Wert für A die Subtraktion von B, C und D von der Summe SUM ist, d. h. A = SUM – B – C – D. Die Bestimmung der funktionalen Abhängigkeit selbst kann aus dem vorher beschriebenen Erkennen von funktionalen Abhängigkeiten erhalten werden, z. B. Identifizieren, dass der Header einer Spalte eine „Gesamtsumme” von monatlichen Ausgaben ist und andere Spalten bestimmte „Monate” des Jahres angeben, und/oder dass der Spalten-Header der gegenwärtigen Zelle ein bestimmter Monatsname ist, dann kann abgeleitet werden, dass die funktionale Abhängigkeit der verdächtigen Zelle ein monatlicher Ausgabenwert ist, der eine funktionale Beziehung zu einer entsprechenden Zelle in der „Gesamtsummen”-Spalte hat, indem er eine Eingabe für die Summierungsfunktion zum Erzeugen des Gesamtsummen-Datenwerts in der „Gesamtsummen”-Spalte ist. Sobald sie bestimmt wurde, wird die funktionale Abhängigkeit jedoch wie erforderlich invertiert, so dass der bestimmte Datenwert für die verdächtige Zelle berechnet werden kann.
  • Die Fehler in verdächtigen Zellen einer Tabellenstruktur, die unter Verwendung der Mechanismen der veranschaulichenden Ausführungsformen zum Identifizieren von verdächtigen Zellen und durch Invertieren von funktionalen Abhängigkeiten korrigiert werden können, um korrekte Datenwerte für die verdächtigen Zellen zu erzeugen, fallen unter eine Anzahl verschiedener Kategorien. Ein Fehlertyp ist der Fall, in dem der fehlerhafte Wert zu einer verdächtigen Zelle („Cell”) gehört, die die Ausgabe einer erkannten funktionalen Abhängigkeit ist, z. B. Cell = f(C1, ..., Cn), wobei f() eine Funktion von anderen Zellendatenwerten C1, ..., Cn ist. In einem derartigen Fall kann der korrekte Datenwert für die verdächtige Zelle direkt aus der Funktion und ihren Argumentzellen-Datenwerten C1, ..., Cn berechnet werden. Wenn daher der Wert von Cell fehlerhaft ist, gibt eine Berechnung des Werts von f(C1, ..., Cn) den korrekten Datenwert für Cell an, da sowohl die Funktion als auch die Argumentzellen-Datenwerte bekannt sind.
  • Ein zweiter Fehlertyp, der unter Verwendung der veranschaulichenden Ausführungsformen korrigiert werden kann, ist, wenn der fehlerhafte Zellendatenwert eine der Eingaben einer bestimmten funktionalen Abhängigkeit ist, die invertiert werden kann, z. B. Output = f(..., Cell, ...), wobei Output die bestimmte funktionale Abhängigkeit ist, f() eine Funktion von einem oder mehreren Argumentzellen-Datenwerten ist, und der fehlerhafte Zellendatenwert Cell einer der Argumentzellen-Datenwerte für die Funktion f() ist. In einem derartigen Fall kann die bestimmte funktionale Abhängigkeit invertiert werden, um den korrekten Datenwert für die fehlerhafte Zelle zu bestimmen, z. B. Cell = inverse (F, Output, ...). Eine Logik kann in den Mechanismen der veranschaulichenden Ausführungsformen zum Invertieren verschiedener bekannter funktionaler Abhängigkeiten bereitgestellt werden, sodass, wenn ein fehlerhafter Zellendatenwert als eine Eingabe in eine bestimmte funktionale Abhängigkeit bestimmt wird, die entsprechende Logik für die bestimmte funktionale Abhängigkeit aufgerufen werden kann, um die funktionale Abhängigkeit zu invertieren und den fehlerhaften Datenwert zu berechnen.
  • Ein dritter Fehlertyp, der unter Verwendung der veranschaulichenden Ausführungsformen korrigiert werden kann, ist, wenn der fehlerhafte Zellendatenwert eine der Eingaben einer bestimmten funktionalen Abhängigkeit ist, die nicht invertiert werden kann, z. B. eine geschlossene Formel. In einem derartigen Fall kann der fehlerhafte Zellendatenwert mithilfe eines iterativen Verfahrens wie beispielsweise dem Intervallhalbierungsverfahren von Newton-Raphson oder einem anderen geeigneten iterativen Verfahren näherungsweise berechnet werden. Zum Beispiel kann ein Verfahren wie in dem folgenden Pseudocode dargelegt ausgeführt werden:
    Figure DE102014108191A1_0002
    wobei BadLow ein unterer Bereichswert für einen Bereich von Datenwerten für die „bad” (schlechte) Zelle, also die Zelle mit dem fehlerhaften Datenwert ist, und BadHigh ein oberer Bereichswert für einen Bereich von Datenwerten für die schlechte Zelle ist. Die funktionale Abhängigkeit Output hat einen entsprechenden unteren (OutputLow) und oberen (OutputHigh) Wert, die Funktionen der Werte BadLow und BadHigh sind. Dieser Bereich wird iterativ halbiert, wie durch die „while”-Schleife gezeigt, indem ein Mittelwert in dem Bereich von BadLow bis BadHigh und ein entsprechender Output-Wert (OutputMid) für diesen mittleren Bereichswert berechnet wird. Dieser OutputMid-Wert wird als eine obere Grenze für eine Bestimmung verwendet, ob der tatsächliche Ausgabewert Output der funktionalen Abhängigkeit zwischen dem Schwellenwert OutputLow und diesem OutputMid-Wert liegt. Ist dies der Fall, wird der Bereich so korrigiert, dass der BadHigh-Wert gleich dem BadMid-Wert ist, andernfalls wird der BadLow-Wert mit dem BadMid-Wert gleichgesetzt. An irgendeinem Punkt liegt die Differenz zwischen BadHigh und BadLow unter dem Schwellenwert, in welchem Fall der korrigierte Datenwert für die fehlerhafte Zelle näherungsweise als der Mittelwert der Werte BadHigh und BadLow berechnet wird.
  • 8 ist eine Beispieldarstellung eines Abschnitts einer Tabellenstruktur, die in einem Dokument gefunden werden kann, das durch ein System zur Verarbeitung natürlicher Sprache verarbeitet wurde, in dem ein fehlerhafter Datenwert in der Tabellenstruktur vorhanden ist. In dem in 8 gezeigten Beispiel enthält der Abschnitt der Tabellendaten in dem Dokument, das verarbeitet wird, eine Übersicht über Einkünfte, Ausgaben und Änderungen, die eine Vielzahl von Spalten für verschiedene Kalenderjahre 2007 bis 2009 und Zeilen enthält, die verschiedenen Kategorien von Einkünften und Ausgaben entsprechen.
  • Wie aus 8 ersichtlich ist, folgt jede der Spalten einem wiederholten Muster von funktionaler Abhängigkeit in Bezug auf die gesamten Betriebseinkünfte in Zeile 4. Der Datenwert in Zelle B4 durchbricht dieses wiederholte Muster einer funktionalen Abhängigkeit, indem die Zelle B4 den fehlerhaften Datenwert „rei/xz” enthält, der nicht erwartet würde, wenn der funktionalen Abhängigkeit gefolgt würde. Somit kann die Zelle B4 als eine fehlerhafte Zelle identifiziert werden, deren Datenwert korrigiert werden muss. Es ist auch möglich, auf der Grundlage einer Gruppe von Kriterien „anzunehmen”, dass die Zelle B4 einen fehlerhaften Wert enthält, z. B. dass alle Zellen um diese Zelle numerische, Werte haben und somit erwartet wird, dass die Zelle B4 einen numerischen Wert hat, aber die Mechanismen der veranschaulichenden Ausführungsformen durch Invertieren der korrekten Datenwerte für die Zelle B4 dann erkennen müssen, dass die Zelle B4 Teil einer funktionalen Abhängigkeit ist. Wenn die Mechanismen der veranschaulichenden Ausführungsformen die Zelle B4 als fehlerhaft identifizieren, indem „angenommen” wird, dass sie die Kriterien für ein erwartetes Muster von Datenwerten durchbricht, aber nicht bestimmt werden kann, dass die Zelle B4 einer funktionalen Abhängigkeit entspricht, kann die fehlerhafte Zelle für einen menschlichen Benutzer über eine Benachrichtigung, jedoch ohne einen vorgeschlagenen korrigierten Datenwert für die Zelle B4 identifiziert werden, da keiner ohne Erkennen der funktionalen Abhängigkeit der Zelle B4 bestimmt werden kann.
  • In dem vorliegenden Beispiel kann die der Zelle B4 zugehörige funktionale Abhängigkeit aus den Informationen bestimmt werden, die aus anderen umgebenden Zellen in einem Zellenblock gesammelt werden. Die Mechanismen der veranschaulichenden Ausführungsformen können zum Beispiel beim Betrachten der Header für die Tabelle und jede der Spalten bestimmen, dass die Tabelle eine Sammlung von Datenwerten für eine Vielzahl von Kalenderjahren ist und die Struktur angibt, dass jede Spalte ein selbes funktionales Abhängigkeitsmuster in der Spalte hat. Somit können beim Betrachten einer Spalte in der Tabelle die funktionalen Abhängigkeiten der entsprechenden Zellen in anderen Spalten identifiziert werden. Somit können die Mechanismen der veranschaulichenden Ausführungsformen korrigierte Datenwerte für fehlerhafte Zellen berechnen, die die Datenwerte für diese fehlerhaften Zellen auf das funktionale Abhängigkeitsmuster abstimmen, das aus diesen anderen Spalten identifiziert wurde. Zum Beispiel lässt sich beim Betrachten einer Zelle A4 bestimmen, dass der Datenwert in A4 die Summe der Datenwerte in den Zellen A2 und A3 ist. Somit lautet für die Zelle A4 die funktionale Abhängigkeit A4 = A2 + A3. Dieselbe funktionale Abhängigkeit wird in Spalte C gefunden, so dass für die Zelle C4 die funktionale Abhängigkeit C4 = C2 + C3 ist. Diese funktionale Abhängigkeit kann mit hoher Konfidenz in die vorher oben beschriebene Art und Weise unter Bezugnahme auf die 1 bis 7 identifiziert werden.
  • Eine Erweiterung dieses Musters einer funktionalen Abhängigkeit auf Spalte B bedeutet, dass für die Zelle B4 die funktionale Abhängigkeit B4 = B2 + B3 ist. Somit kann der korrigierte Datenwert für die Zelle B4 durch Summieren der Datenwerte von B2 und B3 bestimmt werden, um den korrigierten Datenwert 1.860.677 zu erhalten. Dieser korrigierte Datenwert kann berechnet und verwendet werden, um den fehlerhaften Datenwert in der Zelle B4 in der Tabellenstruktur des Dokuments zu ersetzen. Dies ist ein Beispiel für den ersten oben beschriebenen Typ einer Korrektur eines fehlerhaften Werts.
  • Ein Beispiel für den zweiten Typ einer Korrektur eines fehlerhaften Werts kann sein, wenn beide Zeilen 1 und 2 aus der Darstellung in 8 entfernt würden und stattdessen der fehlerhafte Wert rei/xz als die Eingabe in die Abhängigkeitsfunktion für eine Zelle B6 bereitgestellt würde. Das bedeutet, aus den anderen Spalten kann bestimmt werden, dass der Wert in Zellen in Zeile 6 die Summe der Werte in den Zeilen 4 und 5 für dieselbe Spalte ist, z. B. A6 = A4 + A5 und C6 = C4 + C5. Wenn diese Abhängigkeitsfunktion auf Spalte B erweitert wird, ist die funktionale Abhängigkeit für Zelle B6 somit B6 = B4 + B5, was mit dem Muster Output = f(..., Cell, ...) in dem oben erwähnten zweiten Typ einer Korrektur eines fehlerhaften Werts übereinstimmt. In einem derartigen Fall wird die Funktion so invertiert, dass Cell = inverse (F, Output) oder in diesem Fall B4 = B6 – B5 ist. Wenn somit in diesem Beispiel angenommen wird, dass der Wert in Zelle B6 korrekt ist, wäre der korrekte Wert für Zelle B4 1.977.633 – 116.956 = 1.860.677 gewesen.
  • 9 ist ein Beispiel-Blockschaubild einer Anwendung zum Korrigieren von fehlerhaften oder fehlenden Datenwerten in Zellen auf der Grundlage von erkannten funktionalen Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform. Die in 9 gezeigte Anwendung kann eine Eingabe von der oben unter Bezugnahme auf 5 gezeigten und beschriebenen Anwendung sein oder kann abhängig von der bestimmten gewünschten Ausführungsform in die Anwendung von 5 integriert werden. In jedem Fall kann die Anwendung 902 von 9 zusammen mit der Anwendung 502 anstelle der Anwendung 105 in 1 verwendet werden. Die Anwendung 902 empfängt als eine Eingabe 904 die durch Verarbeitung natürlicher Sprache verarbeiteten Dokumente mit den Tabellenstrukturen und funktionalen Abhängigkeiten als Ausgabe von der Anwendung 502 (unter der Annahme, dass die Anwendung 902 von der Anwendung 502 getrennt ist). Die Tabellenstrukturen werden dann durch eine Analyse-Engine für fehlerhafte Datenwerte 906 der Anwendung 902 analysiert, um fehlerhafte Datenwerte auf der Grundlage von einem oder mehreren heuristischen Verfahren, identifizierten funktionalen Abhängigkeitsmustern oder dergleichen zu identifizieren, um fehlerhafte Datenwerte 908 in den Tabellenstrukturen 904 zu identifizieren. Eine Beziehung funktionaler Abhängigkeit zwischen dem fehlerhaften Datenwert und den anderen Datenwerten, die an der funktionalen Abhängigkeit beteiligt sind, wird durch eine Engine zur Erkennung des Fehlertyps 910 bestimmt. Zum Beispiel kann die Engine zur Erkennung des Fehlertyps 910 erkennen, ob der fehlerhafte Datenwert die Ausgabe der funktionalen Abhängigkeit (erster vorher beschriebener Fehlerkorrekturtyp), eine Eingabe in eine funktionale Abhängigkeit, die fähig ist, invertiert zu werden (zweiter vorher beschriebener Fehlerkorrekturtyp), oder eine Eingabe in eine funktionale Abhängigkeit ist, die nicht fähig ist, invertiert zu werden (dritter vorher beschriebener Fehlerkorrekturtyp).
  • Engines zur Datenwertkorrektur 912 bis 916 werden abhängig von dem erkannten Beziehungstyp zwischen dem fehlerhaften Datenwert und der funktionalen Abhängigkeit verwendet. Die Engine zur Datenwertkorrektur 912 kann den korrigierten Datenwert für den fehlerhaften Zellendatenwert unmittelbar aus den Argumentzellen-Datenwerten direkt berechnen. Die Engine zur Datenwertkorrektur 914 kann die funktionale Abhängigkeit invertieren, um so den korrigierten Datenwert zu berechnen. Die Engine zur Datenwertkorrektur 916 kann ein iteratives Verfahren für die näherungsweise Berechnung des korrigierten Datenwerts für den fehlerhaften Datenwert ausführen, zum Beispiel unter Verwendung eines Intervallhalbierungsverfahrens von Newton-Raphson oder eines anderen geeigneten iterativen Algorithmus zur näherungsweisen Berechnung des korrigierten Datenwerts.
  • Die Anwendung 902 kann dann die durch Verarbeitung natürlicher Sprache verarbeiteten Dokumente 920 mit den Tabellenstrukturen mit den funktionalen Abhängigkeiten ausgeben, in denen erkannte fehlerhafte Datenwerte oder fehlende Datenwerte korrigiert wurden. Es sollte klar sein, dass 9 dies zwar als einen Prozess zeigt, der von dem in der Anwendung 502 ausgeführten Prozess getrennt ist, diese Prozesse aber so zusammengeführt und ineinander integriert werden können, dass beide Prozesse annähern parallel oder nahezu gleichzeitig ausgeführt werden. Wenn daher funktionale Abhängigkeiten in den Tabellenstrukturen erkannt werden, können fehlerhafte Datenwerte ebenfalls identifiziert und nach Bedarf auf der Grundlage dieser bestimmten funktionalen Abhängigkeiten korrigiert werden.
  • Ferner sollte klar sein, dass die veranschaulichenden Ausführungsformen oben zwar unter vorwiegender Bezugnahme auf numerische Datenwerte in Zellen einer Tabellenstruktur beschrieben wurden, die veranschaulichenden Ausführungsformen aber nicht auf solche beschränkt sind. Im Gegenteil, wie oben angesprochen, können die veranschaulichenden Ausführungsformen verwendet werden, um funktionale Abhängigkeiten von nicht-numerischen Datenwerten zu identifizieren und fehlerhafte oder fehlende nicht-numerische Datenwerte in ähnlicher Weise zu korrigieren. Zum Beispiel kann eine Abhängigkeitsfunktion einer Verkettung von Zeichenfolgen in einer Tabellenstruktur identifiziert werden, die eine invertierbare Abhängigkeitsfunktion ist.
  • 10 ist ein Ablaufplan, der einen Beispielprozess zum Korrigieren von fehlerhaften oder fehlenden Datenwerten in Zellen auf der Grundlage von erkannten funktionalen Beziehungen in Tabellendaten gemäß einer veranschaulichenden Ausführungsform darlegt. Wie in 10 gezeigt, beginnt der Prozess mit einem Empfangen eines durch Verarbeitung natürlicher Sprache verarbeiteten Dokuments mit Tabellenstruktur und funktionalen Abhängigkeiten, die gemäß Hypothesen und Konfidenzeinstufungen identifiziert werden (Schritt 1010), wie in den Prozessen beschrieben, die in den 6 und 7 dargelegt sind. Die Tabellenstruktur wird analysiert, um zu bestimmen, ob irgendwelche fehlerhaften oder fehlenden Datenwerte in Zellen der Tabellenstruktur vorliegen (Schritt 1020). Ist dies nicht der Fall, endet die Operation. Andernfalls, wenn ein fehlerhafter oder fehlender Datenwert gefunden wird, wird eine entsprechende, der Zelle des fehlerhaften oder fehlenden Datenwerts zugehörige funktionale Abhängigkeit identifiziert (Schritt 1030). Ein Beziehungstyp zwischen dem fehlerhaften/fehlenden Datenwert und der identifizierten funktionalen Abhängigkeit wird bestimmt (Schritt 1040), und eine entsprechende Engine zur Fehlerkorrektur wird aufgerufen (Schritt 1050), um den korrigierten Datenwert entweder direkt zu berechnen, eine Invertierung der funktionalen Abhängigkeit vorzunehmen, um den korrigierten Datenwert zu bestimmen, oder einen iterativen Algorithmus für eine näherungsweise Berechnung des korrigierten Datenwerts zu verwenden. Der korrigierte Datenwert wird dann verwendet, um den fehlerhaften/fehlenden Datenwert in der Tabellenstruktur des durch Verarbeitung natürlicher Sprache verarbeiteten Dokuments zu ersetzen (Schritt 1060), das dann zur Verwendung durch das System für Verarbeitung natürlicher Sprache ausgegeben wird (Schritt 1070). Dann ist die Operation beendet.
  • Somit stellen die veranschaulichenden Ausführungsformen Mechanismen zum Identifizieren funktionaler Abhängigkeiten zwischen Abschnitten von Tabellenstrukturen in Dokumenten bereit, die durch ein System zur Verarbeitung natürlicher Sprache aufgenommen werden. Diese funktionalen Abhängigkeiten werden ferner verwendet, um fehlerhafte oder fehlende Datenwerte in diesen Abschnitten von Tabellenstrukturen zu identifizieren und zu korrigieren. Demzufolge werden mehr vollständige Tabellenstrukturen für durch Verarbeitung natürlicher Sprache verarbeitete Dokumente erzeugt, die zum Ausführen von Operationen einer Verarbeitung natürlicher Sprache verwendet werden können, wie beispielsweise Frage-und-Antwort-Operationen in einem QA-System wie das WatsonTM QA-System von IBM oder dergleichen.
  • Wie oben angemerkt sollte klar sein, dass die veranschaulichenden Ausführungsformen die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform oder einer Ausführungsform annehmen können, die Hardware- und Software-Elemente enthält. In einer beispielhaften Ausführungsform sind die Mechanismen der veranschaulichenden Ausführungsformen in Software oder einem Programmcode umgesetzt, der Firmware, residente Software, Mikrocode usw. enthält, aber nicht darauf beschränkt ist.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, enthält mindestens einen Prozessor, der direkt oder indirekt über einen Systembus mit Speicherelementen verbunden ist. Die Speicherelemente können einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Speicher enthalten, die eine vorübergehende Speicherung von mindestens einigem Programmcode bereitstellen, um die Anzahl zu verringern, wie oft Code während der Ausführung aus dem Massenspeicher abgerufen werden muss.
  • Eingabe-/Ausgabe- oder E/A-Einheiten (einschließlich Tastaturen, Anzeigen, Zeigeeinheiten usw., jedoch nicht darauf beschränkt) können entweder direkt oder über zwischengeschaltete E/A-Controller mit dem System verbunden werden. Netzwerkadapter können ebenfalls mit dem System verbunden werden, um zu ermöglichen, dass das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder entfernt angeordneten Druckern oder Speichereinheiten über dazwischenliegende private oder öffentliche Netzwerke verbunden werden kann. Modems, Kabelmodems oder Ethernet-Karten sind nur einige der derzeit verfügbaren Typen von Netzwerkadaptern.
  • Die Beschreibung der vorliegenden Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung erstellt und soll keineswegs erschöpfend oder auf die Erfindung in der offenbarten Form eingeschränkt sein. Viele Modifizierungen und Variationen werden für den Fachmann offenkundig sein. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken der Erfindung, die praktische Anwendung optimal zu erklären und andere Fachleute in die Lage zu versetzen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifizierungen zu verstehen, die für die vorgesehene bestimmte Verwendung geeignet sind.

Claims (12)

  1. Verfahren in einem Datenverarbeitungssystem, das einen Prozessor und einen Arbeitsspeicher aufweist, um eine Tabellendatenkorrektur in einem Dokument auszuführen, wobei das Verfahren aufweist: Empfangen eines Dokuments natürlicher Sprache, das Tabellendaten aufweist, durch das Datenverarbeitungssystem; Analysieren der Tabellendaten in dem Dokument natürlicher Sprache, um mindestens einen Abschnitt der Tabellendaten zu identifizieren, der einen fehlerhaften oder fehlenden Datenwert aufweist, durch das Datenverarbeitungssystem; Bestimmen, für den mindestens einen Abschnitt, einer funktionalen Abhängigkeit des mindestens einen Abschnitts der Tabellendaten in einem oder mehreren weiteren Abschnitten der Tabellendaten durch Verweisen auf das Dokument natürlicher Sprache durch das Datenverarbeitungssystem; Bestimmen, für den mindestens einen Abschnitt, eines korrekten Datenwerts für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts durch das Datenverarbeitungssystem; Modifizieren der Tabellendaten durch das Datenverarbeitungssystem, um den fehlerhaften oder fehlenden Datenwert durch den korrekten Datenwert zu ersetzen und dadurch eine modifizierte Tabellendatenstruktur zu erzeugen; und Ausführen einer Verarbeitungsoperation an der modifizierten Tabellendatenstruktur durch das Datenverarbeitungssystem, um eine sich daraus ergebende Ausgabe zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei das Dokument natürlicher Sprache ein ursprüngliches Dokument einer Sammlung von Informationen ist, und wobei die modifizierte Tabellendatenstruktur Teil eines modifizierten Dokuments ist, das das ursprüngliche Dokument in der Sammlung von Informationen ersetzt.
  3. Verfahren nach Anspruch 2, wobei die Verarbeitungsoperation eine Operation zur Verarbeitung natürlicher Sprache ist, die auf das modifizierte Dokument angewendet wird.
  4. Verfahren nach Anspruch 3, wobei die Operation zur Verarbeitung natürlicher Sprache Teil einer Frage-und-Antwort-Operation eines Frage-und-Antwort-Systems (QA) ist.
  5. Verfahren nach Anspruch 1, wobei das Dokument natürlicher Sprache als Teil von mindestens einem von einer Operation einer optischer Zeichenerkennung, einer Operation zur Verarbeitung natürlicher Sprache oder einer Benutzereingabe der Tabellendaten empfangen wird.
  6. Verfahren nach Anspruch 1, wobei ein Analysieren der Tabellendaten zum Identifizieren von mindestens einem Abschnitt der Tabellendaten, der einen fehlerhaften oder fehlenden Datenwert aufweist, ein Identifizieren des mindestens einen Abschnitts der Tabellendaten als einen fehlerhaften oder fehlenden Datenwert aufweisend aufgrund eines Fehlens von homogenen Zellenblockkriterien für den mindestens einen Abschnitt der Tabellendaten aufweist.
  7. Verfahren nach Anspruch 1, wobei ein Analysieren der Tabellendaten zum Identifizieren von mindestens einem Abschnitt der Tabellendaten mit einem fehlerhaften oder fehlenden Datenwert aufweist: Analysieren des mindestens einen Abschnitts der Tabellendaten zum Bestimmen, ob der mindestens eine Abschnitt von Tabellendaten eine reguläre Struktur mit einem wiederholten Muster von Daten oder eine identifizierbare Abhängigkeit zwischen Zellen in dem mindestens einen Abschnitt der Tabellendaten aufweist; und in Reaktion auf eine reguläre Struktur, die in dem mindestens einen Abschnitt der Tabellendaten identifiziert wurde, Ausführen einer weiteren Analyse zum Bestimmen, ob eine oder mehrere Zellen in dem mindestens einen Abschnitt der Tabellendaten nicht mit der regulären Struktur übereinstimmen.
  8. Verfahren nach Anspruch 1, wobei für den mindestens einen Abschnitt ein Bestimmen eines korrekten Datenwerts für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts mindestens eines von einem Invertieren der funktionalen Abhängigkeit des mindestens einen Abschnitts zum Erzeugen des korrigierten Datenwerts oder einer näherungsweisen Berechnung des korrigierten Datenwerts unter Verwendung eines iterativen Verfahrens aufweist.
  9. Verfahren nach Anspruch 1, wobei ein Analysieren der Tabellendaten zum Identifizieren von mindestens einem Abschnitt der Tabellendaten, der einen fehlerhaften oder fehlenden Datenwert aufweist, ein Identifizieren des mindestens einen Abschnitts der Tabellendaten aufgrund einer Diskrepanz zwischen einem Datenwerttyp, der durch Informationen in einem Header von einer oder mehreren Spalten oder Zeilen angegeben wird, die die dem mindestens einen Abschnitt der Tabellendaten und dem fehlerhaften oder fehlenden Datenwert zugehörig sind, als mit einem fehlerhaften oder fehlenden Datenwert aufweist.
  10. Verfahren nach Anspruch 1, das des Weiteren aufweist: Ausgeben einer Benachrichtigung an einen Benutzer, die den Abschnitt der Tabellendaten angibt, der den fehlerhaften oder fehlenden Datenwert und den korrigierten Datenwert als eine vorgeschlagene Ersetzung für den fehlerhaften oder fehlenden Datenwert aufweist, wobei das Modifizieren der Tabellendaten in Reaktion auf ein Empfangen einer Benutzereingabe ausgeführt wird, mit der der korrigierte Datenwert zum Ersetzen des fehlerhaften oder fehlenden Datenwerts genehmigt wird.
  11. Computerprogrammprodukt, das ein computerlesbares Speichermedium aufweist, das ein darin gespeichertes computerlesbares Programm aufweist, wobei das computerlesbare Programm, wenn es auf einem Datenverarbeitungssystem ausgeführt wird, das Datenverarbeitungssystem veranlasst zum: Empfangen eines Dokuments natürlicher Sprache, das Tabellendaten aufweist; Analysieren der Tabellendaten in dem Dokument natürlicher Sprache, um mindestens einen Abschnitt der Tabellendaten zu identifizieren, der einen fehlerhaften oder fehlenden Datenwert aufweist; Bestimmen, für den mindestens einen Abschnitt, einer funktionalen Abhängigkeit des mindestens einen Abschnitts der Tabellendaten in einem oder mehreren weiteren Abschnitten der Tabellendaten durch Verweisen auf das Dokument natürlicher Sprache; Bestimmen, für den mindestens einen Abschnitt, eines korrekten Datenwerts für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts; Modifizieren der Tabellendaten, um den fehlerhaften oder fehlenden Datenwert durch den korrekten Datenwert zu ersetzen und dadurch eine modifizierte Tabellendatenstruktur zu erzeugen; und Ausführen einer Verarbeitungsoperation an der modifizierten Tabellendatenstruktur, um eine sich daraus ergebende Ausgabe zu erzeugen.
  12. Vorrichtung, aufweisend: einen Prozessor; und einen Arbeitsspeicher, der mit dem Prozessor verbunden ist, wobei der Arbeitsspeicher Anweisungen aufweist, die, wenn sie durch den Prozessor ausgeführt werden, den Prozessor veranlassen zum: Empfangen eines Dokuments natürlicher Sprache, das Tabellendaten aufweist; Analysieren der Tabellendaten in dem Dokument natürlicher Sprache, um mindestens einen Abschnitt der Tabellendaten zu identifizieren, der einen fehlerhaften oder fehlenden Datenwert aufweist; Bestimmen, für den mindestens einen Abschnitt, einer funktionalen Abhängigkeit des mindestens einen Abschnitts der Tabellendaten in einem oder mehreren weiteren Abschnitten der Tabellendaten durch Verweisen auf das Dokument natürlicher Sprache; Bestimmen, für den mindestens einen Abschnitt, eines korrekten Datenwerts für den fehlerhaften oder fehlenden Datenwert des mindestens einen Abschnitts der Tabellendaten auf der Grundlage der funktionalen Abhängigkeit des mindestens einen Abschnitts; Modifizieren der Tabellendaten, um den fehlerhaften oder fehlenden Datenwert durch den korrekten Datenwert zu ersetzen und dadurch eine modifizierte Tabellendatenstruktur zu erzeugen; und Ausführen einer Verarbeitungsoperation an der modifizierten Tabellendatenstruktur, um eine sich daraus ergebende Ausgabe zu erzeugen.
DE201410108191 2013-06-24 2014-06-11 Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten Ceased DE102014108191A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/925,015 2013-06-24
US13/925,015 US9164977B2 (en) 2013-06-24 2013-06-24 Error correction in tables using discovered functional dependencies

Publications (1)

Publication Number Publication Date
DE102014108191A1 true DE102014108191A1 (de) 2014-12-24

Family

ID=52010566

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410108191 Ceased DE102014108191A1 (de) 2013-06-24 2014-06-11 Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten

Country Status (2)

Country Link
US (2) US9164977B2 (de)
DE (1) DE102014108191A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983152B1 (en) * 2022-07-25 2024-05-14 Blackrock, Inc. Systems and methods for processing environmental, social and governance data

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140023227A1 (en) * 2012-07-17 2014-01-23 Cubic Corporation Broken mag ticket authenticator
US10318625B2 (en) 2014-05-13 2019-06-11 International Business Machines Corporation Table narration using narration templates
US9690771B2 (en) * 2014-05-30 2017-06-27 Nuance Communications, Inc. Automated quality assurance checks for improving the construction of natural language understanding systems
US10354419B2 (en) * 2015-05-25 2019-07-16 Colin Frederick Ritchie Methods and systems for dynamic graph generating
US20170039192A1 (en) * 2015-08-05 2017-02-09 International Business Machines Corporation Language generation from flow diagrams
US10318641B2 (en) * 2015-08-05 2019-06-11 International Business Machines Corporation Language generation from flow diagrams
US10078629B2 (en) 2015-10-22 2018-09-18 International Business Machines Corporation Tabular data compilation
US20170116194A1 (en) 2015-10-23 2017-04-27 International Business Machines Corporation Ingestion planning for complex tables
CN105930388B (zh) * 2016-04-14 2019-04-23 中国人民大学 一种基于函数依赖关系的olap分组聚集方法
US11222266B2 (en) 2016-07-15 2022-01-11 Intuit Inc. System and method for automatic learning of functions
US10579721B2 (en) 2016-07-15 2020-03-03 Intuit Inc. Lean parsing: a natural language processing system and method for parsing domain-specific languages
US10140277B2 (en) 2016-07-15 2018-11-27 Intuit Inc. System and method for selecting data sample groups for machine learning of context of data fields for various document types and/or for test data generation for quality assurance systems
US10725896B2 (en) 2016-07-15 2020-07-28 Intuit Inc. System and method for identifying a subset of total historical users of a document preparation system to represent a full set of test scenarios based on code coverage
US11049190B2 (en) 2016-07-15 2021-06-29 Intuit Inc. System and method for automatically generating calculations for fields in compliance forms
US10546054B1 (en) * 2018-02-28 2020-01-28 Intuit Inc. System and method for synthetic form image generation
US11650970B2 (en) 2018-03-09 2023-05-16 International Business Machines Corporation Extracting structure and semantics from tabular data
US11281696B1 (en) 2018-04-30 2022-03-22 Workday, Inc. Systems and methods for improving computational speed of planning by tracking dependencies in hypercubes
US11200413B2 (en) 2018-07-31 2021-12-14 International Business Machines Corporation Table recognition in portable document format documents
US10776583B2 (en) * 2018-11-09 2020-09-15 International Business Machines Corporation Error correction for tables in document conversion
US11176176B2 (en) * 2018-11-20 2021-11-16 International Business Machines Corporation Record correction and completion using data sourced from contextually similar records
US11113095B2 (en) 2019-04-30 2021-09-07 Automation Anywhere, Inc. Robotic process automation system with separate platform, bot and command class loaders
US11163956B1 (en) 2019-05-23 2021-11-02 Intuit Inc. System and method for recognizing domain specific named entities using domain specific word embeddings
US11018953B2 (en) 2019-06-19 2021-05-25 International Business Machines Corporation Data center cartography bootstrapping from process table data
US11334349B2 (en) * 2019-09-19 2022-05-17 Dell Products L.P. Removing feature flag-related codebase from applications
US11481304B1 (en) 2019-12-22 2022-10-25 Automation Anywhere, Inc. User action generated process discovery
US11526782B2 (en) 2020-01-30 2022-12-13 Red Hat, Inc. Inferring dependencies, requirements, and productions from spreadsheet-based loosely-coupled decision tables
US11783128B2 (en) 2020-02-19 2023-10-10 Intuit Inc. Financial document text conversion to computer readable operations
US11182178B1 (en) 2020-02-21 2021-11-23 Automation Anywhere, Inc. Detection of user interface controls via invariance guided sub-control learning
US20220108107A1 (en) * 2020-10-05 2022-04-07 Automation Anywhere, Inc. Method and system for extraction of table data from documents for robotic process automation
US11968182B2 (en) 2021-07-29 2024-04-23 Automation Anywhere, Inc. Authentication of software robots with gateway proxy for access to cloud-based services
CN113901763A (zh) * 2021-09-30 2022-01-07 北京百度网讯科技有限公司 一种表格描述文本生成方法、装置、设备及存储介质

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688195A (en) 1983-01-28 1987-08-18 Texas Instruments Incorporated Natural-language interface generating system
JP2926066B2 (ja) 1992-05-29 1999-07-28 富士ゼロックス株式会社 表認識装置
US5491700A (en) * 1993-10-01 1996-02-13 Pacific Communication Sciences, Inc. Method and apparatus for code error correction using an ordered syndrome and error correction lookup table
EP0685949A3 (de) 1994-06-03 2002-07-10 Philips Patentverwaltung GmbH Paketübermittlungssystem
IL136219A0 (en) 1997-11-20 2001-05-20 Xacct Technologies Inc Network accounting and billing system and method
US6161103A (en) 1998-05-06 2000-12-12 Epiphany, Inc. Method and apparatus for creating aggregates for use in a datamart
JP3690730B2 (ja) 2000-10-24 2005-08-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造回復システム、構文解析システム、変換システム、コンピュータ装置、構文解析方法、及び記憶媒体
US7620665B1 (en) 2000-11-21 2009-11-17 International Business Machines Corporation Method and system for a generic metadata-based mechanism to migrate relational data between databases
US7054871B2 (en) 2000-12-11 2006-05-30 Lucent Technologies Inc. Method for identifying and using table structures
US6904428B2 (en) 2001-04-18 2005-06-07 Illinois Institute Of Technology Intranet mediator
US7251781B2 (en) 2001-07-31 2007-07-31 Invention Machine Corporation Computer based summarization of natural language documents
JP4947861B2 (ja) * 2001-09-25 2012-06-06 キヤノン株式会社 自然言語処理装置およびその制御方法ならびにプログラム
US6946715B2 (en) 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
JP2004062446A (ja) 2002-07-26 2004-02-26 Ibm Japan Ltd 情報収集システム、アプリケーションサーバ、情報収集方法、およびプログラム
US20040103367A1 (en) * 2002-11-26 2004-05-27 Larry Riss Facsimile/machine readable document processing and form generation apparatus and method
US7143026B2 (en) 2002-12-12 2006-11-28 International Business Machines Corporation Generating rules to convert HTML tables to prose
US20150066895A1 (en) 2004-06-18 2015-03-05 Glenbrook Networks System and method for automatic fact extraction from images of domain-specific documents with further web verification
US7792829B2 (en) 2005-01-28 2010-09-07 Microsoft Corporation Table querying
US20070011183A1 (en) 2005-07-05 2007-01-11 Justin Langseth Analysis and transformation tools for structured and unstructured data
US8024653B2 (en) 2005-11-14 2011-09-20 Make Sence, Inc. Techniques for creating computer generated notes
US7668791B2 (en) 2006-07-31 2010-02-23 Microsoft Corporation Distinguishing facts from opinions using a multi-stage approach
WO2008053466A2 (en) * 2006-10-30 2008-05-08 Cellesense Technologies Ltd. Context sensitive, error correction of short text messages
US7774193B2 (en) 2006-12-05 2010-08-10 Microsoft Corporation Proofing of word collocation errors based on a comparison with collocations in a corpus
US20080208882A1 (en) * 2007-02-28 2008-08-28 Honeywell International Inc. Method of Assisting Users In Detection and Correction of Errors In Complex Databases
KR100918847B1 (ko) 2007-10-15 2009-09-28 한국전자통신연구원 온톨로지 인스턴스 자동 생성 장치 및 방법
US8069190B2 (en) 2007-12-27 2011-11-29 Cloudscale, Inc. System and methodology for parallel stream processing
US8781989B2 (en) * 2008-01-14 2014-07-15 Aptima, Inc. Method and system to predict a data value
US7792823B2 (en) 2008-01-15 2010-09-07 International Business Machines Corporation Maintained symbol table only index
US8275803B2 (en) 2008-05-14 2012-09-25 International Business Machines Corporation System and method for providing answers to questions
JP2010015554A (ja) * 2008-06-03 2010-01-21 Just Syst Corp 表構造解析装置、表構造解析方法および表構造解析プログラム
WO2009155281A1 (en) 2008-06-17 2009-12-23 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
JP5584212B2 (ja) 2008-07-31 2014-09-03 ジンジャー ソフトウェア、インコーポレイティッド インターネットコーパスを用いた自動的な文脈に感応する言語の生成、訂正、および、改善
US8255789B2 (en) 2008-09-30 2012-08-28 Apple Inc. Providing spreadsheet features
JP2010134709A (ja) 2008-12-04 2010-06-17 Toshiba Corp 語彙誤り検出装置及び語彙誤り検出方法
JP2010140116A (ja) 2008-12-09 2010-06-24 Ricoh Co Ltd ファイル管理装置、ファイル管理方法及びファイル管理プログラム
US20100280989A1 (en) 2009-04-29 2010-11-04 Pankaj Mehra Ontology creation by reference to a knowledge corpus
US8959481B2 (en) 2009-04-30 2015-02-17 International Business Machines Corporation Determining system level dependencies
US8037108B1 (en) 2009-07-22 2011-10-11 Adobe Systems Incorporated Conversion of relational databases into triplestores
US8499008B2 (en) 2009-07-24 2013-07-30 Yahoo! Inc. Mixing knowledge sources with auto learning for improved entity extraction
US20110055172A1 (en) 2009-09-01 2011-03-03 Containertrac, Inc. Automatic error correction for inventory tracking and management systems used at a shipping container yard
US8560300B2 (en) * 2009-09-09 2013-10-15 International Business Machines Corporation Error correction using fact repositories
US8280838B2 (en) 2009-09-17 2012-10-02 International Business Machines Corporation Evidence evaluation system and method based on question answering
WO2011042543A1 (en) 2009-10-08 2011-04-14 Sony Corporation Automated language-tutoring method
US20110125734A1 (en) 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US8359193B2 (en) 2009-12-31 2013-01-22 International Business Machines Corporation Pre-highlighting text in a semantic highlighting system
US8219522B2 (en) * 2010-06-29 2012-07-10 Asserted Versioning, Llc Management of temporal data by means of a canonical schema
WO2012006509A1 (en) 2010-07-09 2012-01-12 Google Inc. Table search using recovered semantic information
CN104484319A (zh) * 2010-09-24 2015-04-01 新加坡国立大学 用于自动化文本校正的方法和系统
US8719014B2 (en) * 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
EP2622592A4 (de) 2010-09-28 2017-04-05 International Business Machines Corporation Bereitstellung von antworten auf fragen mithilfe mehrerer modelle zur erzielung von in frage kommenden antworten
CN103229168B (zh) 2010-09-28 2016-10-19 国际商业机器公司 在问答期间在多个候选答案之间证据扩散的方法和系统
US9262397B2 (en) 2010-10-08 2016-02-16 Microsoft Technology Licensing, Llc General purpose correction of grammatical and word usage errors
US8442988B2 (en) 2010-11-04 2013-05-14 International Business Machines Corporation Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data
US9524285B2 (en) * 2011-03-05 2016-12-20 Kapaleeswar Madireddi Stream flow chemical process information system and method
US8630989B2 (en) 2011-05-27 2014-01-14 International Business Machines Corporation Systems and methods for information extraction using contextual pattern discovery
US8874540B2 (en) 2011-09-07 2014-10-28 Xerox Corporation Method for semantic classification of numeric data sets
US8601030B2 (en) 2011-09-09 2013-12-03 International Business Machines Corporation Method for a natural language question-answering system to complement decision-support in a real-time command center
CA2862387C (en) * 2011-12-29 2023-03-14 Michael J. Chen Spreadsheet-based programming language adapted for report generation
US8910018B2 (en) * 2012-07-17 2014-12-09 Macronix International Co., Ltd. Memory with dynamic error detection and correction
US20140046696A1 (en) * 2012-08-10 2014-02-13 Assurerx Health, Inc. Systems and Methods for Pharmacogenomic Decision Support in Psychiatry
US8972460B2 (en) 2012-10-23 2015-03-03 Oracle International Corporation Data model optimization using multi-level entity dependencies
US8914419B2 (en) 2012-10-30 2014-12-16 International Business Machines Corporation Extracting semantic relationships from table structures in electronic documents
US10289653B2 (en) 2013-03-15 2019-05-14 International Business Machines Corporation Adapting tabular data for narration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983152B1 (en) * 2022-07-25 2024-05-14 Blackrock, Inc. Systems and methods for processing environmental, social and governance data

Also Published As

Publication number Publication date
US20140379666A1 (en) 2014-12-25
US9569417B2 (en) 2017-02-14
US9164977B2 (en) 2015-10-20
US20150046785A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
DE102014108191A1 (de) Fehlerkorrektur in Tabellen unter Verwendung erkannter funktionaler Abhängigkeiten
US20210019287A1 (en) Systems and methods for populating a structured database based on an image representation of a data table
DE112018000334T5 (de) System und Verfahren zur domänenunabhängigen Aspektebenen-Stimmungserkennung
US20230334080A1 (en) Putative ontology generating method and apparatus
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
US9535905B2 (en) Statistical process control and analytics for translation supply chain operational management
US8874581B2 (en) Employing topic models for semantic class mining
DE102018006481A1 (de) Nutzung von Deep-Learning-Techniken zum Bestimmen einer kontextbezogenen Lesereihenfolge in einem Dokument
DE102018007165A1 (de) Vorhersage von stilbrüchen innerhalb eines textinhalts
CA3088692A1 (en) Visualizing comment sentiment
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
EP3176706B1 (de) Automatische analyse von daten zur bestimmung einer datenstruktur und zur ausführung automatisierter datenverarbeitung
US11087409B1 (en) Systems and methods for generating accurate transaction data and manipulation
EP3143527A1 (de) Verfahren und vorrichtung zur generierung von putativer ontologie
CN110866836B (zh) 计算机执行的医疗保险立案审核方法和装置
DE112018001165T5 (de) Automatisierte dokumentenanalyse für unterschiedliche natürliche sprachen
DE102015121509A1 (de) Methodik und Vorrichtung zur Konsistenzprüfung durch Vergleich von Ontologiemodellen
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
CN113486189A (zh) 一种开放性知识图谱挖掘方法及系统
Jin et al. Foofah: A programming-by-example system for synthesizing data transformation programs
DE102022201753A1 (de) Erweiterung Graph- basierter Kennzeichnungsregeln für schwach überwachtesTraining von auf maschinellem Lernen basierender Eigennamenerkennung
CN113448843A (zh) 基于缺陷分析的图像识别软件测试数据增强方法及装置
Lonij et al. Open-world visual recognition using knowledge graphs
AT&T

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final