DE102021004562A1 - Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache - Google Patents

Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache Download PDF

Info

Publication number
DE102021004562A1
DE102021004562A1 DE102021004562.9A DE102021004562A DE102021004562A1 DE 102021004562 A1 DE102021004562 A1 DE 102021004562A1 DE 102021004562 A DE102021004562 A DE 102021004562A DE 102021004562 A1 DE102021004562 A1 DE 102021004562A1
Authority
DE
Germany
Prior art keywords
graph
structured representation
features
nodes
natural language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021004562.9A
Other languages
English (en)
Inventor
Quan Tran
Zhe Lin
Xuanli He
Walter Chang
Trung Bui
Franck Dernoncourt
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.)
Adobe Inc
Original Assignee
Adobe Inc
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 Adobe Inc filed Critical Adobe Inc
Publication of DE102021004562A1 publication Critical patent/DE102021004562A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Beschrieben werden Systeme und Verfahren zum Verarbeiten natürlicher Sprache. Ausführungsformen sind konfiguriert zum Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturierte Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst, Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst, Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.

Description

  • Hintergrund
  • Beschrieben wird im Folgenden allgemein die Verarbeitung natürlicher Sprache und insbesondere die Verarbeitung natürlicher Sprache unter Nutzung einer Technik zum konditionalen Abwandeln von Graphen.
  • Die Verarbeitung natürlicher Sprache (Natural Language Processing NLP) bezeichnet Verwendungstechniken von Computern beim Interpretieren natürlicher Sprache. In einigen Fällen implizieren NLP-Aufgaben das Zuweisen von Annotationsdaten, so beispielsweise von grammatikalischer Information, zu Worten oder Wendungen innerhalb eines Ausdrucks in natürlicher Sprache. Bei NLP-Aufgaben haben bislang verschiedene Klassen von maschinell lernenden Algorithmen Anwendung gefunden. Diese Algorithmen nehmen gegebenenfalls einen Satz von Merkmalen, der aus Daten in natürlicher Sprache generiert wird, als Eingabe. Einige Algorithmen, so beispielsweise Entscheidungsbäume, setzen harte Wenn-Dann-Regeln ein. Andere Systeme nutzen neuronale Netzwerke oder statistische Modelle, die weiche und wahrscheinlichkeitsbasierte Entscheidungen auf Grundlage dessen treffen, dass Eingabemerkmalen reellwertige Gewichtungen zugeteilt werden. Diese Modelle können die Relativwahrscheinlichkeit mehrerer Antworten ausdrücken.
  • Strukturierte Darstellungen wie Graphen und Parsing-Bäume spielen bei vielen NLP-Aufgaben eine wichtige Rolle. Daher beinhaltet eine Anzahl von NLP-Vorrichtungen Parser, die Text auf Graphen oder Parsing-Bäume abbilden. Herkömmliche NLP-Vorrichtungen sind jedoch nicht in der Lage, eine bestehende strukturierte Darstellung auf Grundlage eines Abwandlungsbefehls in natürlicher Sprache abzuwandeln. Daher besteht im Stand der Technik Bedarf an Systemen und Verfahren zum Ändern von strukturierten Darstellungen.
  • Zusammenfassung
  • Die vorliegende Offenbarung stellt Systeme und Verfahren zum Generieren von strukturierten Darstellungen für abgewandelte Ausdrücke in natürlicher Sprache bereit. Bei einigen Ausführungsformen wird eine strukturierte Darstellung, die einen ursprünglichen Ausdruck darstellt, unter Nutzung eines ersten neuronalen Netzwerkes codiert, und es wird ein Abwandlungsausdruck, der eine Änderung an dem ursprünglichen Ausdruck darstellt, unter Nutzung eines zweiten neuronalen Netzwerkes codiert. Die codierte strukturelle Darstellung und der codierte Abwandlungsausdruck werden in einem Einbettungsraum kombiniert, und das kombinierte Ergebnis wird zum Generieren einer Ausgabestrukturdarstellung, die einen abgewandelten Ausdruck darstellt, benutzt.
  • Beschrieben werden ein Verfahren, eine Einrichtung und ein nichttemporäres computerlesbares Medium zum Verarbeiten natürlicher Sprache. Ausführungsformen des Verfahrens, der Einrichtung und des nichttemporären computerlesbaren Mediums sind konfiguriert zum Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturelle Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst, Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst, Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.
  • Beschrieben werden eine Einrichtung und ein Verfahren zum Verarbeiten natürlicher Sprache. Ausführungsformen der Einrichtung und des Verfahrens beinhalten einen Graphencoder mit Konfigurierung zum Generieren von Merkmalen der strukturierten Darstellung auf Grundlage einer strukturierten Darstellung, einen Textencoder mit Konfigurierung zum Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage eines Abwandlungsausdrucks, ein merkmalsverschmelzendes Netzwerk mit Konfigurierung zum Erzeugen von kombinierten Merkmalen auf Grundlage der Merkmale der strukturierten Darstellung und der Merkmale des Ausdrucks in natürlicher Sprache, einen Knotendecoder mit Konfigurierung zum Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale und einen Kantendecoder mit Konfigurierung zum Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten.
  • Beschrieben werden ein Verfahren, eine Einrichtung und ein nichttemporäres computerlesbares Medium zum Trainieren eines neuronalen Netzwerkes für das Verarbeiten natürlicher Sprache. Ausführungsformen des Verfahrens, der Einrichtung und des nichttemporären computerlesbaren Mediums sind konfiguriert zum Identifizieren von Trainingsdaten, die mehrere annotierte Trainingsbeispiele beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck umfasst, Generieren von Merkmalen der strukturierten Darstellung für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders, Generieren von Merkmalen eines Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders, Kombinieren der Merkmale der strukturierten Darstellung und der Merkmale des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen, Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders, Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, Vergleichen des Satzes von Knoten und des Satzes von Kanten mit der targetseitigen strukturierten Darstellung und Aktualisieren des neuronalen Netzwerkes auf Grundlage des Vergleiches.
  • Figurenliste
    • 1 zeigt ein Beispiel für einen Prozess zum Bereitstellen von Suchergebnissen entsprechend Aspekten der vorliegenden Offenbarung.
    • 2 zeigt ein Beispiel für ein System zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung.
    • 3 zeigt ein Beispiel für ein neuronales Netzwerk zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung.
    • 4 zeigt ein Beispiel für eine Cross-Attention-Verschmelzung entsprechend Aspekten der vorliegenden Offenbarung.
    • 5 zeigt ein Beispiel für einen Kantendecoder vom Adjazenzmatrixtyp entsprechend Aspekten der vorliegenden Offenbarung.
    • 6 zeigt ein Beispiel für einen Flat-Edge-Level-Decoder entsprechend Aspekten der vorliegenden Offenbarung.
    • 7 zeigt ein Beispiel für einen Szenengraph entsprechend Aspekten der vorliegenden Offenbarung.
    • 8 zeigt ein Beispiel für einen Einfügeprozess entsprechend Aspekten der vorliegenden Offenbarung.
    • 9 zeigt ein Beispiel für einen Löschprozess entsprechend Aspekten der vorliegenden Offenbarung.
    • 10 zeigt ein Beispiel für einen Objektersetzprozess entsprechend Aspekten der vorliegenden Offenbarung.
    • 11 zeigt ein Beispiel für einen Attributersetzprozess entsprechend Aspekten der vorliegenden Offenbarung.
    • 12 zeigt ein Beispiel für einen Prozess zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung.
    • 13 zeigt ein Beispiel für einen Prozess zum Kombinieren von Graphmerkmalen und Textmerkmalen entsprechend Aspekten der vorliegenden Offenbarung.
    • 14 zeigt ein Beispiel für einen Prozess zum Generieren einer abgewandelten strukturierten Darstellung auf Grundlage von kombinierten Merkmalen entsprechend Aspekten der vorliegenden Offenbarung.
    • 15 zeigt ein Beispiel für einen Prozess zum Trainieren eines neuronalen Netzwerkes für das Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung.
  • Detailbeschreibung
  • Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Durchführen der Verarbeitung natürlicher Sprache (Natural Language Processing NLP). Einige Ausführungsformen der vorliegenden Offenbarung betreffen die konditionale bzw. bedingungsbasierte Abwandlung von Graphen, bei der ein Source-Graph, der einen Ausdruck in natürlicher Sprache darstellt, auf Grundlage eines Abwandlungsbefehls abgewandelt wird. Bei einigen Beispielen wird ein neuronales Netzwerk für das Durchführen der Abwandlung trainiert.
  • Strukturierte Darstellungen wie Graphen und Parsing-Bäume spielen bei vielen NLP-Aufgaben eine wichtige Rolle. Daher beinhalten einige NLP-Vorrichtungen Parser, die Text auf Graphen oder Parsing-Bäume abbilden. Herkömmliche NLP-Vorrichtungen sind jedoch nicht in der Lage, die strukturierten Darstellungen zu manipulieren. In einigen Fällen wird Text zum Erzeugen einer strukturierten Darstellung während einer Interaktion zwischen einem Menschen und einem Computer geparst bzw. zerlegt. Eine typische Sitzung oder Konversation mit Mensch-Computer-Interaktion (beispielsweise eine Bildsuche) weist jedoch nicht nur eine einzige thematische Richtungsänderung (singleturn) auf. Daher ist das Parsen bzw. Zerlegen eines einzigen Satzes gegebenenfalls nicht ausreichend.
  • Wird während der Konversation mit einem menschlichen Nutzer eine herkömmliche NLP-Vorrichtung benutzt, so ist diese nicht in der Lage, einen vorher generierten Graph auf Grundlage einer nachfolgenden thematischen Richtungsänderung (turn) in der Konversation zu aktualisieren. Ein Nutzer, der eine Suche durchführt, beginnt beispielsweise gegebenenfalls mit einer kurzen Wendung, die die Hauptobjekte oder Themen, nach denen bei der Suche gesucht wird, beschreibt. In Abhängigkeit vom Ergebnis wandelt der Nutzer seine Anfrage gegebenenfalls ab, um weitere Randbedingungen hinzuzufügen oder zusätzliche Information anzugeben. In diesem Fall ist eine statische Darstellung nicht dafür geeignet, die aktualisierte Absicht des Nutzers nachzuverfolgen. Daher sind herkömmliche NLP-Vorrichtungen nicht in der Lage, mit nahtlosen, mehrere thematische Richtungsänderungen aufweisenden (multi-turn) Austauschhandlungen umzugehen, in denen der Nutzer die Absicht vorheriger Äußerungen ändert.
  • Daher stellt die vorliegende Offenbarung Verfahren und Systeme zum Durchführen einer Graphabwandlung bereit. Im Gegensatz zu herkömmlichen NLP-Vorrichtungen beinhaltet eine NLP-Vorrichtung der vorliegenden Offenbarung das nicht übliche Element eines Modells mit neuronalem Netzwerk, das darauf trainiert ist, einen bestehenden Szenengraph zu aktualisieren, wenn der Nutzer einen neuen Befehl gibt. Entsprechend ist eine verbesserte NLP-Vorrichtung entsprechend der vorliegenden Offenbarung in der Lage, bestehende Graphen auf Grundlage von nachfolgenden Äußerungen eines Nutzers zu aktualisieren. Im Ergebnis kann die verbesserte NLP-Vorrichtung mit nahtlosen, mehrere Wendungen aufweisenden (multi-turn), mit einem menschlichen Nutzer gegebenen Austauschhandlungen, bei denen der Nutzer die Absicht vorheriger Äußerungen ändert, umgehen.
  • Bei einigen Ausführungsformen wird eine strukturierte Darstellung, die einen ursprünglichen Ausdruck darstellt, unter Nutzung eines ersten neuronalen Netzwerkes codiert, und es wird ein Abwandlungsausdruck, der eine Änderung an dem ursprünglichen Ausdruck darstellt, unter Nutzung eines zweiten neuronalen Netzwerkes codiert. Die codierte strukturelle Darstellung und der codierte Abwandlungsausdruck werden in einem Einbettungsraum kombiniert, und das kombinierte Ergebnis wird zum Generieren einer Ausgabestrukturdarstellung, die einen abgewandelten Ausdruck darstellt, benutzt. Bei einigen Beispielen beruht das Modell auf einem graphbasierten Sparse-Transformer und einer Cross-Attention-Informationsverschmelzung. Entsprechend einer Ausführungsform werden große Graphabwandlungsdatensätze erstellt und zum Trainieren der Modelle verwendet.
  • 1 zeigt ein Beispiel für einen Prozess zum Bereitstellen von Suchergebnissen entsprechend Aspekten der vorliegenden Offenbarung. Der Prozess von 1 ist ein Beispiel dafür, wie ein System zum Abwandeln einer strukturierten Darstellung bei einem System zum Suchen nach Bildern auf Grundlage einer Suchanfrage in natürlicher Sprache angewendet werden kann. Dies ist jedoch kein beschränkendes Beispiel; die Systeme und Verfahren der vorliegenden Offenbarung können auch bei anderen Anwendungen angewendet werden.
  • Bei einigen Beispielen werden die Vorgänge von 1 von einem System ausgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes zum Steuern bzw. Regeln von funktionalen Elementen einer Einrichtung ausführt. Zusätzlich oder alternativ werden gewisse Prozesse unter Nutzung von Spezialzweckhardware durchgeführt. Allgemein werden diese Vorgänge entsprechend Verfahren und Prozessen durchgeführt, die entsprechend Aspekten der vorliegenden Offenbarung beschrieben werden. In einigen Fällen setzen sich die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammen oder werden in Zusammenwirkung mit anderen Vorgängen durchgeführt.
  • Bei einem Vorgang 100 stellt ein Nutzer eine Suchanfrage bereit. Der Nutzer interagiert mit einem Computer (oder einer beliebigen elektronischen Vorrichtung, die zur Mensch-Maschine-Interaktion fähig ist) bei einer Sitzung oder Konversation mit Mensch-Computer-Interaktion. Die Konversation kann mehr als ein Austausch mit einer thematischen Richtungsänderung sein. In einigen Fällen beginnt der Nutzer mit kurzen Wendungen, die die primären Objekte oder Themen, nach denen er sucht, beschreiben (die Suchwendung oder Suchanfrage ist beispielsweise „ein junger Bub in einem schwarzen Hemd“). In Abhängigkeit vom generierten Ergebnis kann der Nutzer seine Suchanfrage abwandeln, um weitere Randbedingungen hinzuzufügen oder zusätzliche Information zur Verfeinerung der Suche bereitzustellen. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Nutzer, wie er anhand 2 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 105 generiert der Server eine Strukturdarstellung (beispielsweise einen Graph), der die Suchanfrage darstellt. Eine strukturierte Darstellung kann eine formalisierte Darstellung eines Sprachausdrucks betreffen. Strukturierte Darstellungen, so beispielsweise Ausdrücke in natürlicher Sprache, können auch Bilder darstellen. Das Darstellen eines Ausdrucks in natürlicher Sprache als strukturierte Darstellung kann Bildsuchergebnisse verbessern, da die strukturierte Darstellung Objekte und Beziehungen, die in der Suche beinhaltet sein sollen, klar identifiziert. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Server, wie er anhand 2 beschrieben wird, oder können von diesem durchgeführt werden.
  • In einigen Fällen kann der Server ein Modell mit neuronalem Netzwerk nutzen, um die strukturierte Darstellung (mit einem Graphencoder) und die Abwandlungsanfrage (mit einen Textencoder) in einem Einbettungsraum zu codieren. Die Ausgaben der Encoder können als Merkmale der strukturierten Darstellung beziehungsweise Merkmale des Ausdrucks in natürlicher Sprache bezeichnet werden. In einigen Fällen werden die Merkmale der strukturierten Darstellung und die Merkmale des Ausdrucks in natürlicher Sprache als Vektoren in einem gemeinsamen Einbettungsraum dargestellt.
  • In einigen Fällen kann eine strukturierte Darstellung zwei oder mehr Knoten, die Objekte oder Konzepte darstellen, und Kanten, die Beziehungen zwischen den Knoten darstellen, beinhalten. Bei einem Beispiel sind „schwarz“ und „Hemd“ Knoten, die über die „Attributbeziehung“ verbunden sind. Bei einem anderen Beispiel sind „Mann“ und „Hut“ Knoten, wobei „tragen“ die Beziehung beschreibt.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung kann ein Graph von einem Graphgenerator generiert werden. Für den Fall eines Graphen, der ein Bild darstellt, wird der Graph als Szenengraph (scene graph) (das heißt als semantische Darstellungen eines Bildes) bezeichnet. Der Graph beinhaltet Knoten und Kanten, wobei jede der Kanten zwei jeweilige Knoten verbindet. Die Knoten stellen Objekte dar, während die Kanten ein Attribut oder eine Beziehung zwischen jeweiligen Knoten darstellen. Die anfängliche Suchanfrage eines Nutzers kann beispielsweise „ein junger Bub in einem schwarzen Hemd“ sein. Es wird ein Parser benutzt, um eine Suchanfrage in eine Liste von Objekten, so beispielsweise „Bub“ und „Hemd“, zu parsen bzw. zu zerlegen. Bei einigen Beispielen bilden die Objekte und deren zugeordnete Attribute und Beziehungen eine Gruppe von Tripeln, so beispielsweise (Bub, in, Hemd), (Bub, Attribut, jung) und (Hemd, Attribut, schwarz).
  • Bei einem Vorgang 110 stellt eine Datenbank Suchergebnisse auf Grundlage des Graphen (beispielsweise ein oder mehrere Bilder entsprechend der Suchanfrage) bereit. Bei einigen Beispielen stellt die Datenbank für den Nutzer Suchergebnisse bereit, um zu ermöglichen, dass der Nutzer Inhalt für das Treffen einer Entscheidung findet. In einigen Fällen kann der Nutzer die Suche auf Grundlage der Suchergebnisse abwandeln (das heißt, er kann die Suchergebnisse nehmen, wie sie sind, oder die Suchanfrage abwandeln, um zu anderen Ergebnissen zu gelangen). In einigen Fällen betreffen die Vorgänge dieses Schrittes eine Datenbank, wie sie in 2 dargestellt ist, oder können von dieser durchgeführt werden.
  • Bei einem Vorgang 115 stellt der Nutzer eine Abwandlung an der Suchanfrage bereit. In einigen Fällen kann der Nutzer in Abhängigkeit von den generierten Ergebnissen aus der Datenbank wählen, seine Suchanfrage abzuwandeln, um weitere Randbedingungen hinzuzufügen oder zusätzliche Information bereitzustellen, um die Suche zu verfeinern. Bei dem zuvor besprochenen Beispiel möchte der Nutzer kein schwarzes Hemd mehr. Anstatt dessen stellt der Nutzer die Abwandlungsanfrage „in rosa Hemd ändern“ bereit.
  • Wie bei diesem Beispiel muss die Abwandlungsanfrage keinen vollständigen Ausdruck beinhalten oder jeden Knoten oder jede Kante in der ursprünglichen Suchanfrage (oder dem ursprünglichen Graphen) betreffen. In einigen Fällen bestimmt ein System daher, welche Knoten und Kanten geändert werden und in was sie geändert werden. In diesem Fall wird die Suchanfrage zu „ein junger Bub in einem rosa Hemd“ abgewandelt, wobei das dem Hemd zugeordnete Attribut (das die Farbe beschreibt) geändert ist. In verschiedenen Fällen nimmt der Server ein Hinzufügen, Ändern oder Entfernen von Knoten oder Kanten eines Graphen auf Grundlage der Abwandlungsanfrage vor. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Nutzer, wie er anhand 2 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 120 wandelt der Server den Graph auf Grundlage der Abwandlung ab. Objekte, Attribute und Beziehungen zwischen zwei Objekten werden abgewandelt, weshalb eine aktualisierte Strukturdarstellung (das heißt ein Szenengraph) auf Grundlage der Abwandlung generiert wird. Ist die Abwandlungsanfrage des Nutzers beispielsweise „zu einem rosa Hemd ändern“, so ist das Hemd nicht mehr schwarz, sondern rosa. Die aktualisierten Objekte und deren aktualisierte zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, so beispielsweise (Bub, in, Hemd), (Bub, Attribut, jung) und (Hemd, Attribut, rosa).
  • Bei einem weiteren Beispiel möchte der Nutzer unabhängig von der Farbe kein Hemd mehr und wandelt die Suchanfrage in „ein junger Bub“ ab. Die Knoten, die jeweils „Hemd“ und „schwarz“ darstellen, werden gelöscht. Der Server wandelt den Graphen ab, indem er die Knoten und Kanten, die diesen Knoten zugeordnet sind, entfernt. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Server, wie er anhand 2 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 125 stellt die Datenbank aktualisierte Suchergebnisse auf Grundlage des abgewandelten Graphen bereit. Die Datenbank stellt für den Nutzer beispielsweise aktualisierte Suchergebnisse derart bereit, dass der Nutzer eine Entscheidung auf Grundlage der Suchergebnisse trifft (das heißt, er nimmt die aktualisierten Suchergebnisse, wie sie sind, oder setzt das Abwandeln des aktualisierten Suchergebnisses fort). In einigen Fällen betreffen die Vorgänge dieses Schrittes eine Datenbank, wie sie anhand 2 beschrieben wird, oder können von dieser durchgeführt werden. In einigen Fällen werden mehrere Iterationen zwischen dem Nutzer, dem Server und der Datenbank durchgeführt, bevor der Nutzer mit den Suchergebnissen zufrieden ist.
  • 2 zeigt ein Beispiel für ein System zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Nutzer 200, eine Nutzervorrichtung 205, einen Server 210, eine Cloud 245 und eine Datenbank 250. Bei einer Ausführungsform beinhaltet der Server 210 eine Prozessoreinheit 215, eine Speichereinheit 220, eine Eingabekomponente 225, ein neuronales Netzwerk 230, einen Graphgenerator 235 und eine Suchkomponente 240. Bei einigen Ausführungsformen sind die Komponenten und Funktionen des Servers auf der Nutzervorrichtung 205 befindlich.
  • Der Nutzer 200 kann mit dem Server 210 über die Nutzervorrichtung 205 und die Cloud 245 kommunizieren. Der Nutzer 200 stellt beispielsweise eine Suchanfrage bereit, und der Server 210 generiert einen Graphen, der die Suchanfrage darstellt. Die Suchergebnisse auf Grundlage des Graphen werden in der Datenbank 250 gespeichert. Der Nutzer 200 stellt eine Abwandlung an der Suchanfrage bereit, und der Server wandelt den Graph auf Grundlage der Abwandlung ab. Die abgewandelten Suchergebnisse werden zu der Datenbank 250 hinzugefügt.
  • Die Nutzervorrichtung 205 kann ein PC, ein Laptop-Computer, ein Mainframe-Computer, ein Palmtop-Computer, ein persönlicher Assistent, eine mobile Vorrichtung oder eine beliebige andere geeignete Verarbeitungseinrichtung sein.
  • Die Cloud 245 ist ein Computernetzwerk mit Konfigurierung zum Bereitstellen einer On-Demand-Verfügbarkeit von Computersystemressourcen, so beispielsweise eines Datenspeichers und von Rechenleistung. Bei einigen Beispielen stellt die Cloud 245 Ressourcen ohne aktives Eingreifen durch den Nutzer bereit. Der Begriff „Cloud“ wird bisweilen benutzt, um Datenzentren zu beschreiben, die über das Internet für viele Nutzer verfügbar sind. Einige große Cloudnetzwerke übernehmen Funktionen, die über mehrere Orte hinweg von Zentralservern aus verteilt werden. Ein Server wird als Kantenserver bezeichnet, wenn er eine direkte oder enge Verbindung zu einem Nutzer hat. In einigen Fällen ist die Cloud 245 auf eine einzige Organisation beschränkt. Bei anderen Beispielen ist die Cloud 245 für viele Organisationen verfügbar. Bei einem Beispiel beinhaltet die Cloud 245 ein mehrere Schichten aufweisendes Kommunikationsnetzwerk, das mehrere Kantenrouter und Kernrouter umfasst. Bei einem anderen Beispiel beruht die Cloud 245 auf einer lokalen Sammlung von Schaltern bzw. Switches an einem einzigen physischen Ort.
  • Der Server 210 stellt eine oder mehrere Funktionen für Nutzer bereit, die mittels eines oder mehrerer verschiedener Netzwerke verknüpft sind. In einigen Fällen beinhaltet der Server 210 eine einen einzigen Mikroprozessor aufweisende Platine, die einen Mikroprozessor beinhaltet, der für das Steuern bzw. Regeln von Aspekten des Servers verantwortlich ist. In einigen Fällen nutzt der Server 210 den Mikroprozessor und Protokolle zum Austauschen von Daten mit anderen Vorrichtungen/Nutzern auf einem oder mehreren der Netzwerke über ein Hypertexttransferprotokoll (HTTP) und ein Simple-Mail-Transferprotokoll (SMTP), obwohl auch andere Protokolle, so beispielsweise das Dateitransferprotokoll (FTP) und das Simple-Network-Managementprotokoll (SNMP) möglich sind. In einigen Fällen ist der Server 210 dafür konfiguriert, HTML-formatierte (Hypertextmarkierungssprache HTML) Dateien (beispielsweise zum Anzeigen von Webpages) zu senden und zu empfangen. Bei verschiedenen Ausführungsformen umfasst der Server 210 eine Allzweckrechenvorrichtung, einen PC, einen Laptop-Computer, einen Mainframe-Computer, einen Supercomputer oder eine beliebige andere geeignete Verarbeitungseinrichtung.
  • Eine Prozessoreinheit 215 ist eine intelligente Hardwarevorrichtung (beispielsweise eine Allzweckverarbeitungskomponente, ein digitaler Signalprozessor (DSP), eine zentrale Verarbeitungseinheit (CPU), eine grafische Verarbeitungseinheit (GPU), ein Mikrocontroller, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate Array (FPGA), eine programmierbare Logikvorrichtung, eine diskrete Gate- oder Transistorlogikkomponente, eine diskrete Hardwarekomponente oder eine beliebige Kombination hieraus). In einigen Fällen ist die Prozessoreinheit 215 dafür konfiguriert, ein Speicherarray unter Nutzung eines Speichercontrollers zu betreiben. In anderen Fällen ist der Speichercontroller in die Prozessoreinheit 215 integriert. In einigen Fällen ist die Prozessoreinheit 215 dafür konfiguriert, computerlesbare Anweisungen, die in einem Speicher gespeichert sind, auszuführen, um verschiedene Funktionen wahrzunehmen. Bei einigen Ausführungsformen beinhaltet die Prozessoreinheit 215 Spezialzweckkomponenten zur Modemverarbeitung, Basisbandverarbeitung, Digitalsignalverarbeitung oder Übertragungsverarbeitung.
  • Beispiele für eine Speichereinheit 220 beinhalten einen Speicher mit wahlfreiem Zugriff (RAM), einen Nur-Lese-Speicher (ROM) oder eine Festplatte. Beispiele für Speichervorrichtungen beinhalten einen Solid-State-Speicher und ein Festplattenlaufwerk. Bei einigen Beispielen wird die Speichereinheit 220 benutzt, um computerlesbare, computerausführbare Software zu speichern, die Anweisungen enthält, die bei Ausführung veranlassen, dass ein Prozessor verschiedene hier beschriebene Funktionen übernimmt. In einigen Fällen enthält die Speichereinheit 220 unter anderem ein BIOS (grundlegendes Eingabe/Ausgabesystem), das den grundlegenden Betrieb der Hardware und Software, so beispielsweise die Interaktion mit Komponenten oder Vorrichtungen der Peripherie, steuert bzw. regelt. In einigen Fällen betreibt der Speichercontroller Speicherzellen. Der Speichercontroller kann beispielsweise einen Reihendecoder, einen Spaltendecoder oder beides beinhalten. In einigen Fällen speichern Speicherzellen innerhalb der Speichereinheit 220 Information in Form eines logischen Zustandes.
  • Bei einigen Ausführungsformen beinhaltet der Server 210 ein künstliches neuronales Netzwerk (Artificial Neural Network ANN). Ein ANN ist eine Hardware- oder Softwarekomponente, die eine Anzahl von verbundenen Knoten (das heißt künstliche Neuronen) beinhaltet, die im weitesten Sinne Neuronen im menschlichen Gehirn entsprechen. Jede Verbindung oder Kante überträgt ein Signal von einem Knoten an einen anderen (wie physische Synapsen im Gehirn). Empfängt ein Knoten ein Signal, so verarbeitet er das Signal und überträgt das verarbeitete Signal sodann an andere verbundene Knoten. In einigen Fällen umfassen die Signale zwischen Knoten reelle Zahlen, und die Ausgabe eines jeden Knotens wird durch eine Funktion der Summe von deren Eingaben berechnet. Jeder Knoten und jede Kante ist einer oder mehreren Knotengewichtungen zugeordnet, die bestimmen, wie das Signal verarbeitet und übertragen wird.
  • Während des Trainingsprozesses werden diese Gewichtungen angepasst, um die Genauigkeit des Ergebnisses zu verbessern (und zwar durch Minimieren einer Verlustfunktion, die gewissermaßen der Differenz zwischen dem aktuellen Ergebnis und dem Sollergebnis entspricht). Die Gewichtung einer Kante vergrößert oder verkleinert die Stärke des Signals, das zwischen Knoten übertragen wird. In einigen Fällen weisen Knoten eine Schwelle auf, unter der ein Signal gar nicht übertragen wird. In einigen Fällen sind die Knoten zu Schichten zusammengefasst. Verschiedene Schichten führen verschiedene Transformationen an ihren Eingaben aus. Die anfängliche Schicht ist als Eingabeschicht bekannt, während die letzte Schicht als Ausgabeschicht bekannt ist. In einigen Fällen durchlaufen Signale bestimmte Schichten mehrmals.
  • Bei einigen Ausführungsformen beinhaltet der Server 210 ein rekurrentes neuronales Netzwerk (Recurrent Neural Network RNN). Ein RNN ist eine Klasse von ANN, bei dem Verbindungen zwischen Knoten einen direkten Graphen entlang einer geordneten (also zeitlichen) Sequenz bilden. Dies ermöglicht, dass ein RNN ein zeitlich dynamisches Verhalten modelliert, so beispielsweise beim Vorhersagen dessen, welches Element in einer Sequenz als Nächstes kommen sollte. Daher ist ein RNN für Aufgaben geeignet, die geordnete Sequenzen implizieren, so beispielsweise bei der Texterkennung (bei der Worte in einem Satz geordnet sind). Der Begriff „RNN“ kann rekurrente Netzwerke mit finitem Impuls (beschrieben durch Knoten, die einen gerichteten azyklischen Graphen bilden) und rekurrente Netzwerke mit infinitem Impuls (beschrieben durch Knoten, die einen gerichteten zyklischen Graph bilden) beinhalten.
  • Entsprechend einigen Ausführungsformen empfängt die Eingabekomponente 225 eine strukturierte Darstellung einer Suchanfrage, bei der die strukturierte Darstellung einen Satz von Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, beinhaltet. Die Eingabekomponente 225 empfängt die Suchanfrage als Ausdruck in natürlicher Sprache. Ein Graphgenerator (nachstehend noch beschrieben) ist dafür konfiguriert, die strukturierte Darstellung auf Grundlage des Ausdrucks in natürlicher Sprache zu generieren.
  • Die Eingabekomponente 225 empfängt einen Abwandlungsausdruck für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache beinhaltet. Der Abwandlungsausdruck ist beispielsweise „Zeig mir die Männer mit den Jacken“. Der Abwandlungsausdruck erstellt eine Beziehung zwischen zwei Objekten (das heißt Männer, Jacken) oder wandelt diese ab.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung empfangen die Eingabekomponenten 225 eine semantische Darstellung des Bildes (das heißt einen Szenengraph). In einigen Fällen wird ein Parser benutzt, um einen Satz (das heißt eine Suchanfrage) in eine Liste von Objekten zu parsen bzw. zu zerlegen. Eine Suchanfrage ist beispielsweise „ein junger Bub in einem schwarzen Hemd“. Die Liste von Objekten beinhaltet „Bub“ und „Hemd“. Diese Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, beispielsweise (Bub, in, Hemd), (Bub, Attribut, jung) und (Hemd, Attribut, schwarz). Bei einigen Ausführungsformen kann der Einsatz von menschlichen Annotatoren die Datenqualität für Analysen erhöhen.
  • Entsprechend einigen Ausführungsformen generiert das neuronale Netzwerk 230 eine abgewandelte strukturierte Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks. In einigen Fällen kombiniert das neuronale Netzwerk 230 Merkmale der strukturierten Darstellung und Merkmale des Ausdrucks in natürlicher Sprache. Das neuronale Netzwerk 230 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Bei einigen Ausführungsformen beinhaltet das neuronale Netzwerk 230 eine Encoder-Decoder-Architektur, die einen graphkonditionierten Transformer und ein Cross-Attention-Network nutzt. In einigen Fällen lernt das neuronale Netzwerk 230, wie es einen bestehenden Szenengraphen aktualisieren soll, wenn ein Nutzer neue Befehle (nämlich Befehle in natürlicher Sprache) gibt. Bei einer Ausführungsform beruht das neuronale Netzwerk 230 auf einem graphbasierten Sparse-Transformer und einer Cross-Attention-Informationsverschmelzung.
  • Entsprechend einigen Ausführungsformen generiert der Graphgenerator 235 die strukturierte Darstellung. Bei einigen Beispielen ist der Graphgenerator 235 dafür konfiguriert, die strukturierte Darstellung auf Grundlage der Eingabe eines Ausdrucks in natürlicher Sprache zu generieren. Die strukturierte Darstellung beinhaltet einen Satz von Knoten und wenigstens eine Kante, die zwei der Knoten verbindet. Der Ausdruck in natürlicher Sprache wird aus einer Suchanfrage, die von einem Nutzer eingegeben wird, erstellt. Der Graphgenerator 235 kann beispielsweise einen betroffenen Ausdruck als Eingabe empfangen und einen Parsing-Baum generieren, der auf die hierarchische Graphstruktur „Subjekt, Prädikat, Objekt“ (<S, P, O>) abgebildet wird.
  • Bei einigen Ausführungsformen generiert der Graphgenerator 235 die strukturierte Darstellung unter Nutzung eines Parsing- bzw. Zerlegeprozesses, der ein „Label-Attention-Modell“ einbezieht, bei dem Attention-Heads des Graphgeneratornetzwerkes Labeln entsprechen, die für zuzuweisende verschiedene syntaktischen Kategorien benutzt werden. Bei einer Ausführungsform ist ein Attention-Head für jedes Label vorhanden. Ein Label-Attention-Head, der beispielsweise bestimmt, ob ein Wort der Kategorie „nominale Wendung“ entspricht, konzentriert sich beispielsweise auf andere Teile eines eingegebenen Ausdrucks als ein Label-Attention-Head, der bestimmt, ob das Wort der Kategorie „verbale Wendung“ entspricht.
  • Bei einigen Ausführungsformen setzt der Graphgenerator 235 Objektontologien ein, um Bildobjekte zu verstehen (dass ein „Wanderer“ beispielsweise eine Art von „Person“ ist) und um Objektattribute zu detektieren und zu klassifizieren (dass „Sonnenbräune“ beispielsweise eine Farbe ist oder „hölzern“ ein Material beschreibt). Um die Genauigkeit der Abbildungen zwischen Sprachobjekten und Sichtlabeln zu verbessern, setzen einige Ausführungsformen eine Grounding-Ontologie ein, die eine konsistente semantische Abbildung zwischen Sprachobjekten und Sichtlabeln sicherstellt.
  • Entsprechend einigen Ausführungsformen führt die Suchkomponente 240 eine Suche auf Grundlage der abgewandelten strukturierten Darstellung durch. Bei einigen Beispielen ruft die Suchkomponente 240 einen Satz von Bildern entsprechend der abgewandelten strukturierten Darstellung auf Grundlage der Suche ab. Die Suchkomponente 240 kann dafür konfiguriert sein, eine Suche auf Grundlage einer abgewandelten strukturierten Darstellung, die den Satz von Knoten und den Satz von Kanten umfasst, durchzuführen.
  • 3 zeigt ein Beispiel für ein neuronales Netzwerk 310 zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Source-Graphen 300, eine Abwandlungsanfrage 305, ein neuronales Netzwerk 310, eine Knotenliste 340 und einen Target-Graphen 345.
  • Der Source-Graph 300 ist ein Beispiel für das entsprechende Element, das anhand 4 beschrieben wird, oder beinhaltet Aspekte desselben. In einigen Fällen ist der Source-Graph 300 ein Szenengraph (das heißt semantische Darstellungen eines Bildes). Der Source-Graph 300 ist ein semantischer Formalismus, der das gewünschte Bild als Graphen von Objekten mit Beziehungen und Attributen darstellt. In einigen Fällen wird ein Parser benutzt, um einen Satz in eine Liste von Objekten zu parsen bzw. zu zerlegen, wobei die Objekte und deren zugeordnete Attribute und Beziehungen eine Gruppe von Tripeln bilden. Ein Graphgenerator ist dafür konfiguriert, die strukturierte Darstellung zu generieren, wobei die strukturierte Darstellung einen Satz von Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, beinhaltet. Der Source-Graph 300 beinhaltet beispielsweise vier Objekte (nämlich Bild, Kopierraum, Teetasse und Tisch). Die Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, in diesem Fall (Bild, mit, Kopierraum), (Bild, von, Teetasse) und (Teetasse, Attribut, Tisch).
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung konstruiert das neuronale Netzwerk 310, wenn ein Szenengraph
    Figure DE102021004562A1_0001
    gegeben ist, ein Tripel (x,y,z), wobei x der Source-Graph ist, y die Abwandlungsanfrage 305 angibt und z den Target-Graph darstellt.
  • Die Abwandlungsanfrage 305 ist ein Beispiel für das entsprechende Element, das anhand 4 beschrieben wird, oder beinhaltet Aspekte desselben. Die Abwandlungsanfrage 305 stellt einen Ausdruck für die Suchanfrage, die von dem Nutzer eingegeben wird, dar, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache beinhaltet. Die Abwandlungsanfrage 305 erstellt eine Beziehung zwischen zwei Objekten oder wandelt diese ab. Die Abwandlungsanfrage 305 ist beispielsweise „Entferne den Tisch“. Bei einem anderen Beispiel ist die Abwandlungsanfrage 305 „Zeig mir die Männer mit den Jacken“. Der Abwandlungsausdruck erstellt eine Beziehung zwischen zwei Objekten (das heißt Männer, Jacken) oder wandelt diese ab.
  • Bei einer Ausführungsform der vorliegenden Offenbarung beinhaltet das neuronale Netzwerk 310 einen Graphencoder 315, einen Textencoder 320, ein merkmalsverschmelzendes Netzwerk 325, einen Kantendecoder 330 und einen Knotendecoder 335. Das neuronale Netzwerk 310 ist ein Beispiel für das entsprechende Element, das anhand 2 beschrieben wird, oder beinhaltet Aspekte desselben. Eine Encoder-Decoder-Architektur wird zur konditionalen Abwandlung von Graphen benutzt. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beruht der Graphencoder 315 auf einer Cross-Attention-Architektur von Modellen der maschinellen Übersetzung. Zusätzlich stellt eine Ausführungsform einen graphkonditionierten Sparse-Transformer bereit, bei dem die Beziehungsinformation direkt in das Self-Attention-Gitter eingebettet ist.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhaltet die Encoder-Decoder-Architektur den Graphencoder 315 (das heißt den graphkonditionierten Sparsely-Connected-Transformer), ein früh merkmalsverschmelzendes Modell und ein spät merkmalsverschmelzendes Modell zum Kombinieren von Information aus einem Eingabetext (beispielsweise der Abwandlungsanfrage 305) und einem Source-Graph 300.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung nimmt die Aufgabe einen Source-Graphen und eine Abwandlungsanfrage als Eingaben, und das neuronale Netzwerk 310 beinhaltet zwei Encoder zum getrennten Modellieren des Source-Graphen und der Textinformation (das heißt des Ausdrucks in natürlicher Sprache). Der Source-Graph und die Textabwandlungsanfrage werden in einer gemeinsamen Darstellung codiert, und das neuronale Netzwerk 310 generiert sodann einen Target-Graph während eines zweistufigen Vorganges. Die Target-Knoten werden über ein RNN auf Knotenebene generiert. Sodann setzt das neuronale Netzwerk 310 ein weiteres RNN ein, um die Target-Kanten über die Knoten zu erzeugen.
  • Bei Decodern (das heißt dem Kantendecoder 330 und dem Knotendecoder 335) wird die Aufgabe des Graphabwandelns als Aufgabe des Sequenzgenerierens behandelt. Um das gemeinsame Nutzen bzw. Teilen von Information zwischen einem Eingabegraphen und einer Abwandlungsanfrage zu unterstützen, werden Techniken wie das späte Merkmalsverschmelzen durch Gating und das frühe Merkmalsverschmelzen durch Cross-Attention benutzt.
  • Entsprechend einigen Ausführungsformen kann der Graphencoder 315 dafür konfiguriert sein, Merkmale der strukturierten Darstellung auf Grundlage einer strukturierten Darstellung zu generieren. Bei einigen Beispielen beinhaltet der Graphencoder 315 ein Sparsely-Connected-Transformernetzwerk. Der Graphencoder 315 generiert Merkmale der strukturierten Darstellung für die sourceseitige struktierte Darstellung. In einigen Fällen werden faltungstechnische Graphnetzwerke (Graph Convolutional Networks GCNs) und ein Graphtransformer als Graphencoder 315 zur Überführung eines Graphen in eine Sequenz bei der semantikbasierten Textgenerierung benutzt. Der Graphencoder 315 ist ein Beispiel für das entsprechende Element, das anhand 4 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Die Transformer-Architektur hängt von einem Gitter der vollständig verbundenen Self-Attention ab, um die kontextualisierten Darstellungen aus einer Sequenz von Elementen zu erhalten. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein graphkonditionierter Sparsely-Connected-Transformer benutzt, um Information aus dem Source-Graph 300 zu codieren.
  • Entsprechend einigen Ausführungsformen generiert der Textencoder 320 Merkmale des Ausdrucks in natürlicher Sprache auf Grundlage des Abwandlungsausdrucks. Bei einigen Ausführungsformen beinhaltet der Textencoder 320 ein Transformernetzwerk. Der Abwandlungsausdruck ist beispielsweise „Entferne den Tisch“. Der Textencoder 320 generiert Merkmale des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck. Der Textencoder 320 ist ein Beispiel für das entsprechende Element, das anhand 4 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein Standardtransformerencoder benutzt, um die Abwandlungsanfrage 305 zu codieren. Bei einer anderen Ausführungsform werden die Parameter des Graphencoders 315 und des Textencoders 320 gemeinsam benutzt bzw. geteilt, um die semantische Ausrichtung zu unterstützen.
  • Entsprechend einigen Ausführungsformen kombiniert das merkmalsverschmelzende Netzwerk 325 die Merkmale der strukturierten Darstellung und die Merkmale des Ausdrucks in natürlicher Sprache, um einen Satz von kombinierten Merkmalen zu bilden. Bei einigen Beispielen beinhaltet das merkmalsverschmelzende Netzwerk 325 einen Phasen-Gating-Mechanismus. Bei einigen anderen Beispielen beinhaltet das merkmalsverschmelzende Netzwerk 325 ein Cross-Attention-Netzwerk.
  • Entsprechend einigen Ausführungsformen kombiniert das merkmalsverschmelzende Netzwerk 325 die Merkmale der strukturierten Darstellung und die Merkmale des Ausdrucks in natürlicher Sprache zum Erzeugen von kombinierten Merkmalen. Das merkmalsverschmelzende Netzwerk 325 ist ein Beispiel für das entsprechende Element, das anhand 4 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einigen Ausführungsformen der vorliegenden Offenbarung sind zwei Informationsquellen vorhanden, die einen separaten Encoder für jede der zwei Quellen benötigen. Eine Art besteht im Einbeziehen von zwei Informationsquellen durch Verkettung, um eine verkettete Darstellung zu erzeugen.
  • Um die Fähigkeit des Modells, Information der Encoder zu kombinieren, zur besseren Nutzung zu vergrößern, wird hier ein parametrischer Lösungsansatz mit Gating-Mechanismus angewendet. Durch den Gating-Mechanismus kann das neuronale Netzwerk 310 nützliche Information aus dem Graphen auf Grundlage der Abwandlungsanfrage 305 und umgekehrt filtern. Um eine tiefere Interaktion zwischen dem Graphencoder und dem Textencoder zu verwirklichen, wird bei einer Ausführungsform der vorliegenden Offenbarung ein Verschmelzen von Merkmalen in einer frühen Phase vorgenommen, bevor der kontextualisierte Knoten und Tokendarstellungen gelernt werden. Dies wird durch eine Technik der frühen Verschmelzung, so beispielsweise Cross-Attention, erreicht.
  • Entsprechend einigen Ausführungsformen generiert der Kantendecoder 330 einen Satz von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten, wobei die abgewandelte strukturierte Darstellung den Satz von Knoten und den Satz von Kanten beinhaltet. Bei einigen Beispielen beinhaltet der Kantendecoder 330 einen Adjazenzmatrixdecoder. Bei einigen anderen Beispielen beinhaltet der Kantendecoder 330 einen Flat-Edge-Level-Decoder. Der Kantendecoder 330 ist ein Beispiel für das entsprechende Element, das anhand 5 und 6 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einigen Ausführungsformen generiert der Knotendecoder 335 einen Satz von Knoten auf Grundlage der kombinierten Merkmale. Bei einigen Beispielen beinhaltet der Knotendecoder 335 ein RNN. GRU-Zellen (Gated Recurrent Unit GRU, mit Gate versehene, rekurrente Einheit) werden für den RNN-Knotendecoder 335 benutzt. Bei einem Beispiel beinhaltet der Knotendecoder 335 ein grundlegendes autoregressives Modell.
  • Entsprechend einer Ausführungsform wird die Knotenliste 340 aus dem Knotendecoder 335 erzeugt. Die Knotenliste 340 beinhaltet drei Knoten, nämlich Bild, Teetasse und Kopierraum.
  • Der Target-Graph 345 ist ein Beispiel für das entsprechende Element, das anhand 8 bis 11 beschrieben wird, oder beinhaltet Aspekte desselben. Der Target-Graph 345 ist ein Szenengraph (das heißt semantische Darstellungen eines Bildes). Der Target-Graph 345 ist ein semantischer Formalismus, der das gewünschte Bild als Graphen von Objekten mit Beziehungen und Attributen darstellt. In einigen Fällen wird ein Parser benutzt, um einen Satz in eine Liste von Objekten zu parsen bzw. zu zerlegen, wobei die Objekte und deren zugeordnete Attribute und Beziehungen eine Gruppe von Tripeln bilden. Ein Graphgenerator ist dafür konfiguriert, die strukturierte Darstellung zu generieren, wobei die strukturierte Darstellung einen Satz von Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, beinhaltet. Der Target-Graph 345 beinhaltet beispielsweise drei Objekte (nämlich Bild, Teetasse und Kopierraum). Die Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, in diesem Fall (Bild, mit, Kopierraum) und (Bild, von, Teetasse). Das vorherige Tripel (Teetasse, Attribut, Tisch) wird infolge der Abwandlungsanfrage 305 (das heißt „Entferne den Tisch“) entfernt.
  • 4 zeigt ein Beispiel für eine Cross-Attention-Verschmelzung entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Source-Graphen 400, eine Abwandlungsanfrage 405, einen Graphencoder 410, einen Textencoder 415 und ein merkmalsverschmelzendes Netzwerk 420. Das merkmalsverschmelzende Netzwerk 420 beinhaltet des Weiteren eine Graph-Attention 425, eine Cross-Attention 430 und eine Text-Attention 435 sowie eine gemeinsame Einbettung 440.
  • Der Source-Graph 400 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben. Der Source-Graph 400 ist ein Szenengraph, der einen Satz von Knoten und einen Satz von Kanten beinhaltet. In einigen Fällen ist der Source-Graph 400 eine strukturierte Darstellung einer Suchanfrage von dem Nutzer. Der Satz von Knoten stellt Objekte dar, während der Satz von Kanten eine Beziehung oder Attribute zwischen jeweiligen Knoten darstellt.
  • Die Abwandlungsanfrage 405 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Der Graphencoder 410 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein graphkonditionierter Sparsely-Connected-Transformer benutzt, um die Information aus einem Graph zu codieren. Die Transformer-Architektur hängt von einem Gitter aus vollständig verbundener Self-Attention ab, um die kontextualisierten Darstellungen aus einer Sequenz von Elementen zu erhalten. Hier dargestellt ist die Architektur des Graphencoders 410 mit dem Sparsely-Connected-Transformer.
  • Im Vergleich zu Text in natürlicher Sprache sind Graphen strukturierte Daten, die Komponenten, Knoten und Kanten beinhalten. Um einen Graph effizient zu codieren, codiert eine Ausführungsform der vorliegenden Offenbarung die Information nicht nur aus diesen konstituierenden Komponenten, sondern auch aus deren Interaktionen (das heißt der Knoten-Kante-Zuordnung und der Konnektivität). Daher bezieht der Graphencoder 410 Information aus allen Kanten in die Knoten, von denen diese Kanten ausgehen, ein. Die kantenbewusste Knoteneinbettung xi kann aus der Liste von Knoten und Kanten des Source-Graphen folgendermaßen ermittelt werden: x i = T N [ x i ] + j J ( i ) T ε [ x i j ]
    Figure DE102021004562A1_0002
  • Hierbei sind TN und T die Einbettungstabellen für Knoten- beziehungsweise Kantenlabel, während J(i) der Satz von Knoten ist, die mit dem i-ten Knoten in dem Graph (sowohl eingehend wie auch ausgehend) verbunden sind.
  • Nach dem Erhalt der kantenbewussten Knoteneinbettungen nutzt der Graphencoder 410 den Sparsely-Connected-Transformer, um die kontextualisierten Einbettungen des Gesamtgraphen zu lernen. Gegebenenfalls bezieht der Sparsely-Connected-Transformer die Positionscodierung nicht in die Grapheingaben ein, da die Knoten nicht in einer vorbestimmten Sequenz vorliegen. Ist die Kanteninformation aus xε gegeben, so wird die Konnektivitätsinformation verstärkt, indem Knoten ausschließlich für den zugehörigen Nachbar erster Ordnung sichtbar gemacht werden. Das Attention-Gitter des Transformers wird mit A bezeichnet. Die nachfolgende Gleichung ist folgendermaßen definiert: A[xi,xj] = f(xi,xj), wenn xi,j ∈ xε ist, oder andernfalls gleich Null, wobei ƒ die Funktion des normierten inneren Produktes bezeichnet.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung stellt der Sparsely-Connected-Transformer die Graphknotendarstellungen, die durch die Graphstruktur konditioniert sind, unter Nutzung der Kantenlabel in den Eingabeeinbettungen und der dünnbesiedelten Schichten bei Self-Attention bereit. Die Knotendarstellungen in der Ausgabe des Sparsely-Connected-Transformers werden mit [ m x 1 , , m x | x N | ]
    Figure DE102021004562A1_0003
    bezeichnet.
  • Der Textencoder 415 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein Standardtransformerencoder benutzt, um die Abwandlungsanfrage y = (y1,..,y|y|) in [my1 ,...,my|y| ] zu codieren. Um die semantische Ausrichtung zu unterstützen, werden die Parameter des Graphencoders 410 und des Textencoders 415 gemeinsam benutzt bzw. geteilt.
  • Das merkmalsverschmelzende Netzwerk 420 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben. Entsprechend einigen Ausführungsformen sind zwei Informationsquellen vorhanden, die einen separaten Encoder für jede der zwei Informationsquellen benötigen. Eine Art besteht im Einbeziehen von zwei Informationsquellen durch Verkettung. Die kombinierte Darstellung lautet folgendermaßen: m = [ m x 1 , , m x | x N | , m y 1 , , m y | y | ]
    Figure DE102021004562A1_0004
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung ist die Decoderkomponente für die Informationskommunikation zwischen den beiden Encodern durch deren wechselseitige Verbindungen verantwortlich.
  • Einige Ausführungsformen bedienen sich einer Technik, die als späte Verschmelzung mittels Gating (late fusion via gating) bezeichnet wird. Um die Fähigkeit des Modells, die Information der Encoder zu kombinieren, zur besseren Nutzung zu vergrößern, wird hier ein parametrischer Lösungsansatz mit Gating-Mechanismus angewendet. Durch den Gating-Mechanismus kann das neuronale Netzwerk nützliche Information aus dem Graph auf Grundlage der Abwandlungsanfrage 405 und umgekehrt filtern.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird das spezielle Token [CLS] zu dem Graph vor dem Anfragesatz hinzugefügt. Die Darstellung dieses speziellen Tokens in den Encodern berücksichtigt das holistische Verständnis, das für den Graph und die Abwandlungsanfrage mit m x G
    Figure DE102021004562A1_0005
    beziehungsweise my bezeichnet wird. Das neuronale Netzwerk nutzt diese Vektoren der holistischen Bedeutung zum Filtern nützlicher Information aus den Darstellungen der Graphknoten mxi und der Abwandlungsanfragetokens myj folgendermaßen: g x i = σ ( MLP ( m x i , m y ) )
    Figure DE102021004562A1_0006
    m x i ' = g x i m x i
    Figure DE102021004562A1_0007
    g y j = σ ( MLP ( m y j , m x G ) )
    Figure DE102021004562A1_0008
    m y j ' = g y j m y j
    Figure DE102021004562A1_0009
  • Hierbei ist MLP ein Multilayer-Perzeption, ⊙ bezeichnet die elementweise vorgenommene Multiplikation, und σ ist die elementweise wirkende Sigmoid-Funktion, die zum Konstruieren der Gates gxi und gyj benutzt wird. Der aktualisierte Knoten m x i '
    Figure DE102021004562A1_0010
    und das Token m y j '
    Figure DE102021004562A1_0011
    werden in der gemeinsamen Encoder-Darstellung von Gleichung 2 benutzt.
  • Dieser Gating-Mechanismus wird als späte Verschmelzung (late fusion) bezeichnet, da er gegebenenfalls nicht zulässt, dass Information aus dem Graph und Text in ihren jeweiligen Encodern auf niedriger Ebene interagieren. Die Verschmelzung erfolgt beispielsweise, nachdem die kontextualisierte Information bereits gelernt worden ist.
  • Einige Ausführungsformen setzen zudem eine Technik ein, die als frühe Verschmelzung mittels Cross-Attention (early fusion via cross-attention) bezeichnet wird. Um eine tiefere Interaktion zwischen dem Graphencoder 410 und dem Textencoder 415 zu ermöglichen, setzt eine Ausführungsform das Verschmelzen von Merkmalen in einer frühen Phase ein, bevor der kontextualisierte Knoten mxi und die Darstellungen des Tokens myj gelernt werden. Dies wird mittels Cross-Attention, einer Technik der frühen Verschmelzung, erreicht.
  • Entsprechend einer Ausführungsform werden die Parameter der Graph- und Anfrageencoder gemeinsam benutzt bzw. geteilt, um ein Codieren der beiden Quellen im gleichen semantischen Raum zu ermöglichen. Das neuronale Netzwerk nutzt beispielsweise denselben Transformerencoder für beide Quellen. Bei Cross-Attention verkettet das merkmalsverschmelzende Netzwerk 420 x (aus Gleichung 1) und y vor dem Transformerencoder. Als solches ist die Eingabe des Encoders gleich [x,y]. Bei dem Transformer wird die Darstellung eines jeden Anfragetokens mittels Self-Attending an den Darstellungen aller Anfragetokens und Graphknoten in der vorherigen Schicht aktualisiert. Die Darstellung eines jeden Graphknotens wird indes mittels Self-Attending nur an dessen Graphnachbarn entsprechend den Verbindungen des Sparsely-Connected-Transformers wie auch allen Anfragetokens aktualisiert. Die endgültige Darstellung m wird aus der Ausgabe des Transformers genommen.
  • 5 zeigt ein Beispiel für einen Kantendecoder 500 vom Adjazenzmatrixtyp entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Kantendecoder 500 und einen Graph 510. Der Source-Graph und die Textanfrage (das heißt die Abwandlungsanfrage) werden in einer gemeinsamen Darstellung codiert, und sodann wird ein Target-Graph in zwei Phasen generiert. Die Target-Knoten werden mittels eines RNN auf Knotenebene generiert. Sodann setzt das Modell ein weiteres RNN ein, um die Target-Kanten über den Knoten zu erzeugen.
  • In einigen Fällen werden GRU-Zellen für die RNN-Decoder benutzt. Der Knotendecoder beinhaltet ein grundlegendes autoregressives Modell: h t N = GRU N ( z t 1 , h t 1 N )
    Figure DE102021004562A1_0012
    c t N = ATTN N ( h t N , m )
    Figure DE102021004562A1_0013
    p ( z t | z < t , x G , y ) = softmax ( W [ h t N , c t N ] + b )
    Figure DE102021004562A1_0014
  • Hierbei bezeichnet z<t die Knoten, die vor dem Zeitschritt t generiert werden, ATTNN ist eine Attention vom Luong-Typ, und m bezeichnet die Speichervektoren aus der Informationsverschmelzung der Encoder.
  • Der Kantendecoder 500 ist ein Beispiel für das entsprechende Element, das anhand 3 und 6 beschrieben wird, oder beinhaltet Aspekte desselben. Bei einer Ausführungsform beinhaltet der Kantendecoder 500 ein Decoderelement 505. Das Decoderelement 505 ist ein Beispiel für das entsprechende Element, das anhand 6 beschrieben wird, oder beinhaltet Aspekte desselben. Bei einer Ausführungsform beinhaltet der Graph 510 einen Knoten 515 und eine Kante 520.
  • Der Kantendecoder beinhaltet einen Kantendecoder 500 vom Adjazenzmatrixtyp. Die Reihen oder Spalten der Adjazenzmatrix werden durch die Knoten in derjenigen Reihenfolge gelabelt, in der sie von dem Decoder auf Knotenebene generiert worden sind. Der Kantendecoder 500 vom Adjazenzmatrixtyp beinhaltet für jede Reihe einen autoregressiven Decoder, der das Label einer jeden Kante an andere Knoten aus dem Kantenvokabular ausgibt, darunter ein spezielles Token [NULL], das zeigt, dass eine Kante nicht vorhanden ist. Der untere Dreiecksteil der Matrix ist für den Kantendecoder 500 vom Adjazenzmatrixtyp wichtig, da der Knotendecoder die Knoten auf topologisch sortierte Art generiert. Der gestrichelte obere Dreiecksteil der Adjazenzmatrix wird ausschließlich zur Parallelberechnung benutzt und vernachlässigt.
  • Ein Attention-Decoder, der GRU-Einheiten beinhaltet, wird zum Generieren von Kanten benutzt. Er arbeitet auf ähnliche Weise wie der Decoder auf Knotenebene, wie in Gleichungen 8 und 9 gezeigt ist. Für ein genaueres Generieren einer eingegebenen (typed) Kante werden indes die verborgenen Zustände der Source- und Target-Knoten (aus dem Knotendecoder) als Eingaben einbezogen, wenn der verborgene Zustand des Kantendecoders aktualisiert wird: h i , j ε = GRU ε ( z i , j 1 , h i N , h j N , h i , j 1 ε )
    Figure DE102021004562A1_0015
  • Hierbei ist h i , j ε
    Figure DE102021004562A1_0016
    der verborgene Zustand des Kantendecoders für Reihe i und Spalte j, während zi,j-1 das Label der vorher generierten Kante aus Knoten i bis j - 1 ist.
  • Die Nutzung eines Kantendecoders 500 vom Adjazenzmatrixtyp kann einige Folgen beim Generieren von Kanten haben. Zunächst bedingen die Dummy-Kanten in der Adjazenzmatrix eine Verschwendung von Rechenleistung. Zweitens sind die Kanten, die durch die vorherigen Reihen generiert werden, nicht konditioniert, wenn die Kanten in der nächsten Reihe generiert werden. Gleichwohl ist die Nutzung der Information über die ausgehenden Kanten der vorherigen Knoten von Nutzen, um die Genauigkeit beim Generieren der ausgehenden Kanten des nächsten Knotens zu erhöhen.
  • 6 zeigt ein Beispiel für einen Flat-Edge-Level-Decoder entsprechend Aspekten der vorliegenden Offenbarung. Der Kantendecoder 600 ist ein Beispiel für das entsprechende Element, das anhand 3 und 5 beschrieben wird, oder beinhaltet Aspekte desselben. Bei einer Ausführungsform beinhaltet der Kantendecoder 600 ein Decoderelement 605. Das Decoderelement 605 ist ein Beispiel für das entsprechende Element, das anhand 5 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein Flat-Edge-Level-Decoder 600 benutzt, um das untere Dreieck der Adjazenzmatrix, wie in 5 dargestellt ist, abzuflachen. Die Dummy-Kanten werden entfernt, und die Reihen der unteren Dreiecksmatrix werden verkettet, um eine Sequenz von Paaren von Knoten zu bilden, für die Kanten zwischen jeweiligen Knoten generiert werden. Das Verfahren zur Kantengenerierung nutzt Information über alle vorher generierten Kanten, wenn eine neue Kante generiert wird.
  • 7 zeigt ein Beispiel für einen Szenengraph entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen ersten Knoten 700, einen zweiten Knoten 705, einen dritten Knoten 710, einen vierten Knoten 715, eine erste Kante 720, eine zweite Kante 725 und eine dritte Kante 730.
  • Szenengraphen können als semantische Darstellungen von Bildern bezeichnet werden. Ein Szenengraph ist ein semantischer Formalismus, der das gewünschte Bild als Graphen von Objekten mit Beziehungen und Attributen darstellt. Die semantische Darstellung wird in Abrufsystemen angepasst. In einigen Fällen wird ein Parser benutzt, um einen Satz in eine Liste von Objekten, so beispielsweise „Bub“ und „Hemd“, zu parsen bzw. zu zerlegen. Diese Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, so beispielsweise (Bub, in, Hemd), (Bub, Attribut, jung) und (Hemd, Attribut, schwarz). Der Graphgenerator kann einen betroffenen Ausdruck als Eingabe empfangen und einen Parsing-Baum generieren, der auf eine hierarchische Graphstruktur mit Subjekt, Prädikat, Objekt (<S, P, O>) abgebildet wird. Auf Grundlage eines anfänglichen Szenengraphen und einer neuen Anfrage von dem Nutzer generiert das neuronale Netzwerk einen abgewandelten Szenengraph auf Grundlage eines bestehenden Szenengraphen und einer Abwandlungsanfrage.
  • Bei einigen Ausführungsformen generiert der Graphgenerator die strukturierte Darstellung unter Nutzung eines Parsing- bzw. Zerlegeprozesses, der ein „Label-Attention-Modell“ einbezieht, bei dem Attention-Heads des Graphgeneratornetzwerkes Labeln entsprechen, die für zuzuweisende verschiedene syntaktische Kategorien benutzt werden. Bei einer Ausführungsform ist nur ein Attention-Head für jedes Label vorhanden. Daher konzentriert sich beispielsweise ein Label-Attention-Head, der bestimmt, ob ein Wort der Kategorie „nominale Wendung“ entspricht, auf andere Teile eines Eingabeausdrucks als ein Label-Attention-Head, der bestimmt, ob das Wort der Kategorie „verbale Wendung“ entspricht.
  • Bei einigen Ausführungsformen setzt der Graphgenerator Objektontologien ein, um Bildobjekte zu verstehen (dass beispielsweise ein „Wanderer“ eine Art von „Person“ ist) und Objektattribute zu detektieren und zu klassifizieren (dass beispielsweise „Sonnenbräune“ eine Farbe ist oder „hölzern“ ein Material beschreibt). Um die Genauigkeit der Abbildungen zwischen Sprachobjekten und Sichtlabeln zu verbessern, setzen einige Ausführungsformen eine Grounding-Ontologie ein, die eine konsistente semantische Abbildung zwischen Sprachobjekten und Sichtlabeln sicherstellt.
  • 8 zeigt ein Beispiel für einen Einfügeprozess entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Source-Graphen 800, eine Abwandlungsanfrage 805 und einen Target-Graphen 810. Der Source-Graph 800 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Die Abwandlungsanfrage 805 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Der Target-Graph 810 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Eine Ausführungsform der vorliegenden Offenbarung beinhaltet Schritte zum Erstellen von Daten bei einer MGM-Aufgabe (Multi-Operation Graph Modification MGM, Abwandlung von Graphen durch mehrere Vorgänge). Es wird davon ausgegangen, dass MGM von wenigstens einem Vorgang an dem Source-Graph abhängt. Die Schritte beinhalten das Nutzen von vier Handlungen (Beenden (Terminate), Einfügen (Ins), Löschen (Del), Ersetzen (Sub)), die mit einem heuristischen Algorithmus gepaart werden, um Vorgänge an dem abgewandelten Graphen durchzuführen. Das Modell tastet eine Handlung ab, und die Handlung wird an dem letzten abgewandelten Graphen ausgeführt, bis „Beenden“ (Terminate) abgetastet wird oder die verfügbaren Knoten ausgeschöpft sind. In einigen Fällen kann ein großer Graph mehr Abwandlungen unterstützen, während ein kleinerer Graph weniger Freiheit bietet. Zusätzlich werden bei einer Ausführungsform die abgewandelten Knoten nicht mehr als einmal geändert. Daher kann die Wahrscheinlichkeit für ein „Beenden“ (Terminate) zunehmen, wenn die Bearbeitungssequenz länger wird, wohingegen die Wahrscheinlichkeiten für andere Handlungen abnehmen können. Der heuristische Algorithmus ist nachstehend als Algorithmus 1 dargestellt, der einen Datensatz mit verschiedenen Längen der Bearbeitungssequenz bereitstellt.
    Figure DE102021004562A1_0017
  • Entsprechend einer Ausführungsform beinhaltet ein Szenengraph semantische Darstellungen eines Bildes. In einigen Fällen wird ein Parser benutzt, um einen Satz (das heißt eine Suchanfrage) in eine Liste von Objekten (beispielsweise „Bub“, „Hemd“) zu parsen bzw. zu zerlegen. Diese Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein Tripel (x, y, z), wenn ein Szenengraph
    Figure DE102021004562A1_0018
    gegeben ist, konstruiert, wobei x der Source-Graph ist, y die Abwandlungsanfrage ist und z den Target-Graph darstellt. Eine Ausführungsform der vorliegenden Offenbarung wählt eine Handlung α aus dem Satz von möglichen Graphabwandlungsvorgängen A = {Einfügen, Löschen, Ersetzen} gleichmäßig bzw. einheitlich aus und wendet sie an. Die Handlungen (beispielsweise Löschen, Einfügen und Ersetzen) werden bei dem Source-Graph auf Grundlage des Suchteintrages des Nutzers oder der Abwandlungsanfrage angewendet.
  • Entsprechend einer Ausführungsform beinhalten die Handlungen einen Einfügebefehl. Das Einfügen kann als Umkehrung des Löschvorganges behandelt werden. Eine Ausführungsform erzeugt den Source-Graphen x über einen „Löschvorgang“ an
    Figure DE102021004562A1_0019
    , wobei der Target-Graph z auf
    Figure DE102021004562A1_0020
    gesetzt wird. Ähnlich zu dem Löschoperator bzw. Löschvorgang wird die Einfügeanfrage (also ein Beispiel für eine Abwandlungsanfrage) y entweder durch (menschliche) Mitarbeiter einer Crowdsourcing-Anwendung (beispielsweise Mechanical Turk) oder durch Schablonen bzw. Vorlagen generiert. In den meisten Fällen wird die Crowdsourcing-Anwendung benutzt, um Trainingsdaten zu erhalten, um wiederum das neuronale Netzwerk darauf zu trainieren, einen bestehenden Szenengraphen auf Grundlage der Abwandlungsanfrage abzuwandeln. Der Source-Graph 800 beinhaltet beispielsweise einen Knoten (nämlich Männer). Die Abwandlungsanfrage 805 beinhaltet den Ausdruck in natürlicher Sprache „Zeig mir die Männer mit den Jacken“. Der Target-Graph 810 weist zwei Knoten auf, die durch eine Kante verbunden sind. Die beiden Knoten beinhalten Männer und Jacken, die dem Einfügebefehl aus der Abwandlungsanfrage 805 entsprechen.
  • 9 zeigt ein Beispiel für einen Löschprozess entsprechend Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel beinhaltet einen Source-Graphen 900, eine Abwandlungsanfrage 905 und einen Target-Graphen 910.
  • Der Source-Graph 900 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Die Abwandlungsanfrage 905 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Der Target-Graph 910 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhalten Handlungen einen Löschvorgang. Ein Knoten wird beliebig aus
    Figure DE102021004562A1_0021
    (das den Source-Graphen x bezeichnet) ausgewählt, und das System entfernt diesen Knoten und dessen zugeordnete Kanten. Die verbleibenden Knoten und Kanten werden als Target-Graph z bezeichnet. Die Abwandlungsanfrage y wird aus einer beliebig ausgewählten Löschschablone bzw. Löschvorlage oder von (menschlichen) Mitarbeitern einer Crowdsourcing-Anwendung generiert. Der Source-Graph 900 weist beispielsweise drei Knoten (das heißt Objekte) und zwei Kanten (das heißt Attribute) auf. Die Knoten sind „jung“, „Mann“ und „Hut“. Die Kanten beinhalten „tragen“. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden die Gruppe von Tripeln (Mann, Attribut, jung) und (Mann, tragen, Hut). Der Source-Graph 900 ist ein Szenengraph, der eine semantische Darstellung der Suchanfrage „ein junger Mann, der einen Hut trägt“ ist. Die Abwandlungsanfrage 905 beinhaltet den Ausdruck in natürlicher Sprache „Nimm seinen Hut weg“. Der Target-Graph 910 beinhaltet zwei Knoten und eine Kante. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden das Tripel (Mann, Attribut, jung). In einigen Fällen beruhen die Schablonen bzw. Vorlagen auf einem Datensatz (beispielsweise dem Datensatz „Edit me“) und einer Crowdsourcing-Anwendung (beispielsweise Mechanical Turk). Die Crowdsourcing-Anwendung wird dafür benutzt, Trainingsdaten zu erhalten, um das neuronale Netzwerk darauf zu trainieren, einen bestehenden Szenengraphen (beispielsweise den Source-Graphen 900) auf Grundlage der Abwandlungsanfrage 905 abzuwandeln.
  • 10 zeigt ein Beispiel für einen Objektersetzprozess entsprechend Aspekten der vorliegenden Offenbarung. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhalten die Handlungen einen Ersetzvorgang (das heißt eine Objektersetzung, eine Attributersetzung). Das gezeigte Beispiel beinhaltet einen Source-Graphen 1000, eine Abwandlungsanfrage 1005 und einen Target-Graph 1010. Der Source-Graph 1000 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Die Abwandlungsanfrage 1005 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Der Target-Graph 1010 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform wird ein beliebig ausgewählter Knoten aus dem Source-Graphen 1000 durch einen semantisch ähnlichen Knoten ersetzt, um den Target-Graphen zu erhalten. Zum Lokalisieren des neuen Knotens kann das Toolkit „AllenNLP“ benutzt werden, um eine Liste von Kandidatenworten auf Grundlage von deren Semantikähnlichkeitskennwerten zu dem alten Knoten zu erhalten. Der Source-Graph 1000 weist beispielsweise zwei Knoten (das heißt Objekte) und eine Kante (das heißt Attribute) auf. Die Knoten sind „klein“ und „Uhr“. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden das Tripel (klein, Attribut, Uhr). Der Source-Graph 1000 ist ein Szenengraph, der eine semantische Darstellung einer Suchanfrage (das heißt „kleine Uhr“) ist. Die Abwandlungsanfrage 1005 beinhaltet den Ausdruck in natürlicher Sprache „Zeige weitere Uhren“. Der Target-Graph 1010 weist zwei Knoten und eine Kante auf. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden ein Tripel (klein, Attribut, Uhren). Der Knoten, der „Uhr“ (also im Singular) darstellt, wird durch den neuen Knoten, der „Uhren“ (also im Plural) darstellt, ersetzt.
  • 11 zeigt ein Beispiel für einen Attributersetzprozess entsprechend Aspekten der vorliegenden Offenbarung. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhalten die Handlungen einen Ersetzvorgang (das heißt eine Objektersetzung, eine Attributersetzung). Das gezeigte Beispiel beinhaltet einen Source-Graphen 1100, eine Abwandlungsanfrage 1105 und einen Target-Graphen 1110. Der Source-Graph 1100 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Die Abwandlungsanfrage 1105 ist ein Beispiel für das entsprechende Element, das anhand 3 und 4 beschrieben wird, oder beinhaltet Aspekte desselben. Der Target-Graph 1110 ist ein Beispiel für das entsprechende Element, das anhand 3 beschrieben wird, oder beinhaltet Aspekte desselben.
  • Entsprechend einer Ausführungsform wird ein beliebig ausgewählter Knoten aus dem Source-Graphen 1100 durch einen semantisch ähnlichen Knoten ersetzt, um den Target-Graphen zu erhalten. Zum Lokalisieren des neuen Knotens kann das Toolkit „AllenNLP“ benutzt werden, um eine Liste von Kandidatenworten auf Grundlage von deren Semantikähnlichkeitskennwerten zu dem alten Knoten zu erhalten. Der Source-Graph 1100 weist beispielsweise zwei Knoten (das heißt Objekte) und eine Kante (das heißt Attribute) auf. Die Knoten sind „weiß“ und „Surfbrett“. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden das Tripel (Surfbrett, Attribut, weiß). Der Source-Graph 1100 ist ein Szenengraph, der eine semantische Darstellung der Suchanfrage „weißes Surfbrett“ ist. Die Abwandlungsanfrage 1105 beinhaltet den Ausdruck in natürlicher Sprache „Ich möchte ein rosa Surfbrett; es darf nicht weiß sein“. Der Target-Graph 1110 weist zwei Knoten und eine Kante auf. Die Objekte und deren zugeordnete Attribute und Beziehungen bilden das Tripel (rosa, Attribut, Surfbrett). Der Knoten, der „weiß“ darstellt, wird durch den neuen Knoten, der „rosa“ darstellt, ersetzt.
  • 12 zeigt ein Beispiel für einen Prozess zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung. Bei einigen Beispielen werden diese Vorgänge von einem System durchgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes ausführt, um funktionelle Elemente einer Einrichtung zu steuern bzw. zu regeln. Zusätzlich oder alternativ werden gewisse Prozesse unter Nutzung von Spezialzweckhardware durchgeführt. Allgemein werden diese Vorgänge entsprechend den Verfahren und Prozessen durchgeführt, die entsprechend Aspekten der vorliegenden Offenbarung beschrieben werden. In einigen Fällen setzen sich die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammen oder werden in Zusammenwirkung mit anderen Vorgängen durchgeführt.
  • Bei einem Vorgang 1200 empfängt das System eine strukturierte Darstellung einer Suchanfrage, wobei die strukturierte Darstellung einen Satz von Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, beinhaltet. Der Satz von Knoten stellt Objekte und Kanten zur Darstellung von zugeordneten Attributen und Beziehungen dar. Bei einem Beispiel ist die Suchanfrage „ein junger Bub in einem schwarzen Hemd“, die durch eine strukturierte Darstellung bezeichnet werden kann. Die strukturierte Darstellung beinhaltet vier Knoten und drei Kanten. Die Knoten stellen vier Objekte (nämlich „Bub“, „Hemd“, „jung“, „schwarz“) dar. Die Kanten beinhalten Attribute wie beispielsweise „in“ (das heißt, sie stellen eine Beziehung zwischen den zwei Objekten her). Diese Objekte und deren zugeordnete Attribute und Beziehungen bilden eine Gruppe von Tripeln, so beispielsweise (Bub, in, Hemd), (Bub, Attribut, jung) und (Hemd, Attribut, schwarz). In einigen Fällen betreffen die Vorgänge dieses Schrittes eine Eingabekomponente, wie sie anhand 2 beschrieben wird, oder können von dieser durchgeführt werden.
  • Bei einem Vorgang 1205 empfängt das System einen Abwandlungsausdruck für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache beinhaltet. Entsprechend einer Ausführungsform wird der Abwandlungsausdruck benutzt, um den Source-Graphen entsprechend einem Vorgang oder einer Handlung abzuwandeln. Bei einer Ausführungsform werden gleichmäßig bzw. einheitlich ein Auswählen und Anwenden einer Handlung α aus dem Satz von allen möglichen Graphabwandlungsvorgängen A = (EINFÜGEN, LÖSCHEN, ERSETZEN) vorgenommen. Die Handlungen (beispielsweise Löschen (Delete), Einfügen (Insert) und Ersetzen (Substitute)) werden bei dem Source-Graphen angewendet. In einigen Fällen betreffen die Vorgänge dieses Schrittes eine Eingabekomponente, wie sie anhand 2 beschrieben wird, oder können von dieser durchgeführt werden.
  • Entsprechend einer Ausführungsform wird die Abwandlungsanfrage aus einer beliebig ausgewählten Löschschablone bzw. Löschvorlage oder von (menschlichen) Mitarbeitern einer Crowdsourcing-Anwendung generiert. Der Source-Graph ist beispielsweise ein Szenengraph, der eine semantische Darstellung der Suchanfrage „ein junger Mann, der einen Hut trägt“ ist. Die Abwandlungsanfrage beinhaltet den Ausdruck in natürlicher Sprache „Nimm seinen Hut weg“.
  • Bei einem Vorgang 1210 generiert das System eine abgewandelte strukturierte Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache. In einigen Fällen betreffen die Vorgänge ein neuronales Netzwerk, wie es anhand 2 und 3 beschrieben wird, oder können von diesem durchgeführt werden.
  • Entsprechend einer Ausführungsform beinhaltet das neuronale Netzwerk eine Encoder-Decoder-Architektur mit einem Graphencoder, einem Textencoder, einem merkmalsverschmelzenden Netzwerk, einem Kantendecoder und einem Knotendecoder. Der Graphencoder beinhaltet einen graphkonditionierten Sparsely-Connected-Transformer. Der Graphencoder wird benutzt, um Merkmale der strukturierten Darstellung auf Grundlage der strukturierten Darstellung zu generieren. Der Textencoder wird benutzt, um Merkmale des Ausdrucks in natürlicher Sprache auf Grundlage des Abwandlungsausdrucks zu generieren. Bei einigen Ausführungsformen werden das früh merkmalsverschmelzende Modell und das spät merkmalsverschmelzende Modell benutzt, um Information aus einem Eingabetext (das heißt einer Abwandlungsanfrage) und einem Source-Graphen zu kombinieren. Bei einer Ausführungsform wird die Aufgabe als Aufgabe des konditionalen Generierens formuliert. Sind ein Source-Graph und eine Abwandlungsanfrage gegeben, so kann das neuronale Netzwerk einen Target-Graphen erzeugen, indem es eine konditionale Wahrscheinlichkeit maximiert.
  • Bei einem Vorgang 1215 führt das System eine Suche auf Grundlage der abgewandelten strukturierten Darstellung durch. Die Suche kann von einer Bildsuchengine aus einer Datenbank von Bildern durchgeführt werden. Ein Nutzer setzt die Bildsuchengine ein, um die Quelle eines Zielbildes nachzuverfolgen oder zusätzliche Bilder, die zu dem Zielbild ähnlich oder mit diesem verwandt sind, ausfindig zu machen. Der Nutzer wird aufgefordert, eine Suchanfrage in das Suchkästchen einzugeben und/oder Filter für eine weiter in die Tiefe gehende Suche zu nutzen. In einigen Fällen betreffen die Vorgänge dieses Schrittes eine Suchkomponente, wie sie anhand 2 beschrieben wird, oder können von dieser durchgeführt werden.
  • 13 zeigt ein Beispiel für einen Prozess zum Kombinieren von Graphmerkmalen und Textmerkmalen entsprechend Aspekten der vorliegenden Offenbarung. Bei einigen Beispielen werden diese Vorgänge von einem System durchgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes ausführt, um funktionelle Elemente einer Einrichtung zu steuern bzw. zu regeln. Zusätzlich oder alternativ werden gewisse Prozesse unter Nutzung von Spezialzweckhardware durchgeführt. Allgemein werden diese Vorgänge entsprechend Verfahren und Prozessen durchgeführt, die entsprechend Aspekten der vorliegenden Offenbarung beschrieben werden. In einigen Fällen setzen sich die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammen oder werden in Zusammenwirkung mit anderen Vorgängen durchgeführt.
  • Bei einem Vorgang 1300 generiert das System die Merkmale der strukturierten Darstellung auf Grundlage der strukturierten Darstellung unter Nutzung eines Graphencoders. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Graphencoder, wie er anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung nimmt ein Encoder-Decoder-Framework einen Source-Graphen und eine Abwandlungsanfrage als Eingaben derart, dass das Netzwerk-Framework einen Graphencoder und einen Textencoder zum Modellieren des Graphen bzw. der Textinformation beinhaltet. Das neuronale Netzwerk beinhaltet fünf Komponenten, nämlich den Graphencoder, den Textencoder, das merkmalsverschmelzende Netzwerk, den Kantendecoder und den Knotendecoder.
  • Es wird ein graphkonditionierter Sparsely-Connected-Transformer benutzt, um die Information aus einem Source-Graphen zu codieren. Der Source-Graph und die Abwandlungsanfrage werden in einer gemeinsamen Darstellung codiert. Im Vergleich zu Text in natürlicher Sprache sind Graphen strukturierte Daten, die Komponenten, Knoten und Kanten, beinhalten. Um einen Graphen effizient zu codieren, wird bei einer Ausführungsform der vorliegenden Offenbarung die Information nicht nur aus diesen konstituierenden Komponenten, sondern auch aus deren Interaktionen (das heißt der Knoten-Kante-Zuordnung und der Konnektivität) codiert. Daher bezieht der Graphencoder Information aus allen Kanten in die Knoten, aus denen die Kanten hervorgehen, ein. Die kantenbewusste Knoteneinbettung erhält man aus der Liste von Knoten und Kanten des Source-Graphen, wie in Gleichung 1 dargestellt ist, wobei jeweils Einbettungstabellen für Knoten- und Kantenlabel generiert werden. Es wird der Satz von Knoten, der mit dem i-ten Knoten in dem Graph (sowohl eingehend wie auch ausgehend) verbunden ist, erstellt. Nach dem Erhalt der kantenbewussten Knoteneinbettungen nutzt der Graphencoder den Sparsely-Connected-Transformer, um die kontextualisierten Einbettungen des Gesamtgraphen zu lernen. Der Sparsely-Connected-Transformer bezieht die Positionscodierung gegebenenfalls nicht in die Grapheingaben ein, da die Knoten nicht in einer vorbestimmten Sequenz vorliegen. Ist die Kanteninformation aus xε gegeben, so wird die Konnektivitätsinformation unterstützt, indem Knoten ausschließlich für den Nachbarn erster Ordnung sichtbar gemacht werden. Es wird das Attention-Gitter des Transformers berechnet.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung stellt der Sparsely-Connected-Transformer die Graphknotendarstellungen, die durch die Graphstruktur konditioniert sind, unter Nutzung der Kantenlabel in den Eingabeeinbettungen und der dünnbesiedelten Schichten bei Self-Attention bereit. Die Knotendarstellungen in der Ausgabe des Sparsely-Connected-Transformers werden mit [ m x 1 , , m x | x N | ]
    Figure DE102021004562A1_0022
    bezeichnet.
  • Bei einem Vorgang 1305 generiert das System Merkmale des Ausdrucks in natürlicher Sprache auf Grundlage des Abwandlungsausdrucks unter Nutzung eines Textencoders. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Textencoder, wie er anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein Standardtransformerencoder benutzt, um die Abwandlungsanfrage zu codieren. Um die semantische Ausrichtung zu unterstützen, werden die Parameter des Graphencoders und des Textencoders gemeinsam benutzt bzw. wechselseitig geteilt.
  • Bei einem Vorgang 1310 kombiniert das System die Merkmale der strukturierten Darstellung und die Merkmale des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen eines Satzes von kombinierten Merkmalen. Entsprechend einigen Ausführungsformen sind zwei Informationsquellen vorhanden, die einen Encoder für jede der zwei Quellen benötigen. Eine Art besteht im Einbeziehen von zwei Informationsquellen durch Verkettung. Die kombinierte Darstellung ist vorstehend in Gleichung 2 dargestellt. In einigen Fällen betreffen die Vorgänge dieses Schrittes ein merkmalsverschmelzendes Netzwerk, wie es anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Um die Fähigkeit des Modells, Information der Encoder zu kombinieren, zur besseren Nutzung zu vergrößern, wird bei einigen Ausführungsformen der vorliegenden Offenbarung ein parametrischer Lösungsansatz mit Gating-Mechanismus eingeführt. Durch den Gating-Mechanismus kann das Modell nützliche Information aus dem Graph auf Grundlage der Abwandlungsanfrage und umgekehrt filtern. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein spezielles Token [CLS] zu dem Graph vor dem Anfragesatz hinzugefügt. Die Darstellung dieses Tokens in den Encodern berücksichtigt das holistische Verständnis. Das Modell nutzt diese Vektoren der holistischen Bedeutung zum Filtern von nützlicher Information aus den Darstellungen der Graphknoten und der Abwandlungsanfragetokens. Die elementweise wirkende Sigmoid-Funktion wird zum Konstruieren der Gates verwendet. Der aktualisierte Knoten und das Token werden in der gemeinsamen Encoder-Darstellung benutzt. Dieser Gating-Mechanismus wird als späte Verschmelzung (late fusion) bezeichnet, da er nicht zulässt, dass Information aus dem Graph und dem Text in ihren jeweiligen Encodern der unteren Ebene interagieren. Die Verschmelzung erfolgt beispielsweise, nachdem die kontextualisierte Information bereits gelernt worden ist.
  • Entsprechend einer Ausführungsform nutzt das merkmalsverschmelzende Netzwerk eine frühe Verschmelzung (early fusion) mittels Cross-Attention. Um eine tiefere Interaktion zwischen den Graph- und Textencodern zu ermöglichen, wird bei einer Ausführungsform ein Verschmelzen von Merkmalen in der frühen Phase vorgenommen, bevor der kontextualisierte Knoten und Tokendarstellungen gelernt werden. Dies erfolgt mittels Cross-Attention, einer Technik der frühen Verschmelzung.
  • Entsprechend einer Ausführungsform werden die Parameter der Graph- und Anfrageencoder gemeinsam benutzt bzw. geteilt, um eine Codierung der zwei Quellen im selben semantischen Raum zu ermöglichen. Das Modell nutzt beispielsweise denselben Transformerencoder für beide Quellen. Bei Cross-Attention verkettet das Modell x (aus Gleichung 1) und y vor dem Transformerencoder. Als solches ist die Eingabe des Encoders gleich [x,y]. Bei dem Transformer wird die Darstellung eines jeden Anfragetokens mittels Self-Attending an den Darstellungen aller Anfragetokens und Graphknoten in der vorherigen Schicht aktualisiert. Die Darstellung eines jeden Graphknotens wird indes mittels Self-Attending nur an den zugehörigen Graphnachbarn entsprechend den Verbindungen des Sparsely-Connected-Transformers wie auch allen Anfragetokens aktualisiert. Die endgültige Darstellung m wird der Ausgabe des Transformers entnommen.
  • 14 zeigt ein Beispiel für einen Prozess zum Generieren einer abgewandelten strukturierten Darstellung auf Grundlage von kombinierten Merkmalen entsprechend Aspekten der vorliegenden Offenbarung. Bei einigen Beispielen werden diese Vorgänge von einem System durchgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes ausführt, um funktionelle Elemente einer Einrichtung zu steuern bzw. zu regeln. Zusätzlich oder alternativ werden gewisse Prozesse unter Nutzung von Spezialzweckhardware durchgeführt. Allgemein werden diese Vorgänge entsprechend den Verfahren und Prozessen durchgeführt, die entsprechend Aspekten der vorliegenden Offenbarung beschrieben werden. In einigen Fällen setzen sich die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammen oder werden in Zusammenwirkung mit anderen Vorgängen durchgeführt.
  • Bei einem Vorgang 1400 erzeugt das System einen Satz von kombinierten Merkmalen. Entsprechend einigen Ausführungsformen wird ein merkmalsverschmelzendes Netzwerk benutzt, um die Merkmale der strukturierten Darstellung (aus dem Graphencoder) und die Merkmale des Ausdrucks in natürlicher Sprache (aus dem Textencoder) zu kombinieren, um wiederum einen Satz von kombinierten Merkmalen zu erzeugen. In einigen Fällen betreffen die Vorgänge dieses Schrittes ein merkmalsverschmelzendes Netzwerk, wie es anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 1405 generiert das System einen Satz von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Knotendecoder, wie er anhand 3 beschrieben wird, oder können von diesem durchgeführt werden.
  • Entsprechend einer Ausführungsform beinhaltet der Knotendecoder ein RNN. In einigen Fällen werden GRU-Zellen für den RNN-Decoder benutzt. Der Knotendecoder beinhaltet ein grundlegendes autoregressives Modell.
  • Bei einem Vorgang 1410 generiert das System einen Satz von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, wobei die abgewandelte strukturierte Darstellung den Satz von Knoten und den Satz von Kanten beinhaltet. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Kantendecoder, wie er anhand 3, 5 und 6 beschrieben wird, oder können von diesem durchgeführt werden.
  • Entsprechend einer Ausführungsform wendet der Kantendecoder ein Generierungsverfahren vom Adjazenztyp an. Die Reihen oder Spalten der Adjazenzmatrix werden durch die Knoten in derjenigen Reihenfolge gelabelt, in der sie von dem Knotendecoder generiert worden sind. Für jede Reihe gibt ein autoregressiver Decoder das Label einer jeden Kante an andere Knoten aus dem Kantenvokabular aus, darunter ein spezielles Token [NULL], das zeigt, dass eine Kante nicht vorhanden ist. Der untere Dreiecksteil der Matrix ist wichtig, da davon ausgegangen wird, dass der Knotendecoder die Knoten auf topologisch sortierte Weise generiert. Der gestrichelte obere Dreiecksteil der Adjazenzmatrix wird ausschließlich zur Parallelberechnung benutzt und vernachlässigt.
  • Entsprechend einer Ausführungsform wird ein Attentional-Decoder unter Nutzung von GRU-Einheiten zum Generieren von Kanten benutzt. Der Attentional-Decoder (Kante) arbeitet auf ähnliche Weise wie der Knotendecoder. Zum genaueren Generieren einer eingegebenen (typed) Kante werden die verborgenen Zustände der Source- und Target-Knoten (aus dem Knotendecoder) als Eingaben beim Aktualisieren des verborgenen Zustandes des Kantendecoders einbezogen.
  • Die Nutzung dieses Kantengenerierungsverfahrens hat eine Anzahl von Folgen. Zunächst verursachen die Dummy-Kanten in der Adjazenzmatrix eine Verschwendung von Rechenleistung. Zweitens sind die Kanten, die durch vorherige Reihen generiert worden sind, nicht konditioniert, wenn die Kanten in der nächsten Reihe generiert werden. Es kann von Nutzen sein, die Information über die ausgehenden Kanten der vorherigen Knoten zu nutzen, um die Generierungsgenauigkeit der ausgehenden Kanten des nächsten Knotens zu vergrößern. Bei einer Ausführungsform der vorliegenden Offenbarung wird daher das untere Dreieck der Adjazenzmatrix abgeflacht. Die Dummy-Kanten werden entfernt, und die Reihen der unteren Dreiecksmatrix werden verkettet, um eine Sequenz von Paaren von Knoten zu bilden, wenn Kanten zwischen jeweiligen Knoten gebildet werden. Dieser Flat-Edge-Level-Decoder nutzt Information über alle vorher generierten Kanten, wenn eine neue Kante generiert wird.
  • Bei einem Vorgang 1415 generiert das System eine abgewandelte strukturierte Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks. In einigen Fällen betreffen die Vorgänge dieses Schrittes ein neuronales Netzwerk, wie es anhand 2 und 3 beschrieben worden ist, oder können von diesem durchgeführt werden.
  • 15 zeigt ein Beispiel für einen Prozess zum Trainieren eines neuronalen Netzwerkes zum Verarbeiten natürlicher Sprache entsprechend Aspekten der vorliegenden Offenbarung. Bei einigen Beispielen werden diese Vorgänge von einem System durchgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes ausführt, um funktionelle Elemente einer Einrichtung zu steuern bzw. zu regeln. Zusätzlich oder alternativ werden gewisse Prozesse unter Nutzung einer Spezialzweckhardware durchgeführt. Allgemein werden diese Vorgänge entsprechend Verfahren und Prozessen durchgeführt, die entsprechend Aspekten der vorliegenden Offenbarung beschrieben werden. In einigen Fällen setzen sich die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammen oder werden in Zusammenwirkung mit anderen Vorgängen durchgeführt.
  • Bei einer Ausführungsform ist die Aufgabe als Aufgabe des konditionalen Generierens formuliert. Formal kann man, wenn ein Source-Graph x G
    Figure DE102021004562A1_0023
    und eine Abwandlungsanfrage y gegeben sind, einen Target-Graph z G
    Figure DE102021004562A1_0024
    erzeugen, indem die konditionale Wahrscheinlichkeit p ( z G | x G , y )
    Figure DE102021004562A1_0025
    maximiert wird. Da ein Graph aus einer Liste von eingegebenen (typed) Knoten und Kanten besteht, kann die konditionale Wahrscheinlichkeit weiter folgendermaßen zerlegt werden: p ( z G | x G , y ) = p ( z N | x G , y ) × p ( z ε | x G , y , z N )
    Figure DE102021004562A1_0026
  • Hierbei bezeichnen zN und z die Knoten beziehungsweise Kanten des Graphen z G .
    Figure DE102021004562A1_0027
  • Ist ein Trainingsdatensatz von Eingabe-Ausgabe-Paaren, die mit D { ( x d G , y d , z d G ) } d = 1 D
    Figure DE102021004562A1_0028
    bezeichnet werden, gegeben, so wird das Modell trainiert, indem die konditionale Log-Wahrscheinlichkeit lCLL = lNode + lEdge maximiert wird, wobei gilt: l Node = ( x , y , z ) D log p ( z N | x , y ; θ N )
    Figure DE102021004562A1_0029
    l Edge = ( x , y , z ) D log p ( z ε | x , y , z N ; θ ε )
    Figure DE102021004562A1_0030
  • Während des Lernens und Decodierens sind die Knoten entsprechend einer topologischen Reihenfolge sortiert, die für alle gerichteten Graphen in den nutzergenerierten und den synthetischen Datensätzen gegeben ist.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhaltet der Graphencoder drei gestapelte Sparse-Transformer mit vier Heads in jeder Schicht. Die Einbettungsgröße ist 256, wobei die innere Schicht von Feed-Forward-Netzwerken eine Dimension von 512 aufweist. Sowohl der Decoder auf Knotenebene wie auch der Decoder auf Kantenebene sind eine Schicht aufweisende GRU-RNN mit einer verborgenen Größe von 256, wobei die Größe der Einbettungen ebenfalls gleich 256 ist. Es werden 30 Epochen und 300 Epochen für synthetische beziehungsweise nutzergenerierte Daten mit einer Batch-Größe von 256 trainiert. Das Modell wird über die Entwicklung (development, dev), die für jede Epoche eingestellt wird, bewertet, und es wird der Prüfpunkt mit der besten Graphgenauigkeit zur Herleitung ausgewählt. Die Experimente laufen beispielsweise auf einem einzigen Nvidia Tesla V100. Die GRUs (Gated Recurrent Units GRUs, gatebestückte rekurrente Einheiten) sind ein Gating-Mechanismus in rekurrenten neuronalen Netzwerken. Die GRU ist ähnlich zu einem Long-Short-Term-Memory (LSTM) mit einem Forget-Gate, weist jedoch weniger Parameter als LSTM auf, da kein Ausgabe-Gate vorhanden ist.
  • Es wird die GPU-Zeit (Graphics Processing Unit GPU, Grafikverarbeitungseinheit) (ms/Schritt) bei verschiedenen Einstellungen in der Trainingsphase gemessen. Das Cross-Attention-Modell der vorliegenden Offenbarung ist mit Blick auf die GPU-Rechenzeit effizienter als andere Modelle. Die Anzahl von Parametern bei verschiedenen Einstellungen wird ebenfalls gemessen und aufgezeichnet. Die Anzahl von Parametern, die für jedes Modell benutzt wird, wird aufgezeichnet.
  • Es werden die Leistung an dem Bewertungs-/Entwicklungs-Satz der Modelle und die beste Baseline aufgezeichnet. Auf Grundlage der Ergebnisse ist keine merkliche Differenz zwischen dem Leistungstrend in dem Entwicklungssatz (dev set) und dem Testsatz vorhanden.
  • Bei einem Vorgang 1500 identifiziert das System Trainingsdaten, die einen Satz von annotierten Trainingsbeispielen beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck beinhaltet.
  • Bei einem Vorgang 1505 generiert das System Merkmale der strukturierten Darstellung für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird ein graphkonditionierter Sparsely-Connected-Transformer benutzt, um die Information aus einem Graph zu codieren. Der Graphencoder bezieht Information aus allen Kanten in die Knoten, aus denen diese Kanten hervorgehen, ein. Nach dem Erhalt von kantenbewussten Knoteneinbettungen nutzt der Graphencoder den Sparsely-Connected-Transformer, um die kontextualisierten Einbettungen des gesamten Graphen zu lernen. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Graphencoder, wie er anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 1510 generiert das System Merkmale des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhaltet der Textencoder einen grundlegenden Transformerencoder, der zum Codieren des Abwandlungsausdrucks benutzt wird. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Textencoder, wie er anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 1515 kombiniert das System die Merkmale der strukturierten Darstellung und die Merkmale des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen. Entsprechend einigen Ausführungsformen werden die zwei Informationsquellen (das heißt Graph- und Textanfrage) durch Verkettung kombiniert. Das früh merkmalsverschmelzende Modell und das spät merkmalsverschmelzende Modell werden benutzt, um Information aus dem Graph und dem Eingabetext zu kombinieren. In einigen Fällen betreffen die Vorgänge dieses Schrittes ein merkmalsverschmelzendes Netzwerk, wie es anhand 3 und 4 beschrieben wird, oder können von diesem durchgeführt werden.
  • Um die Fähigkeit des Modells, Information der Encoder zu kombinieren, zur besseren Nutzung zu vergrößern, wird hier ein parametrischer Lösungsansatz mit Gating-Mechanismus benutzt. Durch den Gating-Mechanismus kann das Modell nützliche Information aus dem Graph auf Grundlage der Abwandlungsanfrage und umgekehrt filtern. Der Gating-Mechanismus wird auch als späte Verschmelzung (late fusion) bezeichnet, da er gegebenenfalls nicht zulässt, dass die Information aus dem Graph und dem Text in ihren jeweiligen Encodern auf der unteren Ebene interagiert. Das Verschmelzen erfolgt beispielsweise, nachdem die kontextualisierte Information bereits gelernt worden ist.
  • Entsprechend einer Ausführungsform wird, um eine tiefere Interaktion zwischen dem Graph- und dem Textencoder zu ermöglichen, Cross-Attention (eine Technik der frühen Verschmelzung) benutzt, um Merkmale in der frühen Phase zu verschmelzen, wenn der kontextualisierte Knoten und Tokendarstellungen gelernt werden.
  • Bei einem Vorgang 1520 generiert das System einen Satz von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhaltet der Knotendecoder ein RNN. Zusätzlich werden GRU-Zellen für den RNN-Decoder benutzt. Der Knotendecoder beinhaltet ein grundlegendes autoregressives Modell. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Knotendecoder, wie er anhand 3 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 1525 generiert das System einen Satz von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders. Entsprechend einer Ausführungsform der vorliegenden Offenbarung beinhaltet der Kantendecoder einen Adjazenzmatrixdecoder. Alternativ beinhaltet der Kantendecoder einen Flat-Edge-Level-Decoder. In einigen Fällen betreffen die Vorgänge dieses Schrittes einen Kantendecoder, wie er anhand 3, 5 und 6 beschrieben wird, oder können von diesem durchgeführt werden.
  • Bei einem Vorgang 1530 vergleicht das System den Satz von Knoten und den Satz von Kanten mit der targetseitigen strukturierten Darstellung. Entsprechend einer Ausführungsform der vorliegenden Offenbarung werden Trainingsdaten in das neuronale Netzwerk eingegeben. Das neuronale Netzwerk generiert eine vorhergesagte strukturierte Darstellung (das heißt den Satz von Knoten und den Satz von Kanten) unter Nutzung der Encoder-Decoder-Architektur. Die targetseitige strukturierte Darstellung ist ein Ground-Truth-Wert zum Vergleich. Bei jeder Trainingsiteration wird eine Verlustfunktion benutzt, um den Verlust (oder Fehler) zwischen der vorhergesagten strukturierten Darstellung und der targetseitigen strukturierten Darstellung zu berechnen oder zu schätzen.
  • Bei einem Vorgang 1535 aktualisiert das System das neuronale Netzwerk auf Grundlage des Vergleiches. Nach jeder Trainingsiteration werden Parameter des neuronalen Netzwerkes (beispielsweise unter Nutzung des Gradientengefälles (gradient descent)) aktualisiert. Wird das Modell des neuronalen Netzwerkes trainiert, so werden die Parameter (Gewichtungen und Tendenzen/Biases) auf eine Weise angepasst, dass die Verlustfunktion minimiert wird.
  • Bewertung
  • Obwohl mehrere Szenengraphen mit annotierten Datensätzen für Bilder vorhanden sind, sind die Ausrichtungen zwischen Graphen und Text nicht verfügbar. Des Weiteren enthalten bildbasierte Szenengraphen (beispielsweise der Datensatz Visual Genome) zudem viele nicht saliente Objekte und Beziehungen, während Suchanfragen mehr auf Hauptobjekte und deren Verbindungen abstellen. Entsprechend einer Ausführungsform der vorliegenden Offenbarung werden infolge des Mangels an Datensätzen im großen Maßstab und mit hoher Qualität Benchmark-Datensätze erstellt. Es werden drei Datensätze erstellt, um die Modelle durch einen Datenerstellprozess zu bewerten. Der Datenerstellprozess beginnt mit dem Erfassen von Datensätzen, so beispielsweise MSCOCO oder GCC (Google Conceptual Captioning GCC). Um Szenengraphen zu konstruieren, nutzt der Prozess einen Szenengraphparser zum Parsen bzw. Zerlegen eines beliebigen Teilsatzes von MSCOCO-Beschreibungsdaten und GCC-Beschriftungen (captions). Der Parser beruht auf einem Abhängigkeitsparser. In einigen Fällen beinhaltet der Prozess Verfahren des Generierens von abgewandelten Szenengraphen und Abwandlungsanfragen auf Grundlage dieser Szenengraphen und des Einsetzens von menschlichen Annotierenden, um die Datenqualität zu erhöhen und Analysen durchzuführen. Die ersten zwei Datensätze beinhalten MSCOCO und GCC, während der dritte Datensatz unter Nutzung einer Crowdsourcing-Anwendung (beispielsweise Mechanical Turk) gesammelt wird.
  • Die ersten zwei Datensätze fügen Annotationen über den Beschriftungen (captions) für MSCOCO und GCC hinzu. Bei einigen Beispielen wird der obige Parser benutzt, um 200k Szenengraphen aus MSCOCO und 420k Szenengraphen aus GCC-Daten zu erstellen. Vergleicht man die zwei Datensätze, so sind die Graphen aus MSCOCO vergleichsweise einfach, während die GCC-Graphen komplizierter sind. Entsprechend dem Such-Log sind Bildsuchanfragen kurz, weshalb die MSCOCO-Graphen bessere Treffer bei echten Suchanfragen darstellen, während die GCC-Graphen ein größeres Problem für die Modelle darstellen. Auf Grundlage von durchgeführten Experimenten erreicht das Modell eine Leistungszunahme von bis zu 8,5% im Vergleich zu den Baselines sowohl bei den synthetischen wie auch den nutzergenerierten Daten hinsichtlich des F1-Kennwertes (F1-score). Bei der statistischen Analyse der Binärklassifizierung ist der F1-Kennwert (auch F-Kennwert oder F-Maß genannt) ein Maß für die Genauigkeit eines Tests. Er wird aus der Genauigkeit und dem Recall des Tests berechnet, wobei die Genauigkeit die Anzahl von richtig identifizierten Positivergebnissen, geteilt durch die Anzahl aller Positivergebnisse, darunter auch der unrichtig identifizierten, ist und wobei der Recall die Anzahl von richtig identifizierten Positivergebnissen, geteilt durch die Anzahl aller Proben, die positiv hätten identifiziert werden sollen, ist.
  • Über die Nutzung von Schablonen bzw. Vorlagen hinaus werden bei einer Ausführungsform der vorliegenden Offenbarung Crowdsourcing-Anwendungen (beispielsweise Mechanical Turk) benutzt, um stärker diverse und natürlichere Abwandlungsanfragen zu erhalten. Der CrowndsourcingProzess zeigt den (menschlichen) Mitarbeitern ein Beispiel, das einen Source-Graphen, einen Target-Graphen und drei akzeptable Abwandlungsanfragen beinhaltet. Sodann werden die (menschlichen) Mitarbeiter gebeten, ihre eigenen Beschreibungen für die nicht annotierten Instanzen einzutragen. Die schablonen- bzw. vorlagenbasierte Version der Datensätze wird als „synthetisch“ bezeichnet, während die nutzergenerierten Inhalte als „nutzergeneriert“ bezeichnet werden.
  • Ausgehend von einleitenden Versuchen treten Probleme während des Datensammelprozesses auf. Zunächst hängt das Verstehen der Graphen von NLP-Kenntnissen ab, weshalb nicht alle (menschlichen) Mitarbeiter von Mechanical Turk gute Abwandlungsanfragen bereitstellen können. Zweitens weisen infolge von Fehlern beim Löschen und beim Parser einige Graphen gegebenenfalls unverbundene Komponenten in den Daten auf. Drittens sind zahlreiche übermäßig komplizierte Graphen vorhanden, die für Suchanfragen nicht repräsentativ sind, da die meisten Suchanfragen vergleichsweise kurz (das heißt auf ein oder zwei Objekte beschränkt) sind. Um die Wirkung dieser Probleme zu beschränken, wird bei einer Ausführungsform der vorliegenden Offenbarung ein manuelles Filtern der Daten vorgenommen, indem Graphen mit unverbundenen Komponenten, Instanzen niedriger Qualität oder übermäßig langen Beschreibungen (das heißt mit mehr als fünf Knoten) entfernt werden. Bei einem Beispiel enthält der endgültige Datensatz 32k Beispiele.
  • Um die Qualität des crowdsourcing-basierten Datensatzes zu testen, wird eine Nutzerstudie mit fünfzehn Testern durchgeführt. Die fünfzehn Tester kennen das Wesen der Aufgabe und die Art, auf die der Datensatz gesammelt worden ist, nicht. Für die Tester wird eine beliebige Sammlung von Instanzen bereitgestellt, die jeweils ein Tripel aus einem Source-Graphen, einer Abwandlungsanfrage und einem Target-Graphen sind. Ein Tester stellt einen Kennwert bereit, der die Qualität einer jeden Instanz auf Grundlage von Kriterien angibt, die beispielsweise dasjenige beinhalten, wie gut sich die Abwandlungsanfrage in dem Target-Graphen widerspiegelt und wie natürlich die Anfrage und die Graphen sind.
  • Die Kennwertverteilung aus 200 beliebig gewählten Instanzen wird aufgezeichnet. Die meisten Dreier oder Vierer (gemeint sind Qualitätskennwerte) rühren davon her, dass die Abwandlungsanfrage oder die Graphen unnatürlich sind. Tester geben tehdenziell einen Einser (gemeint ist ein Qualitätskennwert) für semantisch falsche Instanzen. Dies bedeutet, dass die Abwandlungsanfrage nicht zu den Änderungen passt.
  • Insgesamt bewerten die Tester die Daten mit einem Durchschnittskennwert von 3,76.
  • Auf Grundlage des Such-Logs sind mehr als 95% der Anfragen auf einen oder zwei Knoten beschränkt, sodass ein Szenario, bei dem mehr als ein Bearbeitungsvorgang angewendet wird, wahrscheinlich nicht auftritt. Infolgedessen werden die Instanzen bei abgewandelten MSCOCO und GCC mit einem Bearbeitungsvorgang aufgebaut. Gleichwohl kann in einigen Fällen eine sehr lange Suchbeschreibung vorhanden sein, was zur Möglichkeit von längeren Bearbeitungsvorgangssequenzen führt. Entsprechend einer Ausführungsform der vorliegenden Offenbarung wird die mehrere Vorgänge aufweisende Version eines Datensatzes erstellt (nämlich eine MGM-Aufgabe aus GCC-Daten).
  • Die Graphgrößenverteilungen von Source-Graphen und Target-Graphen sind zwischen den Sätzen nahezu identisch. Mit der Zunahme der Länge der Textbeschreibung werden die Source-Graphen entsprechend komplizierter. Der prozentuale Anteil der Länge von Anfragen aus dem Such-Log wird analysiert. In den meisten Fällen ist wahrscheinlich, dass die Länge der Suchanfragen kleiner als fünf Tokens ist. In der Praxis ist daher nicht wahrscheinlich, auf große Graphen (das heißt Graphen mit mehr als drei Knoten) und lange Abwandlungsanfragen zu treffen. Die Verteilungen der Anzahl von Knoten und Kanten an synthetischen und nutzergenerierten Daten wird aufgezeichnet.
  • Der Erhalt von Annotationen seitens Nutzern ist kostenintensiv, und zwar insbesondere bei einer komplexen Aufgabe wie der Aufgabe der Abwandlung von Graphen gemäß der vorliegenden Offenbarung. Bei einer Ausführungsform wird daher die Möglichkeit der Erweiterung der nutzergenerierten Daten durch synthetische Daten untersucht, um das Modell zu trainieren. Die Datenerweiterung unter Nutzung von synthetischen Daten kann jedoch zu einer anderen Verteilung führen. Dies zeigt sich, wenn das Modell, das unter Nutzung der synthetischen Daten trainiert worden ist, an den nutzergenerierten Daten getestet wird. Die Genauigkeit des Generierens von Graphen fällt beispielsweise auf etwa 20% ab, wobei das Hinzufügen von weiteren synthetischen Daten gegebenenfalls nicht weiterhilft. Um die Datenverteilungen effizient zu mischen, werden bei einer Ausführungsform der vorliegenden Offenbarung ein Upsampling der nutzergenerierten Daten und ein Mischen derselben mit synthetischen Daten in einem Verhältnis von 1:1 in jedem Mini-Batch vorgenommen.
  • Die Datenerweiterung unter Nutzung eines Upsampling wird mit dem Transferlernen (einem weiteren Verfahren zum Lernen sowohl synthetischer wie auch nutzergenerierter Daten) verglichen. Entsprechend einer Ausführungsform wird das Modell unter Nutzung der synthetischen Daten vorab trainiert, woraufhin das Modell an den nutzergenerierten Daten fein abgestimmt wird.
  • Die Ergebnisse der Graphgenauigkeit (%) werden bei verschiedenen Dateneinstellungen aufgezeichnet. „30k“ bezeichnet das Hinzufügen von 30k synthetischen Instanzen. Es zeigt sich, dass die Datenerweiterung mit Upsampling im Vergleich zum Transferlernen ein effektives Verfahren zum Einsetzen von zwei Datenquellen ist. Da die Größe der synthetischen Daten zudem zunimmt, vergrößert das beschriebene Schema des Weiteren die Leistung bis zu einem bestimmten Punkt, wo ein Plateau auftritt. Die Leistung erreicht das Plateau beispielsweise nach dem Injizieren von 90k Instanzen (bei einem Datenverhältnis von 3:1). Sowohl das Upsampling wie auch das vorab erfolgende Trainieren führen zu besseren Modellen im Vergleich zur ausschließlichen Nutzung von synthetischen Daten oder nutzergenerierten Daten. Die Graphgenauigkeit für das Modell, das ausschließlich an nutzergenerierten Daten trainiert worden ist, beträgt 60,90% (bestes Ergebnis).
  • In einigen Fällen werden Schablonen bzw. Vorlagen für die synthetischen Daten benutzt. Vereinfachte Schablonen bzw. Vorlagen werden beispielsweise für synthetische Daten benutzt, bei denen jeder Vorgang zehn Schablonen bzw. Vorlagen aufweist.
  • Es werden fünf Baselines im Vergleich betrachtet. Bei der Baseline „Kopierquelle“ (copy source) kopiert das System den Source-Graphen auf den Target-Graphen. Dies beruht auf der Beobachtung, dass der Nutzer ausschließlich einen kleinen Abschnitt des Source-Graphen abwandelt. Bei der Baseline „Text2Text“ flacht das Baselinemodell den Graphen ab und rekonstruiert den natürlichen Satz auf ähnliche Weise wie bei der Abwandlungsanfrage. Bei der Baseline „Abgewandeltes Graph-RNN“ nutzt das Baselinemodell eine BFS-technikbasierte (Breadth First Search BFS) Knotenanordnung, um den Graphen abzuflachen (das heißt, die topologischen Verbindungen werden durch die Reihenfolge der Knoten, die in der ursprünglichen Anfrage auftreten, unterbrochen), wobei RNNs als Encoder und Decoder benutzt werden. Bei zwei weiteren Baselines, nämlich „Graphtransformer“ und „DCGCN“ (Deep Convolutional Graph Networks) nutzen die Baselinemodelle die Graphtransformer und faltungstechnische Deep-Graphnetzwerke zum Codieren des Source-Graphen.
  • Das Modell aus der vorliegenden Offenbarung wird auf verschiedene Arten konfiguriert, und es werden Ergebnisse der verschiedenen Konfigurierungen des Modells aufgezeichnet. Entsprechend einer Ausführungsform der vorliegenden Offenbarung nutzt der vollständig verbundene Transformer dichte bzw. stark besiedelte (dense) Verbindungen für den Graphencoder. Im Gegensatz hierzu nutzt der Sparse-Transformer die Konnektivitätsstruktur des Source-Graphen bei Self-Attention. Die Information aus den Graph- und Anfrageencodern kann durch Verkettung mit später Verschmelzung durch Gating oder früher Verschmelzung durch Cross-Attention kombiniert werden. Der Typ der Adjazenzmatrix zur Kantendecodierung kann durch das Generieren von Flachkanten (flat-edges) ersetzt werden.
  • Eine Ausführungsform der vorliegenden Offenbarung nutzt zwei automatische Metriken zur Bewertung. Zunächst werden die Genauigkeits-/Recall-/F1-Kennwerte der generierten Knoten und Kanten berechnet. Als Zweites nutzen Bewertungsmetriken die Genauigkeit guter Treffer (strict-match accuracy), die derart definiert ist, dass der generierte Graph im Sinne einer richtigen Vorhersage identisch zum Target-Graphen ist.
  • Bei einer Ausführungsform der vorliegenden Offenbarung werden die synthetischen MSCOCO-Daten in 196K/2K/2K zum Trainieren/Entwickeln/Testen und die GCC-Daten in 400K/7K/7K zum Trainieren/Entwickeln/Testen unterteilt. In einigen Fällen werden die crowdsourcing-basierten nutzergenerierten Daten beliebig in 30K/1K/1K zum Trainieren/Entwickeln/Testen unterteilt.
  • Ergebnisse des Modells und der Baselines bei den synthetischen und nutzergenerierten Datensätzen werden aufgezeichnet. Auf Grundlage der experimentellen Ergebnisse sind verschiedene Konfigurierungen des Modells den Baselines stark überlegen. DCGCN und Graphtransformer sind beispielsweise starke Baselines, die eine SOTA-Leistung bei Aufgaben wie dem AMR-zu-Text-Generieren und dem syntaxbasierten Übersetzen mittels neuronaler Maschine liefern. Die große Anzahl von Kantentypen bei der Aufgabe beeinträchtigt deren Kapazität. Die Hypothese hinsichtlich des Vorziehens des Flachkantengenerierens gegenüber dem Kantengenerieren vom Adjazenzmatrixtyp wird hierdurch bestätigt. Des Weiteren ist eine Zwei-Weg-Kommunikation zwischen den Graph- und Anfrageencodern durch den Gating-Mechanismus durchweg besser als eine einfache Verkettung beim Generieren sowohl auf Kantenebene wie auch auf Knotenebene. Gegebenenfalls führt die Cross-Attention (eine Technik der frühen Verschmelzung) zu einer wesentlichen Erhöhung bei allen Metriken. In einigen Fällen ist das Generieren der Graphen für die crowdsourcing-basierten Daten sehr viel schwieriger als für die synthetischen Daten, was von der Vielfältigkeit der Semantiken und Ausdrücke, die von den Annotierenden eingeführt werden, herrührt. Im Ergebnis leiden alle Modelle an einer Verschlechterung der Leistung.
  • Die Leistungstrends verschiedener Konfigurationen des Modells sind an den nutzergenerierten wie auch synthetischen Daten nahezu identisch. Bei zunehmend komplexen Graphen nimmt die Leistung von Modellen beim Herleiten der Beziehungen zwischen Knoten für GCC-Daten ab, was zu einem Abfall hinsichtlich des Kanten-F1-Kennwertes und der Graphgenauigkeit führt.
  • Zum Bewerten der mehreren Vorgangsszenarien werden zwei Datensätze erstellt, wobei die Durchschnittsanzahl der Vorgänge gleich 1,44 beziehungsweise 2,01 ist. Für jeden Datensatz werden die Baselines und die Verfahren an dem vollständigen Trainingssatz trainiert. Der Testsatz wird entsprechend der Anzahl von Vorgängen in vier Bins gruppiert. Alle Modelle verschlechtern sich in ihrer Leistung bei einer Erhöhung der Anzahl von Vorgängen. Das Modell, das von Ausführungsformen der vorliegenden Offenbarung bereitgestellt wird, verhält sich bedeutend besser als die Baselines.
  • Entsprechend einer Ausführungsform der vorliegenden Offenbarung erhält man die beste Leistung bei einem Modell, das Cross-Attention, einen Flat-Edge-Decoder und einen Sparse-Transformer beinhaltet. In den meisten Fällen ist eine derartige Konfiguration besser als die Baselines. Cross-Attention wird bei Beziehungsabwandlungen sowie beim Umgang mit längeren Beschreibungen benutzt, da die frühe Merkmalsverschmelzung das Rauschen beim Graphgenerieren verringert und feinkörnige Details besser als beim Baselinemodell erhält.
  • Ausführungsformen der vorliegenden Offenbarung betreffen die konditionale Abwandlung von Graphen, wobei Modelle dafür benutzt werden, einen Source-Graphen auf Grundlage eines Abwandlungsbefehls abzuwandeln. Eine Konfiguration der Modelle, die auf einem graphkonditionierten Sparse-Transformer und einer Cross-Attention-Informationsverschmelzung beruht, ist besser als Baselines, deren Anpassung aus maschinellen Übersetzungen und Graphgenerierungen erfolgt ist.
  • Entsprechend beinhaltet die vorliegende Offenbarung wenigstens die nachfolgenden Ausführungsformen.
  • Beschrieben wird ein Verfahren zum Verarbeiten natürlicher Sprache. Ausführungsformen des Verfahrens sind konfiguriert zum Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturierte Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst, Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst, Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.
  • Beschrieben wird eine Einrichtung zum Verarbeiten natürlicher Sprache. Die Einrichtung beinhaltet einen Prozessor, einen Speicher in elektronischer Kommunikation mit dem Prozessor, und Anweisungen, die in dem Speicher gespeichert sind. Die Anweisungen sind betreibbar, um den Prozessor zu veranlassen zum: Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturierte Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst, Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst, Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.
  • Beschrieben wird ein nichttemporäres computerlesbares Medium zum Speichern von Code zum Verarbeiten natürlicher Sprache. Bei einigen Beispielen umfasst der Code Anweisungen, die von einem Prozessor ausführbar sind zum: Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturierte Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst, Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst, Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes mit Konfigurierung zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.
  • Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Empfangen der Suchanfrage als anfänglichen Ausdruck in natürlicher Sprache. Einige Beispiele beinhalten des Weiteren ein Generieren der strukturierten Darstellung unter Nutzung eines Graphgenerators. Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Generieren der Merkmale der strukturierten Darstellung auf Grundlage der strukturierten Darstellung unter Nutzung eines Graphencoders.
  • Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage des Abwandlungsausdrucks unter Nutzung eines Textencoders. Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Kombinieren von Merkmalen der strukturierten Darstellung und von Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen eines Satzes von kombinierten Merkmalen.
  • Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders. Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Kanten unter Nutzung eines Kantendecoders, wobei die abgewandelte strukturierte Darstellung den Satz von Knoten und den Satz von Kanten umfasst.
  • Einige Beispiele für das Verfahren, die Einrichtung und das nichttemporäre computerlesbare Medium, die vorstehend beschrieben worden sind, beinhalten des Weiteren ein Abrufen von mehreren Bildern entsprechend der abgewandelten strukturierten Darstellung auf Grundlage der Suche.
  • Beschrieben wird eine Einrichtung zum Verarbeiten natürlicher Sprache. Ausführungsformen der Einrichtung beinhalten einen Graphencoder mit Konfigurierung zum Generieren von Merkmalen der strukturierten Darstellung auf Grundlage einer strukturierten Darstellung, einen Textencoder mit Konfigurierung zum Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage eines Abwandlungsausdrucks, ein merkmalsverschmelzendes Netzwerk mit Konfigurierung zum Erzeugen von kombinierten Merkmalen auf Grundlage von Merkmalen der strukturierten Darstellung und von Merkmalen des Ausdrucks in natürlicher Sprache, einen Knotendecoder mit Konfigurierung zum Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale und einen Kantendecoder mit Konfigurierung zum Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten.
  • Beschrieben wird ein Verfahren zum Bereitstellen einer Einrichtung zum Verarbeiten natürlicher Sprache. Das Verfahren beinhaltet einen Graphencoder mit Konfigurierung zum Generieren von Merkmalen der strukturierten Darstellung auf Grundlage einer strukturierten Darstellung, einen Textencoder mit Konfigurierung zum Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage eines Abwandlungsausdrucks, ein merkmalsverschmelzendes Netzwerk mit Konfigurierung zum Erzeugen von kombinierten Merkmalen auf Grundlage von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache, einen Knotendecoder mit Konfigurierung zum Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale und einen Kantendecoder mit Konfigurierung zum Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten.
  • Einige Beispiele für die Einrichtung und das Verfahren, die vorstehend beschrieben worden sind, beinhalten des Weiteren einen Graphgenerator mit Konfigurierung zum Generieren der strukturierten Darstellung auf Grundlage eines Ausdrucks in natürlicher Sprache. Einige Beispiele für die Einrichtung und das Verfahren, die vorstehend beschrieben worden sind, beinhalten des Weiteren eine Suchkomponente mit Konfigurierung zum Durchführen einer Suche auf Grundlage einer abgewandelten strukturierten Darstellung, die den Satz von Knoten und den Satz von Kanten umfasst.
  • Bei einigen Beispielen umfasst der Graphencoder ein Sparsely-Connected-Transformernetzwerk. Der Textencoder umfasst ein Transformernetzwerk. Das merkmalsverschmelzende Netzwerk umfasst einen Phasen-Gating-Mechanismus. Das merkmalsverschmelzende Netzwerk umfasst ein Cross-Attention-Netzwerk. Der Knotendecoder umfasst ein rekurrentes neuronales Netzwerk (RNN). Bei einigen Beispielen umfasst der Kantendecoder einen Adjazenzmatrixdecoder. Der Kantendecoder umfasst einen Flat-Edge-Level-Decoder.
  • Beschrieben wird ein Verfahren zum Verarbeiten natürlicher Sprache. Ausführungsformen des Verfahrens sind konfiguriert zum Identifizieren von Trainingsdaten, die mehrere annotierte Trainingsbeispiele beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck beinhaltet, Generieren von Merkmalen der strukturierten Darstellungen für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders, Generieren von Merkmalen des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders, Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen, Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders, Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, Vergleichen des Satzes von Knoten und des Satzes von Kanten mit der targetseitigen strukturierten Darstellung und Aktualisieren des neuronalen Netzwerkes auf Grundlage des Vergleiches.
  • Beschrieben wird eine Einrichtung zum Verarbeiten natürlicher Sprache. Die Einrichtung beinhaltet einen Prozessor, einen Speicher in elektronischer Kommunikation mit dem Prozessor und Anweisungen, die in dem Speicher gespeichert sind. Die Anweisungen sind betreibbar, um den Prozessor zu veranlassen zum: Identifizieren von Trainingsdaten, die mehrere annotierte Trainingsbeispiele beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck beinhaltet, Generieren von Merkmalen der strukturierten Darstellung für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders, Generieren von Merkmalen des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders, Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen, Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders, Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, Vergleichen des Satzes von Knoten und des Satzes von Kanten mit der targetseitigen strukturierten Darstellung und Aktualisieren des neuronalen Netzwerkes auf Grundlage des Vergleiches.
  • Beschrieben wird ein nichttemporäres computerlesbares Medium zum Speichern von Code zum Verarbeiten natürlicher Sprache. Bei einigen Beispielen umfasst der Code Anweisungen, die von einem Prozessor ausführbar sind zum: Identifizieren von Trainingsdaten, die mehrere annotierte Trainingsbeispiele beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck beinhaltet, Generieren von Merkmalen der strukturierten Darstellung für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders, Generieren von Merkmalen des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders, Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen, Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders, Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, Vergleichen des Satzes von Knoten und des Satzes von Kanten mit der targetseitigen strukturierten Darstellung und Aktualisieren des neuronalen Netzwerkes auf Grundlage des Vergleiches.
  • Bei einigen Beispielen wird das neuronale Netzwerk unter Nutzung einer End-to-End-Trainingstechnik aktualisiert, wobei Parameter des Graphencoders, des Textencoders, des merkmalsverschmelzenden Netzwerkes, des Knotendecoders und des Kantendecoders während einer Trainingsiteration aktualisiert werden.
  • Die Beschreibung und die hier beschriebene Zeichnung stellen exemplarische Konfigurationen dar, stellen jedoch nicht alle Implementierungen innerhalb des Umfangs der Ansprüche dar. Die Vorgänge und Schritte können beispielsweise umgeordnet, kombiniert oder auf andere Weise abgewandelt werden. Zudem können Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt werden, um die Beziehung zwischen Komponenten darzustellen und eine Verundeutlichung der beschriebenen Konzepte zu vermeiden. Ähnliche Komponenten oder Merkmale können denselben Namen, jedoch andere Bezugszeichen, die anderen Figuren entsprechen, aufweisen.
  • Einige Abwandlungen an der Offenbarung erschließen sich einem Fachmann auf dem Gebiet ohne Weiteres, wobei die hier definierten Prinzipien auch bei anderen Variationen Anwendung finden können, ohne vom Umfang der Offenbarung abzugehen. Die Offenbarung ist nicht auf die hier beschriebenen Beispiele und Ausgestaltungen beschränkt, sondern soll im weitesten Sinne konsistent mit den hier offenbarten Prinzipien und neuartigen Merkmalen gedeutet werden.
  • Die beschriebenen Verfahren können von Vorrichtungen implementiert oder durchgeführt werden, die einen Allzweckprozessor, einen digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate Array (FPGA) oder eine andere programmierbare logische Vorrichtung, ein diskretes Gate oder eine Transistorlogik, diskrete Hardwarekomponenten oder eine beliebige Kombination hieraus beinhalten. Ein Allzweckcomputer kann ein Mikroprozessor, ein herkömmlicher Prozessor, ein Controller, ein Mikrocontroller oder eine Zustandsmaschine (state machine) sein. Ein Prozessor kann zudem als Kombination aus Rechenvorrichtungen (so beispielsweise als Kombination aus einem DSP und einem Mikroprozessor, mehreren Mikroprozessoren, einem oder mehreren Mikroprozessoren in Zusammenwirkung mit einem DSP-Kern oder einer beliebigen anderen derartigen Konfiguration) implementiert sein. Die hier beschriebenen Funktionen können in Hardware oder Software implementiert sein und können durch einen Prozessor, Firmware oder eine beliebige Kombination hieraus ausgeführt werden. Bei Implementierungen in Software, die von einem Prozessor ausgeführt wird, können die Funktionen in Form von Anweisungen oder Code auf einem computerlesbaren Medium gespeichert werden.
  • Computerlesbare Medien beinhalten sowohl nichttemporäre Computerspeichermedien wie auch Kommunikationsmedien, die ein beliebiges Medium beinhalten, das den Transfer von Code oder Daten erleichtert. Ein nichttemporäres Speichermedium kann ein beliebiges verfügbares Medium sein, auf das ein Computer zugreifen kann. Umfassen können nichttemporäre computerlesbare Medien beispielsweise einen Speicher mit wahlfreiem Zugriff (RAM), einen Nur-Lese-Speicher (ROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), eine Compact Disc (CD) oder einen anderen optischen Plattenspeicher, einen magnetischen Plattenspeicher oder ein beliebiges anderes nichttemporäres Medium zum Tragen oder Speichern von Daten oder Code.
  • Zudem können Verbindungskomponenten eigentlich auch als computerlesbare Medien bezeichnet werden. Werden Code oder Daten beispielsweise von einer Website, einem Server oder einer anderen Remotequelle unter Nutzung eines Koaxialkabels, eines faseroptischen Kabels, eines Twisted-Pairs, einer digitalen Teilnehmerleitung (DSL) oder einer Drahtlostechnologie wie Infrarot-, Funk- oder Mikrowellensignalen übertragen, so sind das Koaxialkabel, das faseroptische Kabel, das Twisted-Pair, die DSL oder die Drahtlostechnologie in der Definition von „Medium“ beinhaltet. Kombinationen von Medien sind ebenfalls innerhalb des Umfangs von computerlesbaren Medien beinhaltet.
  • In der vorliegenden Offenbarung und den nachfolgenden Ansprüchen gibt das Wort „oder“ eine inklusive Liste derart an, dass beispielsweise die aus X, Y oder Z bestehende Liste X oder Y oder Z oder XY oder XZ oder YZ oder XYZ bedeutet. Zudem wird die Wendung „auf Basis von / auf Grundlage von / beruhend auf“ nicht dafür benutzt, einen geschlossenen Satz von Bedingungen darzustellen. Ein Schritt, der beispielsweise „auf Grundlage der Bedingung A“ beschrieben wird, kann sowohl auf der Bedingung A wie auch einer Bedingung B beruhen. Mit anderen Worten, die Wendung „auf Grundlage von“ soll derart gedeutet werden, dass sie „wenigstens teilweise auf Grundlage von“ bedeutet. Zudem geben die Worte „ein“ oder „eine“ „wenigstens ein(e)“ an.

Claims (20)

  1. Verfahren zum Verarbeiten natürlicher Sprache, umfassend: Empfangen einer strukturierten Darstellung einer Suchanfrage, wobei die strukturierte Darstellung mehrere Knoten und wenigstens eine Kante, die zwei der Knoten verbindet, umfasst; Empfangen eines Abwandlungsausdrucks für die Suchanfrage, wobei der Abwandlungsausdruck einen Ausdruck in natürlicher Sprache umfasst; Generieren einer abgewandelten strukturierten Darstellung auf Grundlage der strukturierten Darstellung und des Abwandlungsausdrucks unter Nutzung eines neuronalen Netzwerkes, das zum Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache konfiguriert ist; und Durchführen einer Suche auf Grundlage der abgewandelten strukturierten Darstellung.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend: Empfangen der Suchanfrage als anfänglichen Ausdruck in natürlicher Sprache; und Generieren der strukturierten Darstellung unter Nutzung eines Graphgenerators.
  3. Verfahren nach Anspruch 1 oder 2, des Weiteren umfassend: Generieren von Merkmalen der strukturierten Darstellung auf Grundlage der strukturierten Darstellung unter Nutzung eines Graphencoders.
  4. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage des Abwandlungsausdrucks unter Nutzung eines Textencoders.
  5. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen eines Satzes von kombinierten Merkmalen.
  6. Verfahren nach Anspruch 5, des Weiteren umfassend: Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders.
  7. Verfahren nach Anspruch 6, des Weiteren umfassend: Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders, wobei die abgewandelte strukturierte Darstellung den Satz von Knoten und den Satz von Kanten umfasst.
  8. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Abrufen von mehreren Bildern entsprechend der abgewandelten strukturierten Darstellung auf Grundlage der Suche.
  9. Einrichtung zum Verarbeiten natürlicher Sprache, umfassend: einen Graphencoder, der zum Generieren von Merkmalen der strukturierten Darstellung auf Grundlage einer strukturierten Darstellung konfiguriert ist; einen Textencoder, der zum Generieren von Merkmalen des Ausdrucks in natürlicher Sprache auf Grundlage eines Abwandlungsausdrucks konfiguriert ist; ein merkmalsverschmelzendes Netzwerk, das zum Erzeugen von kombinierten Merkmalen auf Grundlage von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache konfiguriert ist; einen Knotendecoder, der zum Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale konfiguriert ist; und einen Kantendecoder, der zum Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten konfiguriert ist.
  10. Einrichtung nach Anspruch 9, des Weiteren umfassend: einen Graphgenerator mit Konfigurierung zum Generieren der strukturierten Darstellung auf Grundlage eines Ausdrucks in natürlicher Sprache.
  11. Einrichtung nach Anspruch 9 oder 10, des Weiteren umfassend: eine Suchkomponente mit Konfigurierung zum Durchführen einer Suche auf Grundlage einer abgewandelten strukturierten Darstellung, die den Satz von Knoten und den Satz von Kanten umfasst.
  12. Einrichtung nach einem der Ansprüche 9 bis 11, wobei: der Graphencoder ein Sparsely-Connected-Transformernetzwerk umfasst.
  13. Einrichtung nach einem der Ansprüche 9 bis 12, wobei: der Textencoder ein Transformernetzwerk umfasst.
  14. Einrichtung nach einem der Ansprüche 9 bis 13, wobei: das merkmalsverschmelzende Netzwerk einen Stage-Gating- bzw. Phasen-Gating-Mechanismus umfasst.
  15. Einrichtung nach einem der Ansprüche 9 bis 14, wobei: das merkmalsverschmelzende Netzwerk ein Cross-Attention-Netzwerk umfasst.
  16. Einrichtung nach einem der Ansprüche 9 bis 15, wobei: der Knotendecoder ein rekurrentes neuronales Netzwerk (RNN) umfasst.
  17. Einrichtung nach einem der Ansprüche 9 bis 16, wobei: der Kantendecoder einen Adjazenzmatrixdecoder umfasst.
  18. Einrichtung nach einem der Ansprüche 9 bis 17, wobei: der Kantendecoder einen Flat-Edge-Level-Decoder umfasst.
  19. Verfahren zum Trainieren eines neuronalen Netzwerkes, wobei das Verfahren umfasst: Identifizieren von Trainingsdaten, die mehrere annotierte Trainingsbeispiele beinhalten, wobei jedes der annotierten Trainingsbeispiele eine sourceseitige strukturierte Darstellung, eine targetseitige strukturierte Darstellung und wenigstens einen Abwandlungsausdruck umfasst; Generieren von Merkmalen der strukturierten Darstellung für die sourceseitige strukturierte Darstellung unter Nutzung eines Graphencoders; Generieren von Merkmalen des Ausdrucks in natürlicher Sprache für den wenigstens einen Abwandlungsausdruck unter Nutzung eines Textencoders; Kombinieren von Merkmalen der strukturierten Darstellung und Merkmalen des Ausdrucks in natürlicher Sprache unter Nutzung eines merkmalsverschmelzenden Netzwerkes zum Erzeugen von kombinierten Merkmalen; Generieren eines Satzes von Knoten auf Grundlage der kombinierten Merkmale unter Nutzung eines Knotendecoders; Generieren eines Satzes von Kanten auf Grundlage der kombinierten Merkmale und des Satzes von Knoten unter Nutzung eines Kantendecoders; Vergleichen des Satzes von Knoten und des Satzes von Kanten mit der targetseitigen strukturierten Darstellung; und Aktualisieren des neuronalen Netzwerkes auf Grundlage des Vergleiches.
  20. Verfahren nach Anspruch 19, wobei: das neuronale Netzwerk unter Nutzung einer End-to-End-Trainingstechnik aktualisiert wird, wobei Parameter des Graphencoders, des Textencoders, des merkmalsverschmelzenden Netzwerkes, des Knotendecoders und des Kantendecoders während jeder Trainingsiteration aktualisiert werden.
DE102021004562.9A 2020-11-03 2021-09-09 Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache Pending DE102021004562A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/087,943 2020-11-03
US17/087,943 US20220138185A1 (en) 2020-11-03 2020-11-03 Scene graph modification based on natural language commands

Publications (1)

Publication Number Publication Date
DE102021004562A1 true DE102021004562A1 (de) 2022-05-19

Family

ID=81345725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021004562.9A Pending DE102021004562A1 (de) 2020-11-03 2021-09-09 Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache

Country Status (4)

Country Link
US (1) US20220138185A1 (de)
CN (1) CN114528898A (de)
AU (1) AU2021225262A1 (de)
DE (1) DE102021004562A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118215913A (zh) * 2021-11-04 2024-06-18 三星电子株式会社 用于提供与查询语句相关的搜索结果的电子设备和方法
US12067361B2 (en) * 2021-11-16 2024-08-20 Gnani Innovations Private Limited System and method for infusing knowledge graphs and language models for natural language sentence pair applications
CN116521153A (zh) * 2022-01-20 2023-08-01 北京字跳网络技术有限公司 图形生成方法、装置、设备及存储介质
US11734281B1 (en) * 2022-03-14 2023-08-22 Optum Services (Ireland) Limited Database management systems using query-compliant hashing techniques
US11741103B1 (en) * 2022-03-14 2023-08-29 Optum Services (Ireland) Limited Database management systems using query-compliant hashing techniques
US11995394B1 (en) * 2023-02-07 2024-05-28 Adobe Inc. Language-guided document editing
CN116204674B (zh) * 2023-04-28 2023-07-18 中国科学技术大学 一种基于视觉概念词关联结构化建模的图像描述方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200133952A1 (en) * 2018-10-31 2020-04-30 International Business Machines Corporation Natural language generation system using graph-to-sequence model
US11501186B2 (en) * 2019-02-27 2022-11-15 Accenture Global Solutions Limited Artificial intelligence (AI) based data processing
US11151982B2 (en) * 2020-03-23 2021-10-19 Sorcero, Inc. Cross-context natural language model generation
US20220108188A1 (en) * 2020-10-01 2022-04-07 International Business Machines Corporation Querying knowledge graphs with sub-graph matching networks
US11720346B2 (en) * 2020-10-02 2023-08-08 International Business Machines Corporation Semantic code retrieval using graph matching

Also Published As

Publication number Publication date
CN114528898A (zh) 2022-05-24
US20220138185A1 (en) 2022-05-05
AU2021225262A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
Bakhtin et al. Real or fake? learning to discriminate machine from human generated text
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE102020113545A1 (de) Verfahren, vorrichtungen, systeme und erzeugnisse zum bereitstellen von abfrageauswahlsystemen
DE102017122276A1 (de) Neuronale maschinenübersetzungssysteme
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE112017006166T5 (de) Verfahren und system zur erzeugung eines multi-relevanten labels
DE202017106363U1 (de) Neuronale Antwort-auf-Frage-Netze
DE102016013487A1 (de) Semantischer Vektorraum mit natürlicher Sprache
DE102022201222A1 (de) Neuronales netz mit interaktionsschicht, zum suchen, abrufen und einstufen
DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE112020003909T5 (de) Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen
DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
DE112017007530T5 (de) Entitätsmodell-erstellung
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE212022000260U1 (de) Bewerten von Ausgabesequenzen unter Benutzen eines neuronalen autoregressiven Sprachmodell-Netzwerkes
DE102022001733A1 (de) Maschinell lernende Modelle zum Detektieren von thematisch abweichenden Digitalvideos
DE102022000046A1 (de) System zur erweiterbaren Such-, Content- und Dialogverwaltung mit zwischengeschalteter durch Menschen erfolgender Kuratierung
DE112021005925T5 (de) Domänenverallgemeinerter spielraum über metalernen zur tiefen gesichtserkennung

Legal Events

Date Code Title Description
R012 Request for examination validly filed