DE112021006602T5 - Verfeinern von abfrage-erzeugungsmustern - Google Patents
Verfeinern von abfrage-erzeugungsmustern Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic 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) einem Muster (P), das in der Lage ist:
- a. eine bestimmte Teilzeichenfolge (A) einer Abfrage zu erkennen, und
- b. bestimmte Teilzeichenfolgen (B) innerhalb von (A) zu identifizieren;
- (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) eine Liste von Teilzeichenfolgen-Kennzeichnungen (B), die eine Reihenfolge angeben, in der die bestimmten Teilzeichenfolgen (B) angeordnet werden sollten; und
- (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) „Paris ist die Hauptstadt (engl.: „capital“) von Frankreich. Es hat viele sehenswerte Museen und blickt auf eine lange Geschichte zurück."
- (2) „Die Todesstrafe (engl.: „capital punishment“) wurde in
Frankreich 2007 - (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) „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) „Paris ist die Hauptstadt von Frankreich. Es hat viele sehenswerte Museen und blickt auf eine lange Geschichte zurück.“
- (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) „Bis 1561 war Toledo die Hauptstadt von Spanien.“
- (2) „Der Präsident besuchte Madrid, die Hauptstadt von Spanien.“
- (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]
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.
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.
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)
- 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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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. - 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. - 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.
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)
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)
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)
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 |
-
2020
- 2020-12-23 US US17/131,978 patent/US11681732B2/en active Active
-
2021
- 2021-10-25 WO PCT/CN2021/125994 patent/WO2022134824A1/en active Application Filing
- 2021-10-25 DE DE112021006602.1T patent/DE112021006602T5/de active Pending
- 2021-10-25 CN CN202180087306.3A patent/CN116685966A/zh active Pending
- 2021-10-25 GB GB2310664.4A patent/GB2617302A/en not_active Withdrawn
- 2021-10-25 JP JP2023536950A patent/JP2024501501A/ja active Pending
Patent Citations (1)
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 |