DE112012000288T5 - Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung - Google Patents

Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung Download PDF

Info

Publication number
DE112012000288T5
DE112012000288T5 DE112012000288.1T DE112012000288T DE112012000288T5 DE 112012000288 T5 DE112012000288 T5 DE 112012000288T5 DE 112012000288 T DE112012000288 T DE 112012000288T DE 112012000288 T5 DE112012000288 T5 DE 112012000288T5
Authority
DE
Germany
Prior art keywords
string
objects
string object
context
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE112012000288.1T
Other languages
English (en)
Inventor
Jerome Pasquero
Noel John Orland STONEHOUSE
Daniel James Legg
Jason Tyler Griffin
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE112012000288T5 publication Critical patent/DE112012000288T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Es werden ein System und ein Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung beschrieben.

Description

  • Gebiet der Erfindung
  • Das offenbarte und beanspruchte Konzept bezieht sich im Allgemeinen auf elektronische Vorrichtungen und insbesondere auf eine elektronische Vorrichtung mit einer Tastatur und einer Texteingabe-Desambiguierungsfunktion, die kontextbezogene Daten verwenden kann.
  • Hintergrund
  • Elektronische Vorrichtungen einschließlich tragbarer elektronischer Vorrichtungen haben eine weit verbreitete Verwendung erlangt und können viele verschiedene Funktionen bereitstellen, einschließlich beispielsweise Telefonie, Text-Messaging, Web-Browsing oder anderer persönlicher Informationsmanagement-Funktionen (PIM) wie etwa eine Kalenderanwendung. Tragbare elektronische Vorrichtungen enthalten mehrere Typen von Vorrichtungen wie etwa Zellentelefone (Mobiltelefone), Smart-Telefone (Smartphones), persönliche digitale Assistenten (PDAs), Tablet-Computer oder Laptop-Computer mit drahtloser Netzkommunikations- oder Nahfeldkommunikations-Konnektivität wie etwa Bluetooth®-Fähigkeiten.
  • Tragbare elektronische Vorrichtungen wie etwa Smartphones, Tablet-Computer oder PDAs sind im Allgemeinen dazu vorgesehen, aufgrund ihrer geringen Größe und einfachen Tragbarkeit mit der Hand gehalten zu werden. Eine berührungsempfindliche Eingabevorrichtung wie etwa eine Berührungsbildschirmanzeige ist bei tragbaren Vorrichtungen, die klein sind und für die Anwendereingabe- oder Ausgabevorrichtungen nur einen beschränkten Raum haben, wünschenswert. Verbesserungen in elektronischen Vorrichtungen mit Anzeigen sind wünschenswert.
  • Kurzbeschreibung der Zeichnungen
  • Nun werden Ausführungsformen der vorliegenden Offenbarung lediglich beispielhaft mit Bezug auf die beigefügten Figuren beschrieben, worin:
  • 1 ein Blockschaltplan eines Beispiels einer tragbaren elektronischen Vorrichtung gemäß der vorliegenden Offenbarung ist;
  • 2A eine schematische Darstellung der tragbaren elektronischen Vorrichtung gemäß der vorliegenden Offenbarung ist;
  • 2B eine schematische Darstellung eines Speichers der tragbaren elektronischen Vorrichtung gemäß der vorliegenden Offenbarung ist;
  • 3A ein Ablaufplan einer beispielhaften Kandidatenauswahlroutine gemäß der vorliegenden Offenbarung ist;
  • 3B ein Ablaufplan einer beispielhaften kontextbasierten Optimierungsroutine gemäß der vorliegenden Offenbarung ist;
  • 4 eine schematische Darstellung einer beispielhaften kontextbasierten Optimierungsroutine gemäß der vorliegenden Offenbarung ist.
  • Genaue Beschreibung
  • Die vorliegende Offenbarung beschreibt ein kontextbasiertes Textdesambiguierungsverfahren. Das Verfahren, das durch wenigstens einen Prozessor ausgeführt wird, umfasst das Empfangen von Eingangstext, der eine Menge von String-Objekten enthält, die missverständliche Objekte in dem Sinn enthalten können, dass einige der String-Objekte beispielsweise unvollständige oder nicht erkennbare Wörter einer gewählten Sprache repräsentieren. Als Nächstes identifiziert der Prozessor eine Menge von Kandidaten-Wortobjekten, die wenigstens einem Ersten der String-Objekte und einem Zweiten der String-Objekte entsprechen. Jedes Kandidaten-Wortobjekt repräsentiert beispielsweise ein vollständiges oder erkennbares Wort der gewählten Sprache. Der Prozessor gibt dann beispielsweise anstelle eines Ersten der String-Objekte ein Wortobjekt, das als eine Funktion eines kontextabhängigen Vergleichs zwischen einem oder mehreren Kandidaten-Wortobjekten, die dem ersten String-Objekt entsprechen, und einem oder mehreren Kandidaten-Wortobjekten, die dem zweiten String-Objekt entsprechen, gewählt wird, aus.
  • In 1 ist ein Blockschaltplan eines Beispiels einer tragbaren elektronischen Vorrichtung 100 gezeigt. Die tragbare elektronische Vorrichtung 100 enthält mehrere Komponenten wie etwa einen Prozessor 102, der die gesamte Operation der tragbaren elektronischen Vorrichtung 100 steuert. Die tragbare elektronische Vorrichtung 100, die momentan beschrieben wird, enthält optional ein Kommunikationsuntersystem 104 und ein Kurzreichweiten-Kommunikationsmodul 132, um verschiedene Kommunikationsfunktionen einschließlich Daten- und Sprachkommunikation auszuführen. Daten, die von der tragbaren elektronischen Vorrichtung 100 empfangen werden, werden durch einen Decodierer 106 dekomprimiert und entschlüsselt. Das Kommunikationsuntersystem 104 empfängt von einem drahtlosen Netz 150 Nachrichten und sendet Nachrichten zu dem drahtlosen Netz 150. Das drahtlose Netz 150 kann von irgendeinem Typ eines drahtlosen Netzes sein, einschließlich drahtloser Datennetze, drahtloser Sprachnetze und Netze, die sowohl Sprach- als auch Datenkommunikation unterstützen, ohne jedoch darauf eingeschränkt zu sein. Eine Stromquelle 142 wie etwa eine oder mehrere wiederaufladbare Batterien oder ein Anschluss an eine externe Stromversorgung versorgen die tragbare elektronische Vorrichtung 100 mit Leistung.
  • Der Prozessor 102 ist mit anderen Komponenten wie etwa einem Schreib-Lese-Speicher (RAM) 108, einem Speicher 110 und einer Anzeige 112 gekoppelt und interagiert mit diesen. In der beispielhaften Ausführungsform von 1 ist die Anzeige 112 mit einem berührungsempfindlichen Überzug 114 und mit einem elektronischen Controller 116, die gemeinsam eine berührungsempfindliche Anzeige 118 bilden, gekoppelt. Der Prozessor 102 ist außerdem mit einem oder mehreren Aktoren 120, einem oder mehreren Kraftsensoren 122, einem Hilfs-Eingabe/Ausgabe-Untersystem (I/O-Untersystem) 124, einem Datenanschluss 126, einem Lautsprecher 128, einem Mikrofon 130, einer Kurzreichweitenkommunikation 132 und anderen Vorrichtungsuntersystemen 134 gekoppelt. Eine Anwenderwechselwirkung mit einer graphischen Anwenderschnittstelle (GUI) wird über den berührungsempfindlichen Überzug 114 ausgeführt. Der Prozessor 102 interagiert mit dem berührungsempfindlichen Überzug 114 über den elektronischen Controller 116. Informationen wie etwa Text, Zeichen, Symbole, Bilder, Icons und andere Elemente, die auf einer tragbaren elektronischen Vorrichtung angezeigt oder gerendert werden können, werden auf der berührungsempfindlichen Anzeige 118 mittels des Prozessors 102 angezeigt. Der Prozessor 102 kann mit einem Orientierungssensor wie etwa einem Beschleunigungsmesser 136 interagieren, um die Richtung der Schwerkraft oder von durch die Schwerkraft induzierten Reaktionskräften zu detektieren, um so beispielsweise die Orientierung der tragbaren elektronischen Vorrichtung 100 zu bestimmen. Der Prozessor 102 kann mit einem GPS-Modul 152 interagieren, um den geographischen Ort der tragbaren elektronischen Vorrichtung 100 zu bestimmen.
  • Um einen Teilnehmer für einen Netzzugriff zu identifizieren, verwendet die tragbare elektronische Vorrichtung 101 eine Teilnehmerkennungsmodul-Karte oder eine entnehmbare Anwenderkennungsmodul-Karte (SIM/RUIM-Karte) 138 für die Kommunikation mit einem Netz wie etwa dem drahtlosen Netz 150. Alternativ können Anwenderkennungsinformationen in einem Speicher 110 programmiert sein.
  • Die tragbare elektronische Vorrichtung 100 enthält ein Betriebssystem 146 und Software-Programme oder -komponenten 148, die von dem Prozessor 102 ausgeführt werden und die typischerweise in einem permanenten, aktualisierbaren Speicher wie etwa dem Speicher 110 gespeichert sind. Zusätzliche Anwendungen oder Programme können in die tragbare elektronische Vorrichtung 100 über das drahtlose Netz 150, das Hilfs-I/O-Untersystem 124, den Datenanschluss 126, das Kurzreichweiten-Kommunikationsuntersystem 132 oder irgend ein anderes geeignetes Untersystem 134 geladen werden.
  • Ein empfangenes Signal wie etwa eine Textnachricht, eine E-Mail-Nachricht oder eine heruntergeladene Web-Seite wird durch das Kommunikationsuntersystem 104 verarbeitet und in den Prozessor 102 eingegeben. Der Prozessor 102 verarbeitet das empfangene Signal für eine Ausgabe an die Anzeige 112 und/oder an das Hilfs-I/O-Untersystem 124. Ein Teilnehmer kann Dateneinheiten, beispielsweise E-Mail-Nachrichten, erzeugen, die von dem Kommunikationsuntersystem 104 beispielsweise über das drahtlose Netz 150 gesendet werden können.
  • In 2A ist eine Vorderansicht eines Beispiels der tragbaren elektronischen Vorrichtung 100 gezeigt. Die tragbare elektronische Vorrichtung 100 enthält ein Gehäuse 202, in dem die berührungsempfindliche Anzeige 118 angeordnet ist. Das Gehäuse 202 ist eine Umschließung, die Komponenten der tragbaren elektronischen Vorrichtung 100 wie etwa die in 1 gezeigten Komponenten enthält.
  • Eine Tastatur 204 kann eine physikalische Tastatur in dem Gehäuse 202 oder eine virtuelle Tastatur, die als eine auf der berührungsempfindlichen Anzeige 118 angezeigte GUI gerendert wird, sein, wie in der beispielhaften Ausführungsform von 2A veranschaulicht ist. Wie in 2A gezeigt ist, ist die Tastatur 204 eine GUI, die auf der berührungsempfindlichen Anzeige 118 gerendert wird und ein QWERTY-Layout hat. In alternativen beispielhaften Ausführungsformen können andere Tastaturlayouts wie etwa QWERTZ, AZERTY, Dvorak oder dergleichen verwendet werden. Ebenso können reduzierte Tastaturen, in denen bestimmten Tasten zwei oder mehr Zeichen zugeordnet sind, etwa ein reduziertes QWERTY-Tastaturlayout, in Betracht gezogen werden. Beispielsweise kann eine reduzierte QWERTY-Tastatur vorgesehen sein, in denen die Buchstaben Q und W eine einzige Taste gemeinsam nutzen, die Buchstaben E und R eine einzige Taste gemeinsam nutzen usw.
  • Die Tastatur 204 kann in irgendeinem geeigneten Programm oder in irgendeiner geeigneten Anwendung wie etwa einem Web-Browser, einem Text-Messaging (zum Beispiel SMS), einem E-Mail-Client, Kontakten, einem Kalender, einem Musikabspielgerät, einer Tabellenkalkulation, einer Textverarbeitung, einer Betriebssystem-Schnittstelle und dergleichen für die Texteingabe gerendert werden. Andere Informationen wie etwa Text, Zeichen, Symbole, Bilder oder andere Elemente können beispielsweise angezeigt werden, wenn die Tastatur 204 für die Dateneingabe verwendet wird. Die Tastatur 204 umfasst mehrere Tasten 206, wobei jeder Taste wenigstens ein Zeichen oder eine Funktion zugeordnet ist, das bzw. die durch darauf angezeigte Markierungen angegeben ist.
  • Der Speicher 110 ist in 2B schematisch dargestellt. Der Speicher 110 kann von irgendeinem von mehreren verschiedenen Typen interner und/oder externer Speichermedien sein, beispielsweise – ohne Einschränkung – RAM, ROM, EPROM(s), EEPROM(s) und dergleichen, die ein Speicherregister für die Datenspeicherung etwa in der Art eines internen Speicherbereichs eines Computers bereitstellen und ein flüchtiger Speicher oder nichtflüchtiger Speicher sein können.
  • Wie aus 2B hervorgeht, enthält der Speicher 110 beispielsweise Daten, die in einer Anzahl von Tabellen, Gruppen, Listen und/oder anderem gespeichert und/oder organisiert sind. Insbesondere enthält der Speicher 110 eine Wortliste 202 und eine kontextabhängige Datentabelle 204. In der Wortliste 202 sind zahlreiche Wortobjekte 208 und Häufigkeitsobjekte 210 gespeichert. Den Wortobjekten 208 ist im Allgemeinen jeweils ein Häufigkeitsobjekt 210 zugeordnet. Die Wortobjekte 208 repräsentieren im Allgemeinen vollständige Wörter.
  • Im Wesentlichen jedem Wortobjekt 208 ist ein Häufigkeitsobjekt 210 zugeordnet, das einen Häufigkeitswert besitzt, der die relative Häufigkeit in der betreffenden Sprache des gegebenen Worts, das durch das Wortobjekt 208 repräsentiert wird, angibt. In dieser Hinsicht enthält die Wortliste 202 mehrere Wortobjekte 208 und zugeordnete Häufigkeitsobjekte 210, die gemeinsam eine große Vielzahl von Wörtern und ihre relative Häufigkeit beispielsweise innerhalb eines gegebenen Dialekts in einer gegebenen Sprache repräsentieren. Die Wortliste 202 kann auf irgendeine von vielen verschiedenen Weisen abgeleitet werden, beispielsweise durch Analysieren zahlreicher Texte oder anderer Sprachquellen, um die verschiedenen Wörter in den Sprachquellen sowie ihre relativen Wahrscheinlichkeiten, d. h. relativen Auftrittshäufigkeiten der verschiedenen Wörter in den Sprachquellen, zu bestimmen.
  • Die tragbare elektronische Vorrichtung 100 enthält außerdem eine kontextabhängige Datentabelle 204, die im Speicher 110 gespeichert ist. Von der kontextabhängigen Datentabelle 204 kann gesagt werden, dass in ihr zahlreiche String-Objekte und zugeordnete Kontextdaten gespeichert sind.
  • Insbesondere enthält die kontextabhängige Datentabelle 204 zahlreiche Schlüsselobjekte 214 und in Zuordnung zu jedem Schlüsselobjekt 214 zahlreiche zugeordnete kontextabhängige Objekte 216. In der beispielhaften Ausführungsform, in der die englische Sprache in der tragbaren elektronischen Vorrichtung 100 verwendet wird, ist jedes Schlüsselobjekt 214 ein Wortobjekt 208. Das heißt, ein Schlüsselobjekt 214 in der kontextabhängigen Datentabelle 204 ist auch als ein Wortobjekt 208 in einer der Wortlisten 202 gespeichert. Jedem Schlüsselobjekt 214 sind ein oder mehrere kontextabhängige Wertobjekte 216 zugeordnet, die jeweils ein Repräsentant eines besonderen kontextabhängigen Datenelements sind.
  • Die Inhalte der kontextabhängigen Datentabelle 204 werden durch Analysieren der Sprachobjekte 100 und des Datenkorpus, aus dem die Sprachobjekte 100 und die Häufigkeitsobjekte 210 erhalten wurden, erhalten. Ein besonderes kontextabhängiges Objekt 216 ist einem besonderen Schlüsselobjekt 214 zugeordnet, wenn zwischen den zwei Objekten irgendeine statistisch signifikante Koinzidenz besteht, d. h. wenn irgendeine statistisch signifikante Wahrscheinlichkeit besteht, dass das besondere Schlüsselobjekt 214 im Kontext des besonderen kontextabhängigen Wertes 216 auftreten würde, oder umgekehrt.
  • Ein Beispiel eines Kontexts ist jener, in dem ein besonderes Schlüsselobjekt 214 in einem statistisch signifikanten Ausmaß einem bestimmten Wort folgt oder vorhergeht. Beispielsweise könnte bestimmt werden, dass das Schlüsselwort „POSITION” in einem statistisch signifikanten Ausmaß nach dem Kontextwort „MONOPOLY” auftritt und dass das Schlüsselwort „20th” in einem statistisch signifikanten Ausmaß vor dem Kontextwort „CENTURY” auftritt. In Abhängigkeit von der Konfiguration der kontextabhängigen Datentabelle 204 könnte ein solcher Kontext auf ein bestimmtes Kontextobjekt eingeschränkt werden, das einem besonderen Schlüsselwort unmittelbar vorhergeht oder folgt, oder er könnte ein besonderes Kontextobjekt enthalten, das einem besonderen Schlüsselwort um exakt oder höchstens ein, zwei, drei oder mehr Wörter vorhergeht oder folgt. In einigen Ausführungsformen enthält ein Kontext mehr als ein Wort, beispielsweise erscheinen die Wörter „happy new” statistisch wahrscheinlich vor dem Wort „year”. In einigen Ausführungsformen werden einige kontextabhängige Zuordnungen stärker gewichtet als andere, wobei die Gewichte beispielsweise von dem Korrelationsgrad abhängen, der die besondere Zuordnung gekennzeichnet.
  • Ein weiteres Beispiel eines Kontexts ist jener, in dem ein besonderes String-Objekt in einem statistisch signifikanten Ausmaß ein erstes Wort in einem Satz ist. In einer solchen Situation könnte der identifizierte Kontext jener sein, in dem das besondere String-Objekt in einem statistisch signifikanten Ausmaß einem oder mehreren besonderen Interpunktionszeichen wie etwa dem Punkt „.”, dem Fragezeichen „?” und dem Ausrufezeichen „!” folgt. In einer solchen Situation wäre das kontextabhängige Objekt 216 das besondere Interpunktionssymbol, wobei jedes solche statistisch signifikante Interpunktionssymbol ein getrenntes kontextabhängiges Objekt 216 ist.
  • Die kontextabhängigen Objekte 216 können jeweils als ein Hash-Wert, d. h. als ein ganzzahliger Wert, der aus einer mathematischen Manipulation resultiert, gespeichert sein. Beispielsweise kann das kontextabhängige Objekt 216 „MONOPOLY”, obwohl es ein Wortobjekt 208 ist, in der kontextabhängigen Datentabelle 204 als ein Hash-Wert des Wortes „MONOPOLY” gespeichert sein. Die Schlüsselobjekte 214 wie etwa das Wort „POSITION” können ebenso als ein Hash-Wert gespeichert sein.
  • In einer beispielhaften Ausführungsform enthält der Speicher 110 eine Textdesambiguierungsroutine, um eingegebene Texte, die String-Objekte enthalten, aufzulösen. String-Objekte können beispielsweise auftreten, wenn der Anwender den Text unter Verwendung einer reduzierten Tastatur ein gibt, in der einige Tasten mehr als einem Zeichen entsprechen. In Systemen mit vollständigen Tastaturen kann der Anwender zur Zeiteinsparung absichtlich partielle (und daher missverständliche) String-Objekte eingeben und sich auf die Desambiguierungsroutine verlassen, um die Mehrdeutigkeiten automatisch aufzulösen und um die String-Objekte korrekt zu vervollständigen.
  • In einer beispielhaften Ausführungsform gibt der Anwender einen Text ein, der mehrere String-Objekte enthält. Beispielsweise möchte der Anwender den folgenden Text eingeben: „Kodak held a monopoly position in the photograhic film industry throughout most of the 20th century”. Zur Zeiteinsparung gibt der Anwender stattdessen den folgenden Text ein: „Koda held a mono posi in the phot film indu thro most o th 20th cen.”. Der Text enthält zahlreiche String-Objekte, d. h. partielle Zeichenstrings, die zwei oder mehr vollständigen Wörtern entsprechen. Der Anwender kann irgendeine Anzahl von Zeichen für jedes String-Objekt verwenden: nur das erste Zeichen (zum Beispiel „o”), die ersten zwei, drei oder mehr Zeichen (zum Beispiel „th”, „cen”, „posi”) oder das gesamte Wort (zum Beispiel „held”, „most” und „20th”).
  • Der Prozessor 102 empfängt den eingegebenen Text und zerlegt ihn in mehrere String-Objekte, wobei jedes String-Objekt wenigstens ein Zeichen enthält. Zur Einfachheit und ohne Beschränkung der Allgemeinheit wird jeder Zeichenstring in dem eingegebenen Text hier unabhängig davon, ob ein besonderer Zeichenstring einem vollständigen Wort entspricht oder nicht, als ein String-Objekt bezeichnet.
  • In einer beispielhaften Ausführungsform verarbeitet der Prozessor 102 jedes String-Objekt unter Verwendung einer Kandidaten-Auswahlroutine, wie in dem Ablaufplan von 3A veranschaulicht ist. Die Kandidaten-Auswahlroutine fragt den Speicher 110 ab, um bei 302 einen oder mehrere vollständige Wortobjekte 208, die dem aktuellen String-Objekt entsprechen, zu identifizieren. Ein vollständiges Wortobjekt 208 ist jenes, das einen String-Objekt entspricht, wenn beispielsweise das String-Objekt entweder ein Präfix des vollständigen Wortobjekts 208 ist oder mit der Gesamtheit des vollständigen Wortobjekts 208 im Wesentlichen identisch ist. In einigen Ausführungsformen nimmt die Kandidaten-Auswahlroutine an, dass sich der Anwender bei einem String-Objekt vertippt haben könnte, und identifiziert auch vollständige Wortobjekte 208, die Präfixe ähnlich dem String-Objekt haben. Beispielsweise kann die Routine ein vollständiges Wortobjekt 208 „sound” identifizieren, das den String-Objekten „soi” oder „soin” entspricht, wobei ein möglicher Tippfehler angenommen wird, da die Zeichen „i” und „u” auf einer QWERTY-Tastatur nahe beieinander liegen.
  • Als Nächstes wählt die Kandidaten-Auswahlroutine bei 304 unter sämtlichen identifizierten vollständigen Wort-Objekten jene Objekte, die häufigen Objekten 210, die verhältnismäßig große Häufigkeit haben, zugeordnet sind. Beispielsweise wählt die Kandidaten-Auswahlroutine N vollständige Wortobjekte 208 aus, die N häufigen Objekten 210 zugeordnet sind, die die höchsten Häufigkeiten haben. N könnte irgendeine Zahl sein und kann sich von einem String-Objekt zum Nächsten ändern. Das heißt, die Kandidaten-Auswahlroutine kann für ein String-Objekt nur ein vollständiges Wortobjekt 208 auswählen und es kann für ein weiteres String-Objekt hundert vollständige Wortobjekte 208 auswählen. In einigen Ausführungsformen ist die Anzahl ausgewählter vollständiger Wortobjekte 208 nicht beschränkt und die Auswahlroutine kann mit der Verarbeitung von Objekten fortfahren, bis sie beispielsweise durch eine Eingabe vom Anwender unterbrochen wird. In einigen Ausführungsformen berücksichtigt die Kandidaten-Auswahlroutine zusätzlich zu den Häufigkeiten die Länge der vollständigen Wortobjekte 208, da sie beispielsweise mit der Länge des String Objekts 208 in Beziehung steht. Etwa könnten kürzere vollständige Wortobjekte 208 bevorzugt werden, wenn das String-Objekt kürzer ist.
  • Sobald ein oder mehrere vollständige Wortobjekte 208, die im Folgenden als „Kandidaten” bezeichnet werden, ausgewählt sind, werden sie bei 304 im Speicher 110 vorübergehend gespeichert. Dann endet die Kandidaten-Auswahlroutine und der Prozessor 102 kann die Routine bei einem weiteren String-Objekt ausführen.
  • Zu irgendeinem Zeitpunkt, beispielsweise dann, wenn alle String-Objekte in dem eingegebenen Text durch die Kandidaten-Auswahlroutine verarbeitet worden sind, wählt der Prozessor 102 eine Menge von zwei oder mehr String-Objekten und verarbeitet diese Menge von String-Objekten mit einer kontextbasierten Optimierungsroutine. Die kontextbasierte Optimierungsroutine erhält aus dem Speicher 110 alle für jedes der String-Objekte in der Menge gespeicherten Kandidaten und versieht die Kandidaten jedes String-Objekts anhand der Anzahl von kontextabhängigen Zuordnungen zwischen jedem Kandidaten und den Kandidaten anderer String-Objekte in der Menge mit Prioritäten.
  • Der Prozessor 102 kann die kontextbasierte Optimierungsroutine mehrmals ausführen, die jedes Mal eine andere, möglicherweise überlappende Menge von String-Objekten enthält. Der Prozessor 102 muss nicht warten, bis sämtliche String-Objekte durch die Kandidaten-Auswahlroutinen verarbeitet worden sind, bevor er mit der Ausführung der kontextbasierten Optimierungsroutinen beginnt. Im Allgemeinen kann der Prozessor 102 mit der Ausführung der kontextbasierten Optimierungsroutine an einer Menge beginnen, sobald diese Menge aus zwei oder mehr String-Objekten durch die Kandidaten-Auswahlroutinen verarbeitet worden ist.
  • Der Ablaufplan in 3B veranschaulicht eine kontextbasierte Optimierungsroutine gemäß einer beispielhaften Ausführungsform, die durch den Prozessor 102 ausgeführt wird. Die kontextbasierte Optimierungsroutine beginnt bei 310 durch Empfangen einer Menge aus zwei oder mehr String-Objekten. Bei 312 erhält die Routine für jedes String-Objekt alle seine Kandidaten. Die Kandidaten werden aus dem Speicher 110 erhalten, wo sie für jedes String-Objekt durch eine entsprechende Kandidaten-Auswahlroutine vorübergehend gespeichert worden sind. Bei 314 identifiziert die kontextbasierte Optimierungsroutine für jeden Kandidaten jedes String-Objekts die Anzahl kontextabhängiger Zuordnungen zwischen dem Kandidaten und irgendeinem der Kandidaten irgendeines anderen String-Objekts. Bei 316 aktualisiert die Routine die Prioritäten jedes Kandidaten jedes String-Objekts in der Menge beispielsweise anhand der Anzahl kontextabhängiger Zuordnungen jenes Kandidaten. Dann endet die kontextbasierte Optimierungsroutine.
  • 4 veranschaulicht die kontextbasierte Optimierungsroutine, die durch den Prozessor 102 an einer Menge aus drei String-Objekten ausgeführt wird, gemäß einer beispielhaften Ausführungsform. In der beispielhaften Ausführungsform besteht der eingegebene Text aus wenigstens sechs String-Objekten 402, die einfachheitshalber mit A, B, C, D, E und F bezeichnet werden. Es wird angenommen, dass wenigstens die String-Objekte A, B und C bereits durch die Kandidaten-Auswahlroutine verarbeitet worden sind und dass als ein Ergebnis Kandidaten 404 für jedes der drei Wörter erzeugt und im Speicher 110 gespeichert worden sind. Beispielsweise sind die Kandidaten A1 und A2 für das String-Objekt A gespeichert worden, sind Kandidaten B1 und B2 für das String-Objekt B gespeichert worden und sind Kandidaten C1 und C2 für das String-Objekt C gespeichert worden.
  • Die kontextbasierte Optimierung analysiert beispielsweise acht mögliche Permutationen 430438 der Kandidaten 404, wobei jede Permutation eine andere Kombination aus drei Kandidaten bildet. Für jede Permutation 430438 bestimmt der Optimierungsdurchlauf, ob irgendwelche Kandidaten in der Permutation irgendwelchen weiteren Kandidaten kontextabhängig zugeordnet sind, d. h., ob einer der Kandidaten einem Schlüsselobjekt 214 entspricht und ob ein weiterer Kandidat einem kontextabhängigen Objekt 216, das dem Schlüsselobjekt 214 zugeordnet ist, entspricht. Für jede gefundene kontextabhängige Zuordnung erhöht der Optimierungsprozess die relativen Prioritäten sowohl des Kandidaten, der dem Schlüsselobjekt 214 entspricht, als auch des Kandidaten, der dem kontextabhängigen Objekt 216 entspricht.
  • Falls beispielsweise der Kandidat C2 kontextabhängig dem Kandidaten B2 zugeordnet ist und sein Kontext der Position von C relativ zu B entspricht, werden die Prioritäten beider Kandidaten in jeder Permutation, in der sowohl C2 als auch B vorhanden sind (Permutationen 433 und 437), beispielsweise um 1 erhöht. Falls ferner C2 außerdem kontextabhängig A1 zugeordnet ist, werden auch in den Permutationen, in denen sowohl A1 als auch C2 vorhanden sind (Permutationen 431 und 433), die Prioritäten beider Kandidaten erhöht. Es wird angemerkt, dass für jede kontextabhängige Zuordnung die Routine bestimmt, ob die zugeordneten Kandidaten in dem eingegebenen Text in Übereinstimmung mit dem besonderen Kontext positioniert sind. Das heißt, falls der Kontext, der die Zuordnung von A1 und C2 definiert, angibt, dass A1 C2 unmittelbar vorhergehen muss, würde die Routine bestimmen, dass in dem obigen Beispiel keine kontextabhängige Zuordnung vorhanden war, weil A1, obwohl es C2 vorhergeht, ihm in dem eingegebenen Text nicht unmittelbar vorhergeht, da es durch ein weiteres Wort getrennt ist.
  • Die kontextbasierte Optimierungsroutine endet, wenn alle Permutationen für die gegebene Menge analysiert worden sind. Die aktualisierten Prioritäten für jeden Kandidaten werden beispielsweise im Speicher 110 gespeichert, um in dem nachfolgenden Durchlauf der kontextbasierten Optimierungsroutine verwendet zu werden.
  • Es sei angemerkt, dass statt oder zusätzlich zu der beschriebenen Permutationstechnik in einigen beispielhaften Ausführungsformen der Prozessor 102 innerhalb der kontextbasierten Optimierungsroutine irgendeine andere Technik verwendet, die kontextabhängige Zuordnungen innerhalb der Menge von String-Objekten und von Prioritäten der Kandidaten jedes String-Objekts anhand der kontextabhängigen Zuordnungen betrachtet. In einem Beispiel erhöht der Prozessor 102 die Priorität von zwei kontextabhängig zugeordneten Kandidaten unabhängig von der Anzahl von Permutationen, die die zwei Kandidaten enthalten, nur einmal. In einem weiteren Beispiel berücksichtigt der Prozessor 102 die Korrelationsstärkewerte, die jeder kontextabhängigen Zuordnung entsprechen. In einem nochmals weiteren Beispiel speichert die Kandidaten-Auswahlroutine vorübergehend zusammen mit den Kandidaten ihre jeweiligen Häufigkeitswerte. Folglich beruht in einigen beispielhaften Ausführungsformen die Priorität jedes Kandidaten auf einer Kombination seines intrinsischen Häufigkeitswerts und seiner extrinsischen, kontextbasierten Zuordnungen zu anderen String-Objekten.
  • In einer beispielhaften Ausführungsform führt der Prozessor 102 die kontextbasierte Optimierungsroutine einmal oder mehrmals aus, wobei er jedes Mal eine andere Menge aus zwei oder mehr String-Objekten verarbeitet. In Fortsetzung des vorhergehenden Beispiels führt der Prozessor zu irgendeinem Zeitpunkt, nachdem das String-Objekt D durch die Kandidaten-Auswahlroutine verarbeitet worden ist, die kontextbasierte Optimierungsroutine an der Menge von String-Objekten B, C und D aus. Die Prioritätswerte, die während des vorhergehenden Durchlaufs der kontextbasierten Optimierungsroutine (in dem sie die String-Objekte A, B und C verarbeitet hat) aktualisiert wurden, werden beibehalten und in diesem nachfolgenden Durchlauf gebildet. Somit beginnt der Kandidat B2 mit der Priorität „+2”, wobei diese Priorität weiter erhöht wird, falls er beispielsweise irgendeinem der Kandidaten des String-Objekts D kontextabhängig zugeordnet ist. Der Prozessor führt dann die kontextbasierte Optimierungsroutine an der Menge von String-Objekten C, D und E und dann D, E und F usw. aus.
  • Wenn der Prozessor 102 zu irgendeinem Zeitpunkt bestimmt, dass ein besonderes String-Objekt nicht weiter optimiert wird, d. h. wenn es nicht mehr Teil einer weiteren Menge ist, die durch die kontextbasierte Optimierungsroutine verarbeitet werden soll, schließt der Prozessor 102 das besondere String-Objekt ab. Das Abschließen eines String-Objekts umfasst das Auswählen des besten Kandidaten, beispielsweise des Kandidaten mit der höchsten Priorität, unter seinen Kandidaten.
  • Falls beispielsweise der Prozessor 102 die kontextbasierte Optimierungsroutine wie oben beschrieben in dem oben beschriebenen Gleitfenster ausführt, schließt der Prozessor 102 das String-Objekt A unmittelbar nach der Verarbeitung der Menge A, B und C ab. Um das String-Objekt A abzuschließen, wählt der Prozessor 102 den besten Kandidaten unter A1 und A2. Da A1 und A2 akkumulierte Prioritäten von +2 bzw. +0 haben, wird A1 als der beste Kandidat für das String-Objekt A gewählt. Ebenso schließt der Prozessor 102 das String-Objekt B ab, nachdem die Menge B, C und D verarbeitet worden ist, und schließt das String-Objekt C ab, nachdem die Menge C, D und E verarbeitet worden ist, usw.
  • Daher sei angemerkt, dass der Prozessor 102 vorteilhaft ein bidirektionales Desambiguierungsverfahren verwendet, da ein gegebenes String-Objekt anhand von Informationen, die mit String-Objekten in Beziehung stehen, die ihm in einer Reihenfolge vorhergehen und nachfolgen, eindeutig gemacht wird. In dem oben veranschaulichten Beispiel partizipiert das String-Objekt C an drei verschiedenen Mengen: A-B-C, B-C-E und C-E-D. Folglich könnten die Prioritäten der Kandidaten C1 und C2 durch kontextabhängige Informationen, die zu irgendeinem der Wörter A bis D gehören, beeinflusst werden.
  • Es sei angemerkt, dass die kontextbasierte Optimierung nicht auf die Verarbeitung von drei String-Objekten zu einer Zeit eingeschränkt ist und auf ähnliche Weise irgendeine Anzahl von Wörtern wie etwa vollständige Sätze, Absätze und dergleichen verarbeiten kann. Beispielsweise kann der Prozessor die kontextbasierte Optimierung anhand einer Menge, die alle drei String-Objekte in dem eingegebenen Text enthält, nur einmal ausführen. Der kontextbasierte Optimierungsdurchlauf ist außerdem nicht auf zwei Kandidaten pro String-Objekt eingeschränkt, sondern kann String-Objekte mit einem Kandidaten in derselben Menge und mit String-Objekten, die mehrere zehn oder hundert Kandidaten haben, verarbeiten.
  • In einer beispielhaften Ausführungsform zeigt der Prozessor 102 dann, wenn alle String-Objekte abgeschlossen worden sind, die abgeschlossenen Wörter, d. h. die besten Kandidaten für jedes Wort, auf der berührungsempfindlichen Anzeige 118 an. Alternativ wartet der Prozessor 102 nicht, bis alle Werte in dem eingegebenen Text abgeschlossen worden sind, und gibt ein oder mehrere Wörter aus, sobald sie abgeschlossen worden sind. In Fortsetzung des vorhergehenden Beispiels wird A1, der beste Kandidat für das String-Objekt A, ausgegeben, sobald das String-Objekt A abgeschlossen worden ist, d. h. unmittelbar nachdem der Prozessor 102 eine kontextbasierte Optimierung an der Menge A, B und C ausgeführt hat.
  • In einer beispielhaften Ausführungsform gibt der Prozessor 102 an den Anwender mehrere Versionen abgeschlossener Wörter aus. Beispielsweise führt der Prozessor 102 zuerst kontextbasierte Optimierungen anhand einer Technik (zum Beispiel unter Verwendung von Permutationen und nicht unter Verwendung von Korrelationsgraden) und dann anhand einer weiteren Technik (zum Beispiel nicht unter Verwendung von Permutationen, sondern unter Betrachtung von Korrelationsgraden) aus. In Abhängigkeit von der verwendeten Technik können am Ende verschiedene Kandidaten als beste Kandidaten für einige String-Objekte gewählt werden. Folglich zeigt der Prozessor 102 mehrere verschiedene alternative Versionen auf der berührungsempfindlichen Anzeige 118 an. In einer beispielhaften Ausführungsform ersetzt der Prozessor 102 automatisch einige oder alle String-Objekte durch die ausgewählten besten Kandidaten. In anderen beispielhaften Ausführungsformen empfängt der Prozessor 102, nachdem er dem Anwender einen oder mehrere beste Kandidaten angezeigt hat, eine Auswahl des Anwenders für die gewünschten besten Kandidaten und ersetzt die String-Objekte durch die ausgewählten besten Kandidaten. In einigen Ausführungsformen kann der Anwender angeben, welche einzelnen Kandidaten korrekt sind und welche nicht korrekt sind. Der Prozessor 102 kann dann die Kandidaten-Auswahlroutine und/oder die kontextbasierte Optimierungsroutine anhand dieser Angabe beispielsweise durch „Fixieren” der korrekten Kandidaten und durch Suchen anhand der fixierten Kandidaten von Ersatzkandidaten für die nicht korrekten Kandidaten erneut ausführen.
  • Obwohl spezifische Ausführungsformen des offenbarten und beanspruchten Konzepts im Einzelnen beschrieben worden sind, wird der Fachmann auf dem Gebiet anerkennen, dass viele verschiedene Abwandlungen und Alternativen an diesen Einzelheiten im Lichte der gesamten Lehre der Offenbarung entwickelt werden könnten. Beispielsweise können die hier beschriebenen Verarbeitungsroutinen (zum Beispiel die Kandidatenauswahl, die kontextbasierte Optimierung usw.) teilweise oder insgesamt durch eine entfernte Vorrichtung wie etwa einen Server ausgeführt werden. Das Ausführen von computertechnisch anspruchsvollen Aufgaben in einer entfernten, leistungsstarken Vorrichtung kann in Bezug auf Geschwindigkeit und Energieeinsparung vorteilhaft sein. Außerdem können ein Teil oder alle gespeicherten Daten, die hier beschrieben wurden (zum Beispiel Wortliste 202, kontextabhängige Datentabelle 204 usw.) auch in einer entfernten Vorrichtung gespeichert werden, unabhängig davon, ob die Berechnungen entfernt oder in der elektronischen Vorrichtung 100 ausgeführt werden.
  • Daher haben die besonderen Anordnungen, die offenbart worden sind, eher die Bedeutung der Veranschaulichung und nicht der Beschränkung des Schutzbereichs des offenbarten und beanspruchten Konzepts, das in den beigefügten Ansprüchen und irgendwelchen und allen Äquivalenten hiervon seinen vollen Umfang erhält.

Claims (16)

  1. Verfahren, das durch einen Prozessor ausgeführt wird und umfasst: Empfangen durch den Prozessor von eingegebenem Text, der eine Menge von String Objekten enthält, wovon jedes wenigstens ein Zeichen enthält; Identifizieren einer Menge von Kandidaten-Wortobjekten, die wenigstens einem Ersten der String Objekte und einem Zweiten der String-Objekte entsprechen; und Ausgeben eines ausgewählten Wortobjekts als eine Funktion eines kontextabhängigen Vergleichs zwischen einem oder mehreren Kandidaten-Wortobjekten, die dem ersten String Objekt entsprechen, und einem oder mehreren Kandidaten-Wortobjekten, die dem zweiten String-Objekt entsprechen.
  2. Verfahren nach Anspruch 1, wobei der kontextabhängige Vergleich bestimmt, ob ein oder mehrere Kandidaten-Wortobjekte, die dem ersten String Objekt entsprechen, statistisch wahrscheinlich in dem Kontext eines oder mehrerer Kandidaten-Wortobjekte, die dem zweiten String Objekt entsprechen, auftreten.
  3. Verfahren nach Anspruch 2, wobei das Identifizieren der Menge von Kandidaten-Wortobjekten, die dem ersten String-Objekt entsprechen, umfasst: Identifizieren in einer Wortdatenbank eines oder mehrerer Wörter, die mit dem ersten String-Objekt beginnen und denen eine relativ hohe Häufigkeit in einer dem eingegebenen Text zugeordneten Sprache zugeordnet ist.
  4. Verfahren nach Anspruch 2, wobei das erste String Objekt dem zweiten String Objekt in dem eingegebenen Text vorhergeht.
  5. Verfahren nach Anspruch 2, wobei das erste String-Objekt von dem zweiten String-Objekt um wenigstens ein anderes String-Objekt getrennt ist.
  6. Verfahren nach Anspruch 2, das ferner das Ausgeben eines zweiten gewählten Wort-Objekts als eine Funktion eines kontextabhängigen Vergleichs zwischen einem oder mehreren Kandidaten-Wortobjekten, die dem ersten String-Objekt entsprechen, und einem oder mehreren Kandidaten-Wortobjekten, die dem zweiten String-Objekt entsprechen, umfasst.
  7. Verfahren nach Anspruch 6, wobei das Identifizieren der Menge von Kandidaten-Wortobjekten, die wenigstens dem Ersten der String-Objekte und dem Zweiten der String-Objekte entsprechen, vor der Ausgabe des zweiten gewählten Wortobjekts erfolgt.
  8. Verfahren nach Anspruch 2, das ferner das Empfangen einer Bestätigungseingabe und das Ersetzen des ersten String-Objekts durch das ausgewählte Wortobjekt bei Empfang der Bestätigungseingabe umfasst.
  9. Elektronische Vorrichtung, die einen Prozessor enthält, wobei der Prozessor konfiguriert ist, um: einen eingegebenen Text, der eine Menge von String-Objekten enthält, zu empfangen, wobei jedes Objekt wenigstens ein Zeichen enthält; eine Menge von Kandidaten-Wortobjekten, die wenigstens einem Ersten der String-Objekte und einem Zweiten der String-Objekte entsprechen, zu identifizieren; und ein ausgewähltes Wortobjekt als eine Funktion eines kontextabhängigen Vergleichs zwischen einem oder mehreren Kandidaten-Wortobjekten, die dem ersten String-Objekt entsprechen, und einem oder mehreren Kandidaten-Wortobjekten, die dem zweiten String-Objekt entsprechen, auszugeben.
  10. Elektronische Vorrichtung nach Anspruch 9, wobei der kontextabhängige Vergleich bestimmt, ob ein oder mehrere Kandidaten-Wortobjekte, die dem ersten String-Objekt entsprechen, statistisch wahrscheinlich in dem Kontext eines oder mehrerer Kandidaten-Wortobjekte, die dem zweiten String-Objekt entsprechen, auftreten.
  11. Elektronische Vorrichtung nach Anspruch 10, wobei der Prozessor, um die Menge von Kandidaten-Wortobjekten zu identifizieren, die dem ersten String-Objekt entsprechen, konfiguriert ist, um: in einer Wortdatenbank ein oder mehrere Wörter, die mit dem ersten String-Objekt beginnen und denen eine verhältnismäßig große Häufigkeit in einer dem eingegebenen Kontext zugeordneten Sprache zugeordnet ist, zu identifizieren.
  12. Elektronische Vorrichtung nach Anspruch 10, wobei das erste String-Objekt dem zweiten String-Objekt in dem eingegebenen Kontext vorhergeht.
  13. Elektronische Vorrichtung nach Anspruch 10, wobei das erste String-Objekt von dem zweiten String-Objekt durch wenigstens ein weiteres String-Objekt getrennt ist.
  14. Elektronische Vorrichtung nach Anspruch 10, wobei der Prozessor ferner konfiguriert ist, um: ein zweites ausgewähltes Wortobjekt als eine Funktion eines kontextabhängigen Vergleichs zwischen einem oder mehreren Kandidaten-Wortobjekten, die dem ersten String-Objekt entsprechen, und einem oder mehreren Kandidaten-Wortobjekten, die dem zweiten String-Objekt entsprechen, auszugeben.
  15. Elektronische Vorrichtung nach Anspruch 14, wobei das Identifizieren der Menge von Kandidaten-Wortobjekten, die wenigstens dem Ersten der String-Objekte und dem Zweiten der String-Objekte entsprechen, vor dem Ausgeben des zweiten gewählten Wortobjekts erfolgt.
  16. Elektronische Vorrichtung nach Anspruch 10, wobei der Prozessor ferner konfiguriert ist, um eine Bestätigungseingabe zu empfangen und um das erste String-Objekt durch das ausgewählte Wortobjekt zu ersetzen, wenn er die Bestätigungseingabe empfängt.
DE112012000288.1T 2012-04-30 2012-04-30 Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung Ceased DE112012000288T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2012/050273 WO2013163717A1 (en) 2012-04-30 2012-04-30 Electronic device and method for a bidirectional context-based text disambiguation

Publications (1)

Publication Number Publication Date
DE112012000288T5 true DE112012000288T5 (de) 2014-04-10

Family

ID=48950302

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012000288.1T Ceased DE112012000288T5 (de) 2012-04-30 2012-04-30 Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung

Country Status (4)

Country Link
CA (1) CA2821787C (de)
DE (1) DE112012000288T5 (de)
GB (1) GB2505987B (de)
WO (1) WO2013163717A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US20100122164A1 (en) * 1999-12-03 2010-05-13 Tegic Communications, Inc. Contextual prediction of user words and user actions
US8065135B2 (en) * 2006-04-06 2011-11-22 Research In Motion Limited Handheld electronic device and method for employing contextual data for disambiguation of text input
US7477165B2 (en) * 2006-04-06 2009-01-13 Research In Motion Limited Handheld electronic device and method for learning contextual data during disambiguation of text input
US7809719B2 (en) * 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
CA2787390A1 (en) * 2010-02-01 2011-08-04 Ginger Software, Inc. Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices

Also Published As

Publication number Publication date
WO2013163717A1 (en) 2013-11-07
GB201311127D0 (en) 2013-08-07
CA2821787A1 (en) 2013-10-30
GB2505987B (en) 2021-05-12
CA2821787C (en) 2016-06-07
GB2505987A (en) 2014-03-19

Similar Documents

Publication Publication Date Title
US20240078386A1 (en) Methods and systems for language-agnostic machine learning in natural language processing using feature extraction
US20200311342A1 (en) Populating values in a spreadsheet using semantic cues
JP5462001B2 (ja) 文脈上の入力方法
DE112014002819B4 (de) System und Verfahren zur Erkennung von Sprache
DE202017105672U1 (de) Intelligente Antworten mittels eines geräteinternen Modells
DE112007000847T5 (de) Tragbare elektronische Vorrichtung und Verfahren zum Lernen von Kontextdaten während einer Disambiguierung einer Texteingabe
DE102013017196A1 (de) Fehlerkorrektur in Zeichenfolgen, die einen Wortbegrenzer enthalten
DE102021000736A1 (de) Modellbasierte semantische Textsuche
US10073828B2 (en) Updating language databases using crowd-sourced input
CN103365833A (zh) 一种基于上下文场景的输入候选词提示方法及系统
CN107832035B (zh) 一种智能终端的语音输入方法
EP3961426A2 (de) Verfahren und vorrichtung zum empfehlen eines dokuments, elektronisches gerät und medium
DE102018008188A1 (de) Erstellen von Inhalt basierend auf einer Mehr-Satz-Komprimierung eines Quellinhalts
CN109508441A (zh) 数据分析方法、装置及电子设备
CN112417121A (zh) 客户意图识别方法、装置、计算机设备及存储介质
CN109922131A (zh) 基于区块链的数据存储方法、装置、设备及存储介质
US20210334314A1 (en) Sibling search queries
DE112007000856B4 (de) Tragbare elektronische Vorrichtung und Verfahren zum Verwenden von Kontextdaten zur Disambiguierung einer Texteingabe
CN112925895A (zh) 自然语言软件运维方法及装置
CN109712613B (zh) 语义分析库更新方法、装置及电子设备
US20130289975A1 (en) Electronic device and method for a bidirectional context-based text disambiguation
CN114842982B (zh) 一种面向医疗信息系统的知识表达方法、装置及系统
DE112018002133T5 (de) Aktivitätsklassifizierung aufgrund der geräuschabgabe einer benutzerschnittstelle
CN109918661A (zh) 同义词获取方法及装置
DE112012000288T5 (de) Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, DE

R081 Change of applicant/patentee

Owner name: BLACKBERRY LIMITED, WATERLOO, CA

Free format text: FORMER OWNER: RESEARCH IN MOTION LIMITED, WATERLOO, ONTARIO, CA

Effective date: 20140925

R082 Change of representative

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN PATENTANWA, DE

Effective date: 20140925

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, DE

Effective date: 20140925

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final