DE112021006602T5 - Verfeinern von abfrage-erzeugungsmustern - Google Patents

Verfeinern von abfrage-erzeugungsmustern Download PDF

Info

Publication number
DE112021006602T5
DE112021006602T5 DE112021006602.1T DE112021006602T DE112021006602T5 DE 112021006602 T5 DE112021006602 T5 DE 112021006602T5 DE 112021006602 T DE112021006602 T DE 112021006602T DE 112021006602 T5 DE112021006602 T5 DE 112021006602T5
Authority
DE
Germany
Prior art keywords
natural language
query
search query
search
language query
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
DE112021006602.1T
Other languages
English (en)
Inventor
Stephen Arthur Boxwell
Kyle Matthew Brake
Keith Gregory Frost
Stanley John Vernier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021006602T5 publication Critical patent/DE112021006602T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Offenbart wird ein computerrealisiertes Verfahren zum Optimieren von Suchabfrage-Ergebnissen. Das computerrealisierte Verfahren enthält ein Empfangen einer ersten natürlichsprachlichen Abfrage, ein Auswählen einer Mehrzahl von Suchabfragemustern auf Grundlage der ersten natürlichsprachlichen Abfrage, ein Zuweisen einer Gewichtung zu jedem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern, ein Erzeugen einer oder mehrerer gewichteter Schlüsselwortabfragen aus jedem Suchabfragemuster auf Grundlage der Gewichtung, die jedem Suchabfragemuster und einem oder mehreren Schlüsselwörtern aus der ersten natürlichsprachlichen Abfrage zugewiesen wird, ein Evaluieren einer Relevanz eines oder mehrerer Suchergebnisse, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden und ein iteratives Ändern der Gewichtung, die einem Suchabfragemuster zugewiesen wird, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet von Suchabfragen und im Besonderen auf ein Verfeinern von Suchabfragemustern, um Suchabfrage-Ergebnisse zu optimieren.
  • Eine Suchabfrage oder Web-Suchabfrage ist eine Abfrage auf Grundlage eines spezifischen Suchwortes oder -begriffes, die verwendet wird, um einen Informationsbedarf zu befriedigen. Eine Suchabfrage besteht typischerweise aus dem eigentlichen Wort oder der Zeichenfolge von Wörtern, die ein Benutzer in eine Suchmaschine eingibt, um Informationen in Verbindung mit der Suchabfrage abzurufen, z.B. eine bestimmte Textpassage, ein Dokument oder eine Web-Seite. Suchabfragen haben typischerweise eine Web-Grundlage, bei der ein Benutzer eine Suchabfrage in eine Web-Suchmaschine eingibt, indem er eine Benutzerschnittstelle einer elektronischen Einheit wie z.B. eines Computers, einer mobilen Handheld-Einheit oder einer smarten Einheit verwendet.
  • Ein Suchabfragemuster (d.h. „Suchmuster“, „Abfragemuster“, „String-Searching-Algorithmus“ oder „String-Matching-Algorithmus“) enthält eine oder mehrere vordefinierte Regeln zum Erzeugen einer oder mehrerer Schlüsselwortabfragen auf Grundlage einer bestimmten Suchabfrage. Zum Beispiel kann ein Abfragemuster [Wetter in X] für alle Abfragen stehen, die den Begriff „Wetter“ und einen Begriff [X] enthalten, der einen geografischen Ort identifiziert, z.B. [Wetter in Paris], [Wetter in Frankreich] und [Wetter in meiner Nähe].
  • Eine Schlüsselwortabfrage ist eine bestimmte Abfrage, die aus einem Suchabfragemuster und einer oder mehreren Teilzeichenfolgen gebildet wird, die aus einer Suchabfrage eines Benutzers gewonnen werden. Zum Beispiel kann aus der Suchabfrage „Wie heißt die Hauptstadt von Frankreich?“ und dem Suchabfragemuster [X von Y] die Schlüsselwortabfrage [Hauptstadt von Frankreich] gebildet werden.
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein computerrealisiertes Verfahren zum Optimieren von Suchabfrage-Ergebnissen offenbart. Das computerrealisierte Verfahren enthält ein Empfangen einer ersten natürlichsprachlichen Abfrage. Das computerrealisierte Verfahren enthält des Weiteren ein Auswählen einer Mehrzahl von Suchabfragemustern auf Grundlage der ersten natürlichsprachlichen Abfrage. Das computerrealisierte Verfahren enthält des Weiteren ein Zuweisen einer Gewichtung zu jedem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern. Das computerrealisierte Verfahren enthält des Weiteren ein Erzeugen einer oder mehrerer gewichteter Schlüsselwortabfragen aus jedem Suchabfragemuster auf Grundlage der Gewichtung, die jedem Suchabfragemuster zugewiesen wird, und eines oder mehrerer Schlüsselwörter aus der ersten natürlichsprachlichen Abfrage. Das computerrealisierte Verfahren enthält des Weiteren ein Evaluieren einer Relevanz eines oder mehrerer Suchergebnisse, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden. Das computerrealisierte Verfahren enthält des Weiteren ein iteratives Ändern der Gewichtung, die einem Suchabfragemuster zugewiesen wird, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Computerprogrammprodukt zum Optimieren von Suchabfrage-Ergebnissen offenbart. Das Computerprogrammprodukt enthält ein oder mehrere computerlesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert werden. Die Programmanweisungen enthalten Anweisungen, um eine erste natürlichsprachliche Abfrage zu empfangen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um auf Grundlage der ersten natürlichsprachlichen Abfrage eine Mehrzahl von Suchabfragemustern auszuwählen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um jedem Suchabfragemustern aus der Mehrzahl von Suchabfragemustern eine Gewichtung zuzuweisen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um auf Grundlage der Gewichtung, die jedem Suchabfragemuster zugewiesen wird, und eines oder mehrerer Schlüsselwörter aus der ersten natürlichsprachlichen Abfrage eine oder mehrere gewichtete Schlüsselwortabfragen aus jedem Suchabfragemuster zu erzeugen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um eine Relevanz eines oder mehrerer Suchergebnisse zu evaluieren, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden. Die Programmanweisungen enthalten des Weiteren Anweisungen, um die Gewichtung, die einem Suchabfragemuster zugewiesen wird, iterativ zu ändern, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Computersystem zum Optimieren von Suchabfrage-Ergebnissen offenbart. Das Computersystem enthält einen oder mehrere Computerprozessoren, ein oder mehrere computerlesbare Speichermedien und Computerprogrammanweisungen, wobei die Computerprogrammanweisungen auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert werden, um durch den einen oder die mehreren Computerprozessoren ausgeführt zu werden. Die Programmanweisungen enthalten Anweisungen, um eine erste natürlichsprachliche Abfrage zu empfangen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um auf Grundlage der ersten natürlichsprachlichen Abfrage eine Mehrzahl von Suchabfragemustern auszuwählen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um jedem Suchabfragemustern aus der Mehrzahl von Suchabfragemustern eine Gewichtung zuzuweisen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um auf Grundlage der Gewichtung, die jedem Suchabfragemuster zugewiesen wird, und eines oder mehrerer Schlüsselwörter aus der ersten natürlichsprachlichen Abfrage eine oder mehrere gewichtete Schlüsselwortabfragen aus jedem Suchabfragemuster zu erzeugen. Die Programmanweisungen enthalten des Weiteren Anweisungen, um eine Relevanz eines oder mehrerer Suchergebnisse zu evaluieren, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden. Die Programmanweisungen enthalten des Weiteren Anweisungen, um die Gewichtung, die einem Suchabfragemuster zugewiesen wird, iterativ zu ändern, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die in der vorliegenden Offenbarung enthaltenen Zeichnungen sind in die Beschreibung aufgenommen und bilden einen Bestandteil hiervon. Sie veranschaulichen Ausführungsformen der vorliegenden Offenbarung und dienen neben der Beschreibung dazu, die Grundsätze der Offenbarung zu erläutern. Die Zeichnungen veranschaulichen lediglich bestimmte Ausführungsformen und bilden keine Beschränkung der Offenbarung.
    • 1 ist ein funktionales Blockschaubild eines allgemein als 100 bezeichneten Datenverarbeitungssystems für einen Informationsabruf gemäß mindestens einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist eine Ablaufplandarstellung, die Arbeitsschritte zum Verfeinern von Suchabfrage-Erzeugungsmustern gemäß mindestens einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 3 ist eine Ablaufplandarstellung, die Arbeitsschritte zum Erzeugen und Zuweisen von vordefinierten Suchabfragemustern und Gewichtungen für bestimmte Suchabfragen gemäß mindestens einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 4 ist ein Blockschaubild, das Komponenten eines allgemein als 300 bezeichneten Computers darstellt, die geeignet sind, um ein Suchabfrageprogramm 101 gemäß mindestens einer Ausführungsform der vorliegenden Erfindung auszuführen.
  • Obwohl die hierin beschriebenen Ausführungsformen für verschiedene Abwandlungen und alternative Formen offen sind, wurden Besonderheiten hiervon in den Zeichnungen beispielhaft gezeigt und werden im Detail beschrieben. Dabei versteht sich jedoch von selbst, dass die beschriebenen bestimmten Ausführungsformen nicht in einem beschränkenden Sinne zu verstehen sind. Vielmehr sollen alle Abwandlungen, Entsprechungen und Alternativen abgedeckt sein, die unter den inhaltlichen Umfang der Offenbarung fallen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet von Suchabfragen und im Besonderen auf ein Verfeinern von Suchabfragemustern, um Suchabfrage-Ergebnisse zu optimieren
  • Beim Verwenden eines Informationsabrufsystems wie z.B. einer Web-Suchmaschine unterscheiden sich Personen stark darin, wie sie Abfragen erstellen, und auch die Informationen, die eine Person auf Grundlage einer bestimmten Suchabfrage abrufen möchte, variieren stark. Häufig geben Benutzer, die nach ähnlichen Informationen suchen, unterschiedliche Suchabfragen ein. So können manche Benutzer kurze Fragen bevorzugen, während andere womöglich ausführlicher formulieren möchten. Auf ähnliche Weise können manche Benutzer ein bestimmtes Wort aufnehmen (z.B. finden) und dabei erwarten, dass das Informationsabrufsystem das Wort in allen Flexionen (z.B. finden, findet, Finden) berücksichtigt, während andere flexibler formulieren (z.B. finden []). Allerdings kann die Verwendung unterschiedlicher Wörter, einer unterschiedlichen Reihenfolge oder Kombination von Wörtern in einer Suchabfrage verschiedene Ergebnisse erbringen. Ein Benutzer muss seine Suchabfrage häufig mehrfach ändern, um das richtige Ergebnis zu erhalten, nach dem er sucht. Ausführungsformen der vorliegenden Erfindung berücksichtigen jedoch, dass eine Person womöglich auch dann das gewünschte Suchergebnis nicht finden kann, nachdem sie ihre Suchabfrage mehrere Male selbst geändert hat. Zusätzlich berücksichtigen Ausführungsformen der vorliegenden Erfindung, dass es lästig und zeitaufwendig sein kann, wenn eine Person sich die Zeit nehmen muss, eine Suchabfrage fortlaufend zu ändern und zu verfeinern, um ihr gewünschtes Ergebnis zu erhalten.
  • Ausführungsformen der vorliegenden Erfindung beheben die genannten Schwächen, indem sie Suchabfragemuster für einen bestimmten Benutzer automatisch verfeinern, um die daraus erwarteten Ergebnisse zu optimieren. Gemäß Ausführungsformen der vorliegenden Erfindung werden aus zwei oder mehr Suchabfragemustern für eine bestimmte Suchabfrage mehrere Schlüsselwortabfragen erzeugt. Bei einer Ausführungsform erhält jedes der zwei oder mehr Suchabfragemuster eine anfängliche Gewichtung, bei der jeder darauffolgenden Schlüsselwortabfrage, die aus einem entsprechenden Suchabfragemuster erzeugt wird, eine Gewichtung zugewiesen wird, die der Gewichtung entspricht, die das Suchabfragemuster erhalten hat. Die Relevanz der durch jede Schlüsselwortabfrage zurückgegebenen Ergebnisse wird analysiert. Anschließend wird die Genauigkeit oder Relevanz eines jeden Ergebnisses evaluiert, das über eine entsprechende Schlüsselwortabfrage zurückgegeben wird. Bei einer Ausführungsform wird ein iterativer Hill-Climbing-Algorithmus verwendet, um einen benachbarten Zustand willkürlich auszuwählen (indem z.B. die Gewichtung eines der ausgewählten Suchabfragemuster Schritt für Schritt erhöht wird). Der neue Zustand wird für eine bestimmte Suchabfrage evaluiert, indem eine Schlüsselwortabfrage aus einer entsprechenden Suchabfrage erstellt, ein Korpus von Dokumenten durchsucht und ein Score für die bestimmte Suchabfrage evaluiert wird. Bei einer Ausführungsform werden die Gewichtungen in Echtzeit angepasst, während Textpassagen durch den Hill-Climbing-Algorithmus evaluiert werden, bis eine optimale Anzahl von Suchergebnissen für eine bestimmte Suchabfrage erreicht wird. Die gewichteten Werte, die den entsprechenden Schlüsselwortabfragen zugewiesen werden, die die optimale Anzahl von Suchabfragen erhalten haben, werden für eine Verwendung mit nachfolgenden, ähnlichen Schlüsselwortabfragen gespeichert. Auf diese Weise kann das System der vorliegenden Erfindung vorgegebene Gewichtungen automatisch ähnlichen, künftig erzeugten Schlüsselwortabfragen zuweisen und dadurch die Ergebnisse optimieren, die für eine bestimmte Person zurückgegeben werden.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen enthalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (Random Access Memory, RAM), ein Festwertspeicher (Read-Only Memory ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (Erasable Programmable Read-Only Memory, EPROM) bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (Static Random Access Memory, SRAM), ein tragbarer CD-ROM, eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht als transitorische Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/ Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden werden, zum Beispiel ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei manchen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Arrays (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (Programmable Logic Arrays, PLA) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder den Blockschaubildern mittels computerlesbarer Programmanweisungen ausgeführt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplanes und/oder des Blockschaubildes festgelegten Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert werden, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der bzw. des in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen computerrealisierten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Realisieren der bestimmten logischen Funktion bzw. Funktionen aufweisen. Bei manchen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplandarstellungen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Modifikationen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Die vorliegende Erfindung wird nun in Bezug auf die Figuren detailliert beschrieben. 1 ist ein funktionales Blockschaubild eines allgemein als 100 bezeichneten Datenverarbeitungssystems für einen Informationsabruf gemäß mindestens einer Ausführungsform der vorliegenden Erfindung. 1 stellt eine Veranschaulichung von lediglich einer einzigen Realisierung bereit und impliziert keinerlei Beschränkungen mit Blick auf die Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können. Der Fachmann kann viele Abwandlungen an der dargestellten Umgebung vornehmen, ohne von dem durch die Ansprüche geltend gemachten inhaltlichen Umfang der Erfindung abzuweichen.
  • Das Datenverarbeitungssystem 100 enthält eine Benutzereinheit 110, einen Server 120 und eine Speichereinheit 130, die über ein Netzwerk 140 miteinander verbunden werden. Die Benutzereinheit 110 kann für eine Datenverarbeitungseinheit eines Benutzers stehen, z.B. einen Laptop Computer, einen Tablet Computer, einen Netbook Computer, einen Personal Computer, einen Desktop Computer, einen persönlichen digitalen Assistenten (PDA), ein Smartphone, am Körper tragbare Einheiten (z.B. smarte Brillen, smarte Uhren, eTextilien, Augmented-Reality(AR)-Headsets usw.) oder beliebige andere programmierbare Computersysteme, die nach dem Stand der Technik bekannt sind. Im Allgemeinen kann die Benutzereinheit 110 für jede programmierbare elektronische Einheit oder Kombination von programmierbaren elektronischen Einheiten stehen, die in der Lage ist, maschinenlesbare Programmanweisungen auszuführen und über ein Netzwerk wie z.B. das Netzwerk 140 mit dem Server 120, der Speichereinheit 130 und anderen (nicht dargestellten) Einheiten Daten auszutauschen. Gemäß Ausführungsformen der vorliegenden Erfindung kann die Benutzereinheit 110 Komponenten enthalten, wie sie in Bezug auf 3 dargestellt und ausführlicher beschrieben werden.
  • Die Benutzereinheit 110 enthält des Weiteren eine Benutzerschnittstelle 112 und eine Anwendung 114. Die Benutzerschnittstelle 112 ist ein Programm, das eine Schnittstelle zwischen einem Benutzer einer Endbenutzereinheit wie z.B. der Benutzereinheit 110 und einer Mehrzahl von Anwendungen bereitstellt, die sich auf der Einheit befinden (z.B. die Anwendung 114). Eine Benutzerschnittstelle wie z.B. die Benutzerschnittstelle 112 bezieht sich auf Informationen (z.B. Grafik, Text und Klang), die ein Programm einem Benutzer präsentiert, sowie auf die Steuersequenzen, die der Benutzer verwendet, um das Programm zu steuern. Es gibt eine Vielfalt von Arten von Benutzerschnittstellen. Bei einer Ausführungsform ist die Benutzerschnittstelle 112 eine graphische Benutzerschnittstelle (Graphical User Interface, GUI). Eine grafische Benutzerschnittstelle ist eine Art von Benutzerschnittstelle, die Benutzern ermöglicht, mit elektronischen Einheiten wie z.B. einer Computertastatur und -Maus über grafische Symbole und visuelle Indikatoren wie z.B. eine Sekundärnotation zu interagieren, im Gegensatz zu Schnittstellen auf Text-Grundlage, eingetippten Befehlsbezeichnungen oder Textnavigation. In der Datenverarbeitung wurden GUIs als Reaktion auf die als steil empfundene Lernkurve von Befehlszeilenschnittstellen eingeführt, bei denen Befehle auf der Tastatur eingetippt werden müssen. Die Aktionen in GUIs werden häufig durch eine direkte Manipulation der grafischen Elemente durchgeführt. Bei einer weiteren Ausführungsform ist die Benutzerschnittstelle 112 ein Skript oder eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API).
  • Die Anwendung 114 kann für eine oder mehrere Anwendungen (z.B. eine Anwendungssuite) stehen, die auf der Benutzereinheit 110 ausgeführt werden. Bei verschiedenen Beispielausführungsformen kann die Anwendung 114 eine Anwendung sein, die ein Benutzer der Benutzereinheit 110 verwendet, um eine Suchabfrage einzugeben und über eine Benutzerschnittstelle 112 Suchergebnisse anzeigen zu lassen. Bei anderen Ausführungsformen kann die Anwendung 114 eine weitere Anwendung einer mobilen Einheit sein (z.B. ein Web-Browser, eine unternehmensspezifische Nachrichtenanwendung, eine Social-Media-Anwendung usw.). Zum Beispiel ist die Anwendung 114 eine Client-seitige Anwendung, die dem Server 120 zugehörig ist (z.B. eine Client-seitige Anwendung, die dem Suchabfrageprogramm 101 zugehörig ist).
  • Bei einer zusätzlichen Ausführungsform kann die Anwendung 114 ausgeführt werden, um gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung Verarbeitungsschritte des Suchabfrageprogrammes 101 durchzuführen (d.h. die Anwendung 114 kann für das Suchabfrageprogramm 101 stehen, das auf der Benutzereinheit 110 ausgeführt wird). Zum Beispiel kann ein Benutzer der Benutzereinheit 110 unter Verwendung der Anwendung 114 eine natürlichsprachliche Abfrage eingeben und die Ergebnisse (z.B. über die Benutzerschnittstelle 112) in der Benutzereinheit anzeigen lassen. Bei manchen Ausführungsformen wird in der Anwendung 114 über die Benutzerschnittstelle 112 ein Popup-Fenster angezeigt, das den Benutzer dazu auffordert anzugeben, ob angezeigte Suchergebnisse relevant sind. Bei einer Ausführungsform werden von dem Benutzer gesammelte Rückmeldedaten verwendet, um die Suchabfragemuster zu verbessern oder zu verfeinern, die verwendet werden, um Schlüsselwortabfragen für künftige Abfragen zu erstellen. Bei einer Ausführungsform können gesammelte Rückmeldedaten des Weiteren, z.B. mittels maschinellem Lernen, verwendet werden, um zu trainieren, ob Gewichtungen, die einem bestimmten Suchabfragemuster zugewiesen werden, erhöht oder vermindert werden sollten. Auf ähnliche Weise können Rückmeldedaten verwendet werden, um zu lernen, ob bestimmte Suchabfragemuster und die ihnen zugewiesenen Gewichtungen automatisch ausgewählt werden sollten, um mit ähnlichen, künftigen Abfragen verwendet zu werden.
  • In Beispielausführungsformen kann der Server 120 ein Desktop Computer, ein Computerserver oder beliebige andere Computersysteme sein, die nach dem Stand der Technik bekannt sind. Bei bestimmten Ausführungsformen steht der Server 120 für Computersysteme, die geclusterte Computer und Komponenten (z.B. Datenbank-Server-Computer, Anwendungs-Server-Computer usw.) verwenden, die als ein einziger Pool von nahtlosen Ressourcen dienen, wenn durch Komponenten der Datenverarbeitungsumgebung 100 (z.B. die Benutzereinheit 110, das Speichersystem 130 und andere nicht gezeigte Einheiten) darauf zugegriffen wird. Im Allgemeinen steht der Server 120 für jede elektronische Einheit oder Kombination von elektronischen Einheiten, die in der Lage ist, computerlesbare Programmanweisungen auszuführen. Gemäß Ausführungsformen der vorliegenden Erfindung kann der Server 120 Komponenten enthalten, wie sie in Bezug auf 3 dargestellt und ausführlicher beschrieben werden.
  • Der Server 120 enthält das Suchabfrageprogramm 101, das des Weiteren ein Modul 122 für eine Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) und ein Modul 124 mit einem syntaktischen Parser enthält. Bei einer Ausführungsform ist das Modul 122 für eine Verarbeitung natürlicher Sprache (NPL) eine Komponente oder ein Teilprogramm des Suchabfrageprogrammes 101, das zum Analysieren von Eingabesuchabfragen verwendet wird. Verarbeitung natürlicher Sprache ist ein Teilfeld von Linguistik, Computerwissenschaften und künstlicher Intelligenz zum Verarbeiten von natürlichsprachlichen Daten. Bei verschiedenen Ausführungsformen teilt das Modul 122 für eine Verarbeitung natürlicher Sprache Eingabesuchabfragen in Wörter auf, zum Beispiel durch die Verwendung einer Wortsegmentierung oder Tokenisierung. Wortsegmentierung ist die Unterteilung von fortlaufendem Text in Wörter. Zum Beispiel enthält die von dem Benutzer empfangene Eingabesuchabfrage eine Mehrzahl von Wörtern und wird in einzelne Wörter aufgeteilt. Eine Tokenisierung ist der Prozess eines Zerlegens und Klassifizierens von Abschnitten einer Zeichenfolge von Eingabezeichen. Zum Beispiel werden die einzelnen Wörter in Schlüsselwörter, Phrasen, Token oder Teilzeichenfolgen zerlegt. Zum Beispiel kann die Abfrage „Wie heißt die Hauptstadt von Spanien?“ in die folgenden Teilzeichenfolgen oderToken zerlegt werden: [wie], [heißt], [die], [Hauptstadt], [von] und [Spanien]. Bei einer Ausführungsform werden gemäß dem Suchabfragemuster Stoppwörter entfernt. Stoppwörter (z.B. ein, eine, das, usw.) sind in einer Sprache verwendete gängige Wörter, die keine zusätzlichen Informationen bereitstellen, die beim Identifizieren von Suchergebnissen helfen (d.h. Wörter, die die Ergebnisse nicht beeinflussen). So enthält die Suchabfrage „Wie heißt die Hauptstadt von Spanien?“ zum Beispiel die Stoppwörter [„heißt“], [„die“] und [„von“]. Nachdem die Stoppwörter entfernt werden, können nur die folgenden Teilzeichenfolgen oder Token verwendet werden, wenn die Abfrage mit einem Abfragemuster abgeglichen wird: [„Hauptstadt“] und [„Spanien“].
  • Bei einer Ausführungsform führt das Modul 122 für eine Verarbeitung natürlicher Sprache ein Wortart-Tagging für die Token oder Teilzeichenfolgen durch. Ein Wortart-Tagging (d.h. grammatikalisches Tagging) ist der Prozess, bei dem ein Wort in einem Text als einer bestimmten Wortart entsprechend gekennzeichnet wird, wobei dies auf Grundlage sowohl seiner Definition als auch seines Inhalts erfolgt. Zum Beispiel kann das Modul 122 für eine Verarbeitung natürlicher Sprache einzelne Wörter auf Grundlage der Definition der Wörter und des Kontextes, in dem die Wörter in der Eingabesuchabfrage verwendet werden, als ein Nomen, Verb, Adjektiv usw. kennzeichnen. Bei einer Ausführungsform werden nur Wörter mit vorgegebenen Wortarten verwendet, wenn Schlüsselwortabfragen erzeugt werden, die aus Suchabfragemustern erstellt werden. Als ein Beispiel kann bei einem regulären Ausdruck mit dem Muster [Verb] + [Adjektiv] + [Nomen] die Abfrage „Wer ist bei den Olympischen Spielen am schnellsten gelaufen?“ die folgende Schlüsselwortabfrage ergeben: [„gelaufen“] (Verb) [„schnellsten“] (Adjektiv) und [„Olympischen Spielen“] (Nomen).
  • Bei einer Ausführungsform ist das Modul 124 mit einem syntaktischen Parser eine Komponente oder ein Teilprogramm des Suchabfrageprogrammes 101, das zum Analysieren von Eingabesuchabfragen verwendet wird. Ein syntaktisches Parsen (d.h. Syntaxanalyse oder Syntax-Parsen) ist der Prozess eines Analysierens von natürlicher Sprache anhand der Regeln einer formalen Grammatik. Hier werden grammatikalische Regeln nicht auf einzelne Wörter, sondern auf Kategorien und Gruppen von Wörtern angewendet. Zum Beispiel enthält die Frage „Warum hat das Huhn die Straße überquert?“ ein Subjekt und ein Prädikat, wobei das Subjekt (das Huhn) eine Nominalphrase und das Prädikat (die Straße überquert) eine Verbalphrase ist.
  • Der Server 120 verwendet die Speichereinheit 130, um verschiedene Informationen wie z.B. einen Korpus 132 und eine Textpassage 134 zu speichern und abzurufen. Die Speichereinheit 130 kann mit jeder Art von Speichereinheit realisiert werden, die Daten speichern kann, auf die der Server 120 und die Benutzereinheit 110 zugreifen können bzw. die sie nutzen können, z.B. ein Datenbank-Server, ein Festplattenlaufwerk oder ein Flash-Arbeitsspeicher. Bei einer Ausführungsform kann die Speichereinheit 130 für mehrere Speichereinheiten und Sammlungen von Daten innerhalb des Servers 120 stehen.
  • Der Korpus 132 ist ein Satz von Dokumenten oder strukturierten Informationen. Wie hierin verwendet, kann ein Korpus allgemein als eine Anzahl von elektronischen Textpassagen verstanden werden, wobei jede Textpassage eindeutig identifizierbar ist. Zum Beispiel kann der Korpus 132 eine Datei oder ein Satz von Dateien, eine Web-Seite oder ein Satz von Web-Seiten oder aber jede Art von strukturierten Daten sein, die in der Speichereinheit 130 gespeichert werden. Bei manchen Ausführungsformen gleicht das Suchabfrageprogramm 101 Schlüsselwortabfragen mit dem Korpus 132 ab, um ein oder mehrere Suchergebnisse aus dem Korpus 132 zurückzugeben. Bei anderen Ausführungsformen gleicht das Suchabfrageprogramm 101 Schlüsselwortabfragen mit Daten auf Web-Grundlage ab, um über eine Internet-fähige Plattform wie z.B. eine Web-Suchmaschine ein oder mehrere Suchergebnisse (z.B. einheitliche Ressourcenanzeiger, Uniform Resource Locators (URLs) oder auf einer Web-Seite enthaltene Informationen) zurückzugeben.
  • Die Textpassage 134 ist ein Teil oder Abschnitt einer schriftlichen Arbeit oder eines Datenelementes. Bei manchen Ausführungsformen zerlegt das Suchabfrageprogramm 101 ein Dokument durch einen Prozess einer Paginierung (d.h. elektronische Paginierung oder „elektronisches Paging“). Eine Paginierung ist der Prozess eines Unterteilens oder Aufteilens des Inhaltes eines elektronischen Datensatzes wie z.B. eines Wortdokumentes oder einer Website in einzelne elektronische Seiten. Eine Paginierung wird häufig in Datenbanken und Web-Anwendungen verwendet, um einen direkten Zugriff auf einen unterteilten Inhalt über eine Anzahl von verschiedenen Seiten hinweg zu ermöglichen. Zum Beispiel kann eine Paginierung verwendet werden, um eine begrenzte Anzahl von Ergebnissen einer Suchmaschinen-Ergebnisseite anzuzeigen oder eine begrenzte Anzahl von Beiträgen zu zeigen, wenn ein Thread in einem Forum angezeigt wird. Ein Zugriff auf einen unterteilten Inhalt wird in Form eines Benutzerschnittstellenmusters (d.h. eines „Paginierungsmusters“ oder „Paginierungsentwurfsmusters“) bereitgestellt, in anderen Worten als ein Satz von Maschinenlogikregeln, die angeben, wie der Inhalt aufgeteilt wird (z.B. die ersten 5.000 Wörter auf der ersten Seite, die zweiten 5.000 Wörter auf der zweiten Seite ... die verbleibenden Restwörter auf der letzten Seite, oder ein Dokument wird alle zehn Seiten aufgeteilt, d.h. ein 24-seitiges Dokument wird in zwei 10-seitige Abschnitte und einen 4-seitigen Abschnitt unterteilt). Diese Maschinenlogikregeln geben vor, wie der Inhalt in einzelne Seiten unterteilt wird.
  • Gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung wählt das Suchabfrageprogramm 101 Suchabfragemuster und damit die aus den Suchabfragen erstellten Schlüsselwortabfragen auf Grundlage des Kontextes und/oder der syntaktischen/semantischen Struktur der Abfragen selbst aus und passt sie an. Bei einer Ausführungsform werden bestimmte Suchabfragemuster ausgewählt, und es werden ihnen Gewichtungen zugewiesen, um auf Grundlage eines Vergleichens von mindestens einem Kontext und/oder einer syntaktischen/semantischen Struktur der neuen Abfrage mit demjenigen bzw. derjenigen vorheriger Abfragen Schlüsselwortabfragen für eine neue Abfrage zu erstellen. Die den bestimmten Suchabfragemustern zugewiesenen gewichteten Werte, die für vergangene, ähnliche Abfragen während einer Trainingsphase die optimale Anzahl von Suchergebnissen (eine höchste Anzahl von Ergebnissen, die eine Abfrage korrekt beantworten) erreicht haben, werden automatisch ausgewählt, um Ergebnisse für ähnliche, künftig erzeugte Abfragen abzurufen. Auf diese Weise sind die ganz oben aufgelisteten Suchergebnisse, die für eine Abfrage zurückgegeben werden, wahrscheinlich am relevantesten für die erstmalige Beantwortung der Abfrage, ohne dass der Benutzer die Suchabfrage selbst ändern muss, um die wahrscheinlichsten Informationen zu erhalten, nach denen er sucht.
  • In einer anfänglichen Trainingsphase wird eine Abfrage empfangen, und eine vorgegebene Anzahl von Suchabfragemustern wird ausgewählt. Bei einer Ausführungsform können die Suchabfragemuster in Form eines regulären Ausdrucks vorliegen. Ein regulärer Ausdruck (d.h. „regex“ oder „regexp“ von Englisch „regular expression“) ist eine Abfolge von Zeichen, die ein Suchmuster definieren. Bei einer Ausführungsform können die Suchabfragemuster in Form einer Komponente für einen syntaktischen Graphenabgleich vorliegen. Ein semantischer Graphenabgleich ermöglicht die Analyse der assoziativen und kontextuellen Beschaffenheit von Abfragen. Ein semantischer Abgleich enthält den Abruf sowohl von explizit wie implizit abgeleiteten Informationen auf Grundlage von syntaktischen, semantischen und strukturellen Informationen innerhalb der Abfrage. Dabei sollte jedoch klar sein, dass die Suchabfragemuster, die zum Trainieren oder anderweitigen Verfeinern von Suchabfragemustern verwendet werden, alle bekannten Arten und jede Kombination von bekannten Arten von Suchabfragemustern enthalten können. Bei einer Ausführungsform speichert das Suchabfrageprogramm 101 Suchabfragemuster aus der Speichereinheit 130.
  • Bei einer Ausführungsform enthält ein Suchabfragemuster mindestens eines oder mehrere aus:
    1. (1) einem Muster (P), das in der Lage ist:
      1. a. eine bestimmte Teilzeichenfolge (A) einer Abfrage zu erkennen, und
      2. b. bestimmte Teilzeichenfolgen (B) innerhalb von (A) zu identifizieren;
    2. (2) eine oder mehrere Formatierungszeichenfolgen, die für ein Such-Token und Null oder mehr Positionen stehen, an denen die bestimmten Teilzeichenfolgen (B) platziert werden sollten;
    3. (3) eine Liste von Teilzeichenfolgen-Kennzeichnungen (B), die eine Reihenfolge angeben, in der die bestimmten Teilzeichenfolgen (B) angeordnet werden sollten; und
    4. (4) eine Gewichtung in Form einer nichtnegativen realen Zahl.
  • Bei einer Ausführungsform liegt das Suchabfragemuster (P) in Form eines regulären Ausdruckes vor, und bestimmte Teilzeichenfolgen (A) und (B) werden unter Verwendung von benannten Erfassungsgruppen identifiziert. Bei einer Ausführungsform liegt das Suchabfragemuster (P) in Form einer Komponente für einen syntaktischen Graphenabgleich vor, wobei syntaktische/semantische Beziehungen oder Abhängigkeiten verwendet werden, um die bestimmte Teilzeichenfolge (A) zu identifizieren, und wobei die bestimmten Teilzeichenfolgen (B) innerhalb von (A) durch syntaktische Token innerhalb des Suchabfragemusters (P) als Ganzes identifiziert werden.
  • Bei einer Ausführungsform weist das Suchabfrageprogramm 101 jedem Suchabfragemuster, das für eine bestimmte Abfrage ausgewählt wird, einen relativen Score-Multiplikator zu (d.h. einen „Verstärkungsfaktor“ oder eine „Gewichtung“). Ein relativer Score-Multiplikator beeinflusst die Relevanzrangfolge der Suchergebnisse. Zum Beispiel ist ein relativer Score-Multiplikator von Zwei doppelt so einflussreich wie ein relativer Score-Multiplikator von Eins.
  • Bei einer Ausführungsform erstellt das Suchabfrageprogramm 101 Schlüsselwortabfragen aus Suchabfragemustern. Zum Beispiel werden aus einer Abfrage abgeleitete Token mit einem Suchabfragemuster abgeglichen. Bei einer Ausführungsform wird ein relativer Score-Multiplikator, der einem bestimmten Suchabfragemuster zugewiesen wird, auch jeder Schlüsselwortabfrage zugewiesen, die durch das Suchabfragemuster erzeugt wird. Zum Beispiel soll das Suchabfragemuster „(?<=( |^))(?<fieldl>\\w+)(?=(|\\??$))“ für die Abfrage „Wie heißt die Hauptstadt von Frankreich?“ ausgewählt werden, wobei (?<=(|^)) bedeutet, dass „links von diesem Token ein Leerzeichen oder der Beginn der Zeichenfolge stehen soll“, (?<field1>\\w+) bedeutet, dass „das Token selbst aus einem oder mehreren Buchstaben besteht, die „field1“ zugehörig sind" (keine Leerzeichen oder Satzzeichen), und wobei (?=(|\\??$)) bedeutet, dass „rechts von dem Token entweder ein Leerzeichen oder ein Fragezeichen stehen soll“. Auf Grundlage dieses Suchabfragemusters können die folgenden zwei Schlüsselwortabfragen erzeugt werden: [Hauptstadt] [Frankreich]. Somit wird diesem Suchabfragemuster ein relativer Score-Multiplikator von [2,0] zugewiesen, woraufhin auch jeder Schlüsselwortabfrage wie folgt ein relativer Score-Multiplikator von [2,0] zugewiesen werden kann: [Hauptstadt^2,0] [Frankreich^2,0].
  • Bei einer Ausführungsform werden für jede Abfrage eine oder mehrere der Textpassagen 134 aus dem Korpus abgerufen. Die Relevanz der einen oder der mehreren der Textpassagen 134, die aus jedem gewichteten Suchabfragemuster zurückgegeben werden, und somit die aus jedem gewichteten Suchabfragemuster erstellten Schlüsselwortabfragen werden analysiert und evaluiert. Bei einer Ausführungsform kann der Evaluierungsschritt einen einfachen Zählwert verwenden, der angibt, wie viele Textpassagen die Frage korrekt beantworten. Bei einer Ausführungsform verwendet der Evaluierungsschritt die Summe der Scores für jede Textpassage, wobei der Score für jede Textpassage 1/n ist, wenn die Textpassage die Frage korrekt beantwortet (wobei n der Rang der Textpassage ist), und 0, wenn dies nicht der Fall ist. Allerdings sollte klar sein, dass alle bekannten Scoring-Arten verwendet werden können.
  • Bei einer Ausführungsform wird zusätzlich zu dem Korpus 132 ein Antwortschlüssel bereitgestellt, der aus einer Anzahl von Abfragen besteht, wobei jede Abfrage enthält: (i) eine natürlichsprachliche Frage, (ii) eine Liste von Textpassagen, die die Frage korrekt beantworten (ohne Textpassagen, die die Antwortzeichenfolge lediglich in einem Kontext enthalten, der die Frage nicht korrekt beantwortet), und (iii) eine Liste von Textpassagen, die die Frage nicht korrekt beantworten. Bei einer Ausführungsform wird der Korpus 132 annotiert, sodass für jede Frage jede Textpassage als „beantwortet die Frage korrekt“ oder „beantwortet die Frage nicht korrekt“ gekennzeichnet wird. Bei einer Ausführungsform werden alle Textpassagen, die die Frage korrekt beantworten, entsprechend annotiert, und bei allen anderen Textpassagen, die nicht annotiert werden, wird davon ausgegangen, dass sie die Frage nicht korrekt beantworten. Bei einer Ausführungsformen werden Urteile in Echtzeit durch Experten getroffen, wenn Textpassagen daraufhin evaluiert werden, ob eine Textpassage eine Frage korrekt beantwortet. Für den wahrscheinlichen Fall, dass Textpassagen mehrmals abgerufen werden, wenn ähnliche Schlüsselwortabfragen auftreten, können diese Urteile gespeichert werden.
  • Bei einer Ausführungsform ändert ein Hill-Climbing-Algorithmus den relativen Score-Multiplikator eines oder mehrerer der Suchabfragemuster. Hill-Climbing-Algorithmen versuchen, eine bessere Lösung für ein Problem zu finden, indem sie inkrementelle Änderungen an der Lösung vornehmen. Bei einer Ausführungsform passt das Suchabfrageprogramm 101 den relativen Score-Multiplikator für ein oder mehrere Suchabfragemuster fortlaufend an, um die optimale Anzahl von relevanten Suchergebnissen für eine oder mehrere Abfragen zu erhalten. Bei einer Ausführungsform wird jedem Suchabfragemuster ein anfänglicher relativer Score-Multiplikator von 1,0 zugewiesen, der auf Grundlage der Relevanz der zurückgegebenen Textpassagen nach oben oder unten angepasst werden kann.
  • Bei einer beispielhaften Ausführungsform sollen Suchabfragemuster in Form von regulären Ausdrücken vorliegen, und die Evaluierungsmetrik für die Suchabfragemuster soll aus einem einfachen Zählwert der Anzahl von relevanten Suchergebnissen bestehen. In anderen Worten hat die Evaluierungsmetrik für die Suchabfragemuster zur Grundlage, wie viele relevante Suchergebnisse für eine bestimmte Schlüsselwortabfrage zurückgegeben werden, die aus einem bestimmten Suchabfragemuster erstellt wird. Zum Zwecke dieser beispielhaften Ausführungsform werden die folgenden drei Suchabfragemuster (im JSON-Format) bereitgestellt:
           SQP-Muster 1:
           "pattern":"(?<=(|^))(?<field1>\\w+)(?=(|\\??$))".
           "formattingString":["%s"],
           "fields":["Feld"],
           "weight":1
           SQP-Muster 2:
           "pattern":"(?<=(|^))(?<field1>\\w+) of (?<field2>\\w+)(?=(|\\??$))",
           "formattingString":["%s von %s"],
           "fields":["Feld1","Feld2"],
           "weight":1
           SQP Muster 3:
           "pattern":"(?<=(|^))(?<field1>\\w+) of (?<field2>\\w+)(?=(|\\??$))",
           "formattingString":["%s %s"],
           "fields":["Feld2","Feld1"],
           "weight":1
  • Im weiteren Verlauf dieser beispielhaften Ausführungsform soll es zwei Abfragen geben: (i) „Wie heißt die Hauptstadt von Frankreich?“ und „Wie heißt die Hauptstadt von Spanien?“ Auf Grundlage der drei oben aufgeführten SQPs können (nach dem Entfernen etwaiger Stoppwörter) die folgenden Schlüsselwortabfragen für die erste Abfrage - „Wie heißt die Hauptstadt von Frankreich?“ - erzeugt werden:
    • SQP 1: [Hauptstadt^1,0] [Frankreich^1,0]
    • SQP 2: [Hauptstadt von Frankreich^1,0]
    • SQP 3: [Frankreich Hauptstadt^1,0]
  • Gemäß den oben aufgeführten Schlüsselwortabfragen können die folgenden Textpassagen 134 aus dem Korpus 132 zurückgegeben werden:
    1. (1) „Paris ist die Hauptstadt (engl.: „capital“) von Frankreich. Es hat viele sehenswerte Museen und blickt auf eine lange Geschichte zurück."
    2. (2) „Die Todesstrafe (engl.: „capital punishment“) wurde in Frankreich 2007 abgeschafft."
    3. (3) „Frankreich ist ein attraktives Reiseziel (engl.: „capital place“) für alle, die Museen und riesige Funktürme lieben."
  • Auf Grundlage eines Antwortschlüssels kann ermittelt werden, dass die erste Textpassage für die Abfrage relevant ist, während die zweite und dritte Textpassage dies nicht sind.
  • Entsprechend können auf Grundlage der drei oben aufgeführten SQPs (nach dem Entfernen etwaiger Stoppwörter) die folgenden Schlüsselwortabfragen für die erste Abfrage - „Wie heißt die Hauptstadt von Spanien?“ - erzeugt werden:
    • SQP 1: [Hauptstadt^1,0] [Stadt^1,0] [Spanien^1,0]
    • SQP 2: [Stadt in Spanien^1,0]
    • SQP 3: [Spanien Stadt^1.0]
  • Gemäß den oben aufgeführten Schlüsselwortabfragen können die folgenden Textpassagen 134 aus dem Korpus 132 zurückgegeben werden:
    • (1) „Der Präsident besuchte Madrid, die Hauptstadt (engl.: „capital“) von Spanien."
    • (2) „Die spanische Verfassung von 1978 verbietet die Todesstrafe (engl.: „capital punishment“) in Spanien."
    • (3) „Madrid ist die Hauptstadt (engl.: „capital“) von Spanien und die spanische Stadt mit den meisten Einwohnern."
  • Auf Grundlage des Antwortschlüssels kann ermittelt werden, dass die erste und dritte Textpassage für die Abfrage relevant sind, während die zweite Textpassage dies nicht ist. Von den sechs Textpassagen, die durch die Schlüsselwortabfragen zurückgegeben werden, die durch die drei SQPs erzeugt werden, sind nur drei relevant, und somit kann jedem SQP-Muster ein Score von 3 zugewiesen werden.
  • Im weiteren Verlauf dieser beispielhaften Ausführungsform wählt ein Hill-Climbing-Algorithmus einen neuen Satz von Gewichtungen für die drei SQPs aus. Zum Beispiel soll ein neuer Satz von Gewichtungen jeder der drei SQPs wie folgt zugewiesen werden: SQP 1 [1,0], SQP 2 [2,0] und SQP 3 [1,0], Hier wurde die Gewichtung oder der Verstärkungsfaktor von SQP 2 von [1,0] auf [2,0] erhöht, was bedeutet, dass Ergebnisse, die aus der entsprechenden Schlüsselwortabfrage ([Hauptstadt von Frankreich^2,0]) zurückgegeben werden, doppelt so einflussreich sind.
  • Auf Grundlage der neuen Gewichtungen, die den drei SQPs zugewiesen werden, können (nach dem Entfernen etwaiger Stoppwörter) wiederum die folgenden Schlüsselwortabfragen für die erste Abfrage - „Wie heißt die Hauptstadt von Frankreich?“ - erzeugt werden:
    • SQP 1: [Hauptstadt^1,0] [Frankreich^1,0]
    • SQP 2: [Hauptstadt von Frankreich^2,0]
    • SQP 3: [Frankreich Hauptstadt^1,0]
  • Gemäß den oben aufgeführten Schlüsselwortabfragen können die folgenden Textpassagen 134 aus dem Korpus 132 zurückgegeben werden:
    1. (1) „Das Pariser Abkommen ist ein Abkommen, das 2016 in der Hauptstadt von Frankreich unterzeichnet wurde. Die Hauptstadt von Frankreich wurde ausgewählt, da sie viele günstig gelegene Restaurants hat.“
    2. (2) „Paris ist die Hauptstadt von Frankreich. Es hat viele sehenswerte Museen und blickt auf eine lange Geschichte zurück.“
    3. (3) „Paris, die Hauptstadt von Frankreich, war Austragungsort vieler Konferenzen und Zeremonien.“
  • Auf Grundlage des Antwortschlüssels kann ermittelt werden, dass alle drei Textpassagen für die Abfrage relevant sind (und mit größerer Wahrscheinlichkeit die exakte Phrase „Hauptstadt von Frankreich“ enthalten als die vorherigen Suchergebnisse, die unter Verwendung des ersten Satzes von den SQPs zugewiesenen Gewichtungen zurückgegeben wurden).
  • Entsprechend können auf Grundlage der neuen Gewichtungen, die den drei SQPs zugewiesen werden, (nach dem Entfernen etwaiger Stoppwörter) wiederum die folgenden Schlüsselwortabfragen für die zweite Abfrage - „Wie heißt die Hauptstadt von Spanien?“ - erzeugt werden:
    • SQP 1: [Hauptstadt^1,0] [Stadt^1,0] [Spanien^1,0]
    • SQP 2: [Stadt in Spanien^2,0]
    • SQP 3: [Spanien Stadt^1.0]
  • Gemäß den oben aufgeführten Schlüsselwortabfragen können die folgenden Textpassagen 134 aus dem Korpus 132 zurückgegeben werden:
    1. (1) „Bis 1561 war Toledo die Hauptstadt von Spanien.“
    2. (2) „Der Präsident besuchte Madrid, die Hauptstadt von Spanien.“
    3. (3) „Madrid ist die Hauptstadt von Spanien und die spanische Stadt mit den meisten Einwohnern.“
  • Auf Grundlage des Antwortschlüssels kann ermittelt werden, dass die zweite und dritte Textpassage für die Abfrage relevant sind, während die erste Textpassage dies nicht ist. Von den sechs Textpassagen, die durch die Schlüsselwortabfragen zurückgegeben werden, die durch die drei SQPs erzeugt werden, sind fünf relevant, und somit kann jedem SQP-Muster auf Grundlage der neu zugewiesenen Gewichtungen [1,0] [2,0] [1,0] ein Score von 5 zugewiesen werden. Da dies eine Verbesserung gegenüber dem vorherigen Score von 3 auf Grundlage der ursprünglich zugewiesenen Gewichtungen [1,0] [1,0] [1,0] ist, kann der Prozess fortfahren, und der Hill-Climbing-Algorithmus kann die der zweiten SQP zugewiesene Gewichtung so lange erhöhen, bis eine optimale Anzahl (z.B. alle Textpassagen geben eine korrekte Antwort auf die Frage, oder die Anzahl von Textpassagen, die die Frage korrekt beantworten, nimmt als Reaktion auf eine Erhöhung der Gewichtung nicht weiter zu) der relevanten Textpassagen 134 zurückgegeben wird.
  • Bei einer Ausführungsform wendet das Suchabfrageprogramm 101 vorgegebene gewichtete Suchabfragemuster auf neue Suchabfragen an. Bei einer Ausführungsform hat ein vorgegebenes gewichtetes Suchabfragemuster eine vorherige Ermittlung eines optimalen gewichteten Suchabfragemusters zur Grundlage, das für eine vorherige ähnliche Abfrage verwendet wird, die mit einer neuen Suchabfrage übereinstimmt oder dieser am ähnlichsten ist.
  • Bei einer Ausführungsform erzeugt das Suchabfrageprogramm 101 ein vorgegebenes gewichtetes Suchabfragemuster, das für eine vorherige Suchabfrage verwendet wird, für ein neues Suchabfragemuster, wenn ermittelt wird, dass es eine Übereinstimmung zwischen einer vorherigen Suchabfrage und der neuen Suchabfrage gibt. Ohne darauf beschränkt zu sein, können die beiden Suchabfragen bei einer Ausführungsform mindestens teilweise auf Grundlage von einem oder mehreren aus ihrer semantischen Struktur, syntaktischen Struktur, Satzstruktur und ihrem Kontext übereinstimmen.
  • Bei einer Ausführungsform erzeugt das Suchabfrageprogramm 101 ein vorgegebenes gewichtetes Suchabfragemuster, das für eine vorherige Suchabfrage verwendet wird, für ein neues Suchabfragemuster auf Grundlage eines Identifizierens einer vorherigen Suchabfrage, die einen höchsten Grad an Ähnlichkeit mit der neuen Suchabfrage und/oder einen Grad an Ähnlichkeit mit der neuen Suchabfrage aufweist, der über einem vorgegebenen Schwellenwert liegt. Ohne darauf beschränkt zu sein, kann ein Grad an Ähnlichkeit zwischen zwei Suchabfragen bei einer Ausführungsform mindestens teilweise eines oder mehrere aus ihrer semantischen Struktur, syntaktischen Struktur, Satzstruktur und ihrem Kontext zur Grundlage haben.
  • Wenn das Suchabfrageprogramm 101 bei einer Ausführungsform ermittelt, dass eine vorherige Suchabfrage und eine neue Suchabfrage dasselbe Thema betreffen, erzeugt das Suchabfrageprogramm 101 auf Grundlage eines optimalen gewichteten Suchabfragemusters, das zuvor für die vorherige Suchabfrage ermittelt wurde, ein vorgegebenes gewichtetes Suchabfragemuster für die neue Suchabfrage.
  • Zum Beispiel können die vorherigen gewichteten Suchabfragemuster, die für die vorherige Eingabesuchanfrage „Wie ist das Wetter in Miami?“ ermittelt wurden, später einer neuen Suchabfrage-Eingabe zugewiesen werden, die „Wie ist das Wetter in Boston?“ lautet. In diesem Beispiel kann das Suchabfrageprogramm 101 erkennen, dass sowohl die vorherige Suchabfrage als auch die neue Suchabfrage das Wetter und einen Ort betreffen. Im weiteren Verlauf dieses Beispiels soll ermittelt worden sein, dass für die erste Suchabfrage „Wie ist das Wetter in Miami?“ die folgenden gewichteten Suchabfragemuster optimale Suchergebnisse erhalten haben:
    • SQP 1: [Wetter^1,0] [Miami^1,0]
    • SQP 2: [Wetter in Miami^2,0]
  • Auf Grundlage der zuvor ermittelten optimalen gewichteten Suchabfragemuster für die Suchabfrage „Wie ist das Wetter in Miami?“ erzeugt das Suchabfrageprogramm 101 des Weiteren wie folgt dieselben gewichteten Suchabfragemuster für die neue Suchabfrage „Wie ist das Wetter in Boston?“:
    • SQP 1: [Wetter^1,0] [Boston^1,0]
    • SQP 2: [Wetter in Boston^2,0]
  • 2 ist eine allgemein als 200 bezeichnete Ablaufplandarstellung, die Arbeitsschritte zum Optimieren von Suchabfragemustern auf einer Benutzereinheit gemäß mindestens einer Ausführungsform der vorliegenden Erfindung darstellt. 2 stellt lediglich eine Veranschaulichung einer einzigen Realisierung bereit und impliziert keinerlei Beschränkungen mit Blick auf die Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können. Der Fachmann kann viele Abwandlungen an der dargestellten Umgebung vornehmen, ohne von dem durch die Ansprüche geltend gemachten inhaltlichen Umfang der Erfindung abzuweichen.
  • In einem Schritt S202 empfängt das Suchabfrageprogramm 101 eine oder mehrere Abfragen. Zum Beispiel werden die eine oder die mehreren Abfragen in Form einer natürlichsprachlichen Frage vorgelegt. In einem weiteren Beispiel werden die eine oder die mehreren Abfragen in Form einer mehrere Wörter enthaltenden Textpassage vorgelegt. Dabei sollte jedoch klar sein, dass das Suchabfrageprogramm 101 alle Arten von Abfragen empfangen und verarbeiten kann, die einem Fachmann allgemein bekannt sind.
  • In einem Schritt S204 unterteilt das Suchabfrageprogramm 101 die Abfrage in eine Mehrzahl von Teilzeichenfolgen oder Token. Bei einer Ausführungsform entfernt das Suchabfrageprogramm 101 Stoppwörter wie „ein“, „eine“, „das“ und dergleichen. Bei einer Ausführungsform identifiziert das Suchabfrageprogramm 101 bestimmte relevante Teilzeichenfolgen oder Token z.B. über benannte Erfassungsgruppen.
  • In einem Schritt S206 wählt das Suchabfrageprogramm 101 zwei oder mehr Suchabfragemuster aus. Bei einer Ausführungsform werden die zwei oder mehr Suchabfragemuster auf Grundlage der einen oder der mehreren Abfragen selbst ausgewählt. Zum Beispiel wählt das Suchabfrageprogramm 101 ein Suchabfragemuster mindestens teilweise auf Grundlage eines oder mehrerer aus dem Kontext, der syntaktischen und/oder semantischen Struktur einer Abfrage und der Ähnlichkeit einer neuen Abfrage mit vergangenen Abfragen aus, die zu Trainingszwecken verwendet werden. Bei einer Ausführungsform wählt das Suchabfrageprogramm 101 eine beliebige Abwandlung oder Kombination von zwei oder mehr Suchabfragemustern zufällig aus.
  • In einem Schritt S208 weist das Suchabfrageprogramm 101 jedem in dem Schritt S206 ausgewählten Suchabfragemuster eine Gewichtung zu. Bei einer Ausführungsform sind die Gewichtungen relative Score-Multiplikatoren, die aus nichtnegativen realen Zahlen bestehen.
  • In einem Schritt S210 erstellt das Suchabfrageprogramm 101 aus jedem in dem Schritt S206 ausgewählten Suchabfragemuster eine oder mehrere Schlüsselwortabfragen.
  • In einem Schritt S212 weist das Suchabfrageprogramm 101 jeder in dem Schritt S210 erstellten Schlüsselwortabfrage eine Gewichtung zu. Bei einer Ausführungsform wird eine anfängliche Gewichtung, die jedem Suchabfragemuster zugewiesen wird, auch einer entsprechenden Schlüsselwortabfrage zugewiesen, die aus einem entsprechenden Suchabfragemuster erzeugt wird. Wenn zum Beispiel in dem Schritt S208 einem ausgewählten Suchabfragemuster eine anfängliche Gewichtung von [1,0] zugewiesen wird, wird eine Gewichtung von [1,0] entsprechend allen Schlüsselwortabfragen zugewiesen, die aus dem ausgewählten Suchabfragemuster mit einer Gewichtung von [1,0] erstellt werden.
  • In einem Schritt S214 identifiziert das Suchabfrageprogramm 101 Textpassagen auf Grundlage einer jeden Schlüsselwortabfrage. In einem Schritt S216 evaluiert das Suchabfrageprogramm 101 die Relevanz der zurückgegebenen Textpassagen auf Grundlage einer jeden Schlüsselwortabfrage.
  • In einem Entscheidungsschritt S218 ermittelt das Suchabfrageprogramm 101, ob die Gewichtungen, die jedem Suchabfragemuster zugewiesen werden, angepasst werden müssen. Wenn ermittelt wird, dass die einem Suchabfragemuster zugewiesenen Gewichtungen angepasst werden müssen, (Entscheidungsschritt S218, Verzweigung „JA“), fährt das Suchabfrageprogramm 101 mit dem Schritt S212 fort. Wenn ermittelt wird, dass die einem Suchabfragemuster zugewiesenen Gewichtungen nicht angepasst werden müssen, (Entscheidungsschritt S218, Verzweigung „NEIN“), endet der Prozess und das Suchabfrageprogramm 101 wird beendet.
  • 3 ist eine allgemein als 300 bezeichnete Ablaufplandarstellung, die Arbeitsschritte zum Erzeugen und Zuweisen von vorgegebenen gewichteten Suchabfragemustern für bestimmte Suchabfragen gemäß mindestens einer Ausführungsform der vorliegenden Erfindung darstellt. 3 stellt lediglich eine Veranschaulichung einer einzigen Realisierung bereit und impliziert keinerlei Beschränkungen mit Blick auf die Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können. Der Fachmann kann viele Abwandlungen an der dargestellten Umgebung vornehmen, ohne von dem durch die Ansprüche geltend gemachten inhaltlichen Umfang der Erfindung abzuweichen.
  • In einem Schritt S302 empfängt das Suchabfrageprogramm 101 eine Suchabfrage von einem Benutzer. In einem Schritt S304 vergleicht das Suchabfrageprogramm 101 die Suchabfrage mit zuvor übermittelten Suchabfragen.
  • In einem Entscheidungsschritt 306 ermittelt das Suchabfrageprogramm 101, ob zwischen der von dem Benutzer empfangenen Suchabfrage und einer zuvor übermittelten Suchabfrage eine Übereinstimmung erkannt wird. Dabei sollte klar sein, dass ein Vergleich zwischen zwei Suchabfragen nicht durch dieselbe Person übermittelt worden sein muss. Vielmehr kann eine neue Suchabfrage, die durch eine Person übermittelt wird, mit einer Suchabfrage verglichen werden, die zuvor durch eine andere Person übermittelt wurde. Bei einer Ausführungsform erkennt das Suchabfrageprogramm 101 eine Übereinstimmung, wenn die Suchabfrage mit einer vergangenen Suchabfrage identisch ist. Bei einer Ausführungsform erkennt das Suchabfrageprogramm 101 eine Übereinstimmung auf Grundlage eines Identifizierens eines höchsten Grades an Ähnlichkeit zwischen zwei Suchabfragen oder eines Grades an Ähnlichkeit, der über einem vorgegebenen Schwellenwert liegt. Wenn mehrere Übereinstimmungen erkannt werden, kann das Suchabfrageprogramm 101 bei einer Ausführungsform die übereinstimmenden Suchabfragemuster vergleichen. Bei einer Ausführungsform werden für jeden Vergleich Scores zugewiesen, und die Suchabfrage, die in Bezug auf die neue Abfrage den höchsten Score aufweist, wird als eine Übereinstimmung ausgewählt. Wenn ermittelt wird, dass eine Übereinstimmung erkannt wird (Entscheidungsschritt S306, Verzweigung „JA“), fährt das Suchabfrageprogramm 101 mit einem Entscheidungsschritt S308 fort. Wenn ermittelt wird, dass keine Übereinstimmung erkannt wird (Entscheidungsschritt S306, Verzweigung „NEIN“), fährt das Suchabfrageprogramm 101 mit einem Schritt S310 fort.
  • In dem Entscheidungsschritt S308 ermittelt das Suchabfrageprogramm 101, ob es ein optimales gewichtetes Abfragemuster gibt, das einer übereinstimmenden Suchabfrage zugehörig ist. Bei einer Ausführungsform ist ein optimales gewichtetes Abfragemuster ein Muster, von dem ermittelt wird, dass es die höchste Anzahl von relevanten Suchergebnissen für eine bestimmte Suchabfrage abruft. Bei einer Ausführungsform ist ein optimales gewichtetes Abfragemuster ein gewichtetes Abfragemuster, von dem ermittelt wird, dass es die relevantesten Suchergebnisse abruft, die eine bestimmte Suchabfrage korrekt beantworten. Wenn ermittelt wird, dass es kein optimales gewichtetes Abfragemuster gibt, das der übereinstimmenden Abfrage zugehörig ist, (Entscheidungsschritt S308, Verzweigung „NEIN“), fährt das Suchabfrageprogramm 101 mit dem Schritt S310 fort. Wenn ermittelt wird, dass es ein optimales gewichtetes Abfragemuster gibt, das der übereinstimmenden Abfrage zugehörig ist, (Entscheidungsschritt S308, Verzweigung „JA“), fährt das Suchabfrageprogramm 101 mit dem Schritt S312 fort.
  • In dem Schritt S310 erzeugt das Suchabfrageprogramm 101 auf Grundlage eines gewichteten Standardabfragemusters eine oder mehrere gewichtete Schlüsselwortabfragen. Zum Beispiel wird jeder Schlüsselwortabfrage, die aus dem Standardabfragemuster erzeugt wird, eine Standardgewichtung von [1,0] zugewiesen.
  • In dem Schritt S312 erzeugt das Suchabfrageprogramm 101 auf Grundlage eines optimalen gewichteten Standardabfragemusters eine oder mehrere Schlüsselwortabfragen.
  • In einem Schritt S314 gibt das Suchabfrageprogramm 101 auf Grundlage der einen oder der mehreren gewichteten Schlüsselwortabfragen, die in dem Schritt S310 oder S312 erzeugt werden, Suchergebnisse zurück.
  • 4 ist ein Blockschaubild, das Komponenten eines allgemein als 400 bezeichneten Computers darstellt, die geeignet sind, um ein Suchabfrageprogramm 101 gemäß mindestens einer Ausführungsform der Erfindung auszuführen. Die Datenverarbeitungseinheit 400 enthält einen bzw. mehrere Prozessoren 404 (z.B. einen oder mehrere Computerprozessoren), eine Datenübertragungsstruktur 402, einen Arbeitsspeicher 406 wie z.B. einen RAM 416 und einen Cache 418, einen persistenten Speicher 408, der des Weiteren das Suchabfrageprogramm 101 wie z.B. das Modul 122 für eine Verarbeitung natürlicher Sprache und das Modul 124 mit einem syntaktischen Parser enthält, eine Datenübertragungseinheit 412, eine bzw. mehrere E/A-Schnittstellen 414, eine Anzeige 422 und eine bzw. mehrere externe Einheiten 420. Dabei sollte klar sein, dass 4 lediglich zur Veranschaulichung einer Ausführungsform dient und keinerlei Beschränkungen mit Blick auf die Umgebungen impliziert, in denen verschiedene Ausführungsformen realisiert werden können. Vielmehr können an der dargestellten Umgebung zahlreiche Abwandlungen vorgenommen werden.
  • Wie dargestellt, wird das Computersystem 400 über die Datenübertragungsstruktur 402 betrieben, die eine Datenübertragung zwischen dem einem bzw. den mehreren Computerprozessoren 404, dem Arbeitsspeicher 406, dem persistenten Speicher 408, dem Netzwerkadapter 412 und der einen bzw. den mehreren Eingabe/Ausgabe(E/A)-Schnittstellen 414 bereitstellt. Die Datenübertragungsstruktur 402 kann mit einer beliebigen Architektur realisiert werden, die dafür geeignet ist, zwischen dem einen bzw. den mehreren Prozessoren 404 (z.B. Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), dem Arbeitsspeicher 406, der einen bzw. den mehreren externen Einheiten 420 und beliebigen anderen Hardware-Komponenten innerhalb eines Systems Daten oder Steuerungsinformationen weiterzuleiten. Die Datenübertragungsstruktur 402 kann zum Beispiel mit einem oder mehreren Bussen realisiert werden.
  • Der Arbeitsspeicher 406 und der persistente Speicher 408 sind computerlesbare Speichermedien. In der dargestellten Ausführungsform enthält der Arbeitsspeicher 406 den Direktzugriffsspeicher (RAM) 416 und den Cache 418. Im Allgemeinen kann der Arbeitsspeicher 406 alle geeigneten einen oder mehreren flüchtigen oder nicht flüchtigen, computerlesbaren Speichermedien enthalten.
  • Programmanweisungen für das Suchabfrageprogramm 101 können in dem persistenten Speicher 408 oder allgemeiner in beliebigen computerlesbaren Speichermedien gespeichert werden, um über einen oder mehrere Arbeitsspeicher des Arbeitsspeichers 406 durch einen oder mehrere der betreffenden Computerprozessoren 404 ausgeführt zu werden. Der persistente Speicher 408 kann ein magnetisches Festplattenlaufwerk, eine Halbleiterplatte, eine Halbleiter-Speichereinheit, ein Festwertspeicher (ROM), ein löschbarer programmierbarer ROM (EEPROM), ein Flash-Speicher oder jedes andere computerlesbare Speichermedium sein, das in der Lage ist, Programmanweisungen oder digitale Informationen zu speichern.
  • Durch den persistenten Speicher 408 verwendete Medien können auch entfernbar sein. Zum Beispiel kann ein entfernbares Festplattenlaufwerk als der persistente Speicher 408 verwendet werden. Andere Beispiele enthalten optische und Magnetplatten, USB-Sticks und Smartcards, die in ein Laufwerk eingeführt werden, um eine Übertragung auf ein weiteres computerlesbares Speichermedium vorzunehmen, das ebenfalls Teil des persistenten Speichers 408 ist.
  • Die Datenübertragungseinheit 412 stellt in diesen Beispielen eine Datenübertragung mit anderen Datenverarbeitungssystemen oder -einheiten bereit. In diesen Beispielen kann die Datenübertragungseinheit 412 eine oder mehrere Netzwerkschnittstellenkarten enthalten. Die Datenübertragungseinheit 412 kann eine Datenübertragung sowohl über physische als auch über drahtlose Datenübertragungsverbindungen bereitstellen. In Zusammenhang mit manchen Ausführungsformen der vorliegenden Erfindung kann die Quelle der verschiedenen Eingabedaten physisch entfernt von der Datenverarbeitungseinheit 400 angeordnet sein, sodass die Eingabedaten über die Datenübertragungseinheit 412 empfangen und die Ausgabe entsprechend über diese übertragen werden können.
  • Die eine bzw. die mehreren E/A-Schnittstellen 414 ermöglichen eine Eingabe und Ausgabe von Daten in andere oder aus anderen Einheiten, die mit der Datenverarbeitungseinheit 400 verbunden werden können. Zum Beispiel können die eine bzw. die mehreren E/A-Schnittstellen 414 eine Verbindung zu der einen bzw. den mehreren externen Einheiten 420 bereitstellen, z.B. zu einer Tastatur, einem Tastenfeld, einem berührungsempfindlichen Bildschirm oder anderweitigen geeigneten Eingabeeinheiten. Die eine bzw. die mehreren externen Einheiten 420 können auch tragbare computerlesbare Speichermedien wie z.B. USB-Sticks, tragbare optische oder Magnetplatten und Speicherkarten enthalten. Software und Daten zur praktischen Umsetzung von Ausführungsformen der vorliegenden Erfindung können auf derartigen tragbaren computerlesbaren Speichermedien gespeichert und über die eine bzw. die mehreren E/A-Schnittstellen 414 in den persistenten Speicher 408 geladen werden. Die eine bzw. die mehreren E/A-Schnittstellen 414 können entsprechend auch mit einer Anzeige 422 verbunden werden. Die Anzeige 422 stellt einen Mechanismus bereit, um einem Benutzer Daten anzuzeigen, und kann zum Beispiel ein Computermonitor sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • FR 2007 [0045]

    Claims (20)

    1. Computerrealisiertes Verfahren zum Optimieren von Suchabfrage-Ergebnissen, aufweisend: Empfangen einer ersten natürlichsprachlichen Abfrage; Auswählen einer Mehrzahl von Suchabfragemustern auf Grundlage der ersten natürlichsprachlichen Abfrage; Zuweisen einer Gewichtung zu jedem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern; Erzeugen einer oder mehrerer gewichteter Schlüsselwortabfragen aus jedem Suchabfragemuster auf Grundlage der Gewichtung, die jedem Suchabfragemuster und einem oder mehreren Schlüsselwörtern aus der ersten natürlichsprachlichen Abfrage zugewiesen wird; Evaluieren einer Relevanz eines oder mehrerer Suchergebnisse, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden; und iteratives Ändern der Gewichtung, die einem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern zugewiesen wird, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
    2. Computerrealisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend: Empfangen einer zweiten natürlichsprachlichen Abfrage; Vergleichen der zweiten natürlichsprachlichen Abfrage mit zuvor übermittelten natürlichsprachlichen Abfragen; und Ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt.
    3. Computerrealisiertes Verfahren nach Anspruch 2, als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt, des Weiteren aufweisend: Ermitteln, dass ein optimales gewichtetes Suchabfragemuster der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage zugehörig ist; Erzeugen einer oder mehrerer optimaler gewichteter Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage auf Grundlage des optimalen gewichteten Suchabfragemusters, das der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage zugehörig ist, und eines oder mehrerer Schlüsselwörter aus der zweiten natürlichsprachlichen Abfrage; und Zurückgeben eines oder mehrerer Suchergebnisse aus der einen oder den mehreren optimalen gewichteten Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage.
    4. Computerrealisiertes Verfahren nach Anspruch 2, als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage nicht mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt, des Weiteren aufweisend: Erzeugen einer oder mehrerer gewichteter Standard-Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage auf Grundlage einer Standardgewichtung, die einem Standard-Suchabfragemuster und einem oder mehreren Schlüsselwörtern aus der zweiten natürlichsprachlichen Abfrage zugewiesen wird.
    5. Computerrealisiertes Verfahren nach Anspruch 2, wobei die Übereinstimmung zwischen der zweiten natürlichsprachlichen Abfrage und der zuvor übermittelten natürlichsprachlichen Abfrage eines oder mehrere zur Grundlage hat aus: (i) einer gemeinsamen semantischen Struktur, (ii) einer gemeinsamen syntaktischen Struktur, (iii) einer gemeinsamen Satzstruktur und (iv) einem gemeinsamen Kontext.
    6. Computerrealisiertes Verfahren nach Anspruch 3, wobei ein optimales gewichtetes Suchabfragemuster ein gewichtetes Suchabfragemuster ist, von dem ermittelt wird, dass es eine höchste Anzahl von relevanten Suchergebnissen für eine bestimmte natürlichsprachliche Suchabfrage abruft.
    7. Computerrealisiertes Verfahren nach Anspruch 3, wobei ein optimales gewichtetes Suchabfragemuster ein gewichtetes Suchabfragemuster ist, von dem ermittelt wird, dass es eine bestimmte natürlichsprachliche Abfrage am genauesten beantwortet.
    8. Computerprogrammprodukt zum Optimieren von Suchabfrage-Ergebnissen, wobei das Computerprogrammprodukt ein oder mehrere computerlesbare Speichermedien und Programmanweisungen aufweist, die auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert werden, wobei die Programmanweisungen Anweisungen enthalten, um: eine erste natürlichsprachliche Abfrage zu empfangen; auf Grundlage der ersten natürlichsprachlichen Abfrage eine Mehrzahl von Suchabfragemustern auszuwählen; jedem Suchabfragemustern aus der Mehrzahl von Suchabfragemustern eine Gewichtung zuzuweisen; auf Grundlage der Gewichtung, die jedem Suchabfragemuster und einem oder mehreren Schlüsselwörtern aus der ersten natürlichsprachlichen Abfrage zugewiesen wird, eine oder mehrere gewichtete Schlüsselwortabfragen aus jedem Suchabfragemuster zu erzeugen; eine Relevanz eines oder mehrerer Suchergebnisse zu evaluieren, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden; und die Gewichtung, die einem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern zugewiesen wird, iterativ zu ändern, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
    9. Computerprogrammprodukt nach Anspruch 8, des Weiteren Anweisungen aufweisend, um: eine zweite natürlichsprachliche Abfrage zu empfangen; die zweite natürlichsprachliche Abfrage mit zuvor übermittelten natürlichsprachlichen Abfragen zu vergleichen; und zu ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt.
    10. Computerprogrammprodukt nach Anspruch 9, des Weiteren aufweisend Anweisungen, um als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt: zu ermitteln, dass ein optimales gewichtetes Suchabfragemuster der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage zugehörig ist; auf Grundlage des optimalen gewichteten Suchabfragemusters, das der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage zugehörig ist, und eines oder mehrerer Schlüsselwörter aus der zweiten natürlichsprachlichen Abfrage eine oder mehrere optimale gewichtete Schlüsselwortabfragen zu erzeugen; und eines oder mehrere Suchergebnisse aus der einen oder den mehreren optimalen gewichteten Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage zurückzugeben.
    11. Computerprogrammprodukt nach Anspruch 9, des Weiteren Anweisungen aufweisend, um als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage nicht mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt: auf Grundlage einer Standardgewichtung, die einem Standard-Suchabfragemuster und einem oder mehreren Schlüsselwörtern aus der zweiten natürlichsprachlichen Abfrage zugewiesen wird, eine oder mehrere Standard-Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage zu erzeugen.
    12. Computerprogrammprodukt nach Anspruch 9, wobei die Übereinstimmung zwischen der zweiten natürlichsprachlichen Abfrage und der zuvor übermittelten natürlichsprachlichen Abfrage eines oder mehrere zur Grundlage hat aus: (i) einer gemeinsamen semantischen Struktur, (ii) einer gemeinsamen syntaktischen Struktur, (iii) einer gemeinsamen Satzstruktur und (iv) einem gemeinsamen Kontext.
    13. Computerprogrammprodukt nach Anspruch 10, wobei ein optimales gewichtetes Suchabfragemuster ein gewichtetes Suchabfragemuster ist, von dem ermittelt wird, dass es eine höchste Anzahl von relevanten Suchergebnissen für eine bestimmte natürlichsprachliche Suchabfrage abruft.
    14. Computerprogrammprodukt nach Anspruch 10, wobei ein optimales gewichtetes Suchabfragemuster ein gewichtetes Suchabfragemuster ist, von dem ermittelt wird, dass es eine bestimmte natürlichsprachliche Abfrage am genauesten beantwortet.
    15. Computersystem zum Optimieren von Suchabfrage-Ergebnissen, aufweisend: einen oder mehrere Prozessoren; ein oder mehrere computerlesbare Speichermedien; Computerprogrammanweisungen; wobei die Computerprogrammanweisungen zur Ausführung durch den einen oder die mehreren Computerprozessoren auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert werden; und Computerprogrammanweisungen, die Anweisungen enthalten, um: eine erste natürlichsprachliche Abfrage zu empfangen; auf Grundlage der ersten natürlichsprachlichen Abfrage eine Mehrzahl von Suchabfragemustern auszuwählen; jedem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern eine Gewichtung zuzuweisen; auf Grundlage der Gewichtung, die jedem Suchabfragemuster, und einem oder mehreren Schlüsselwörtern aus der ersten natürlichsprachlichen Abfrage zugewiesen wird, eine oder mehrere gewichtete Schlüsselwortabfragen aus jedem Suchabfragemuster zu erzeugen; eine Relevanz eines oder mehrerer Suchergebnisse zu evaluieren, die durch jede der einen oder der mehreren gewichteten Schlüsselwortabfragen für die erste natürlichsprachliche Abfrage zurückgegeben werden; und die Gewichtung, die einem Suchabfragemuster aus der Mehrzahl von Suchabfragemustern zugewiesen wird, iterativ zu ändern, bis eine optimale Anzahl von relevanten Suchergebnissen aus dem Suchabfragemuster für die erste natürlichsprachliche Abfrage zurückgegeben wird.
    16. Computersystem nach Anspruch 15, des Weiteren Anweisungen aufweisend, um: eine zweite natürlichsprachliche Abfrage zu empfangen; die zweite natürlichsprachliche Abfrage mit zuvor übermittelten natürlichsprachlichen Abfragen zu vergleichen; und zu ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt.
    17. Computersystem nach Anspruch 16, des Weiteren Anweisungen aufweisend, um als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt: zu ermitteln, dass ein optimales gewichtetes Suchabfragemuster der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage zugehörig ist; auf Grundlage des optimalen gewichteten Suchabfragemusters, das der zuvor übermittelten, übereinstimmenden natürlichsprachlichen Abfrage und einem oder mehreren Schlüsselwörtern aus der zweiten natürlichsprachlichen Abfrage zugehörig ist, eine oder mehrere optimale gewichtete Schlüsselwortabfragen zu erzeugen; und eines oder mehrere Suchergebnisse aus der einen oder den mehreren optimalen gewichteten Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage zurückzugeben.
    18. Computersystem nach Anspruch 16, des Weiteren Anweisungen aufweisend, um als Reaktion auf ein Ermitteln, dass die zweite natürlichsprachliche Abfrage nicht mit einer zuvor übermittelten natürlichsprachlichen Abfrage übereinstimmt: auf Grundlage einer Standardgewichtung, die einem Standard-Suchabfragemuster zugewiesen wird, und eines oder mehrerer Schlüsselwörter aus der zweiten natürlichsprachlichen Abfrage eine oder mehrere Standard-Schlüsselwortabfragen für die zweite natürlichsprachliche Abfrage zu erzeugen.
    19. Computersystem nach Anspruch 16, wobei eine Übereinstimmung zwischen der zweiten natürlichsprachlichen Abfrage und der zuvor übermittelten natürlichsprachlichen Abfrage eines oder mehrere zur Grundlage hat aus: (i) einer gemeinsamen semantischen Struktur, (ii) einer gemeinsamen syntaktischen Struktur, (iii) einer gemeinsamen Satzstruktur und (iv) einem gemeinsamen Kontext.
    20. Computersystem nach Anspruch 17, wobei ein optimales gewichtetes Suchabfragemuster ein gewichtetes Suchabfragemuster ist, von dem mindestens eines ermittelt wird aus: (i) einem Abrufen einer höchsten Anzahl von relevanten Suchergebnissen für eine bestimmte natürlichsprachliche Suchabfrage oder (ii) einem genauesten Beantworten einer bestimmten natürlichsprachlichen Abfrage.
    DE112021006602.1T 2020-12-23 2021-10-25 Verfeinern von abfrage-erzeugungsmustern Pending DE112021006602T5 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US17/131,978 2020-12-23
    US17/131,978 US11681732B2 (en) 2020-12-23 2020-12-23 Tuning query generation patterns
    PCT/CN2021/125994 WO2022134824A1 (en) 2020-12-23 2021-10-25 Tuning query generation patterns

    Publications (1)

    Publication Number Publication Date
    DE112021006602T5 true DE112021006602T5 (de) 2023-10-26

    Family

    ID=82021325

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112021006602.1T Pending DE112021006602T5 (de) 2020-12-23 2021-10-25 Verfeinern von abfrage-erzeugungsmustern

    Country Status (6)

    Country Link
    US (1) US11681732B2 (de)
    JP (1) JP2024501501A (de)
    CN (1) CN116685966A (de)
    DE (1) DE112021006602T5 (de)
    GB (1) GB2617302A (de)
    WO (1) WO2022134824A1 (de)

    Families Citing this family (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11681732B2 (en) 2020-12-23 2023-06-20 International Business Machines Corporation Tuning query generation patterns
    US20240078234A1 (en) * 2022-09-02 2024-03-07 Starlord (Cayman) Limited Apparatus, method and storage medium for database pagination

    Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    FR2007E (fr) 1903-01-13 1903-11-24 Auguste Ferraris Motocyclette à moteur libre et à changement de vitesse

    Family Cites Families (22)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US7085708B2 (en) 2000-09-23 2006-08-01 Ravenflow, Inc. Computer system with natural language to machine language translator
    US6947920B2 (en) 2001-06-20 2005-09-20 Oracle International Corporation Method and system for response time optimization of data query rankings and retrieval
    US7266545B2 (en) 2001-08-07 2007-09-04 International Business Machines Corporation Methods and apparatus for indexing in a database and for retrieving data from a database in accordance with queries using example sets
    US7403938B2 (en) * 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
    US7403939B1 (en) * 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
    US7873624B2 (en) 2005-10-21 2011-01-18 Microsoft Corporation Question answering over structured content on the web
    US7818315B2 (en) 2006-03-13 2010-10-19 Microsoft Corporation Re-ranking search results based on query log
    US8924197B2 (en) 2006-10-31 2014-12-30 Semantifi, Inc. System and method for converting a natural language query into a logical query
    US8346534B2 (en) 2008-11-06 2013-01-01 University of North Texas System Method, system and apparatus for automatic keyword extraction
    US8606739B2 (en) 2010-06-30 2013-12-10 Microsoft Corporation Using computational engines to improve search relevance
    CN102708129B (zh) 2011-03-04 2017-04-12 微软技术许可有限责任公司 使用计算引擎来改进搜索相关性
    CN102708190B (zh) * 2012-05-15 2016-09-28 浪潮电子信息产业股份有限公司 一种CC-NUMA***中结点控制芯片目录Cache的方法
    US9378517B2 (en) 2013-07-03 2016-06-28 Google Inc. Methods and systems for providing potential search queries that may be targeted by one or more keywords
    US10339453B2 (en) 2013-12-23 2019-07-02 International Business Machines Corporation Automatically generating test/training questions and answers through pattern based analysis and natural language processing techniques on the given corpus for quick domain adaptation
    US9582137B2 (en) * 2014-01-07 2017-02-28 International Business Machines Corporation Intelligent embedded experience gadget selection
    US10482089B2 (en) * 2014-12-11 2019-11-19 International Business Machines Corporation Search result optimization based on previous solutions
    US20160335372A1 (en) 2015-05-15 2016-11-17 Sap Se Systems and methods for search with priorities by assigning weights to query terms
    US10740402B2 (en) * 2016-10-20 2020-08-11 Diwo, Llc System and method for human interaction in cognitive decision making process
    US10452682B2 (en) * 2017-01-05 2019-10-22 International Business Machines Corporation Accelerator based data integration
    US10635679B2 (en) 2018-04-13 2020-04-28 RELX Inc. Systems and methods for providing feedback for natural language queries
    CN109033386B (zh) 2018-07-27 2020-04-10 北京字节跳动网络技术有限公司 搜索排序方法、装置、计算机设备和存储介质
    US11681732B2 (en) 2020-12-23 2023-06-20 International Business Machines Corporation Tuning query generation patterns

    Patent Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    FR2007E (fr) 1903-01-13 1903-11-24 Auguste Ferraris Motocyclette à moteur libre et à changement de vitesse

    Also Published As

    Publication number Publication date
    GB2617302A (en) 2023-10-04
    JP2024501501A (ja) 2024-01-12
    CN116685966A (zh) 2023-09-01
    US20220197933A1 (en) 2022-06-23
    US11681732B2 (en) 2023-06-20
    WO2022134824A1 (en) 2022-06-30

    Similar Documents

    Publication Publication Date Title
    DE69432575T2 (de) Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung
    DE69032712T2 (de) Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung
    DE69812162T2 (de) Vorrichtung zur Verwendung bei der Identifizierung semantischer Mehrdeutigkeiten
    DE69710458T2 (de) Verfahren und system für die berechnung von semantischen logischen formen von syntaxbäumen
    DE3853894T2 (de) Auf Paradigmen basierende morphologische Textanalyse für natürliche Sprachen.
    DE69330633T2 (de) Verfahren und Apparat zum Vergleichen von semantischen Mustern für das Wiederauffinden von Texten
    DE69904588T2 (de) Datenbankzugangswerkzeug
    DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
    DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
    DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
    DE102013205737A1 (de) System und Verfahren zum automatischen Erkennen und interaktiven Anzeigen von Informationen über Entitäten, Aktivitäten und Ereignisse aus multimodalen natürlichen Sprachquellen
    DE102013003055A1 (de) Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
    DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
    DE4232507A1 (de) Verfahren zum Kennzeichnen, Wiederauffinden und Sortieren von Dokumenten
    DE102019001267A1 (de) Dialogartiges System zur Beantwortung von Anfragen
    DE112017006151T5 (de) Anpassbare Verarbeitungskomponenten
    EP3100174A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
    DE10343228A1 (de) Verfahren und Systeme zum Organisieren elektronischer Dokumente
    DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
    DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
    DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern
    DE69615794T2 (de) Indexierung einer Datenbank durch einen endlichen Automaten
    DE112020002886T5 (de) Kontextabhängiges data-mining
    DE112020003538T5 (de) Kreuzmodale wiedergewinnung mit wortüberlappungsbasiertem clustern
    DE69733294T2 (de) Einrichtung und Verfahren zum Zugriff auf eine Datenbank

    Legal Events

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