DE102018007024A1 - Dokumentdurchsuchen mittels grammatischer einheiten - Google Patents

Dokumentdurchsuchen mittels grammatischer einheiten Download PDF

Info

Publication number
DE102018007024A1
DE102018007024A1 DE102018007024.8A DE102018007024A DE102018007024A1 DE 102018007024 A1 DE102018007024 A1 DE 102018007024A1 DE 102018007024 A DE102018007024 A DE 102018007024A DE 102018007024 A1 DE102018007024 A1 DE 102018007024A1
Authority
DE
Germany
Prior art keywords
query
grammatical
document
unit
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018007024.8A
Other languages
English (en)
Inventor
Dhruv Singal
Ravi Teja Ailavarapu Venkata
Tirth Patel
Arghya Mukherjee
Anandhavelu Natarajan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102018007024A1 publication Critical patent/DE102018007024A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

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

Abstract

Systeme und Techniken zum Suchen innerhalb eines Dokuments umfassen das Erhalten einer Abfrage mittels einer Nutzerschnittstelle einer Anwendung und im Zusammenhang mit der Identifizierung des mindestens einen Dokuments. Ein Merkmalswert, der eine Relevanz jeder grammatischen Einheit des Dokuments für die Abfrage charakterisiert, kann extrahiert werden. Die grammatischen Einheiten können auf der Basis jedes Merkmalswerts von jeder grammatischen Einheit eingestuft werden. Mindestens eine ausgewählte grammatische Einheit der Mehrzahl von grammatischen Einheiten kann dann auf der Basis der Einstufung angezeigt werden.

Description

  • TECHNISCHES GEBIET
  • Diese Beschreibung betrifft ein computerbasiertes Suchen innerhalb von digitalen Dokumenten.
  • HINTERGRUND
  • Computer und dazugehörige Datenspeicher können einen Zugang zu einer großen Anzahl von potenziell langen Dokumenten und einem anderen Inhalt bereitstellen. Bei solchen potenziell großen Informationsmengen wird es für Nutzer schwierig, ineffizient, zeitaufwändig oder unmöglich, gewünschte Informationen innerhalb eines verfügbaren Zeitrahmens zu finden.
  • Einige Suchtechniken beruhen auf dem Abgleich von Buchstabenzeichenketten, wie z.B. Buchstaben innerhalb eines Worts. Beispielsweise könnte ein Nutzer eine Suche für ein bestimmtes Wort innerhalb eines Dokuments durch Eintippen des gewünschten Worts eingeben, worauf ein(e) Suchmaschine oder -system eine Suche nach dem eingegebenen Wort durchführt. In der Praxis neigt dieser Ansatz zu falsch positiven und falsch negativen Ergebnissen. Beispielsweise kann die Suche nach einem üblichen Wort eine große Zahl von Ergebnissen liefern, wobei viele davon nicht interessant sind. Andererseits kann eine solche Suche einen leeren Ergebnissatz selbst von einem relevanten Dokument oder Dokumentabschnitt liefern, und zwar einfach deshalb, weil die genaue Buchstabenzeichenkette nicht gefunden worden ist (wie z.B. wenn das gesuchte Dokument ein Synonym des gesuchten Worts anstatt des Worts selbst nutzt).
  • Ferner können Techniken, die geeignet sind, wenn Dokumente von vielen Dokumenten gesucht werden (wie z.B. eine webbasierte Suche nach Online-Dokumenten), nicht geeignet oder relevant sein, wenn innerhalb eines einzelnen Dokuments oder einzelner Dokumente gesucht wird. Beispielsweise beruhen einige webbasierte Suchen auf Untersuchungen von Hyperlinks zu Dokumenten innerhalb verknüpfter Dokumente, so dass gewünschte Suchergebnisse erhalten werden, was zum Suchen innerhalb von einem oder mehreren bekannten Dokument(en) wahrscheinlich nicht ausreichend nützlich ist.
  • ZUSAMMENFASSUNG
  • Gemäß eines allgemeinen Aspekts sind Systeme und Techniken zum Suchen innerhalb mindestens eines Dokuments beschrieben, umfassend das Erhalten einer Abfrage, mittels einer Nutzerschnittstelle einer Anwendung, im Zusammenhang mit der Identifizierung des mindestens einen Dokuments, wobei das mindestens eine Dokument mittels eines Computerspeichers gespeichert ist, und das Identifizieren einer Mehrzahl von grammatischen Einheiten innerhalb des mindestens einen Dokuments. Die Systeme und Techniken können das Extrahieren eines Werts für mindestens ein Merkmal für jede grammatische Einheit in Bezug auf die Abfrage, wobei der mindestens eine Merkmalswert eine Relevanz von jeder grammatischen Einheit für die Abfrage charakterisiert, das Einstufen der grammatischen Einheiten auf der Basis von jedem Merkmalswert von jeder grammatischen Einheit und das Anzeigen mittels der Nutzerschnittstelle und im Zusammenhang mit dem mindestens einen Dokument mindestens einer ausgewählten grammatischen Einheit der Mehrzahl von grammatische Einheiten auf der Basis der Einstufung umfassen.
  • Gemäß eines weiteren allgemeinen Aspekts sind Systeme und Techniken zum Erhalten einer Abfrage in Bezug auf mindestens ein Dokument, Identifizieren von Sätzen innerhalb des mindestens einen Dokuments und Extrahieren einer Mehrzahl von Merkmalen, die eine Relevanz jedes Satzes der Sätze für eine Abfrage charakterisieren, beschrieben. Die Sätze können auf der Basis der Merkmale eingestuft werden und die Sätze können innerhalb des Dokuments in einer Reihenfolge entsprechend der Einstufung visuell bezeichnet werden.
  • Die Details einer oder mehrerer Implementierung(en) sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Weitere Merkmale ergeben sich aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines Systems für ein Dokumentdurchsuchen unter Verwendung von grammatischen Einheiten.
    • 2 ist eine Beispiel-Bildschirmaufnahme, die eine Nutzerschnittstelle einer Anwendung für ein Dokumentdurchsuchen mittels grammatischer Einheiten unter Verwendung des Systems von 1 zeigt.
    • 3 ist ein Flussdiagramm, das Beispielvorgänge des Systems von 1 zeigt.
    • 4 ist ein Blockdiagramm und ein dazugehöriger Betriebsablauf einer detaillierteren Beispielimplementierung des Systems von 1.
  • DETAILLIERTE BESCHREIBUNG
  • Dieses Dokument beschreibt Systeme und Techniken, die eine automatisierte Suche innerhalb eines Dokuments oder eines Satzes von Dokumenten bereitstellen. Solche Systeme und Techniken lösen technische Herausforderungen von bisherigen Systemen und Techniken und Verbessern das oder die Verfahren zur Durchführung einer solchen automatisierten Verarbeitung. Beispielsweise kann von innerhalb einer Anwendung eine Abfrage eingegeben werden und eine Suche kann in Bezug auf den Inhalt von grammatischen Einheiten (wie z.B. einer Formulierung, eines Halbsatzes oder eines Satzes) innerhalb eines identifizierten Dokuments oder von identifizierten Dokumenten durchgeführt werden, anstatt einen zeichenkettenbasierten Abgleich von Dokumentbegriffen und Abfragebegriffen durchzuführen. Bei dem auf einer grammatischen Einheit basierenden (auch als einheitbasierend bezeichnet) Dokumentdurchsuchungsmodul, das durch die Anwendung genutzt wird, handelt es sich um (einen) effizientere(n), schnellere(n) und genauere(n) Algorithmus bzw. Algorithmen als andere Algorithmen, die auf einem Zeichenkettenabgleich beruhen, oder andere bekannte Suchtechniken. Darüber hinaus stellt das einheitbasierte Dokumentdurchsuchungsmodul eine neue Computerfunktionalität von z.B. Abfragen und Finden von Formulierungen, Halbsätzen oder Sätzen, selbst wenn die Formulierungen, Halbsätze oder Sätze nicht den oder die genauen Begriff(e) enthalten, der oder die in der Abfrage verwendet wird oder werden, und zum Ausgeben von Suchergebnissen auf der Basis einer eingestuften Relevanz von jeder angegebenen Art von grammatischer Einheit in Bezug auf jede Abfrage bereit.
  • Die Systeme und Techniken stellen eine Nutzerschnittstelle innerhalb der Anwendung bereit, um es Nutzern zu ermöglichen, eine Abfrage einzugeben, einschließlich eine Abfrage, welche die Art von grammatischer Einheit festlegt, die im Zusammenhang mit dem oder den Abfragebegriff(en) zusammenhängt. Die Nutzerschnittstelle zeigt Suchergebnisse z.B. durch Anzeigen von jeder grammatischen Einheit innerhalb der Suchergebnisse entweder getrennt von dem gesuchten Dokument oder den gesuchten Dokumenten und/oder hervorgehoben oder identifiziert innerhalb des gesuchten Dokuments oder der gesuchten Dokumente.
  • Da ferner die grammatischen Einheiten in Bezug auf die Abfrage abgestuft sind, können Nutzer in den Suchergebnissen auf der Basis der Reihenfolge der Einstufung (z.B. der Relevanz) navigieren, anstatt einfach die Suchergebnisse in deren Reihenfolge des Auftretens innerhalb des Dokuments zu betrachten. Auf diese Weise ist es wahrscheinlicher, dass der Nutzer ein gewünschtes Ergebnis in einer schnellen und effizienten Weise findet.
  • Bei der Verwendung mit einem einzelnen Dokument oder einem ausreichend kleinen Satz von Dokumenten können die beschriebenen Techniken alle abgefragten grammatischen Einheiten in Bezug auf die eingegebene Abfrage identifizieren und untersuchen. Beispielsweise ist es für eine satzbasierte Suche eines Dokuments möglich, alle Sätze innerhalb des Dokuments zu identifizieren und den oder die Abfragebegriff(e) und jeden Satz zu verarbeiten, um Merkmale jedes Satzes in Bezug auf die Abfrage (z.B. semantische oder kontextuelle Merkmale) zu erhalten. Beispielsweise kann ein Abfrage-Satz-Paar für jeden Satz relativ zu einer spezifischen Abfrage gebildet werden.
  • Jeder Satz oder eine andere festgelegte grammatische Einheit kann dann unter Verwendung von einer oder mehreren Maschinenlerntechnik(en) eingestuft werden. Beispielsweise kann ein Modell mit dem Merkmalssatz trainiert werden, der zum Erhalten der Arten von gerade referenzierten Merkmale verwendet wird, so dass die Sätze entsprechend eingestuft werden können. Dann wird oder werden der oder die am höchsten eingestufte Satz oder Sätze als Suchergebnisse ausgegeben werden, wobei die vorstehend angegebene Nutzerschnittstelle verwendet wird.
  • Die in diesem Dokument beschriebenen Systeme und Techniken können alle Ziele für die Suchanwendung unter Verwendung der nahtlosen Nutzerschnittstelle und eines einheitbasierten Suchmoduls integrieren. In einer vorteilhaften Weise unterstützen die in diesem Dokument beschriebenen Systeme und Techniken dabei, falsch positive Ergebnisse zu vermeiden, wie z.B. Suchergebnisse, die einfach zeichenkettenabgeglichene Abfragebegrife umfassen, selbst wenn solche Begriffe verschiedene semantische oder kontextuelle Bedeutungen innerhalb des durchsuchten Dokuments aufweisen. Entsprechend werden falsch negative Ergebnisse minimiert oder vermieden, z.B. da die beschriebenen Techniken Sätze liefern können, die für die Abfrage relevant sind, selbst wenn die Sätze keinen der genauen Begriffe der Abfrage umfassen.
  • Zusätzlich verbessern die hier beschriebenen Systeme und Techniken in einer vorteilhaften Weise bestehende Technologiebereiche. Beispielsweise wird, wie es beschrieben ist, das computerbasierte Dokumentdurchsuchen verbessert. Ferner können die Systeme und Techniken für einen stärker automatisierten und effizienteren und schnelleren Ansatz verwendet werden, wenn sie auf eine Spracherkennungstechnologie und eine stimmenunterstützte Suche angewandt werden. Beispielsweise kann ein Nutzer Abfragen durch die Stimme eingeben, z.B. gesprochene Abfragen, und wird mit einer größeren Wahrscheinlichkeit gewünschte Ergebnisse erhalten als bei herkömmlichen stimmenbasierten Suchtechniken.
  • Die 1 ist ein Blockdiagramm eines Systems 100 für ein Dokumentdurchsuchen unter Verwendung von grammatischen Einheiten. Das System 100 umfasst eine Rechenvorrichtung 102, die mindestens einen Speicher 104, mindestens einen Prozessor 106 und mindestens eine Anwendung 108 aufweist. Die Rechenvorrichtung 102 kann mit einer oder mehreren weiteren Rechenvorrichtung(en) über ein Netzwerk 110 kommunizieren. Beispielsweise kann die Rechenvorrichtung 102 mit einem Suchserver 111 über das Netzwerk 110 kommunizieren. Die Rechenvorrichtung 102 kann als ein Server, ein Desktopcomputer, ein Laptopcomputer, eine mobile Vorrichtung, wie z.B. eine Tabletvorrichtung oder eine Mobiltelefonvorrichtung, sowie andere Arten von Rechenvorrichtungen implementiert werden. Obwohl eine einzelne Rechenvorrichtung 102 gezeigt ist, kann die Rechenvorrichtung 102 für eine Mehrzahl von Rechenvorrichtungen, die miteinander in Verbindung stehen, repräsentativ sein, wie z.B. eine Mehrzahl von Servern, die miteinander in Verbindung stehen, um verschiedene Funktionen über ein Netzwerk durchzuführen. In vielen der folgenden Beispiele ist die Rechenvorrichtung 102 als eine mobile Vorrichtung beschrieben.
  • Der mindestens eine Prozessor 106 kann zwei oder mehr Prozessoren in der Rechenvorrichtung 102 repräsentieren, die parallel arbeiten, und entsprechende Anweisungen nutzen, die unter Verwendung des mindestens einen Speichers 104 gespeichert sind. Der mindestens eine Speicher 104 repräsentiert mindestens ein nicht-flüchtiges computerlesbares Speichermedium. Folglich kann entsprechend der mindestens eine Speicher 104 eine Art oder mehrere verschiedene Arten von Speicher repräsentieren, der durch die Rechenvorrichtung 102 genutzt wird. Zusätzlich zu einem Speichern von Anweisungen, die es dem mindestens einen Prozessor 106 ermöglichen, die Anwendung 108 und deren verschiedenen Komponenten zu implementieren, kann der mindestens eine Speicher 104 zum Speichern von Daten verwendet werden.
  • Das Netzwerk 110 kann als das Internet implementiert werden, kann jedoch weitere, andere Konfigurationen aufweisen. Beispielsweise kann das Netzwerk 110 ein Weitbereichsnetzwerknetzwerk (WAN), ein lokales Netzwerk (LAN), ein drahtloses Netzwerk, ein Intranet, Kombinationen dieser Netzwerke und andere Netzwerke sein. Selbstverständlich kann, obwohl das Netzwerk 110 als ein einzelnes Netzwerk gezeigt ist, das Netzwerk 110 so implementiert werden, dass es eine Mehrzahl von verschiedenen Netzwerken umfasst.
  • Auf die Anwendung 108 kann durch einen Nutzer der Rechenvorrichtung 102 direkt bei der Rechenvorrichtung 102 zugegriffen werden. In weiteren Implementierungen kann die Anwendung 108 auf der Rechenvorrichtung 102 als eine Komponente eines Cloudnetzwerks laufen, wobei ein Nutzer auf die Anwendung 108 von einer anderen Rechenvorrichtung über ein Netzwerk zugreift, wie z.B. das Netzwerk 110. In einer Implementierung kann die Anwendung 108 eine Dokumenterzeugungs- oder -betrachtungsanwendung sein. Die Anwendung 108 kann eine eigenständige Anwendung sein, die auf der Rechenvorrichtung 102 läuft. Alternativ kann die Anwendung 108 eine Anwendung sein, die in einer anderen Anwendung läuft, wie z.B. einer Browseranwendung, gegebenenfalls im Zusammenhang mit dem Suchserver 111.
  • In der 1 ist die Anwendung 108 so gezeigt, dass sie eine Nutzerschnittstelle 112 umfasst. Wie es vorstehend angegeben worden ist, kann die Anwendung 108 eine Dokumentleseanwendung repräsentieren und die Nutzerschnittstelle 112 kann eine entsprechende Nutzerschnittstelle repräsentieren. Wie es ebenfalls vorstehend angegeben worden ist, kann die Anwendung 108 eine Browseranwendung umfassen, so dass die Nutzerschnittstelle 112 mindestens einen Abschnitt eines Browserfensters repräsentiert. In verschiedenen der nachstehenden Beispiele, die in Bezug auf die 1 angegeben sind, kann die Anwendung 108 als eine mobile Anwendung implementiert werden, wenn die Rechenvorrichtung 102 eine mobile Vorrichtung repräsentiert. Beispielsweise kann die Anwendung 108 eine Android-Anwendung sein, die auf einer mobilen Vorrichtung unter Verwendung des Android-Betriebssystems arbeitet.
  • Ferner ist in der 1 die Anwendung 108 so gezeigt, dass sie ein Abfrageeinheit-Suchmodul 114 umfasst. Wie es vorstehend angegeben und nachstehend detailliert beschrieben ist, ist das Abfrageeinheit-Suchmodul 114 zum Suchen innerhalb eines Dokuments oder mehrerer Dokumente, dargestellt durch das Dokument 115, im Zusammenhang mit der Nutzerschnittstelle 112 ausgebildet. In diesem Zusammenhang sollte der Ausdruck „grammatische Einheit“ oder einfach „Einheit“ so verstanden werden, dass er sich z.B. auf jedwede Kombination von Worten innerhalb des Dokuments 115 bezieht, die im Kontext von einem Satz oder mehreren Sätzen angegeben sind, so dass Informationen innerhalb des Kontexts des Dokuments 115 übermittelt werden. Beispielsweise kann eine solche grammatische Einheit einen Satz umfassen, kann jedoch auch eine Formulierung, einen Halbsatz, einen Absatz, einen Abschnitt oder Teilabschnitt oder jedwede andere zusammenhängende Worteinheit innerhalb des Dokuments 115 umfassen. Wie es hier detailliert beschrieben ist, stellt das Abfrageeinheit-Suchmodul 114 aufgrund einer Suche, einer Einstufung und einer Bereitstellung der Suchergebnisse innerhalb des Dokuments 115 als bestimmte Arten von grammatischen Einheiten in einer vorteilhaften Weise gewünschte Suchergebnisse von innerhalb des Dokuments 115 in einer schnellen und effizienten Weise bereit.
  • Insbesondere ist die Nutzerschnittstelle 112 so gezeigt, dass sie ein Dokumentanzeigefenster 116 umfasst, das zum Bereitstellen und in sonstiger Weise Anzeigen des Dokuments 115 ausgebildet ist. Die Nutzerschnittstelle 112 ist auch so gezeigt, dass sie ein Suchfeld 118 umfasst, das durch einen Nutzer des Systems 100 genutzt werden kann, um eine oder mehrere Abfrage(n) und dazugehörige Abfragebegriffe oder Suchbegriffe einzugeben, die durch das Abfrageeinheit-Suchmodul 114 beim Durchsuchen des Dokuments 115 verwendet werden können. Schließlich ist in Bezug auf die Nutzerschnittstelle 112 eine Sprache-zu-Text-Anwendungsprogrammschnittstelle (API) 120 gezeigt, die so ausgebildet sein kann, dass sie den Erhalt von stimmenbasierten Abfragen innerhalb des Suchfelds 118 zu deren Umwandlung in einen Abfragetext ermöglicht.
  • Spezifische Beispiele für das Dokumentanzeigefenster 116 und das Suchfeld 118 sind nachstehend z.B. in Bezug auf die 2 gezeigt und beschrieben. Im Allgemeinen sollte jedoch beachtet werden, dass das Suchfeld 118 unter Verwendung eines Popup-Fensters, eines separaten Abschnitts der Nutzerschnittstelle 112, einer rein stimmenbasierten Schnittstelle (wie z.B. wenn eine Abfrage durch den Nutzer gesprochen wird, jedoch nicht notwendigerweise als Text innerhalb der Nutzerschnittstelle 112 bereitgestellt wird), oder jedweder anderen herkömmlichen, geeigneten oder zukünftigen Technik zum Erhalten von Abfragen implementiert werden kann.
  • In dem Beispiel von 1 ist die Stimme-zu-Text-API 120 im Zusammenhang mit der Nutzerschnittstelle 112 gezeigt. Es sollte jedoch beachtet werden, dass die Stimme-zu-Text-API 120 als Teil des Abfrageeinheit-Suchmoduls 114 implementiert werden kann. In zusätzlichen oder alternativen Implementierungen kann die Stimme-zu-Text-API 120 ein Stimme-zu-Text-Umwandlungsmodul einsetzen, nutzen oder damit in sonstiger Weise interagieren, das im Beispiel von 1 nicht explizit gezeigt ist, das jedoch in einem oder beiden der Rechenvorrichtung 102 und/oder des Suchservers 111 oder in einem anderen Server implementiert werden kann. Entsprechend kann auch das gesamte Abfrageeinheit-Suchmodul 114 oder ein Teil davon bei dem Suchserver 111 implementiert werden.
  • In vielen der hier beschriebenen Beispiele kann das Dokument 115 von 1 als ein einzelnes Dokument gezeigt und beschrieben sein. Es sollte jedoch beachtet werden, dass das Dokument 115 in verschiedenen Implementierungen zwei oder mehr Dokumente repräsentieren kann. Beispielsweise kann das Abfrageeinheit-Suchmodul 114 zum Durchsuchen einer Gruppe von Dokumenten genutzt werden, die alle ein bestimmtes interessierendes Thema für den Nutzer des Systems 100 betreffen.
  • In der Praxis kann ein Nutzer, der das System 100 nutzen will, zunächst das Dokument 115 innerhalb des Dokumentanzeigefensters 116 der Nutzerschnittstelle 112 laden. Im Zusammenhang mit dem Aktivieren des Suchfelds 118 kann der Nutzer eine Abfrage, die einen oder mehrere Abfragebegriff(e) umfasst, und unter Verwendung der Stimme-zu-Text-API 120 und/oder anderer geeigneter Eingabemodalitäten eingeben.
  • In verschiedenen Beispielen kann der Nutzer die Art der gewünschten grammatischen Einheit festlegen. Beispielsweise kann der Nutzer, wie es nachstehend in Bezug auf die 2 beschrieben und gezeigt ist, eine Abfrage durch Abfragen von allen Formulierungen mit einem bestimmten Schlüsselwort oder allen Sätzen mit diesem Schlüsselwort eingeben. Wenn der Nutzer einfach ein Schlüsselwort ohne Festlegen einer Art der grammatischen Einheit eingibt, dann kann eine vorgegebene grammatische Einheit (wie z.B. der Satz) ausgewählt werden. Beispielsweise kann der Nutzer das Abfrageeinheit-Suchmodul 114 in Bezug auf eine vorgegebene grammatische Einheit, die verwendet werden soll, konfigurieren.
  • Folglich kann ein Einheitauswahlmodul 122 des Abfrageeinheit-Suchmoduls 114 so ausgebildet sein, dass es die Abfrage mittels des Suchfelds 118 erhält und die Art oder die Natur der gewünschten grammatischen Einheit bestimmt. Beispielsweise kann, wie es vorher erläutert worden ist, das Einheitauswahlmodul 122 eine festgelegte Art von grammatischer Einheit von innerhalb der eingegebenen Abfrage identifizieren, oder geeignete Konfigurationsdaten konsultieren, um eine vorgegebene grammatische Einheit zu bestimmen, die verwendet werden soll.
  • Die Abfrage und das Dokument 115 können dann zu einem Vorverarbeitungsmodul 124 weitergegeben werden. Beispielvorgänge des Vorverarbeitungsmoduls 124 sind nachstehend z.B. in Bezug auf die 4 detaillierter angegeben. Im Allgemeinen sollte jedoch beachtet werden, dass das Vorverarbeitungsmodul 124 zum Standardisieren, Normalisieren und in sonstiger Weise Vorbereiten der Abfrage und des Dokuments 115 für eine anschließende Untersuchung und Verarbeitung innerhalb des Abfrageeinheit-Suchmoduls 114 ausgebildet ist. Als nicht-beschränkendes Beispiel kann das Vorverarbeitungsmodul 124 gebräuchliche Worte (z.B. „der“, „die“, „das“, „zu“, „und“, usw.) entfernen oder Worte auf ihre Grundformen reduzieren (z.B. durch Entfernen von modifizierten Wortendungen, wie z.B. „en“ oder „t“). In der Praxis kann das Vorverarbeitungsmodul 124 das Dokument 115 vor dem Erhalten der Abfrage oder einhergehend damit verarbeiten. Beispielsweise kann ein einzelnes Dokument 115 einer Vorverarbeitung unterzogen werden und dann unter Verwendung einer Mehrzahl von Abfragen durchsucht werden, die während eines Zeitraums erhalten worden sind.
  • Ein Merkmalextraktionsmodul 126 des Abfrageeinheit-Suchmoduls 114 ist zum Erhalten der vorverarbeiteten Abfrage und des vorverarbeiteten Dokuments und danach zum Berechnen von einem oder mehreren Merkmal(en) für jede festgelegte grammatische Einheit (z.B. einen Satz) innerhalb des Dokuments und in Bezug auf die erhaltene Abfrage ausgebildet. Spezifische Beispielmerkmale und dazugehörige Vorgänge zum Extrahieren der Merkmale sind nachstehend in Bezug auf die 4 detailliert beschrieben. Im Allgemeinen sollte in Bezug auf die 1 beachtet werden, dass solche Merkmale eine Sprachmodellbewertung umfassen können, in der ein Sprachmodell für jeden Satz oder jede andere festgelegte grammatische Einheit innerhalb des Dokuments 115 sowie für die Abfrage selbst konstruiert wird.
  • Beispielsweise kann in Beispielen, in denen die grammatische Einheit, die gesucht wird, ein Satz ist, das Merkmalextraktionsmodul 126 eine Anzahl von relevanten Eigenschaften oder Aspekten der Sätze des Dokuments 115 und der erhaltenen Abfrage bestimmen. Beispielsweise kann das Merkmalextraktionsmodul 126 die Anzahl bestimmen, mit der ein gegebenes Wort innerhalb der Abfrage oder innerhalb jedes Satzes vorkommt. Das Merkmalextraktionsmodul 126 kann die Länge jedes Satzes des Dokuments 115 oder eine Wahrscheinlichkeit berücksichtigen, dass ein spezifisches Wort, das in die erhaltene Abfrage einbezogen ist, innerhalb der Dokuments 115 vorkommt. Diese und andere Parameter können zum Berechnen der Wahrscheinlichkeit jedes Satzes verwendet werden, für die erhaltene Abfrage relevant zu sein.
  • Das Merkmalextraktionsmodul 126 kann auch eine semantische Ähnlichkeit zwischen der erhaltenen Abfrage und jedem Satz des Dokuments 115 unter Verwendung der nachstehend beschriebenen Techniken oder anderen geeigneten Techniken berechnen. In zusätzlichen oder alternativen Beispiele kann das Merkmalextraktionsmodul 126 auch zum Berechnen von kontextuellen Merkmalen oder Kontextmerkmalen, die für den Kontext jedes Satzes spezifisch sind, ausgebildet sein. Beispielsweise kann das Merkmalextraktionsmodul 126 einen vorhergehenden Satz und einen nachfolgenden Satz in Bezug auf jeden berücksichtigten Satz berücksichtigen.
  • Schließlich ist in Bezug auf das Abfrageeinheit-Suchmodul 114 ein Einstufungsmodul 128 gezeigt und dieses kann zum Einstufen der Sätze oder anderer grammatischer Einheiten, die im Zusammenhang mit der erhaltenen Abfrage ausgewählt worden sind, mittels eines Satzeinstufungsmodells ausgebildet sein. Beispielsweise können die Merkmale, die durch das Merkmalextraktionsmodul 126 genutzt werden, zum Bilden eines Merkmalssatzes verwendet werden, der zum Trainieren des Einstufungsmodells des Einstufungsmoduls 128 verwendet wird, und sie können z.B. zum Optimieren von Gewichtungen oder anderen Parametern des Satzeinstufungsmodells verwendet werden.
  • Die 2 ist eine Beispiel-Bildschirmaufnahme, die eine Nutzerschnittstelle einer Anwendung zum Dokumentdurchsuchen mittels grammatischer Einheiten unter Verwendung des Systems von 1 zeigt. In dem Beispiel von 1 stellt eine mobile Vorrichtung 202 die Rechenvorrichtung 102 von 1 dar. Innerhalb der mobilen Vorrichtung 202 entspricht eine Nutzerschnittstelle 204 allgemein der Nutzerschnittstelle 112 von 1, während ein Dokumentanzeigefenster 205 dem Dokumentanzeigefenster 116 von 1 entspricht.
  • Innerhalb der Nutzerschnittstelle 204 sind Beispielinhaltsauszüge eines Dokuments entsprechend dem Dokument 115 gezeigt. Zum Durchsuchen des gesamten Inhalts des entsprechenden Dokuments ist ein Suchfeld 206 gezeigt, das dem Suchfeld 118 von 1 entspricht.
  • Wie es innerhalb des Suchfelds 206 gezeigt ist, kann der Nutzer eine Abfrage eingeben, die sowohl die Art einer gewünschten grammatischen Einheit als auch Abfragebegriffe, die den Inhalt der bestimmten Abfrage festlegen, festlegen kann. In dem Beispiel umfasst das Suchfeld 206 den Inhalt „zeige mir Formulierungen, die mit einem Protest zusammenhängen“. Wie es beschrieben ist, kann der Inhalt des Suchfelds 206 unter Verwendung der Stimme-zu-Text-API 120 von 1 erhalten werden, oder er kann durch den Nutzer mittels einer dazugehörigen Tastatur oder unter Verwendung von jedweder anderen Texteingabetechnik eingegeben werden.
  • In dem Beispiel umfasst das Dokument, das durchsucht wird, biographische Informationen, die das Leben von Mahatma Gandhi beschreiben. Das Abfrageeinheit-Suchmodul 114 kann mit dem Ausführen der verschiedenen Techniken, die vorstehend in Bezug auf die 1 beschrieben worden sind, zum Identifizieren und Einstufen von Formulierungen bezogen auf den Begriff Protest, die innerhalb des Dokumentinhalts einbezogen sind, fortfahren.
  • Beispielsweise kann, wie es gezeigt ist, das Abfrageeinheit-Suchmodul 114 die Formulierung „mittels eines gewaltlosen zivilen Ungehorsams“ 208 als eine Formulierung identifizieren, die das Konzept eines Protests betrifft. Entsprechend kann das Abfrageeinheit-Suchmodul 114 den Satz 210 identifizieren, der angibt, dass „Hungern eine erfolgreiche Form des Protests war, die von Gandhi verwendet wurde“.
  • In dem Beispiel der Formulierung 208 kann das Abfrageeinheit-Suchmodul 114 die Formulierung „mittels eines gewaltlosen zivilen Ungehorsams“ als eine Formulierung auf der Basis von deren Anordnung am Beginn eines Satzes und mittels des Einbeziehens des „,“ in den Satz identifizieren. In dem Beispiel des Satzes 210 kann es vorkommen, dass das Abfrageeinheit-Suchmodul 114 innerhalb des Satzes 210 keine separate Formulierung erfasst, die mit einem Protest zusammenhängt, und daher den Satz 210 in dessen Gesamtheit ausgibt oder identifiziert.
  • Insbesondere sollte aufgrund der vorstehenden Beschreibung beachtet werden, dass grammatische Einheiten typischerweise in einer hierarchischen Weise angeordnet sind, so dass beispielsweise Formulierungen, Halbsätze, Sätze und Absätze einen Teil einer solchen Hierarchie bilden. Folglich kann das Abfrageeinheit-Suchmodul 114 so ausgebildet sein, dass es ein oder mehr Niveau(s) innerhalb der Hierarchie ausgibt, wenn es ein festgelegtes oder abgefragtes Niveau der Hierarchie nicht schlüssig identifizieren kann. Beispielsweise wenn ein Dokument eine Anzahl von Formulierungen umfasst, die keine vollständigen Sätze bilden, die jedoch in einer Absatzform zusammen gruppiert sind, kann das Abfrageeinheit-Suchmodul 114 den gesamten Absatz innerhalb der Suchergebnisse ausgeben oder identifizieren.
  • Selbstverständlich sollte beachtet werden, dass das Abfrageeinheit-Suchmodul 114 in jedweder gewünschten Weise in Bezug auf die vorstehend genannten Arten von Parametern und Vorgängen ausgebildet sein kann. Beispielsweise kann sowohl ein Gestalter und/oder Nutzer des Abfrageeinheit-Suchmoduls 114 das Vermögen aufweisen, solche Konfigurationsparameter einzustellen.
  • Ferner ist in dem Beispiel von 2 ein separates Suchfeld 212 so gezeigt, dass es das einzelne Wort „Mord“ umfasst. In dem Beispiel gibt das Abfrageeinheit-Suchmodul 114 den Satz 214 aus, der angibt „Gandhi wurde am 30. Januar 1948 ermordet“. Es sollte beachtet werden, dass der Satz 214 nicht die Zeichenkette „Mord“ umfasst, sondern als Suchergebnis auf der Basis der Gesamtanalyse einer Relevanz des Satzes 214 durch das Abfrageeinheit-Suchmodul 114 ausgegeben werden kann.
  • Obwohl die 2 das Suchfeld 212 separat von dem Suchfeld 206 zeigt, sollte beachtet werden, dass selbstverständlich ein einzelnes Suchfeld zum Eingeben einer Mehrzahl von Abfragen genutzt werden kann. Dennoch zeigen die Suchfelder 206, 212 ferner, dass Nutzer Abfragen in einer gewünschten Weise eingeben können, z.B. als einzelne Worte mit oder ohne Angabe einer gewünschten Art von grammatischer Einheit, die einbezogen werden soll.
  • Wenn Suchergebnisse ausgegeben oder bereitgestellt werden, kann das Abfrageeinheit-Suchmodul 114 die relevantesten (z.B. die am höchsten eingestuften) Suchergebnisse zuerst angeben, selbst wenn diese Suchergebnisse aufeinanderfolgend innerhalb des durchsuchten Dokuments an einem späteren Punkt auftreten als früher einbezogene, jedoch weniger relevante Suchergebnisse.
  • Beispielsweise kann unter Rückkehr zu den Beispielen des Suchfelds 206 das Abfrageeinheit-Suchmodul 114 die Suchergebnisse 208, 210 ausgeben, wie es beschrieben worden ist. Wie es gezeigt ist, tritt das Suchergebnis 208 innerhalb des bereitgestellten Dokuments vor dem Suchergebnis 210 auf. Dennoch kann als Reaktion auf den Erhalt der Abfrage, die innerhalb des Suchfelds 206 einbezogen ist, das Abfrageeinheit-Suchmodul 114 zunächst das Suchergebnis 210 als ein erstes, am höchsten eingestuftes Suchergebnis ausgeben. Beispielsweise kann das Abfrageeinheit-Suchmodul 114 so ausgebildet sein, dass es den Satz 210 innerhalb des bereitgestellten Dokuments hervorhebt, unterstreicht, fettgedruckt darstellt oder in sonstiger Weise bezeichnet und umgebende Abschnitte des Satzes 210 innerhalb des verfügbaren Bildschirmraums des Dokumentanzeigefensters 205 anzeigt.
  • Wenn der Nutzer entscheidet, dass der Satz 210 nicht ausreichend zufriedenstellend ist und zusätzliche Suchergebnisse zu sehen wünscht, dann kann das Abfrageeinheit-Suchmodul 114 entsprechend eine visuelle Bezeichnung der Formulierung 208 erneut innerhalb des Kontexts von umgebenden Abschnitten des bereitgestellten Dokuments und im Zusammenhang mit dem Entfernen von jedweder vorhergehenden visuellen Bezeichnung des Satzes 210 bereitstellen. Folglich werden für den Nutzer in diesen Beispielausführungsformen die relevantesten Suchergebnisse einzeln und in einer sequenziellen Reihenfolge der Einstufung/Relevanz und unabhängig von der Anordnung des Suchergebnisses innerhalb des durchsuchten Dokuments bereitgestellt.
  • In weiteren Beispielen kann das Abfrageeinheit-Suchmodul 114 visuell alle Suchergebnisse innerhalb des Dokuments gleichzeitig bezeichnen, und zwar einhergehend mit einer zusätzlichen Bezeichnung von Einstufungsbewertungen. Beispielsweise können beide Suchergebnisse 208, 210 visuell innerhalb des Dokumentanzeigefensters 205 bezeichnet werden, jedoch kann das Suchergebnis 210 so angegeben werden, dass es eine höhere Ergebniseinstufung aufweist als das Suchergebnis 208. Beispielsweise können unterschiedliche visuelle Bezeichnungen verwendet werden oder die Suchergebnisse können zum Angeben einer relativen Einstufungsreihenfolge aufgezählt werden. Beispielsweise ist in der 2 das Suchergebnis 210 mit einem Einstufungsidentifikator „1“ 211 assoziiert, um dessen Einstufung als Suchergebnis mit der größten Relevanz anzugeben, während das Suchergebnis 208 mit einem Einstufungsidentifikator „2“ 209 assoziiert ist, der dessen Einstufung als Suchergebnis mit der zweitgrößten Relevanz angibt.
  • In verschiedenen weiteren Beispielimplementierungen kann der Nutzer die verschiedenen Suchergebnisse in einer Anzahl von möglichen Arten auswählen und betrachten. Beispielsweise kann der Nutzer durch Inhalte des Dokuments innerhalb des Dokumentanzeigefensters 116 unter Verwendung einer dazugehörigen Bildlaufleiste (in dem Beispiel von 2 nicht explizit gezeigt) scrollen. In weiteren Beispielen kann das Abfrageeinheit-Suchmodul 114 zunächst ein Suchergebnis mit der höchsten Einstufung innerhalb des Dokumentanzeigefensters 116 anzeigen. Dann kann nach dem Erhalten einer Eingabe von dem Nutzer, wie z.B. nach dem Betätigen der Space-Taste, dem Betätigen der Eingabetaste oder Auswählen eines „Nächstes“-Pfeils das Abfrageeinheit-Suchmodul 114 mit dem Anzeigen des Suchergebnisses mit der nächstniedrigeren Einstufung innerhalb des Dokumentanzeigefensters 116 und das durch benachbarte Inhaltsabschnitte umgeben ist, fortfahren. Mit anderen Worten, das visuelle Bezeichnen des Suchergebnisses kann das aufeinanderfolgende Anzeigen von Dokumentabschnitten und das Hervorheben einzelner, darin einbezogener Sätze als Reaktion auf entsprechende Nutzereingaben und in der Reihenfolge der Einstufung umfassen.
  • Folglich kann die visuelle Bezeichnung von eingestuften Suchergebnissen einen Einstufungsidentifikator umfassen, der benachbart zu einer entsprechenden eingestuften grammatischen Einheit angezeigt wird. In weiteren Implementierungen kann eine visuelle Bezeichnung von Suchergebnissen das aufeinanderfolgende Hervorheben einzelner grammatischer Einheiten innerhalb des mindestens einen Dokuments als Reaktion auf entsprechende Nutzereingaben und in einer Reihenfolge der Einstufung der abgestuften grammatischen Einheiten umfassen.
  • Die 3 ist ein Flussdiagramm 300, das detailliertere Beispielvorgänge des Systems 100 von 1 zeigt. In dem Beispiel von 3 sind die Vorgänge 302-310 als separate, aufeinanderfolgende Vorgänge gezeigt. Es sollte jedoch beachtet werden, dass in verschiedenen Implementierungen zusätzliche oder alternative Vorgänge oder Teilvorgänge einbezogen werden können und/oder ein Vorgang oder mehrere Vorgänge oder ein Teilvorgang oder mehrere Teilvorgänge weggelassen werden kann oder können. Ferner kann es vorkommen, dass jedwede zwei oder mehr der Vorgänge oder Teilvorgänge in einer teilweise oder vollständig überlappenden oder parallelen Weise oder in einer verschachtelten, iterativen, schleifenartigen oder verzweigten Weise ausgeführt werden können.
  • In dem Beispiel von 3 wird eine Abfrage mittels einer Nutzerschnittstelle einer Anwendung im Zusammenhang mit der Identifizierung mindestens eines Dokuments erhalten, wobei das mindestens eine Dokument mittels eines Computerspeichers (302) gespeichert ist. Beispielsweise kann die Nutzerschnittstelle 112, wie z.B. das Dokumentanzeigefenster 116 und das Suchfeld 118, zum Eingeben einer Abfrage genutzt werden. Die Abfrage kann folglich bei dem Abfrageeinheit-Suchmodul 114, wie z.B. bei dem Einheitauswahlmodul 122, erhalten werden. Im Zusammenhang mit dem Erhalten der Abfrage kann das Dokument 115 identifiziert werden. Beispielsweise kann das Dokument 115 auch in die Nutzerschnittstelle geladen und mittels des Dokumentanzeigefensters 116 betrachtet werden. In weiteren Implementierungen kann das Dokument 115 in einem separaten oder entfernt vorliegenden Computerspeicher als demjenigen gespeichert werden, der durch die Nutzerschnittstelle 112 verwendet wird, und auf diesen kann durch das Abfrageeinheit-Suchmodul 114 zugegriffen werden. Wie es ebenfalls beschrieben ist, kann der Nutzer die Stimme-zu-Text-API 120 zum Eingeben der Abfrage im Zusammenhang mit dem Suchfeld 118 nutzen.
  • Eine Mehrzahl von grammatischen Einheiten kann innerhalb des mindestens einen Dokuments identifiziert werden (304). Beispielsweise kann das Einheitauswahlmodul 122 eine festgelegte Art von grammatischer Einheit von innerhalb der erhaltenen Abfrage identifizieren, wie z.B. als Formulierung, Halbsatz, Satz oder Absatz. In weiteren Implementierungen kann, wie es beschrieben worden ist, das Einheitauswahlmodul 122 keine Identifizierung einer spezifischen Art einer grammatischen Einheit innerhalb der Abfrage erhalten und kann stattdessen eine vorkonfigurierte vorgegebene Art einer grammatischen Einheit nutzen, wie z.B. den Satz. Das Vorverarbeitungsmodul 124 kann zum Analysieren des Dokuments 115 und zum Bezeichnen von jeder der festgelegten Art von darin enthaltenen grammatischen Einheiten ausgebildet sein. Beispielsweise kann das Vorverarbeitungsmodul 124 einzelne Sätze von innerhalb des Dokuments 115 identifizieren. Selbstverständlich kann das Vorverarbeitungsmodul 124 auch zum Durchführen einer zusätzlichen Vorverarbeitung sowohl der erhaltenen Abfrage als auch des Dokuments 115 ausgebildet sein, wie z.B. einem Entfernen von Stoppwörtern, einem Identifizieren von Wortstämmen und Synonymen und einem sonstigen Vorbereiten der Abfragebegriffe und des Dokumentinhalts für eine Merkmalsextraktion.
  • Ein Wert für mindestens ein Merkmal für jede grammatische Einheit in Bezug auf die Abfrage kann extrahiert werden, wobei der mindestens eine Merkmalswert eine Relevanz jeder grammatischen Einheit für die Abfrage charakterisiert (306). Beispielsweise kann das Merkmalextraktionsmodul 126 zum Analysieren von jedem identifizierten Satz oder jeder anderen Art von grammatischer Einheit von innerhalb des Dokuments 115 in Bezug auf die erhaltene Abfrage ausgebildet sein. Demgemäß kann das Merkmalextraktionsmodul 126 einen oder mehrere Merkmalswert(e) für verschiedene Arten von Merkmalen bestimmen, wobei einige davon hier detailliert beschrieben sind. Beispielsweise kann das Merkmalextraktionsmodul Merkmalswerte für semantische Ähnlichkeiten zwischen der Abfrage und jeder einzelnen grammatischen Einheit (z.B. einem Satz) sowie einen Merkmalswert extrahieren, der eine kontextuelle Ähnlichkeit zwischen jedem Satz der Abfrage (z.B. auf der Basis von einem oder mehreren vorhergehenden oder nachfolgenden Satz oder Sätzen, der oder die der Abfrage ähnlich oder für diese relevant ist oder sind) charakterisiert.
  • Die grammatischen Einheiten können auf der Basis von jedem Merkmalswert jeder grammatischen Einheit eingestuft werden (308). Beispielsweise kann das Einstufungsmodul 128 zum Einstufen von jeder grammatischen Einheit in Bezug auf die Abfrage mittels einer oder mehrerer Einstufungstechniken ausgebildet sein, wobei einige davon hier detailliert beschrieben sind. Beispielsweise wenn die festgelegte grammatische Einheit ein Satz ist, kann das Einstufungsmodul 128 jedes Abfrage/Satz-Paar mittels der Merkmalswerte, die durch das Merkmalextraktionsmodul 126 z.B. mittels eines trainierten Modells bereitgestellt werden, das mittels der speziellen Merkmale, für die Werte erhalten worden sind, trainiert wird, eingestuft werden.
  • Schließlich kann in Bezug auf die 3 mittels der Nutzerschnittstelle und im Zusammenhang mit dem mindestens einen Dokument mindestens eine ausgewählte grammatische Einheit der Mehrzahl von grammatischen Einheiten auf der Basis der Einstufung angezeigt werden (310). Beispielsweise können innerhalb des Dokumentanzeigefensters 116 Inhalte des Dokuments 115 vollständig oder teilweise angezeigt werden, wobei die grammatische Einheit mit der höchsten Einstufung darin visuell bezeichnet ist. Wie es ebenfalls beschrieben ist, können die verschiedenen eingestuften grammatischen Einheiten innerhalb des Inhalts des Dokuments 115 gleichzeitig visuell bezeichnet werden, worauf der Nutzer durch das Dokument 115 scrollen kann oder dieses in sonstiger Weise betrachten kann, um jede visuell bezeichnete grammatische Einheit zu untersuchen. In solchen Ausführungsformen können die relativen Einstufungen der bezeichneten grammatischen Einheiten im Zusammenhang miteinander bereitgestellt werden, wie es vorstehend in Bezug auf die Einstufungsidentifikatoren 209, 211 von 2 gezeigt und beschrieben worden ist. Wie es ebenfalls hier beschrieben ist, können die visuell bezeichneten grammatischen Einheiten innerhalb des Inhalts des Dokuments 115 nacheinander als Reaktion auf eine Nutzeraktion (wie z.B. dem Klicken mit einer Maus oder dem Drücken der Space-Taste oder der Eingabetaste) in der Reihenfolge der Einstufung und unabhängig von einer Reihenfolge des Auftretens innerhalb des Inhalts des Dokuments 115 angezeigt und bezeichnet werden. Auf diese Weise kann der Nutzer schnell und effizient die am höchsten eingestufte Instanz der gewünschten Art der grammatischen Einheit finden.
  • Die 4 ist ein Blockdiagramm und ein dazugehöriger Betriebsablauf einer detaillierteren Beispielimplementierung des Systems von 1. Ein Beispielarbeitsablauf einer Implementierung mit einer Stimmensuchschnittstelle wird im Zusammenhang mit der 4 beschrieben. In dem Beispiel von 4 kommuniziert eine Nutzervorrichtung 402 mit einem Server 404.
  • In der 4 und wie es vorstehend beschrieben ist, kann eine Schnittstelle bei der Nutzervorrichtung 402 zum Erhalten einer Nutzerstimmenabfrage und eines einzelnen Dokuments als Eingabe ausgebildet sein. Insbesondere stellt der Nutzer eine stimmenbasierte Abfrage für die Schnittstelle bereit, die anschließend in eine Textabfrage umgewandelt wird (406).
  • Die Textabfrage und das Dokument werden dann für eine Vorverarbeitung zu dem Server 404 gesendet (408). In dem Beispiel von 4 kann, wie es vorstehend erwähnt worden ist und nachstehend detaillierter beschrieben wird, die Vorverarbeitung des Dokuments mit derjenigen der Abfrage identisch sein.
  • Ferner werden in der 4 Merkmale für jedes Abfrage-Satz-Paar in dem Dokument extrahiert (410), die dann zu einem vortrainierten Modell zum Einstufen der Sätze in Bezug auf die Relevanz für die Abfrage gesendet werden. Das trainierte Modell gibt dann eine Einstufungsbewertung für jedes Paar aus (412). Mittels dieser Einstufungsbewertungen wird der Satz oder werden die Sätze mit der höchsten Relevanz für den Nutzer ausgegeben und angezeigt (414).
  • Nachstehend ist eine detaillierte Erläuterung von Beispielimplementierungen von jedem der Vorgänge 406 bis 414 angegeben. Insbesondere wird bei dem Vorgang 406 die Suchabfrage, die durch den Nutzer für ein gegebenes Dokument bereitgestellt wird, als eine Eingabe erhalten, und die Stimmensuchabfrage wird dann mittels einer geeigneten Stimme-zu-Text- oder Sprache-API, wie in der 1, in einen Abfragetext umgewandelt. Dann wird in dem Beispiel der Abfragetext z.B. zusammen mit dem Dokument zu dem Server 404 gesendet. In Fällen, bei denen das Dokument gespeichert wird oder aus der Entfernung zugänglich ist, wird unter Verwendung des Servers 404 ein Dokumentidentifikator (ID) beim Abfragen und Zugreifen auf das Dokument verwendet.
  • Für den Verabeitungsvorgang (412) wird die Abfrage, nachdem sie zu Text umgewandelt worden ist, zu dem Server 404 gesendet. Wie es beschrieben worden ist, kann oder können in einigen Implementierungen das oder die dazugehörige(n) Dokument(e) mit der Abfrage zu dem Server 404 gesendet werden und kann oder können zusammen mit der Abfrage vorverarbeitet werden. In weiteren Implementierungen kann das Dokument bereits auf dem Server 404 gespeichert sein oder für diesen verfügbar sein, und die Abfrage kann mit einem Dokumentidentifikator zum Identifizieren des Dokuments gesendet werden. Demgemäß kann die beschriebene Vorverarbeitung mit dem Dokument vor dem Erhalten der Abfrage durchgeführt werden.
  • Auf dem Server 404 kann ein Tokenizer (lexikalischer Scanner) zum Trennen aller Begriffe in der Abfrage (und gegebenenfalls dem Dokument) als Token verwendet werden. Beispielsweise können Begriffe oder Zeichenketten als Worte oder Interpunktion und als spezifische Arten von Worten (z.B. Substantiv, Verb oder Adjektiv) klassifiziert werden. Die klassifizierte Interpunktion kann zum Kategorisieren von grammatischen Einheiten, wie z.B. Formulierungen, Halbsätzen oder Sätzen, verwendet werden.
  • Dann kann eine Ko-Referenzauflösung zum Auflösen von jedweden einbezogenen Pronomen verwendet werden, z.B. durch Zuordnen jedes Pronoms zu dessen Bezugswortbasis. Stoppworte (z.B. gebräuchliche Worte wie z.B. „der“, „die“, „das“, „zu“, usw.) können dann entfernt werden. Ferner können Stammbildungs- oder Lemmatisierungstechniken durchgeführt werden, um die Token zu deren Basisformen zu reduzieren.
  • Dann kann eine Merkmalsextraktion (410) mit der Abfrage und dem Dokument, die vorverarbeitet worden sind, durchgeführt werden. In dem Beispiel von 4 können die folgenden beschriebenen Merkmale für jeden Satz in dem Dokument in Bezug auf die erhaltene Abfrage berechnet werden.
  • Zuerst kann eine Sprachmodellbewertung zum Charakterisieren des Wortvorkommens innerhalb der Sätze eines Dokuments relativ zu der Abfrage berechnet werden. In Allgemeinen charakterisiert ein Sprachmodell eine gewünschte Wahrscheinlichkeitsverteilung für jeden Satz. Beispielsweise kann ein Abfragewahrscheinlichkeitsmodell zum Berechnen dieser Art von Merkmal verwendet werden. In solchen Beispielen wird ein Sprachmodell für jeden Satz in dem Dokument konstruiert. Das Satzsprachmodell kann geglättet werden, um die Abschätzungsergebnisse für eine Datenausdünnung einzustellen, die vorkommen kann, wenn einzelne Sätze von einem einzelnen Dokument analysiert werden, wie z.B. mittels einer Dirichlet-Glättung.
  • Jeder Satz kann dann auf der Basis einer Wahrscheinlichkeit der Relevanz jedes Satzes unter Berücksichtigung der vorliegenden Abfrage eingestuft werden. Mit anderen Worten, die Einstufung für dieses Merkmal kann als die Wahrscheinlichkeit eines Satzes interpretiert werden, für eine gegebene Abfrage relevant zu sein, und kann so berechnet werden, wie es in der Gleichung 1 gezeigt ist: f L M ( Q , S ) = w Q t f w , Q l o g t f w , S + μ P ( w | C ) | S | + μ
    Figure DE102018007024A1_0001
  • In der Gleichung 1ist tfw,Q die Anzahl, mit der ein Wort win der Abfrage Q vorkommt, tfw,s ist die Anzahl, mit der ein Wort w in dem Satz S vorkommt, |S| ist die Länge des Satzes und P(w|C) ist das Hintergrundsprachmodell, berechnet als die Wahrscheinlichkeit, dass das Wort w in dem Dokument C vorkommt. µ ist ein Parameter für die Dirichlet-Glättung.
  • In einem zweiten Beispielmerkmal kann eine semantische Ähnlichkeit berechnet werden. Beispielsweise bezieht sich Word2Vec auf eine Gruppe von verwandten Modellen, die zum Erzeugen von Worteinbettungen verwendet werden, wobei sich Worteinbettungen auf kontinuierliche Vektordarstellungen von Worten beziehen, die aus großen Mengen von Textdaten mittels neuronalen Netzwerken gelernt worden sind. In diesem Zusammenhang bezieht sich eine Vektordarstellung eines Worts auf das Konzept, dass eine gegebene Menge von Textdaten (z.B. ein Dokument oder ein Korpus von Dokumenten) eine Anzahl von Dimensionen oder Elementen aufweist, die durch einen Nutzer in dem Kontext des Trainierens eines neuronalen Netzwerks oder von neuronalen Netzwerken bestimmt werden. Dann kann jeder Vektor als eine verteilte Darstellung jedes Worts konstruiert werden. Auf diese Weise können Worte in einer numerischen Form als Vektoren dargestellt werden, die einfacher untersucht und verarbeitet werden können, um Ähnlichkeiten zwischen diesen zu bestimmen. Mit anderen Worten, Vektoren von ähnlichen Worten werden innerhalb des festgelegten Vektorraums nahe beieinander vorliegen (d.h., gruppiert sein), so dass die Ähnlichkeiten mathematisch erfasst werden können.
  • Unter Verwendung dieser oder ähnlicher Techniken liegen Worte mit ähnlichen Bedeutungen in geringen Abständen innerhalb des Vektorraums vor, der durch die Vektoren festgelegt ist. Im Betrieb des Systems der 1 und 4 kann ein vortrainiertes Modell zum Erzeugen von Vektordarstellungen der Abfrage und jedes Satzes verwendet werden. Dann kann ein Ähnlichkeitsmerkmalswert für ein Abfrage-Satz-Paar z.B. als eine durchschnittliche paarweise Kosinusähnlichkeit zwischen jedem Abfragewort-Vektor und Satzwort-Vektor oder unter Verwendung jedweden anderen angemessenen oder geeigneten Ähnlichkeitsmaßes zwischen den festgelegten Vektoren berechnet werden. Durch Berechnen der Merkmalswerte auf diese Weise wird eine semantische Ähnlichkeit zwischen der Abfrage und jedem Satz erhalten.
  • In einem letzten Beispiel für Satzmerkmale, die während der Merkmalsextraktion (410) berechnet werden können, umfassen Kontextmerkmale Merkmale, die für den Kontext eines gegebenen potenziellen Satzes spezifisch sind. Beispielsweise kann für einen bestimmten Satz ein vorhergehender Satz und/oder ein nachfolgender Satz als Kontext verwendet werden. Allgemeiner kann jedweder von einem oder mehreren benachbarten Satz oder Sätzen verwendet werden, wie z.B. Sätze innerhalb desselben Absatzes als ein ausgewählter Satz. In diesen Implementierungen wird davon ausgegangen, dass für eine bestimmte Abfrage ein relevanter Satz mit einer größeren Wahrscheinlichkeit durch andere Sätze umgeben ist, die ebenfalls in gewisser Weise in Bezug auf die Abfrage relevant sind.
  • Beispielsweise wenn das Kontextmerkmal mit den früher beschriebenen Merkmalen der Sprachmodellbewertung (LM) und der semantischen (z.B. Word2Vec) Ähnlichkeit kombiniert wird oder darauf basiert, dann können diese zwei Merkmale als Satz Fn für den n-ten Satz in dem Dokument dargestellt werden, d.h., Fn = {LMn, W2Vn}. Dann können die Kontextmerkmale (CF) für den n-ten Satz als der Satz von LM & W2V Merkmalen für den n- 1-ten bzw. den n+ 1-ten Satz festgelegt werden, d.h., CFn = {Fn-1, Fn+1}.
  • Für den Satzeinstufungsvorgang (412) kann in manchen Implementierungen ein Lernen zum Einstufen (L2R)-Verfahren zum Einstufen der Sätze auf der Basis der Merkmalswerte verwendet werden. Beispielsweise kann das Modell, das als MART (Mehrzahl von additiven Regressionsbäumen („Multiple Additive Regression Trees“)), ein gradientenverstärktes Regressionsbaummodell, als das Satzeinstufungsmodell verwendet werden. Die Aufgabe des Modells ist die Berechnung der Relevanzbewertung für den Merkmalsvektor, der aus dem Abfrage-Satz-Paar erzeugt worden ist, und das Erzeugen einer eingestuften Liste von Sätzen in der absteigenden Reihenfolge der Relevanzbewertung. Das Modell kann mit dem Merkmalssatz zum Optimieren der Gewichtungen des Modells und dadurch zum Erhalten der bestmöglichen Reihenfolge der Ergebnisse trainiert werden.
  • Im Allgemeinen umfasst das Trainieren eines Modells, wie es vorstehend in Bezug auf die verschiedenen Modelle genannt worden ist, die im Kontext des Beispiels von 4 verwendet werden, das Lernen einer großen Anzahl von Parametern mittels Trainingsbeispielen. In dem Kontext von neuronalen Netzwerken aktualisiert ein Optimierungsalgorithmus iterativ die Parameter (Gewichtungen) eines Netzwerks auf der Basis einer Charge von Trainingsbeispielen, wie z.B. den ausgewählten Merkmalswerten, zum Minimieren einer objektiven Funktion. Der am häufigsten verwendete Optimierungsalgorithmus ist die stochastische Gradientenabnahme („Stochastic Gradient Descent“) (SGD), obwohl andere Optimierungsalgorithmen wie z.B. Adagrad, Adadelta, RMSProp und Adam, ebenfalls verwendet werden können.
  • Als weitere Hintergrundinformation sind neuronale Netzwerke Rechenmodelle, die bei einem Maschinenlernen verwendet werden, das aus Knoten ausgebildet ist, die in Schichten organisiert sind. Die Knoten werden auch als künstliche Neuronen oder nur Neuronen bezeichnet und führen eine Funktion mit einer bereitgestellten Eingabe zum Erzeugen eines Ausgabewerts aus. Ein neuronales Netzwerk erfordert einen Trainingszeitraum zum Lernen der Parameter, d.h., von Gewichtungen, die zum Zuordnen der Eingabe zu einer gewünschten Ausgabe verwendet werden. Das Zuordnen findet mittels der Funktion statt. Folglich sind die Gewichtungen Gewichtungen für die Zuordnungsfunktion des neuronalen Netzwerks. Jedes neuronale Netzwerk ist für eine bestimmte Aufgabe traininiert, z.B. eine Vorhersage, eine Klassifizierung, ein Kodieren, usw. Die Aufgabe, die durch das neuronale Netzwerk durchgeführt wird, wird durch die bereitgestellten Eingaben, die Zuordnungsfunktion und die gewünschte Ausgabe bestimmt.
  • Das Trainieren kann entweder überwacht oder nicht überwacht sein. Bei einem überwachten Training werden Trainingsbeispiele für das neuronale Netzwerk bereitgestellt. Ein Trainingsbeispiel umfasst die Eingaben und eine gewünschte Ausgabe. Trainingsbeispiele werden auch als markierte Daten bezeichnet, da die Eingabe mit der gewünschten Ausgabe markiert ist. Das Netzwerk lernt die Werte für die Gewichtungen, die in der Zuordnungsfunktion verwendet werden, die am häufigsten zu der gewünschten Ausgabe führen, wenn die Eingaben vorgegeben sind. Bei einem nicht überwachten Training lernt das Netzwerk, eine Struktur oder ein Muster in der bereitgestellten Eingabe zu identifizieren. Mit anderen Worten, das Netzwerk identifiziert implizite Beziehungen in den Daten. Ein nicht überwachtes Training wird in tiefen neuronalen Netzwerken sowie anderen neuronalen Netzwerken verwendet und erfordert typischerweise einen großen Satz von unmarkierten Daten und einen längeren Trainingszeitraum. Sobald der Trainingszeitraum abgeschlossen ist, kann das neuronale Netzwerk verwendet werden, um die Aufgabe auszuführen, für die es trainiert worden ist, wie z.B. diejenigen, auf die hier Bezug genommen wird.
  • In einer noch spezifischeren Beispielimplementierung des Systems der 1 und 4 kann das System mittels einer Android-Anwendung implementiert werden, die eine stimmenbasierte Suchschnittstelle für Textdokumente bereitstellt. In der Anwendung kann der Nutzer Textdokumente öffnen und betrachten, die auch auf dem Server vorliegen, und kann Stimmensuchabfragen für die Anwendung bereitstellen, um relevante Suchergebnisse zu finden.
  • In diesen und ähnlichen Implementierungen kann die Stimmenabfrage zu Text mittels verfügbarer Sprach-API(s) durchgeführt werden, um eine Stimmenabfrage in Text umzuwandeln. Diese Textabfrage wird dann zusammen mit der ID des Dokuments, das in der Anwendung geöffnet ist, zu dem Server gesendet.
  • Die Vorverarbeitung kann unter Verwendung einer Ko-Referenzauflösung auf der Basis der bekannten Stanford Core NLP-Bibliothek durchgeführt werden, während eine Stammbildung mit herkömmlichen Stammbildungstechniken durchgeführt werden kann.
  • Merkmale können für jeden vorverarbeiteten Satz entsprechend der Abfrage extrahiert werden, wobei das beschriebene Sprachmodellbewertungsmerkmal unter Verwendung des vorstehend genannten Abfragewahrscheinlichkeitsmodells berechnet werden kann, das mittels einer geeignet parametrisierten Dirichlet-Glättung (z.B. mit einem Parameterwert von µ = 10) geglättet werden kann. Die Word2Vec (semantische)-Ähnlichkeit kann mittels eines vortrainierten Modells von Word2Vec berechnet werden, das mit einem Teil eines großen Nachrichtendatensatzes trainiert werden kann, wobei das Modell z.B. 300-dimensionale Vektoren für 3 Millionen Worte und Formulierungen enthält.
  • Das trainierte Modell, das zur Einstufung der Sätze auf der Basis der extrahierten Merkmale verwendet wird, kann unter Verwendung des „Web Answer Passages“-Datensatzes (WebAP) trainiert werden, so dass die im Vorhinein vorliegenden Marker zum Trainieren des Modells durch Eingeben der verarbeiteten Markerwerte in den Lernen-zum-Einstufen-Algorithmus verwendet werden können. Beispielsweise wenn ein perfekter Marker mit einem Wert von 4 angegeben wird, ein ausreichender Marker mit einem Wert von 1 angegeben wird und eine nicht-relevante Übereinstimmung mit einem Wert von 0 angegeben wird, dann kann 2x - 1 als die Eingabe in den L2R-Algorithmus verwendet werden, wobei x der Markerwert ist.
  • Implementierungen der verschiedenen hier beschriebenen Techniken können in einer digitalen elektronischen Schaltung oder in Computerhardware, -firmware, -software oder in Kombinationen davon implementiert werden. Implementierungen können als ein Computerprogrammprodukt implementiert werden, d.h., ein Computerprogramm, das materiell in einem Informationsträger verkörpert ist, z.B. in einer maschinenlesbaren Speichervorrichtung, zum Ausführen durch oder zum Steuern des Betriebs eine(r) Datenverarbeitungsvorrichtung, wie z.B. eines programmierbaren Prozessors, eines Computers oder einer Mehrzahl von Computern. Ein Computerprogramm, wie z.B. das oder die Computerprogramm(e), das oder die vorstehend beschrieben worden ist oder sind, kann in jedweder Form von Programmiersprache geschrieben sein, einschließlich kompilierte oder interpretierte Sprachen, und kann in jedweder Form verwendet werden, einschließlich als eigenständiges Programm oder als Modul, Komponente, Teilroutine oder eine andere Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann so verwendet werden, dass es auf einem Computer oder einer Mehrzahl von Computern an einer Stelle oder verteilt über mehrere Stellen und verbunden mit einem Kommunikationsnetzwerk ausgeführt werden kann.
  • Verfahrensschritte können durch einen oder mehrere programmierbare(n) Prozessor(en) durchgeführt werden, der oder die ein Computerprogramm zum Durchführen von Funktionen durch Bearbeiten von Eingabedaten und Erzeugen einer Ausgabe ausführt oder ausführen. Die Verfahrensschritte können auch durch eine spezifische Logikschaltung durchgeführt werden und eine Vorrichtung kann als solche implementiert werden, wie z.B. ein FPGA (feldprogrammierbares Gatter-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung).
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, umfassen beispielsweise sowohl allgemeine als auch spezifische Mikroprozessoren und jedweden einen oder mehrere Prozessor(en) von jedweder Art von digitalem Computer. Im Allgemeinen wird ein Prozessor Anweisungen und Daten von einem Festwertspeicher oder einem Direktzugriffsspeicher oder beiden erhalten. Elemente eines Computers können mindestens einen Prozessor zum Ausführen von Anweisungen und eine oder mehrere Speichervorrichtung(en) zum Speichern von Anweisungen und Daten umfassen. Im Allgemeinen kann ein Computer auch eine oder mehrere Massenspeichervorrichtung(en) zum Speichern von Daten, wie z.B. magnetische, magnetooptische Platten oder optische Platten, umfassen oder funktionell mit diesen gekoppelt sein, um Daten von diesen zu empfangen oder zu diesen zu übertragen oder beides. Informationsträger, die zum Verkörpern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen eines nicht-flüchtigen Speichers, einschließlich z.B. Halbleiterspeichervorrichtungen, wie z.B. EPROM, EEPROM und Flashspeichervorrichtungen; Magnetplatten, z.B. interne Festplatten oder entnehmbare Platten; magneto-optische Platten; und CD-ROM- und DVD-ROM-Platten. Der Prozessor und der Speicher können durch eine spezifische Logikschaltung ergänzt oder in diese einbezogen sein.
  • Zur Bereitstellung einer Interaktion mit einem Nutzer können Implementierungen auf einem Computer implementiert sein, der eine Anzeigevorrichtung, z.B. einen Kathodenstrahlröhre (CRT)- oder Flüssigkristallanzeige (LCD)-Monitor, zum Anzeigen von Informationen für den Nutzer und eine Tastatur sowie eine Zeigevorrichtung, wie z.B. eine Maus oder einen Trackball, durch die der Nutzer eine Eingabe in den Computer eingeben kann, aufweist. Andere Arten von Vorrichtungen können zum Bereitstellen einer Interaktion mit einem Nutzer verwendet werden; beispielsweise kann eine Rückmeldung, die für den Nutzer bereitgestellt wird, jedwede Form von sensorischer Rückmeldung, z.B. eine visuelle Rückmeldung, eine hörbare Rückmeldung oder eine taktile Rückmeldung sein, und eine Eingabe von dem Nutzer kann in jedweder Form erhalten werden, einschließlich akustisch, mittels Sprache oder einer taktilen Eingabe.
  • Implementierungen können in einem Rechensystem implementiert werden, das eine Backend-Komponente umfasst, wie z.B. einen Datenserver, oder das eine Middleware-Komponente umfasst, wie z.B. einen Anwendungsserver, oder das eine Frontend-Komponente umfasst, wie z.B. einen Clientcomputer mit einer graphischen Nutzerschnittstelle oder einem Webbrowser, durch den ein Nutzer mit einer Implementierung interagieren kann, oder jedwede Kombination solcher Backend-, Middleware- oder Frontend-Komponenten umfasst. Komponenten können durch jedwede Form oder jedwedes Medium einer digitalen Datenkommunikation, z.B. einem Kommunikationsnetzwerk, verbunden werden. Beispiele für Kommunikationsnetzwerke umfassen ein lokales Netzwerk (LAN) und ein Weitbereichsnetzwerk (WAN), wie z.B. das Internet.
  • Während bestimmte Merkmale der Implementierungen hier beschrieben worden sind, sind für den Fachmann viele Modifizierungen, Ersetzungen, Veränderungen und Äquivalente ersichtlich. Es sollte daher beachtet werden, dass die beigefügten Ansprüche alle derartigen Modifizierungen und Veränderungen, die vom Umfang der Ausführungsformen umfasst sind, umfassen sollen.

Claims (20)

  1. Computerprogrammprodukt zum Suchen innerhalb mindestens eines Dokuments, wobei das Computerprogrammprodukt materiell in einem nicht-flüchtigen computerlesbaren Speichermedium verkörpert ist und Anweisungen umfasst, die, wenn sie durch mindestens eine Rechenvorrichtung ausgeführt werden, so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung: eine Abfrage, mittels einer Nutzerschnittstelle einer Anwendung, im Zusammenhang mit der Identifizierung des mindestens einen Dokuments erhält, wobei das mindestens eine Dokument mittels eines Computerspeichers gespeichert ist; eine Mehrzahl von grammatischen Einheiten innerhalb des mindestens einen Dokuments identifiziert; einen Wert für mindestens ein Merkmal für jede grammatische Einheit in Bezug auf die Abfrage extrahiert, wobei der mindestens eine Merkmalswert eine Relevanz von jeder grammatischen Einheit für die Abfrage charakterisiert; die grammatischen Einheiten auf der Basis von jedem Merkmalswert von jeder grammatischen Einheit einstuft; und mittels der Nutzerschnittstelle und im Zusammenhang mit dem mindestens einen Dokument mindestens eine ausgewählte grammatische Einheit der Mehrzahl von grammatischen Einheiten auf der Basis der Einstufung anzeigt.
  2. Computerprogrammprodukt nach Anspruch 1, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung: die Abfrage so erhält, wie sie durch einen Nutzer gesprochen wird; die gesprochene Abfrage in einen Abfragetext umwandelt; und den Abfragetext mittels der Nutzerschnittstelle anzeigt.
  3. Computerprogrammprodukt nach Anspruch 1 oder 2, bei dem die mindestens eine grammatische Einheit mindestens eines von einer Formulierung, eines Halbsatzes, eines Satzes und eines Absatzes umfasst.
  4. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem eine Art der mindestens einen grammatischen Einheit im Zusammenhang mit dem Erhalt der Abfrage erhalten wird.
  5. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung den Wert für das mindestens eine Merkmal extrahiert, umfassend: Berechnen eines Sprachmodells für jede grammatische Einheit, das eine Relevanz jeder grammatischen Einheit für die Abfrage charakterisiert, auf der Basis des Wortvorkommens jedes Worts in der grammatischen Einheit und in der Abfrage.
  6. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung den Wert für das mindestens eine Merkmal extrahiert, umfassend: Berechnen einer semantischen Ähnlichkeit zwischen der Abfrage und jeder grammatischen Einheit auf der Basis mindestens eines Ähnlichkeitsmaßes zwischen Vektordarstellungen jedes Worts innerhalb der Abfrage und der grammatischen Einheit.
  7. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung den Wert für das mindestens eine Merkmal extrahiert, umfassend: Berechnen einer Kontextähnlichkeit zwischen der Abfrage und jeder grammatischen Einheit auf der Basis einer Relevanzbewertung mindestens einer benachbarten grammatischen Einheit.
  8. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung: die grammatischen Einheiten mittels eines trainierten Modells einstuft, in dem das mindestens eine Merkmal zum Trainieren des Modells und Optimieren der Gewichtungen des Modells, die während der Einstufung verwendet werden sollen, verwendet wird.
  9. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche, bei dem die Anweisungen, wenn sie ausgeführt werden, ferner so ausgebildet sind, dass sie bewirken, dass die mindestens eine Rechenvorrichtung die mindestens eine ausgewählte grammatische Einheit anzeigt, umfassend: Anzeigen der eingestuften grammatischen Einheiten innerhalb des mindestens einen Dokuments, einschließlich eine visuelle Bezeichnung von jeder angezeigten, eingestuften grammatischen Einheit, die eine entsprechende Einstufungsreihenfolge angibt.
  10. Computerprogrammprodukt nach Anspruch 9, bei dem die visuelle Bezeichnung einen Einstufungsidentifikator umfasst, der benachbart zu einer entsprechenden eingestuften grammatischen Einheit angezeigt wird.
  11. Computerprogrammprodukt nach Anspruch 9 oder 10, bei dem die visuelle Bezeichnung das aufeinanderfolgende Hervorheben einzelner grammatischer Einheiten innerhalb des mindestens einen Dokuments als Reaktion auf entsprechende Nutzereingaben und in einer Reihenfolge der Einstufung umfasst.
  12. Computerimplementiertes Verfahren zum Suchen innerhalb mindestens eines Dokuments, wobei das Verfahren umfasst: Erhalten einer Abfrage, mittels einer Nutzerschnittstelle einer Anwendung, im Zusammenhang mit der Identifizierung des mindestens einen Dokuments, das mindestens ein Dokument umfasst, das mittels eines Computerspeichers gespeichert ist; Identifizieren einer Mehrzahl von grammatischen Einheiten innerhalb des mindestens einen Dokuments; Extrahieren eines Werts für mindestens ein Merkmal für jede grammatische Einheit in Bezug auf die Abfrage, wobei der mindestens eine Merkmalswert eine Relevanz jeder grammatischen Einheit für die Abfrage charakterisiert; Einstufen der grammatischen Einheiten auf der Basis jedes Merkmalswerts jeder grammatischen Einheit; und Anzeigen, mittels der Nutzerschnittstelle und im Zusammenhang mit dem mindestens einen Dokument, mindestens einer ausgewählten grammatischen Einheit der Mehrzahl von grammatischen Einheiten auf der Basis der Einstufung.
  13. Computerimplementiertes Verfahren nach Anspruch 12, bei dem die mindestens eine grammatische Einheit mindestens eines von einer Formulierung, eines Halbsatzes, eines Satzes und eines Absatzes umfasst.
  14. Computerimplementiertes Verfahren nach Anspruch 12 oder 13, das ferner das Extrahieren des Werts für das mindestens eine Merkmal umfasst, umfassend: Berechnen eines Sprachmodells für jede grammatische Einheit, das eine Relevanz jeder grammatischen Einheit für die Abfrage charakterisiert, auf der Basis des Wortvorkommens jedes Worts in der grammatischen Einheit und in der Abfrage.
  15. Computerimplementiertes Verfahren nach einem der Ansprüche 12 bis 14, das ferner das Extrahieren des Werts für das mindestens eine Merkmal umfasst, umfassend: Berechnen einer semantischen Ähnlichkeit zwischen der Abfrage und jeder grammatischen Einheit auf der Basis mindestens eines Ähnlichkeitsmaßes zwischen Vektordarstellungen jedes Worts innerhalb der Abfrage und der grammatischen Einheit.
  16. Computerimplementiertes Verfahren nach einem der Ansprüche 12 bis 15, das ferner das Extrahieren des Werts für das mindestens eine Merkmal umfasst, umfassend: Berechnen einer Kontextähnlichkeit zwischen der Abfrage und jeder grammatischen Einheit auf der Basis einer Relevanzbewertung mindestens einer benachbarten grammatischen Einheit.
  17. Computerimplementiertes Verfahren nach einem der Ansprüche 12 bis 16, ferner umfassend: Einstufen der grammatischen Einheiten mittels eines trainierten Modells, in dem das mindestens eine Merkmal zum Trainieren des Modells und Optimieren der Gewichtungen des Modells, die während der Einstufung verwendet werden sollen, verwendet wird.
  18. Computerimplementiertes Verfahren nach einem der Ansprüche 12 bis 17, bei dem das Anzeigen der mindestens einen ausgewählten grammatischen Einheit ferner umfasst: Anzeigen der eingestuften grammatischen Einheiten innerhalb des mindestens einen Dokuments, einschließlich eine visuelle Bezeichnung von jeder angezeigten, eingestuften grammatischen Einheit, die eine entsprechende Einstufungsreihenfolge angibt.
  19. System, umfassend: mindestens einen Speicher, der Anweisungen umfasst; und mindestens einen Prozessor, der funktionell mit dem mindestens einen Speicher gekoppelt ist und der zum Ausführen von Anweisungen angeordnet und ausgebildet ist, die, wenn sie ausgeführt werden, bewirken, dass der mindestens eine Prozessor eine Abfrage in Bezug auf mindestens ein Dokument erhält; Sätze innerhalb des mindestens einen Dokuments identifiziert; eine Mehrzahl von Merkmalen extrahiert, die eine Relevanz jedes Satzes der Sätze für die Abfrage charakterisieren; die Sätze auf der Basis der Merkmale einstuft; und die Sätze innerhalb des Dokuments in einer Reihenfolge entsprechend der Einstufung visuell bezeichnet.
  20. System nach Anspruch 19, bei dem das visuelle Bezeichnen das aufeinanderfolgende Anzeigen von Dokumentabschnitten und das Hervorheben einzelner darin enthaltener Sätze als Reaktion auf entsprechende Nutzereingaben und in der Reihenfolge der Einstufung umfasst.
DE102018007024.8A 2017-11-17 2018-09-05 Dokumentdurchsuchen mittels grammatischer einheiten Pending DE102018007024A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/816,926 US10810266B2 (en) 2017-11-17 2017-11-17 Document search using grammatical units
US15/816,926 2017-11-17

Publications (1)

Publication Number Publication Date
DE102018007024A1 true DE102018007024A1 (de) 2019-05-23

Family

ID=64013126

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018007024.8A Pending DE102018007024A1 (de) 2017-11-17 2018-09-05 Dokumentdurchsuchen mittels grammatischer einheiten

Country Status (5)

Country Link
US (1) US10810266B2 (de)
CN (1) CN110020032A (de)
AU (1) AU2018226420B2 (de)
DE (1) DE102018007024A1 (de)
GB (1) GB2568575A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220070307A (ko) * 2019-10-03 2022-05-30 가부시키가이샤 한도오따이 에네루기 켄큐쇼 문서 데이터 처리 방법 및 문서 데이터 처리 시스템
KR20210062838A (ko) * 2019-11-22 2021-06-01 엘지전자 주식회사 인공지능 기반의 음성처리 방법
US11567981B2 (en) 2020-04-15 2023-01-31 Adobe Inc. Model-based semantic text searching
US11212399B1 (en) * 2020-12-18 2021-12-28 Xerox Corporation Multi-function device with grammar-based workflow search

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283951B2 (en) * 2001-08-14 2007-10-16 Insightful Corporation Method and system for enhanced data searching
US8005825B1 (en) * 2005-09-27 2011-08-23 Google Inc. Identifying relevant portions of a document
CN101359331B (zh) * 2008-05-04 2014-03-19 索意互动(北京)信息技术有限公司 对搜索结果重新排序的方法和系统
US9002835B2 (en) * 2013-08-15 2015-04-07 Google Inc. Query response using media consumption history
US10467269B2 (en) * 2015-02-13 2019-11-05 Samsung Electronics Co., Ltd. Accessing category-specific search servers
US10445355B2 (en) * 2016-04-07 2019-10-15 RELX Inc. Systems and methods for providing a visualizable results list

Also Published As

Publication number Publication date
CN110020032A (zh) 2019-07-16
US20190155913A1 (en) 2019-05-23
US10810266B2 (en) 2020-10-20
AU2018226420A1 (en) 2019-06-06
GB2568575A (en) 2019-05-22
GB201814967D0 (en) 2018-10-31
AU2018226420B2 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
CN106503055B (zh) 一种从结构化文本到图像描述的生成方法
US20190347281A1 (en) Apparatus and method for semantic search
CN107180045B (zh) 一种互联网文本蕴含地理实体关系的抽取方法
US8060505B2 (en) Methodologies and analytics tools for identifying white space opportunities in a given industry
DE102014113870A1 (de) Identifizieren und Anzeigen von Beziehungen zwischen Kandidatenantworten
CN109299865B (zh) 基于语义分析的心理测评系统及方法、信息数据处理终端
DE102018007024A1 (de) Dokumentdurchsuchen mittels grammatischer einheiten
US20060155662A1 (en) Sentence classification device and method
DE112020003909T5 (de) Verfahren zum multimodalen abrufen bzw. wiedergewinnen und clustern unter verwendung einer tiefen cca und aktiver paarweiser abfragen
DE112017007530T5 (de) Entitätsmodell-erstellung
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
CN111507089B (zh) 基于深度学习模型的文献分类方法、装置和计算机设备
DE102018008268A1 (de) Automatisches Generieren von Anweisungen aus Tutorials zur Suche und Nutzernavigation
US8117237B2 (en) Optimized method and system for managing proper names to optimize the management and interrogation of databases
CN115578137A (zh) 一种基于文本挖掘与深度学习模型的农产品期货价格预测方法及系统
Rawat et al. Topic modelling of legal documents using NLP and bidirectional encoder representations from transformers
CN117574858A (zh) 一种基于大语言模型的类案检索报告自动生成方法
Vukanti et al. Business Analytics: A case-study approach using LDA topic modelling
DE112017006785B4 (de) Datenanalysator und Datenanalyseverfahren
CN109992647A (zh) 一种内容搜索方法及装置
CN114328895A (zh) 新闻摘要的生成方法、装置以及计算机设备
CN110633363B (zh) 一种基于nlp和模糊多准则决策的文本实体推荐方法
Irshad et al. SwCS: Section-Wise Content Similarity Approach to Exploit Scientific Big Data.
CN112686042A (zh) 基于主题驱动的专利推荐方法、系统、设备及存储介质
DE112020003024T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003160000

Ipc: G06F0016332000