DE112012000288T5 - Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung - Google Patents
Elektronische Vorrichtung und Verfahren für eine bidirektionale kontextbasierte Textdesambiguierung Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input 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 Vorrichtung100 gezeigt. Die tragbare elektronische Vorrichtung100 enthält mehrere Komponenten wie etwa einen Prozessor102 , der die gesamte Operation der tragbaren elektronischen Vorrichtung100 steuert. Die tragbare elektronische Vorrichtung100 , die momentan beschrieben wird, enthält optional ein Kommunikationsuntersystem104 und ein Kurzreichweiten-Kommunikationsmodul132 , um verschiedene Kommunikationsfunktionen einschließlich Daten- und Sprachkommunikation auszuführen. Daten, die von der tragbaren elektronischen Vorrichtung100 empfangen werden, werden durch einen Decodierer106 dekomprimiert und entschlüsselt. Das Kommunikationsuntersystem104 empfängt von einem drahtlosen Netz150 Nachrichten und sendet Nachrichten zu dem drahtlosen Netz150 . Das drahtlose Netz150 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 Stromquelle142 wie etwa eine oder mehrere wiederaufladbare Batterien oder ein Anschluss an eine externe Stromversorgung versorgen die tragbare elektronische Vorrichtung100 mit Leistung. - Der Prozessor
102 ist mit anderen Komponenten wie etwa einem Schreib-Lese-Speicher (RAM)108 , einem Speicher110 und einer Anzeige112 gekoppelt und interagiert mit diesen. In der beispielhaften Ausführungsform von1 ist die Anzeige112 mit einem berührungsempfindlichen Überzug114 und mit einem elektronischen Controller116 , die gemeinsam eine berührungsempfindliche Anzeige118 bilden, gekoppelt. Der Prozessor102 ist außerdem mit einem oder mehreren Aktoren120 , einem oder mehreren Kraftsensoren122 , einem Hilfs-Eingabe/Ausgabe-Untersystem (I/O-Untersystem)124 , einem Datenanschluss126 , einem Lautsprecher128 , einem Mikrofon130 , einer Kurzreichweitenkommunikation132 und anderen Vorrichtungsuntersystemen134 gekoppelt. Eine Anwenderwechselwirkung mit einer graphischen Anwenderschnittstelle (GUI) wird über den berührungsempfindlichen Überzug114 ausgeführt. Der Prozessor102 interagiert mit dem berührungsempfindlichen Überzug114 über den elektronischen Controller116 . 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 Anzeige118 mittels des Prozessors102 angezeigt. Der Prozessor102 kann mit einem Orientierungssensor wie etwa einem Beschleunigungsmesser136 interagieren, um die Richtung der Schwerkraft oder von durch die Schwerkraft induzierten Reaktionskräften zu detektieren, um so beispielsweise die Orientierung der tragbaren elektronischen Vorrichtung100 zu bestimmen. Der Prozessor102 kann mit einem GPS-Modul152 interagieren, um den geographischen Ort der tragbaren elektronischen Vorrichtung100 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 Netz150 . Alternativ können Anwenderkennungsinformationen in einem Speicher110 programmiert sein. - Die tragbare elektronische Vorrichtung
100 enthält ein Betriebssystem146 und Software-Programme oder -komponenten148 , die von dem Prozessor102 ausgeführt werden und die typischerweise in einem permanenten, aktualisierbaren Speicher wie etwa dem Speicher110 gespeichert sind. Zusätzliche Anwendungen oder Programme können in die tragbare elektronische Vorrichtung100 über das drahtlose Netz150 , das Hilfs-I/O-Untersystem124 , den Datenanschluss126 , das Kurzreichweiten-Kommunikationsuntersystem132 oder irgend ein anderes geeignetes Untersystem134 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 Prozessor102 eingegeben. Der Prozessor102 verarbeitet das empfangene Signal für eine Ausgabe an die Anzeige112 und/oder an das Hilfs-I/O-Untersystem124 . Ein Teilnehmer kann Dateneinheiten, beispielsweise E-Mail-Nachrichten, erzeugen, die von dem Kommunikationsuntersystem104 beispielsweise über das drahtlose Netz150 gesendet werden können. - In
2A ist eine Vorderansicht eines Beispiels der tragbaren elektronischen Vorrichtung100 gezeigt. Die tragbare elektronische Vorrichtung100 enthält ein Gehäuse202 , in dem die berührungsempfindliche Anzeige118 angeordnet ist. Das Gehäuse202 ist eine Umschließung, die Komponenten der tragbaren elektronischen Vorrichtung100 wie etwa die in1 gezeigten Komponenten enthält. - Eine Tastatur
204 kann eine physikalische Tastatur in dem Gehäuse202 oder eine virtuelle Tastatur, die als eine auf der berührungsempfindlichen Anzeige118 angezeigte GUI gerendert wird, sein, wie in der beispielhaften Ausführungsform von2A veranschaulicht ist. Wie in2A gezeigt ist, ist die Tastatur204 eine GUI, die auf der berührungsempfindlichen Anzeige118 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 Tastatur204 für die Dateneingabe verwendet wird. Die Tastatur204 umfasst mehrere Tasten206 , wobei jeder Taste wenigstens ein Zeichen oder eine Funktion zugeordnet ist, das bzw. die durch darauf angezeigte Markierungen angegeben ist. - Der Speicher
110 ist in2B schematisch dargestellt. Der Speicher110 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 Speicher110 beispielsweise Daten, die in einer Anzahl von Tabellen, Gruppen, Listen und/oder anderem gespeichert und/oder organisiert sind. Insbesondere enthält der Speicher110 eine Wortliste202 und eine kontextabhängige Datentabelle204 . In der Wortliste202 sind zahlreiche Wortobjekte208 und Häufigkeitsobjekte210 gespeichert. Den Wortobjekten208 ist im Allgemeinen jeweils ein Häufigkeitsobjekt210 zugeordnet. Die Wortobjekte208 repräsentieren im Allgemeinen vollständige Wörter. - Im Wesentlichen jedem Wortobjekt
208 ist ein Häufigkeitsobjekt210 zugeordnet, das einen Häufigkeitswert besitzt, der die relative Häufigkeit in der betreffenden Sprache des gegebenen Worts, das durch das Wortobjekt208 repräsentiert wird, angibt. In dieser Hinsicht enthält die Wortliste202 mehrere Wortobjekte208 und zugeordnete Häufigkeitsobjekte210 , 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 Wortliste202 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 Datentabelle204 , die im Speicher110 gespeichert ist. Von der kontextabhängigen Datentabelle204 kann gesagt werden, dass in ihr zahlreiche String-Objekte und zugeordnete Kontextdaten gespeichert sind. - Insbesondere enthält die kontextabhängige Datentabelle
204 zahlreiche Schlüsselobjekte214 und in Zuordnung zu jedem Schlüsselobjekt214 zahlreiche zugeordnete kontextabhängige Objekte216 . In der beispielhaften Ausführungsform, in der die englische Sprache in der tragbaren elektronischen Vorrichtung100 verwendet wird, ist jedes Schlüsselobjekt214 ein Wortobjekt208 . Das heißt, ein Schlüsselobjekt214 in der kontextabhängigen Datentabelle204 ist auch als ein Wortobjekt208 in einer der Wortlisten202 gespeichert. Jedem Schlüsselobjekt214 sind ein oder mehrere kontextabhängige Wertobjekte216 zugeordnet, die jeweils ein Repräsentant eines besonderen kontextabhängigen Datenelements sind. - Die Inhalte der kontextabhängigen Datentabelle
204 werden durch Analysieren der Sprachobjekte100 und des Datenkorpus, aus dem die Sprachobjekte100 und die Häufigkeitsobjekte210 erhalten wurden, erhalten. Ein besonderes kontextabhängiges Objekt216 ist einem besonderen Schlüsselobjekt214 zugeordnet, wenn zwischen den zwei Objekten irgendeine statistisch signifikante Koinzidenz besteht, d. h. wenn irgendeine statistisch signifikante Wahrscheinlichkeit besteht, dass das besondere Schlüsselobjekt214 im Kontext des besonderen kontextabhängigen Wertes216 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 Datentabelle204 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 Objekt216 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 Objekt216 „MONOPOLY”, obwohl es ein Wortobjekt208 ist, in der kontextabhängigen Datentabelle204 als ein Hash-Wert des Wortes „MONOPOLY” gespeichert sein. Die Schlüsselobjekte214 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 von3A veranschaulicht ist. Die Kandidaten-Auswahlroutine fragt den Speicher110 ab, um bei302 einen oder mehrere vollständige Wortobjekte208 , die dem aktuellen String-Objekt entsprechen, zu identifizieren. Ein vollständiges Wortobjekt208 ist jenes, das einen String-Objekt entspricht, wenn beispielsweise das String-Objekt entweder ein Präfix des vollständigen Wortobjekts208 ist oder mit der Gesamtheit des vollständigen Wortobjekts208 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 Wortobjekte208 , die Präfixe ähnlich dem String-Objekt haben. Beispielsweise kann die Routine ein vollständiges Wortobjekt208 „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 Objekten210 , die verhältnismäßig große Häufigkeit haben, zugeordnet sind. Beispielsweise wählt die Kandidaten-Auswahlroutine N vollständige Wortobjekte208 aus, die N häufigen Objekten210 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 Wortobjekt208 auswählen und es kann für ein weiteres String-Objekt hundert vollständige Wortobjekte208 auswählen. In einigen Ausführungsformen ist die Anzahl ausgewählter vollständiger Wortobjekte208 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 Wortobjekte208 , da sie beispielsweise mit der Länge des String Objekts208 in Beziehung steht. Etwa könnten kürzere vollständige Wortobjekte208 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 bei304 im Speicher110 vorübergehend gespeichert. Dann endet die Kandidaten-Auswahlroutine und der Prozessor102 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 Speicher110 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 Prozessor102 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 Prozessor102 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 Prozessor102 ausgeführt wird. Die kontextbasierte Optimierungsroutine beginnt bei310 durch Empfangen einer Menge aus zwei oder mehr String-Objekten. Bei312 erhält die Routine für jedes String-Objekt alle seine Kandidaten. Die Kandidaten werden aus dem Speicher110 erhalten, wo sie für jedes String-Objekt durch eine entsprechende Kandidaten-Auswahlroutine vorübergehend gespeichert worden sind. Bei314 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. Bei316 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 Prozessor102 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-Objekten402 , 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 Kandidaten404 für jedes der drei Wörter erzeugt und im Speicher110 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
430 –438 der Kandidaten404 , wobei jede Permutation eine andere Kombination aus drei Kandidaten bildet. Für jede Permutation430 –438 bestimmt der Optimierungsdurchlauf, ob irgendwelche Kandidaten in der Permutation irgendwelchen weiteren Kandidaten kontextabhängig zugeordnet sind, d. h., ob einer der Kandidaten einem Schlüsselobjekt214 entspricht und ob ein weiterer Kandidat einem kontextabhängigen Objekt216 , das dem Schlüsselobjekt214 zugeordnet ist, entspricht. Für jede gefundene kontextabhängige Zuordnung erhöht der Optimierungsprozess die relativen Prioritäten sowohl des Kandidaten, der dem Schlüsselobjekt214 entspricht, als auch des Kandidaten, der dem kontextabhängigen Objekt216 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 und437 ), 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 (Permutationen431 und433 ), 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 Prozessor102 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 Prozessor102 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 Prozessor102 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 Prozessor102 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 Prozessor102 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 Prozessor102 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 Anzeige118 an. Alternativ wartet der Prozessor102 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 Prozessor102 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 Prozessor102 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 Prozessor102 mehrere verschiedene alternative Versionen auf der berührungsempfindlichen Anzeige118 an. In einer beispielhaften Ausführungsform ersetzt der Prozessor102 automatisch einige oder alle String-Objekte durch die ausgewählten besten Kandidaten. In anderen beispielhaften Ausführungsformen empfängt der Prozessor102 , 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 Prozessor102 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 Datentabelle204 usw.) auch in einer entfernten Vorrichtung gespeichert werden, unabhängig davon, ob die Berechnungen entfernt oder in der elektronischen Vorrichtung100 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)
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 2, wobei das erste String Objekt dem zweiten String Objekt in dem eingegebenen Text vorhergeht.
- Verfahren nach Anspruch 2, wobei das erste String-Objekt von dem zweiten String-Objekt um wenigstens ein anderes String-Objekt getrennt ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Elektronische Vorrichtung nach Anspruch 10, wobei das erste String-Objekt dem zweiten String-Objekt in dem eingegebenen Kontext vorhergeht.
- Elektronische Vorrichtung nach Anspruch 10, wobei das erste String-Objekt von dem zweiten String-Objekt durch wenigstens ein weiteres String-Objekt getrennt ist.
- 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.
- 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.
- 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.
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)
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 |
-
2012
- 2012-04-30 GB GB1311127.3A patent/GB2505987B/en active Active
- 2012-04-30 WO PCT/CA2012/050273 patent/WO2013163717A1/en active Application Filing
- 2012-04-30 CA CA2821787A patent/CA2821787C/en active Active
- 2012-04-30 DE DE112012000288.1T patent/DE112012000288T5/de not_active Ceased
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 |