DE112013004769T5 - Leerstellenvorhersage für eine Texteingabe - Google Patents

Leerstellenvorhersage für eine Texteingabe Download PDF

Info

Publication number
DE112013004769T5
DE112013004769T5 DE112013004769.1T DE112013004769T DE112013004769T5 DE 112013004769 T5 DE112013004769 T5 DE 112013004769T5 DE 112013004769 T DE112013004769 T DE 112013004769T DE 112013004769 T5 DE112013004769 T5 DE 112013004769T5
Authority
DE
Germany
Prior art keywords
string
characters
strings
character
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112013004769.1T
Other languages
English (en)
Inventor
Yu Ouyang
Shumin Zhai
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE112013004769T5 publication Critical patent/DE112013004769T5/de
Pending 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
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/968Computer process, e.g. operation of computer interface for database querying and retrieval

Abstract

Ein beispielhaftes Verfahren umfasst ein Anzeigen einer virtuellen Tastatur auf einer präsenzempfindlichen Vorrichtung, ein Empfangen eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe, die eine Vielzahl von Zeichen angibt, ein Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen in der Vielzahl derart, dass die Sequenz keine Leerzeichen enthält, ein Verändern der Zeichen durch Einfügen von wenigstens zwei Leerzeichen zum Trennen der wenigstens drei Zeichenfolgen voneinander, und ein Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen auf Basis einer ersten, einer zweiten und einer dritten Zeichenfolge der Sequenz. Das Verfahren umfasst ferner ein Ausgeben der vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der GUI, ein Empfangen einer Auswahl, die eine ausgewählte Zeichenfolge der vorgeschlagenen Zeichenfolgen angibt, und ein Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der GUI.

Description

  • Hintergrund
  • Rechenvorrichtungen (z. B. Mobiltelefone, Tablet-Computer) können eine grafische Tastatur als Teil einer grafischen Benutzeroberfläche (auch Benutzerschnittstelle genannt) zum Erstellen von Text unter Verwendung eines präsenzempfindlichen Bildschirms (presence-sensitive screen) aufweisen. Die grafische Tastatur kann einen Benutzer der Rechenvorrichtung zum Eingeben von Text (z. B. einer E-Mail, einer Textnachricht oder eines Dokuments) befähigen. So kann eine Rechenvorrichtung zum Beispiel eine grafische, oder virtuelle, Tastatur auf der präsenzempfindlichen Anzeige darstellen, die es dem Benutzer erlaubt, Daten durch Antippen virtueller Tasten auf der Anzeige der grafischen Tastatur einzugeben.
  • Kurzer Abriss
  • Ein beispielhaftes Verfahren umfasst ein Ausgeben einer virtuellen Tastatur, welche eine Vielzahl von Tasten umfasst, zur Anzeige auf einer präsenzempfindlichen Vorrichtung, welche funktionell mit einer Rechenvorrichtung verbunden ist, und in einem Tastaturbereich einer grafischen Benutzeroberfläche (graphical user interface, GUI), ein Empfangen eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe durch die Rechenvorrichtung, wobei die Eingabe eine Vielzahl von Zeichen angibt, und ein Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl der Zeichen enthalten sind, durch die Rechenvorrichtung derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält. Das Verfahren umfasst ferner ein Verändern der Vielzahl der Zeichen durch die Rechenvorrichtung durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl von Zeichen zum Trennen der wenigstens drei Zeichenfolgen voneinander, und ein Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen durch die Rechenvorrichtung wenigstens teilweise auf Basis einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der drei Zeichenfolgen. Das Verfahren umfasst ferner ein Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge einer GUI, ein Empfangen einer Auswahl, die eine vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, und ein Ausgeben der vorgeschlagenen Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich zur Texteingabe der GUI.
  • In einem anderen Ausführungsbeispiel ist eine Rechenvorrichtung funktionell mit einer präsenzempfindlichen Vorrichtung verbunden und umfasst einen Speicher und einen oder mehrere Prozessoren. Der eine oder die mehreren Prozessoren ist bzw. sind ausgebildet zum Ausgeben einer virtuellen Tastatur, welche eine Vielzahl von Tasten umfasst, zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Tastaturbereich einer grafischen Benutzeroberfläche (GUI), zum Empfangen eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe, wobei die Eingabe eine Vielzahl von Zeichen enthält, und zum Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl der Zeichen enthalten sind, derart, dass die Sequenz von wenigstens drei Zeichenfolgen keine Leerzeichen enthält. Der Prozessor bzw. die Prozessoren ist bzw. sind ferner ausgebildet zum Verändern der Vielzahl der Zeichen durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl von Zeichen zur Trennung der wenigstens drei Zeichenfolgen voneinander und zum Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen wenigstens teilweise auf Basis einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der wenigstens drei Zeichenfolgen. Der eine oder die mehreren Prozessoren ist bzw. sind ferner ausgebildet zum Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der GUI, zum Empfangen einer Auswahl, die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, und zum Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der GUI.
  • In einem anderen Ausführungsbeispiel ist ein computer-lesbares Speichermedium mit Befehlen kodiert. Bei der Ausführung veranlassen die Befehle einen Prozessor einer Rechenvorrichtung zum Ausführen von Operationen. Die Operationen umfassen ein Ausgeben einer virtuellen Tastatur, welche eine Vielzahl von Tasten umfasst, zur Anzeige auf einer präsenzempfindlichen Vorrichtung, die mit der Rechenvorrichtung funktionell verbunden ist, und in einem Tastaturbereich einer grafischen Benutzeroberfläche (GUI), ein Empfangen eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe durch die Rechenvorrichtung, wobei die Eingabe eine Vielzahl von Zeichen angibt, und ein Bestimmen von wenigstens drei Zeichenfolgen, die in der Vielzahl der Zeichen enthalten sind, durch die Rechenvorrichtung derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält. Die Operationen umfassen ferner ein Verändern der Vielzahl der Zeichen durch die Rechenvorrichtung durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl der Zeichen zum Trennen der wenigstens drei Zeichenfolgen voneinander, und ein Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen durch die Recheneinheit wenigstens teilweise auf Basis einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der wenigstens drei Zeichenfolgen. Die Befehle umfassen ferner ein Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der GUI, ein Empfangen einer Auswahl, die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, und ein Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der GUI.
  • Die Einzelheiten von einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen der Offenbarung werden in den beigefügten Zeichnungen und der nachfolgenden Beschreibung erläutert. Weitere Merkmale, Aufgaben und Vorteile der Offenbarung werden aus der Beschreibung und den Zeichnungen sowie aus den Patentansprüchen ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein konzeptionelles Diagramm, die ein Ausführungsbeispiel eines Systems darstellt, welches eine Rechenvorrichtung umfasst, die ausgebildet oder auf andere Weise betreibbar sein kann zum Implementieren einer Methode oder mehrerer Methoden dieser Offenbarung.
  • 2 ist ein Blockdiagramm, das Einzelheiten eines Ausführungsbeispiels einer Rechenvorrichtung darstellt, die ausgebildet oder auf andere Weise betreibbar sein kann zum Ausführen einer oder mehrerer Methoden dieser Offenbarung.
  • 3A und 3B sind konzeptionelle Diagramme, die Ausführungsbeispiele von Benutzeroberflächen (UIs) darstellen, die die Implementierung einer Methode oder mehrerer Methoden zur Vorhersage einer Leerstelle oder mehrerer Leerstellen zeigen.
  • 4 ist ein Flussdiagramm, das ein beispielhaftes Verfahren darstellt, durch welches eine Rechenvorrichtung eine Methode oder mehrere Methoden dieser Offenbarung implementieren kann.
  • 5 ist ein Flussdiagramm, das ein beispielhaftes Verfahren darstellt, durch welches eine Rechenvorrichtung Zeichenfolgen (z. B. Wörter aus einem Wörterbuch) in einer Texteingabe, wie beispielsweise einem Satz oder einer Vielzahl von Zeichen, identifizieren und sie daraus extrahieren kann.
  • Ausführliche Beschreibung
  • Mit der zunehmenden Verbreitung mobiler Rechenvorrichtungen (wie zum Beispiel Smartphones, Tablet-Computer und andere), die präsenzempfindliche Anzeigen (z. B. Touchscreens (berührungsempfindliche Bildschirme)) enthalten oder auf andere Weise einsetzen können, können Benutzer solcher Vorrichtungen verschiedene Texteingabemechanismen nutzen. Nach einem allgemeinen Beispiel kann eine Rechenvorrichtung, die mit einem Touchscreen ausgerüstet ist, so konfiguriert sein, dass sie virtuelle Tastaturen (zum Beispiel Tastaturen mit einem ”QWERTY” Layout) mithilfe des Touchscreens anzeigt. Wiederum kann die Rechenvorrichtung von Benutzern über den Touchscreen Texteingaben empfangen. Beispielsweise kann ein Benutzer ein bestimmtes Zeichen durch Antippen (z. B. mit einem Finger oder einem Stift) eines Bereichs des Touchscreens eingeben, in dem eine dem Zeichen entsprechende virtuelle Taste dargestellt ist. In einigen Fällen kann der Benutzer eine Wischgeste an dem Touchscreen ausführen, um sich von einer virtuellen Taste zu einer anderen zu bewegen, um dadurch Text mit höherer Anschlagfolge einzugeben.
  • Im Gegensatz zu traditionellen Texteingabemechanismen, wie zum Beispiel einer Texteingabe durch übliche Tastaturen, kann eine virtuelle Tastatur die Fähigkeit des Benutzers zur Verwendung von mehr als einem Finger zur Texteingabe begrenzen. So wird zum Beispiel ein Benutzer sein Smartphone üblicherweise mit einer nicht dominanten Hand halten und einen einzigen Finger (zum Beispiel den Zeigefinger) der dominanten Hand zum Eingeben von Text über eine auf einem Touchscreen dargestellten virtuellen Tastatur verwenden. Im Gegensatz hierzu kann der Benutzer bis zu allen zehn Fingern verwenden, während er die Eingabe von Text über eine übliche Tastatur vornimmt, die mit einem Desktop oder einem Laptop-Computer verbunden ist. Wiederum kann ein Benutzer bei Verwendung einer üblichen Tastatur in der Lage sein, den einen oder beide Daumen zur Betätigung der Leertaste (wie dies bei verschiedenen üblichen Schreibverfahren, wie zum Beispiel dem sogenannten Blindschreiben der Fall ist) einzusetzen. Im Falle des Schreibens mit einem Finger, wie es bei virtuellen Tastaturen auf Touchscreens üblich ist, kann der Benutzer jedoch erhebliche Zeit zum Antippen einer virtuellen Leertaste aufwenden, wenn er über eine virtuelle Tastatur mehrere Wörter eingibt.
  • Ganz allgemein sind die Methoden der vorliegenden Offenbarung auf die Verringerung der Zeit zur Eingabe mehrerer Leerzeichen gerichtet, wenn einer Eingabe durch eine Benutzerschnittstellenvorrichtung, wie zum Beispiel einem präsenzempfindlichen Bildschirm, empfangen wird. Bei einigen Ausführungsformen kann die Methode eine Rechenvorrichtung in die Lage versetzen, Texteingaben aus mehreren Zeichen aufzunehmen und automatisch Leerzeichen hinzuzufügen, um verschiedene Zeichenfolgen voneinander zu trennen, wie zum Beispiel Worte. Eine Rechenvorrichtung, die diese Methoden implementiert, kann zum Beispiel Texteingaben aus mehreren Zeichen empfangen und die Texteingabe durch Einsetzen von zwei oder mehr Leerzeichen in den Text verändern und dadurch drei oder mehrere Wörter in der Texteingabe voneinander trennen. Die Rechenvorrichtung kann in einigen Ausführungsformen ein oder mehrere Zeichen in der Texteingabe automatisch verändern, um eine Rechtschreibkorrektur vorzunehmen.
  • Die hier beschriebenen Methoden erbringen einen oder mehrere mögliche Vorteile. Beispielsweise kann eine Rechenvorrichtung, die diese Methoden implementiert, den Benutzer in die Lage versetzen, Text mit größerer Geschwindigkeit über die virtuelle Tastatur eines Touchscreens einzugeben. Durch das Einfügen von mehreren Leerzeichen in eine Texteingabe kann die Rechenvorrichtung insbesondere Beschränkungen reduzieren, die die Vornahme von Texteingaben durch den Benutzer unterbrechen und die vom Benutzer in regelmäßigen Abständen die Eingabe von Leerzeichen erfordern. In einigen Fällen können diese Methoden dem Benutzer die Verwendung einer virtuellen Leertaste ersparen und es dem Benutzer dadurch ermöglichen, Text mit größerer Geschwindigkeit kontinuierlich einzugeben. Fernerhin können diese Methoden bei Ausführungsformen, bei denen die Rechenvorrichtung eine Rechtschreibkorrektur ausführt, dem Benutzer Beschränkungen nehmen, die ein unverhältnismäßig genaues Antippen bzw. Wischen erfordern, was wegen der geringen Größe der virtuellen Tasten im Vergleich zur Größe der Fingerspitzen der meisten Benutzer schwierig zu verwirklichen ist.
  • 1 ist eine konzeptionelles Diagramm, welches das Beispiel eines Systems zeigt, dass eine Rechenvorrichtung 2 umfasst, die zur Implementierung einer oder mehrerer Methoden der vorliegenden Offenbarung ausgebildet oder auf andere Weise betriebsbereit sein kann. Die Rechenvorrichtung 2 kann enthalten oder Teil sein von einem oder mehreren einer Vielzahl von Gerätetypen, einschließlich Mobiltelefonen (wie zum Beispiel ”Smartphones”), Persönlichen Digitalen Assistenten (PDAs), Tablet-Computern, konvertierbaren Laptop/Tablet-Computern, Uhren und verschiedenen anderen Geräten oder mobilen Rechenvorrichtungen.
  • Wie es in 1 dargestellt ist, kann die Rechenvorrichtung 2 eine präsenzempfindliche Vorrichtung 4, ein Benutzerschnittstellenmodul (UI) 6, ein Modul zur Vorhersage bzw. Vorherbestimmung von mehreren Leerstellen 8, ein Modul zur Rechtschreibkorrektur 10 und ein oder mehrere Anwendungsmodule 12A12N aufweisen. Die präsenzempfindliche Vorrichtung 4 kann aufweisen oder Teil sein verschiedener Arten von eine Eingabe und eine Ausgabe ermöglichenden Vorrichtungen, wie zum Beispiel einem Touchscreen. Beispiele solcher Touchscreens sind aus dem Stand der Technik bekannt und umfassen resistive Touchscreens, kapazitive Touchscreens, optische Touchscreens und verschiedene andere. In verschiedenen Ausführungsformen können präsenzempfindliche Vorrichtungen 4 so konfiguriert oder auf andere Weise zur Texteingabe verwendbar gemacht werden, dass sie Eingaben eines Benutzers über den Kontakt mit einem Stift oder dem Finger des Benutzers empfangen können. In diesen und anderen Ausführungsformen kann die präsenzempfindliche Vorrichtung 4 keinen physischen Kontakt erfordern, um eine Eingabe zu empfangen. Vielmehr kann in solchen Ausführungsformen die präsenzempfindliche Vorrichtung 4 die Eingabe des Benutzers auf der Basis einer Nähe eines Stifts, Fingers oder anderen Eingabegeräts (z. B. unter Verwendung physikalischer Kriterien, wie zum Beispiel einer Kapazität, oder unter Verwendung induktiver und/oder optischer Erkennung an oder nahe der präsenzempfindlichen Anzeige) erkennen und empfangen. Auf diese Weise kann es die präsenzempfindliche Vorrichtung 4 der Rechenvorrichtung 2 ermöglichen, die Eingabe eines Benutzers auf verschiedene Art und Weise zu erkennen.
  • In verschiedenen Ausführungsformen kann es das Benutzerschnittstellenmodul 6 der Rechenvorrichtung 2 ermöglichen, eine grafische Benutzeroberfläche (GUI) 16 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 auszugeben. Wie dargestellt, kann die grafische Benutzeroberfläche GUI 16 verschiedene Regionen oder Bereiche umfassen, wie einen Bereich für Textvorschläge 18, einen Texteingabebereich 20 und eine virtuelle Tastatur 24. In dem Beispiel der 1 sind der Bereich für Textvorschläge 18 und der Texteingabebereich 20 durch gestrichelte Grenzlinien voneinander getrennt, um anzugeben, dass bei verschiedenen Ausführungsformen die GUI 16 eine sichtbare Grenze zum Trennen des Bereichs für Textvorschläge 18 von dem Texteingabebereich 20 aufweist oder nicht aufweist.
  • Das UI-Modul 6 kann es der Rechenvorrichtung 2 ermöglichen, eine Eingabe zu empfangen, die Textdaten angibt (z. B. einzelne Zeichen, Zeichenfolgen). Wie beschrieben, kann die Eingabe auf einer präsenzempfindlichen Vorrichtung 4 erfolgen. Konkret kann das UI-Modul 6 die Rechenvorrichtung 2 dazu befähigen, Benutzergesten, wie zum Beispiel Antippen, Wischen oder dergleichen, in verschiedenen Bereichen der präsenzempfindlichen Vorrichtung 4 zu erkennen. Das UI-Modul 6 kann beispielsweise eine Geste, wie zum Beispiel ein Antippen, in einem Bereich der präsenzempfindlichen Vorrichtung 4 erkennen, der einer virtuellen Tastatur 24 zugeordnet ist. Auf Basis eines allgemeinen Ortes der erkannten Antippgeste kann das UI-Modul 6 die angegebenen Textdaten erkennen. Wenn das UI-Modul 6 zum Beispiel eine Antippgeste in einem Bereich der präsenzempfindlichen Vorrichtung 4 erkennt, der der 'A'-Taste der virtuellen Tastatur 24 zugeordnet ist, kann das UI-Modul 6 eine Eingabe von Textdaten, die dem Buchstaben 'A' entsprechen, erkennen. Auf gleiche Weise kann das UI-Modul 6 eine Wischgeste auf der präsenzempfindlichen Vorrichtung 4, die einer Bewegung zwischen verschiedenen Zeichen entspricht, die innerhalb der virtuellen Tastatur 24 angezeigt sind, erkennen. Auf der Grundlage von in der Wischgeste bezeichneten Zeichen sowie von Einträgen in einem Wörterbuch, die der Rechenvorrichtung 2 zur Verfügung stehen, kann das UI-Modul 6 eine Zeichenfolge (z. B. ein Wort, eine numerische Sequenz) in den angegebenen Textdaten erkennen.
  • In einigen Ausführungsformen kann das UI-Modul 6 die empfangenen Textdaten auf der präsenzempfindlichen Vorrichtung 4, z. B. in dem Texteingabebereich 20 der GUI 16, ausgeben. Bei dem Beispiel der 1 zeigt das UI-Modul 6 im Texteingabebereich 20 die folgende Vielzahl oder Sequenz von Zeichen an: ”Thequickbrownfoxjumpsoverthwlazydpg”. Auf die hier angegebene Sequenz von Zeichen wird hier als Satz von Zeichen 22 Bezug genommen. Wie bereits zuvor beschrieben, kann das UI-Modul 6 den Satz von Zeichen 22 auf Basis von Gesten (z. B. aufeinanderfolgendes Antippen oder Wischen) in einem Bereich der präsenzempfindlichen Vorrichtung 4, der die virtuelle Tastatur 24 anzeigt, erkennen. In dem besonderen Beispiel der 1 kann das UI-Modul 6 kein Leerzeichen in dem Satz von Zeichen 22 (das z. B. durch Anschlagen der Leertaste 26 oder durch eine Unterbrechung zwischen aufeinanderfolgenden Wischgesten angegeben wird) erkennen.
  • Andererseits kann das Modul zur Vorhersage mehrerer Leerstellen 8 den Satz von Zeichen 22 durch Einfügen von wenigstens zwei Leerzeichen in den Satz von Zeichen 22 verändern und dadurch wenigstens drei Zeichenfolgen bilden. Nur aus Gründen der leichteren Verständlichkeit werden die Funktionalitäten des Moduls zur Vorhersage mehrerer Leerstellen 8 hier nur mit Bezug auf einen Teil des Satzes von Zeichen 22 näher beschrieben, nämlich den folgenden Zeichenteilsatz des Satzes von Zeichen 22 ”thwlazydpg”. Bei manchen Ausführungsformen kann das Modul zur Vorhersage von mehreren Leerzeichen 8 Leerzeichen aufgrund des Erkennens einer bekannten Zeichenfolge (z. B. aus einem Wörterbuch, auf das die Rechenvorrichtung 2 Zugriff hat) einfügen. So kann zum Beispiel das Modul zur Vorhersage von mehreren Leerstellen 8 die Zeichenfolge ”lazy” durch Verwendung eines Lexikons, wie zum Beispiel einem Wörterbuch, frühere Benutzereingaben und anderweitig erkennen. Auf das Erkennen der Zeichenfolge ”lazy” hin kann das Modul zur Vorhersage mehrerer Leerstellen 8 wenigstens ein Leerzeichen zu beiden Seiten der Zeichenfolge ”lazy” einfügen. Durch Einfügen von zwei Leerzeichen in diesem Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen 8 drei voneinander unterschiedliche Zeichenfolgen, nämlich ”thw”, ”lazy” und ”dpg”, bilden. In Fällen, in denen das Modul zur Vorhersage mehrerer Leerstellen 8 den ganzen Satz von Zeichen 22 verändert, kann das Modul zur Vorhersage mehrerer Leerstellen 8 mehr als zwei Leerzeichen einfügen und so mehr als drei Zeichenfolgen bilden. In mehreren Fällen kann hier bei bestimmten Funktionalitäten des Moduls zur Vorhersage mehrerer Leerstellen 8 dessen Funktionalität als ”Wortsegmentierungsvorhersage” bezeichnet werden. Auf diese Weise kann das Modul zur Vorhersage mehrerer Leerstellen 8 den Benutzer in die Lage versetzen, eine Zeichenfolge ohne Eingabe eines Leerzeichens (z. B. durch Antippen der Leerzeichentaste 26, durch Abheben eines Fingers oder eines Stifts zwischen Wischbewegungen, usw.) einzugeben, und mehrere Leerzeichen in den Satz von Zeichen auf Basis verschiedener Kriterien und/oder Methoden zur Erkennung von Zeichenfolgen einfügen.
  • Das Modul zur Rechtschreibkorrektur 10 kann bei verschiedenen Ausführungsformen so ausgebildet oder anderweitig betrieblich eingerichtet sein, dass es alternative Schreibweisen von in dem Satz von Zeichen 22 enthaltenen Zeichenfolgen erzeugt. Das Modul zur Rechtschreibkorrektur 10 kann beispielsweise eine oder mehrere aus dem Stand der Technik bekannte Zeichenkorrekturverfahren implementiert haben, um alternative Schreibweisen der Zeichenfolgen zu erzeugen. In einigen Fällen kann das Modul zur Rechtschreibkorrektur 10 Methoden zur Rechtschreibkorrektur von Zeichenfolgen implementieren, die durch das Modul zur Vorhersage mehrerer Leerstellen 8 aus dem Satz von Zeichen 22 geparst (parsed) bzw. durch Gliedern erzeugt wurden. In dem oben beschriebenen Beispiel extrahiert das Modul zur Vorhersage mehrerer Leerstellen 8 die Zeichenfolgen ”thw”, ”lazy” und ”dpg” aus dem Satz von Zeichen 22. In diesem Beispiel kann das Modul zur Rechtschreibkorrektur 10 die Rechtschreibkorrektur zur Korrektur der extrahierten Zeichenfolgen ”thw” und ”dpg” in ”the” und ”dog” einsetzen. Das Modul zur Rechtschreibkorrektur 10 kann verschiedene Methoden für die Rechtschreibkorrektur, wie zum Beispiel ein Abstandsmodell, verwenden, das den Abstand zwischen verschiedenen Tasten innerhalb der virtuellen Tastatur 24, die auf der präsenzempfindlichen Vorrichtung 4 angezeigt werden, auswertet.
  • Das UI-Modul 6 kann verschiedene Textvorschläge, die durch eines oder beide des Moduls zur Vorhersage mehrerer Leerstellen 8 und des Moduls zur Rechtschreibkorrektur 10 erzeugt wurden, zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 ausgeben. In dem in 1 dargestellten Beispiel können das Modul zur Vorhersage mehrerer Leerstellen 8 und das Modul zur Rechtschreibkorrektur 10 vorgeschlagene Texteingaben in der Form von Textvorschlägen 14A bis 14C (”Textvorschläge 14”) erzeugen. Für die Zwecke dieser Beschreibung können die Ausdrücke ”Textvorschlag” und ”vorgeschlagene Zeichenfolge” austauschbar verwendet sein. Insbesondere der Textvorschlag 14A kann eine sogenannte ”buchstabengetreue Zeichenfolge” von Zeichen umfassen, die dem Satz von Zeichen 22 entnommen wurde. Insbesondere kann die buchstabengetreue Zeichenfolge des Textvorschlags 14A eine Folge von aus dem Satz von Zeichen 22 extrahierten Zeichen mit keiner weiteren Veränderung durch entweder das Modul zur Vorhersage mehrerer Leerstellen 8 oder das Modul zur Rechtschreibkorrektur 10 umfassen. Wie in 1 dargestellt, lautet der buchstabengetreue Textvorschlag 14A ”thwlazydpg”, der identisch mit den letzten zehn Zeichen des Satzes von Zeichen 22 ist.
  • Im Gegensatz zu der buchstabengetreuen Zeichenfolge des Textvorschlags 14A enthält der Textvorschlag 14B zwei Leerzeichen. Konkreter kann das Modul zur Vorhersage mehrerer Leerstellen 8 auf Basis verschiedener Kriterien die Leerzeichen einfügen. Gemäß einem Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen 8 die Zeichenfolge ”lazy” mit einem Eintrag in einem Wörterbuch, auf das die Rechenvorrichtung 2 Zugriff hat, abgleichen und die Leerzeichen zu beiden Seiten der erkannten Zeichenfolge einfügen. In diesem und in anderen Beispielen kann das Modul zur Vorhersage mehrerer Leerstellen 8 verschiedene Methoden zur Vorhersage der Sprache einsetzen, wie zum Beispiel die n-gram Sprache (n-gram language), die im Stand der Technik bekannt ist, um die verschiedenen Zeichenfolgen, die in den letzten zehn Zeichen des Satzes von Zeichen 22 enthalten sind, voneinander zu trennen. Durch Einfügen der zwei Leerzeichen an den beschriebenen Stellen, kann das Modul zur Vorhersage mehrerer Leerstellen 8 Textvorschläge 14B erzeugen, die ”thw lazy dpg” lauten. Wie dargestellt, implementiert das Modul zur Vorhersage mehrerer Leerstellen 8 die Methoden dieser Offenbarung zum Einsetzen der beiden Leerzeichen zum Trennen von drei Zeichenfolgen, die in dem Satz von Zeichen 22 enthalten sind, und bildet so den Textvorschlag 14B.
  • Ferner gibt das Benutzerschnittstellenmodul 6 zur Anzeige in dem Bereich für Textvorschläge 18 der grafischen Benutzeroberfläche 16 auch einen Textvorschlag 14C aus. Wie dargestellt, enthält der Textvorschlag 14C auch zwei Leerzeichen, wobei ein Leerzeichen auf beiden Seiten der Zeichenfolge ”lazy” positioniert ist. In dem Fall des Textvorschlags 14C kann das Modul zur Rechtschreibkorrektur 10 eines oder mehrerer Verfahren zur Rechtschreibkorrektur zur Abänderung eines oder mehrerer aus dem Satz von Zeichen 22 entnommener Zeichenfolgen enthalten. Wie beschrieben kann im speziellen Beispiel des Textvorschlags 14C das Modul zur Rechtschreibkorrektur 10 die Zeichenfolgen, die ”thw” und ”dpg” lauten, dahingehend abändern, dass sie jeweils ”the” und ”dog” lauten. Als Ergebnis hiervon kann der Textvorschlag 14C eine rechtschreibkorrigierte Fassung des Textvorschlags 14B darstellen, der seinerseits eine leerzeichenkorrigierte Fassung des Textvorschlags 14A sein kann. In anderen Ausführungsform kann es das Benutzerschnittstellenmodul 6 unterlassen zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 einen oder beide der buchstabengetreuen Folge(n) und der leerstellenkorrigierten Fassung der buchstabengetreuen Folge auszugeben. Bei solchen Ausführungsformen kann das Benutzerschnittstellenmodul 6 einen Anzeigebereich innerhalb der grafischen Benutzeroberfläche 16 zur Anzeige der leerstellen- und rechtschreibkorrigierten Textvorschläge einsparen ebenso wie für den Textvorschlag 14C. Auf diese Weise kann die Rechenvorrichtung 2 die Methoden dieser Offenbarung zur Ausgabe verschiedener Arten von leerstellenkorrigierten und/oder rechtschreibkorrigierten aus dem Satz von Zeichen 22 erzeugten Textvorschlägen implementieren. Andere Beispiele von Verfahren zur Rechtschreibkorrektur zur Implementierung durch das Modul zur Rechtschreibkorrektur 10 unter Anwendung von Methoden dieser Offenbarung schließen Umstellungen (zum Beispiel die Korrektur von ”istihs” in ”this is” durch Umstellung benachbarter Zeichen), Korrigieren falscher Auslassungen bzw. Auslassungsfehler (zum Beispiel die Korrektur von ”isths” in ”is this” durch Einfügen des ausgelassenen Zeichens), Korrigieren überflüssiger bzw. sachfremder Zeichen (zum Beispiel Korrigieren von ”isthiis” in ”is this” durch Entfernen eines überflüssigen Zeichens) und Ersetzen (zum Beispiel Korrigieren von ”isthjs” in ”is this” durch Ersetzen eines falschen Zeichens) ein.
  • Während zum Zwecke der Veranschaulichung beide der Textvorschläge 14B und 14C mit zwei eingefügten Leerstellen dargestellt sind, versteht es sich, dass die Rechenvorrichtung 2 und/oder Komponenten von ihr Methoden dieser Offenbarung zum Einfügen unterschiedlich vieler Leerstellen zur Bildung unterschiedlicher Textvorschläge implementieren kann. Ein erster Textvorschlag kann zum Beispiel zwei eingefügte Leerstellen enthalten, während ein zweiter Textvorschlag drei eingefügte Leerstellen aufweisen kann. Weiterhin können die Rechenvorrichtung 2 und/oder Komponenten von ihr die Textvorschläge auf der Grundlage verschiedener Kriterien ordnen, wie zum Beispiel eine vorherige Auswahl durch den Benutzer oder das Vorhandensein vorangehender Zeichen (zum Beispiel eines ”Prefix”) vor der Leerstelle in einem Wörterbuch, auf das die Rechenvorrichtung 2 Zugriff hat.
  • Während die Beschreibung hier hauptsächlich hinsichtlich des Einfügens von mehreren Leerstellen erfolgt, können die Rechenvorrichtung 2 und/oder Komponenten von ihr die Verfahren dieser Offenbarung zum Einfügen nur einer Leerstelle in einen empfangenen Satz von Zeichen (und z. B. dabei durch Bildern von zwei Zeichenfolgen, die durch das eingefügte Leerzeichen voneinander getrennt sind) implementieren. Auf diese Weise können die Rechenvorrichtung 2 und/oder Komponenten von ihr die Methoden dieser Offenbarung zum Trennen von zwei Zeichenfolgen implementieren, zum Beispiel in Fällen, in denen eine oder beide der voneinander getrennten Zeichenfolgen relativ lang sind und so Anzeigeplatz innerhalb des Bereichs 20 zur Texteingabe und/oder des Bereichs 18 für Textvorschläge der grafischen Benutzeroberfläche 16 verbrauchen.
  • Fernerhin kann das Benutzerschnittstellenmodul 6 über die präsenzempfindliche Vorrichtung 4 eine Auswahl empfangen, die einen ausgewählten Textvorschlag der Textvorschläge 14 bezeichnet. In verschiedenen Beispielen kann das Benutzeroberflächenmodul 6 die Auswahl als eine Eingabe (wie zum Beispiel einer Antippgeste) empfangen, die von einem Benutzer in einem bestimmten Abschnitt der grafischen Benutzeroberfläche 16, wie sie auf der präsenzempfindlichen Vorrichtung 4 angezeigt ist, gemacht wurde. So kann ein Benutzer zum Beispiel eine Antippgeste unter Verwendung eines Fingers oder Stifts innerhalb des Bereichs 18 für einen Textvorschlag ausführen. Insbesondere kann die Antippgeste wenigstens einen Teil des Bereichs 18 für einen Textvorschlag, der mit dem Textvorschlag 14C assoziiert ist, überdecken. Auf den Empfang der Auswahl hin kann das Benutzerschnittstellenmodul 6 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 und im Bereich 20 für eine Texteingabe der grafischen Benutzeroberfläche 16 den Text des Textvorschlags 14C ausgeben. Es kann zum Beispiel das Benutzerschnittstellenmodul 6 den Bereich zur Texteingabe 20 so verändern, dass wenigstens ein Teil des Satzes von Zeichen 22 durch den Text (nämlich ”the lazy dog”) ersetzt wird, der im Textvorschlag 14C gemacht wird. Auf diese Weise können die Rechenvorrichtung 2 und Komponenten von ihr die Methoden dieser Offenbarung zur Anzeige bevorzugter Textvorschläge in für den Benutzer der Rechenvorrichtung 2 visuell unterscheidbarer Darstellung implementieren.
  • 2 ist ein Blockdiagramm, dass Einzelheiten eines Beispiels einer Rechenvorrichtung 2 zeigt, das zur Ausführung einer oder mehrerer Methoden dieser Offenbarung ausgebildet oder auf andere Weise betriebsbereit gemacht werden kann. Die in 2 dargestellte Rechenvorrichtung 2 ist ein Beispiel der Implementierung der Rechenvorrichtung 2, die mit Bezug auf 1 dargestellt und beschrieben ist. Verschiedene Elemente der 2 haben die gleichen Bezugszeichen entsprechend den Elementen der 1. Die mit den gleichen Bezugszeichen versehenen Elemente der 1 und 2 arbeiten auf die gleiche Weise. Zur Erleichterung der Erläuterung werden nur die zu den Elementen der 1 unterschiedlichen Elemente unter Bezugnahme auf 2 beschrieben. Man erkennt ohne weiteres, dass andere Ausführungsformen der in 1 dargestellten Rechenvorrichtung 2 eine oder mehrere Methoden dieser Offenbarung ausführen können und dass unterschiedliche Ausführungsformen je nach den Gegebenheiten verwendet werden können.
  • Wie es in dem Beispiel der 2 dargestellt ist, kann die Rechenvorrichtung 2 einen oder mehrere Prozessoren 40, eine oder mehrere Eingabeeinheiten 42, eine oder mehrere Kommunikationseinheiten 44, eine oder mehrere Ausgabevorrichtungen 46, eine oder mehrere Speichervorrichtungen 48 und eine präsenzempfindliche Vorrichtung 4 umfassen. Die Rechenvorrichtung 2 enthält in einer Ausführungsform ferner Anwendungsmodule 12 und ein Betriebssystem 54, die durch die Rechenvorrichtung 2 ausführbar sind. Alle Komponenten 4, 40, 42, 44, 46 und 48 können miteinander verbunden sein (physisch, kommunikativ und/oder operativ) zur Kommunikation der Komponenten untereinander. In einigen Ausführungsbeispielen kann ein Kommunikationskanal 50 einen Systembus, eine Netzwerkverbindung, eine Datenstruktur zur Kommunikation zwischen Prozessen oder jedweden Kanal für zur Kommunikation von Daten enthalten. In einem Beispiel nach der 2 können die Komponenten 4, 40, 42, 44, 46 und 48 durch einen oder mehrere Kommunikationskanälen 50 verbunden sein. Die Anwendungsmodule 12 und das Betriebssystem 54 können auch miteinander einen Informationsaustausch ebenso wie mit anderen Komponenten der Rechenvorrichtung 2 vornehmen.
  • In einem Beispiel sind die Prozessoren 40 so ausgebildet, dass sie die Funktionalität und/oder die Prozessbefehle für die Ausführung innerhalb der Rechenvorrichtung 2 implementieren. So können zum Beispiel die Prozessoren 40 in der Lage sein, in der Speichervorrichtung 48 gespeicherte Befehle zu verarbeiten. Beispiele von Prozessoren 40 können einen oder mehrere von Mikroprozessoren, einem Controller, einem digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), eine feldprogrammierbare Gatterschaltung (FPGA, field programmable gate array) oder äquivalente diskrete oder integrierte logische Schaltungen umfassen.
  • Eine oder mehrere Speichervorrichtungen 48 können zur Speicherung von Informationen in der Rechenvorrichtung 2 während des Betriebs ausgebildet sein. Die Speichervorrichtungen 48 sind in einigen Beispielen als computerlesbares Speichermedium bezeichnet. In einigen Beispielen umfassen die Speichervorrichtungen 48 einen temporären Speicher, was bedeutet, dass der Hauptzweck der Speichervorrichtungen 48 nicht die Speicherung über lange Zeiten ist. Die Speichervorrichtungen 48 sind in einigen Beispielen als flüchtige Speicher beschrieben, was bedeutet, dass die Speichervorrichtungen 48 gespeicherten Inhalt nicht behalten, wenn der Rechner abgeschaltet wird. Beispiele von flüchtigen Speichern sind Speicher mit wahlfreiem Zugriff (RAM), dynamische Speicher mit direktem Zugriff (DRAM), statische Speicher mit direktem Zugriff (SRAM) und andere Formen flüchtiger Speicher, die im Stand der Technik bekannt sind. In einigen Beispielen werden die Speichervorrichtungen 48 zum Speichern von Programmbefehlen zur Ausführung durch die Prozessoren 40 eingesetzt. Die Speichervorrichtungen 48 werden in einem Beispiel durch Software oder Anwendungen, die auf der Rechenvorrichtung 2 laufen (zum Beispiel Anwendungen 48), zur zeitweiligen Speicherung von Informationen während der Programmausführung verwendet.
  • Die Speichervorrichtungen 48 weisen in einigen Beispielen eine oder mehrere computerlesbare Datenspeichermedien auf. Beispiele solcher computerlesbarer Datenspeichermedien können dauerhafte computerlesbarer Datenspeichermedien und verschiedene computerlesbare Speichervorrichtungen umfassen. Die Speichervorrichtungen 48 können zur Speicherung größerer Mengen von Informationen als flüchtige Datenspeicher konfiguriert sein. Die Speichervorrichtungen 48 können ferner zur Langzeitspeicherung von Informationen konfiguriert sein. In einigen Beispielen umfassen die Speichervorrichtungen 48 nichtflüchtige Speicherelemente. Beispiele solcher nichtflüchtiger Speicherelemente umfassen Magnetplattenspeicher, optische Plattenspeicher, Disketten, Flash-Speicher oder Formen von elektrisch programmierbaren Nur-Lese-Speichern (EPROM) oder elektrisch löschbaren programmierbaren Nur-Lese-Speichern (EEPROM).
  • Die Rechenvorrichtung 2 kann in einigen Beispielen auch einen oder mehrere Kommunikationseinheiten 44 enthalten. Die Rechenvorrichtung 2 verwendet in einigen Beispielen eine Kommunikationseinheit 44 zur Kommunikation mit externen Vorrichtungen über ein oder mehrere Netzwerke wie zum Beispiel eines oder mehrere drahtlose Netzwerke. Die Kommunikationseinheit 44 kann eine Schnittstellenkarte für ein Netzwerk sein, wie zum Beispiel eine Ethernetkarte, ein optischer Transceiver, ein Funkempfänger oder jede andere Art einer Vorrichtung, die Informationen senden und empfangen kann. Andere Beispiele solcher Netzwerkschnittstellen umfassen Bluetooth®, 3G, 4G und WiFi® Funkempfänger ebenso wie den Universal Serial Bus (USB). In einigen Beispielen verwendet die Rechenvorrichtung 2 die Kommunikationseinheit 44 zur drahtlosen Kommunikation mit einem externen Gerät.
  • In einem Ausführungsbeispiel verwendet die Kommunikationsvorrichtung 2 auch eine oder mehrere Eingabevorrichtungen 42. Eine Eingabevorrichtung 42 ist in einigen Beispielen zum Empfang einer Eingabe von einem Benutzer durch taktiles, Audio- oder Video-Feedback konfiguriert. Beispiele einer solchen Eingabevorrichtung 42 umfassen ein präsenzempfindliches Display (wie zum Beispiel einen Touchscreen), eine Maus, eine Tastatur, ein Spracheingabesystem, eine Videokamera, Mikrofon oder anderer Arten von Vorrichtungen zum Erkennen eines Befehls von einem Benutzer. In einigen Ausführungsformen umfasst ein präsenzempfindliches Display einen berührungsempfindlichen Bildschirm.
  • Eine oder mehrere der Ausgabevorrichtungen 46 können auch in der Recheneinheit 2 enthalten sein. Die Ausgabevorrichtung 46 ist in einigen Beispielen so konfiguriert, dass sie eine Ausgabe an den Benutzer durch ein taktiles, hörbares oder sichtbares Signal ausgibt. Die Ausgabevorrichtung 46 enthält in einem Beispiel ein präsenzempfindliches Display (zum Beispiel einen Touchscreen), eine Soundkarte, eine Grafikkarte oder jede andere Vorrichtung zum Konvertieren eines Signals in eine verständliche Form für Menschen oder Maschinen. Zusätzliche Beispiele von Ausgabevorrichtungen 46 umfassen einen Lautsprecher, einen Kathodenstrahlmonitor (CRT Monitor), eine Flüssigkristallanzeige (LCD) oder jegliche andere Art von Vorrichtung, die eine wahrnehmbare Ausgabe an einen Benutzer erzeugen kann. In einigen Beispielen kann eine präsenzempfindliche Vorrichtung 4 die Funktionalität einer Eingabevorrichtung 42 und/oder Ausgabevorrichtung 46 umfassen. In dem Beispiel der 2 kann die präsenzempfindliche Vorrichtung 4 umfassen oder Teil eines berührungsempfindlichen Bildschirms, eines Touchscreens oder dergleichen sein.
  • Die Rechenvorrichtung 2 kann ein Betriebssystem 54 enthalten. Das Betriebssystem 54 steuert in einigen Ausführungsformen die Arbeitsweise der Komponenten der Rechenvorrichtung 2. Das Betriebssystem 54 erleichtert in einem Beispiel beispielsweise die Kommunikation der Anwendungsmodule 12 mit den Prozessoren 40, der Kommunikationseinheit 44, den Speichervorrichtungen 48, der Eingabevorrichtung 42 und der Ausgabevorrichtung 46. Wie es in 2 dargestellt ist, können die Speichervorrichtungen 48 das Benutzerschnittstellenmodul 6, das Modul zur Vorhersage von mehreren Leerstellen 8, das Modul zur Rechtschreibkorrektur 10, ein Modul für das Empfangsalter 34 und Anwendungsmodule 12, wie dies in Verbindung mit 1 beschrieben ist, umfassen. Die Anwendungsmodule 12 können jeweils Programmbefehle und/oder Daten enthalten, die durch die Rechenvorrichtung 2 ausführbar sind. In einem Beispiel kann das Benutzerschnittstellenmodul 6 Befehle enthalten, die bewirken, dass die Rechenvorrichtung 2 eine oder mehrere Operationen und Aktionen ausführt, die in der vorliegenden Offenbarung beschrieben sind.
  • Wie es in Bezug auf 1 beschrieben wurde, kann das Modul zur Vorhersage mehrerer Leerstellen 8 verschiedene Operationen ausführen, wie zum Beispiel das Einfügen von zwei oder mehreren Leerstellen in Texteingaben, die über die Eingabevorrichtung 42 und oder die präsenzempfindliche Vorrichtung 4 empfangen wurden. In einem besonderen Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen 8 zwei Leerstellen an verschiedenen Stellen innerhalb einer Texteingabe einfügen, und so eine Folge von drei einzelnen Zeichenfolgen erzeugen. So können die beiden eingefügten Leerzeichen diese drei Zeichenfolgen voneinander abtrennen. Auf der Grundlage der erzeugten Sequenz von diesen drei Zeichenfolgen kann das Modul zur Vorhersage mehrerer Leerstellen 8 (und/oder andere Komponenten der Rechenvorrichtung 2) einen oder mehrere Textvorschläge erzeugen und das Benutzerschnittstellenmodul 6 zur Ausgabe derselben veranlassen (zum Beispiel über die Anzeige auf der präsenzempfindlichen Vorrichtung 4).
  • In einem Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen 8 einen Textvorschlag erzeugen, der die Sequenz von drei Zeichenfolgen, die von den entsprechend eingefügten Leerzeichen voneinander getrennt sind, repräsentiert. Ein solcher Textvorschlag kann hier auch als ”leerstellenkorrigierter” Textvorschlag bezeichnet werden. In einem anderen Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen r im Zusammenwirken mit dem Modul zur Rechtschreibkorrektur 10 einen Textvorschlag erzeugen, auf den hier als ein ”leerstellen- und rechtschreibkorrigierter” Textvorschlag Bezug genommen wird. In diesem Beispiel kann das Modul zur Rechtschreibkorrektur 10 ein oder mehrere in der ursprünglichen Texteingabe enthaltene falsche Zeichen bzw. Rechtschreibfehler erkennen. Auf die Erkennung des bzw. der falschen Zeichen hin kann das Modul zur Rechtschreibkorrektur 10 die falschen Zeichen entfernen. Zum Beispiel kann das Modul zur Rechtschreibkorrektur 10 feststellen, dass die Texteingabe in aufeinanderfolgender Weise das gleiche Zeichen enthält. Bei der Verwendung einer oder mehrerer Methoden zur Rechtschreibkorrektur (zum Beispiel durch Vergleichen einer Zeichenfolge der Texteingabe mit einem Eintrag in einem Wörterbuch, auf das die Rechenvorrichtung 2 zugreifen kann) kann das Modul zur Rechtschreibkorrektur 10 erkennen, dass das redundante Auftreten des Zeichens überflüssig ist. Durch Entfernen des oder der überflüssigen Zeichens bzw. Zeichen kann das Modul zur Rechtschreibkorrektur 10 falsches Vorliegen von mehreren (zum Beispiel zweifachen oder dreifachen) aufeinanderfolgenden Zeichen beseitigen und dadurch eine korrektere Darstellung der ursprünglichen Texteingabe erzeugen.
  • In anderen Beispielen kann das Modul zur Rechtschreibkorrektur 10 das oder die entfernte(n) falsche(n) Zeichen durch (ein) entsprechende(s) alternative(s) Zeichen ersetzen. Bei diesen Beispielen kann das Modul zur Rechtschreibkorrektur 10 verschiedene Kriterien verwenden, wie zum Beispiel die Nähe bzw. den Abstand zwischen Tasten innerhalb der virtuellen Tastatur, die das Benutzerschnittstellenmodul 6 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 ausgibt, bei der Bestimmung des geeigneten alternativen Zeichens für ein korrespondierendes falsches Zeichen. Das Modul für die Rechtschreibkorrektur 10 kann zum Beispiel eine nicht korrekte Schreibweise bzw. einen Schreibfehler (zum Beispiel über einen Vergleich mit einem Wörterbuch), einer Zeichenfolge innerhalb der Texteingabe erkennen. Auf der Grundlage des erkannten Rechtschreibfehlers kann das Modul zur Rechtschreibkorrektur 10 ein oder mehrere mögliche falsche Zeichen in der Zeichenfolge identifizieren und die alternativen Zeichen auf der Grundlage der Nähe bzw. des Abstandes der alternativen Zeichen von den falschen Zeichen in der virtuellen Tastatur bestimmen.
  • Zusätzlich kann das Modul zur Rechtschreibkorrektur 10 den Pool möglicher alternativer Zeichen, zum Beispiel auf der Grundlage eines Vergleichs mit einem Wörterbuch, filtern. Zum Beispiel, wenn das Ersetzen eines falschen Zeichens mit einem bestimmten alternativen Zeichen dazu führt, dass die Übereinstimmung mit dem Wörterbuch verfehlt wurde, kann das Modul zur Rechtschreibkorrektur 10 das bestimmte alternative Zeichen von einer Berücksichtigung ausnehmen. Als ein verdeutlichendes Beispiel kann das Modul für die Rechtschreibkorrektur 10 das Zeichen 'w' als falsches Zeichen in der Zeichenfolge ”thw” erkennen. Daraufhin kann das Modul zur Rechtschreibkorrektur 10 einen Pool alternativer Zeichen einschließlich der Zeichen 'e' und 'q' auf der Grundlage des Abstandes der Tasten 'e' und 'q' von einer 'w' Taste auf einer Tastatur mit ”QWERTY” Layout erzeugen. Auf der Grundlage des Umstands, dass die Zeichenfolge 'thq' mit keinem der Einträge im Wörterbuch übereinstimmt, kann das Modul zur Rechtschreibkorrektur 10 das Zeichen 'q' als ein mögliches alternatives Zeichen ausschließen. Umgekehrt kann das Modul zur Rechtschreibkorrektur 10 auf der Grundlage der Übereinstimmung der Zeichenfolge ”the” mit einem Eintrag im Wörterbuch das Zeichen 'e' als ein alternatives Zeichen verwenden und die Zeichenfolge ”the” als einen Textvorschlag erzeugen.
  • Man erkennt, dass die Rechenvorrichtung 2 die Funktionalitäten des Moduls zur Vorhersage mehrerer Leerstellen 8 und des Moduls zur Rechtschreibkorrektur 10 in jeder Reihenfolge implementieren kann. In einigen Szenarien kann das Modul zur Vorhersage mehrerer Leerstellen 8 eine Texteingabe über das Einfügen von mehreren Leerzeichen verändern bevor das Modul zur Rechtschreibkorrektur 10 ein oder mehrere falsche Zeichen in der Texteingabe erkennt und löscht. In einem solchen Beispiel kann das Modul zur Rechtschreibkorrektur 10 verschiedene Methoden zur Rechtschreibkorrektur auf die einzelnen Zeichenfolgen, die durch das Modul zur Vorhersage mehrerer Leerstellen 8 voneinander abgetrennt sind, anwenden. In einem anderen Beispiel kann das Modul zur Rechtschreibkorrektur 10 zusätzlich zur Rechtschreibkorrektur verschiedene Methoden zur Wortvorhersage unter Verwendung von im Stand der Technik bekannten Sprachmodellen implementieren. Wenn das Modul zur Rechtschreibkorrektur 10 zum Beispiel mehrere mögliche Schreibweisen für eine Zeichenfolge erkennt, kann das Modul zur Rechtschreibkorrektur 10 Rechtschreibvorschläge unter Verwendung eines Sprachmodells auswählen und/oder den Vorrang geben. Das Sprachmodell kann verschiedene Kriterien anwenden, wie zum Beispiel den Kontext von Zeichenfolgen, die der schreibkorrigierten Zeichenfolge in der Texteingabe vorangehen und/oder folgen.
  • In anderen Szenarien kann das Modul zur Rechtschreibkorrektur 10 eine oder mehrere Techniken zur Rechtschreibkorrektur auf Teile der Texteingabe vor dem Abändern der Texteingabe durch das Modul zur Vorhersage mehrerer Leerstellen 8 anwenden. In einigen solcher Beispiele kann das Modul zur Rechtschreibkorrektur 10 so konfiguriert oder auf andere Weise funktionsfähig gemacht werden, dass es potentielle bestimmte Zeichenfolgen (zum Beispiel durch nur fast vollständige Übereinstimmungen mit Eintragungen in einem Wörterbuch) in der Texteingabe erkennt und eine Methode zur Rechtschreibkorrektur auf die unveränderte Texteingabe vornimmt. In diesen und anderen Beispielen kann das Modul zur Rechtschreibkorrektur 10 möglicherweise falsche Zeichen in der unveränderten Texteingabe auf der Grundlage von einem oder mehreren Kriterien erkennen (zum Beispiel dem Erkennen von Redundanzen in aufeinanderfolgenden Zeichen, die möglicherweise fehlerhaft sind).
  • In noch anderen Szenarien kann die Rechenvorrichtung 2 gleichzeitig Funktionalitäten implementieren, die sowohl dem Modul zur Vorhersage mehrerer Leerstellen 8 als auch dem Modul zur Rechtschreibkorrektur 10 zugeordnet sind. Zum Beispiel können das Modul zur Vorhersage mehrerer Leerstellen 8 und das Modul zur Rechtschreibkorrektur 10 gleichzeitig das Einfügen von Leerzeichen und eine Rechtschreibkorrektur (entweder voneinander abhängig oder voneinander unabhängig, wie immer der Fall liegt) ausführen. Auf diese Weise kann die Rechenvorrichtung 2 Methoden dieser Offenbarung in einer Vielzahl von Abfolgen oder Sequenzen zum Erzeugen und Ausgeben von Textvorschlägen an den Benutzer vornehmen.
  • Wie unter Bezugnahme auf 1 beschrieben (zum Beispiel die buchstabengetreue Zeichenfolge des Textvorschlags 14A), kann das Modul zur Vorhersage mehrerer Leerstellen 8 in einigen Fällen das Benutzerschnittstellenmodul 6 veranlassen, eine buchstabengetreue, keine Leerzeichen enthaltende Zeichenfolge (die zum Beispiel einer empfangenen Texteingabe entnommen wurde) zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 auszugeben. In solchen Fällen kann das Modul zur Vorhersage mehrerer Leerstellen 8 die buchstabengetreue Zeichenfolge unter Verwendung der Zeichenfolge bzw. der Zeichenfolgen, die in der empfangenen Texteingabe erkannt worden sind, bilden. Zum Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen 8 zwei oder mehr in der empfangenen Texteingabe erkannte Zeichenfolgen miteinander derart verknüpfen, dass das Ergebnis der Verknüpfung keine Leerzeichen enthält. Wie beschrieben, kann das Modul zur Vorhersage mehrerer Leerstellen 8 einen Textvorschlag (oder eine vorgeschlagene Zeichenfolge) erzeugen, der auf der durch den Verknüpfungsprozess gebildeten buchstabengetreuen Zeichenfolge beruht.
  • Im Gegensatz hierzu kann das Modul zur Vorhersage mehrerer Leerstellen 8 einen anderen Textvorschlag durch Einfügen von wenigstens einem Leerzeichen zwischen in der Texteingabe erkannten unterschiedlichen Zeichenfolgen erzeugen. Zum Beispiel kann mit der oben beschriebenen Methode der Verknüpfung von Zeichenfolgen das Modul zur Vorhersage mehrerer Leerstellen 8 ein Leerzeichen zwischen die zwei miteinander verknüpften Zeichenfolgen einfügen und dadurch einen zweiten Textvorschlag bilden (zum Beispiel die leerzeichenkorrigierte Zeichenfolge des Textvorschlags 14B in 1). Auf diese Weise kann die Rechenvorrichtung 2 die Methoden dieser Offenbarung zur Verknüpfung von Zeichenfolgen und das Einfügen von Leerzeichen einsetzen, um mehrere, unterschiedliche Textvorschlägen zu erzeugen.
  • Wie in dem speziellen Beispiel der 2 dargestellt, kann die Rechenvorrichtung 2 auch das Modul für das Eingabealter 34 enthalten. Bei verschiedenen Beispielen kann das Modul für das Eingabealter 34 so konfiguriert oder auf andere Weise funktionsfähig gemacht werden, dass ein Empfangsalter einer empfangenen Texteingabe oder andere Empfangsalter bestimmt werden können, die bestimmten Zeichenfolgen oder Zeichen, die in der Texteingabe erkannt wurden, zugeordnet sind. Nach einem Beispiel kann das Modul für das Empfangsalter 34 das Empfangsalter einer ganzen Texteingabe bestimmen, die auf dem erkannten Zeitpunkt, zu dem die Aufnahme der Eingabe begann, und/oder auf dem Zeitpunkt, zu dem der Empfang der Eingabe beendet wurde, beruht. In anderen Beispielen kann das Modul für das Empfangsalter 34 das Empfangsalter mit Bezug auf andere empfangene Texteingaben bestimmen. In einem solchen Beispiel kann das Modul für das Empfangsalter 34 das Empfangsalter als eine Funktion einer Anzahl von Zeichen (und/oder Zeichenfolgen) bestimmen, die im Anschluss an den Empfang der ursprünglichen Texteingabe empfangen worden sind. Auf diese Weise kann das Modul für das Empfangsalter 34 das Empfangsalter auf der Grundlage verschiedener Arten von Kriterien bestimmen, wie zum Beispiel einem Zeitkriterium, das durch einen Zeitablauf oder der Mengen an anschließend eingegebenem Text angegeben wird.
  • Wie beschrieben, kann in einigen Szenarien das Modul für das Empfangsalter 34 das Empfangsalter von besonderen, in der empfangenen Texteingabe enthaltenen Zeichenfolgen (wie sie zum Beispiel vom Modul zur Vorhersage mehrerer Leerstellen 8 erkannt wurden) bestimmen. In speziellen Beispielen kann das Modul für das Empfangsalter 34 einen oder beide Zeitpunkte unterscheiden, an dem die Eingabe der Zeichenfolge begann und an dem die Eingabe der Zeichenfolge endete (zum Beispiel durch Verwendung von Zeitstempeln, die dem Empfang des ersten und dem Empfang des letzten Zeichens der Zeichenfolge zugeordnet sind). Auf der Basis des erkannten Zeitpunkts (zum Beispiel des Zeitstempels, der dem Empfang des letzten Zeichens der Zeichenfolge zugeordnet ist) kann das Modul für das Empfangsalter 34 eine abgelaufene Zeit bestimmen, die von der Emfangszeit des letzten Zeichens bis zur augenblicklichen Zeit (auf die über einen Zeitgeber oder eine Uhr, die in der Rechenvorrichtung 2 enthalten oder mit ihr verbunden ist, zugegriffen werden kann) abgelaufen ist. Wenn die abgelaufene Zeit zum Beispiel einer Zeitspanne von 20 Sekunden entspricht, kann das Modul für das Empfangsalter 34 für Zwecke der Texteingabe erkennen, dass das Zeichen, in diesem Beispiel, ”20 Sekunden alt” ist.
  • Bei einigen Ausführungsformen kann das Modul für das Empfangsalter 34 das Empfangsalter der Zeichenfolge auf der Basis einer Anzahl nachfolgender Zeichen in der Texteingabe bestimmen, die sich auf einer (bestimmten) Seite der Zeichenfolge befinden. Wenn das Modul für das Eingangsalter 34 zum Beispiel erkennt, dass fünfzehn Zeichen auf der rechten Seite der Textfolge der Zeicheneingabe vorhanden sind (zum Beispiel auf der rechten Seite des letzten Zeichens der Zeichenfolge), kann das Modul für das Empfangsalter 34 für die Zwecke der Texteingabe ermitteln, dass die Zeichenfolge zum Beispiel ”15 Zeichen alt” ist. Bei einem anderen Beispiel kann das Modul für das Empfangsalter 34 die Empfangszeit der Zeichenfolge auf der Grundlage einer Anzahl nachfolgender Zeichen bestimmen, die unterhalb der Zeichenfolge vorhanden sind (zum Beispiel einschließlich Zeichen, die einem Wagenrücklauf bzw. Zeilenschaltung entsprechen).
  • Man erkennt ohne Weiteres, dass in einigen Fällen, in denen das Modul für das Empfangsalter 34 nachfolgende Zeichen, die auf der rechten Seite der Zeichenfolge vorhanden sind, erkennt, die nachfolgenden Zeichen auf der präsenzempfindlichen Vorrichtung 4 so angezeigt werden können, dass wenigstens ein Teil der nachfolgenden Zeichen unterhalb der Zeichenfolge erscheinen. Gründe für dieses Erscheinungsbild können Größenbeschränkungen sein, die für die präsenzempfindliche Vorrichtung 4, ein Layout der Benutzeroberfläche, welche durch das Benutzerschnittstellenmodul 6 vorgegeben ist (z. B. basierend auf der Art einer momentan auf der Rechenvorrichtung 2 ablaufenden Anwendung), und anderes umfassen.
  • Auf der Basis des bestimmten Empfangsalters einer Zeichenfolge kann das Modul für das Empfangsalter 34 die Zeichenfolge festlegen. In speziellen Beispielen kann das Modul für das Empfangsalter 34 wenigstens zum Teil die Zeichenfolge dadurch festlegen, dass es das Benutzerschnittstellenmodul 6 veranlasst, die Zeichenfolge für die Anzeige im Texteingabebereich einer Benutzeroberfläche anzuzeigen. In einigen dieser Beispiele kann das Modul für das Empfangsalter 34 das Benutzerschnittstellenmodul 6 dazu veranlassen, von, einer Ausgabe der Zeichenfolge in einem Bereich für Textvorschläge der Benutzerschnittstelle abzusehen. In einigen Beispielen kann das Modul für das Empfangsalter 34 eine Zeichenfolge, die abgewandelt worden ist (zum Beispiel durch Rechtschreibkorrektur), durch das Modul zur Rechtschreibkorrektur 10 festlegen. Zum Beispiel kann das Modul für das Empfangsalter 34 und/oder das Modul zur Rechtschreibkorrektur 10 eine an höchster Rangstufe stehende rechtschreibkorrigierte Zeichenfolge von zur Verfügung stehenden Zeichen, die das Grenzempfangsalter erreicht haben oder überschreiten), festlegen. Verschiedene Aspekte des Festlegens von Zeichenfolgen und Anzeigens über Bereiche der Benutzeroberfläche zur Texteingabe und für Textvorschläge werden mit weiteren Einzelheiten unter Bezugnahme auf die 3A und 3B an späterer Stelle erläutert.
  • Wie unter Bezugnahme auf 1 beschrieben, kann das Benutzerschnittstellenmodul 6 bei einigen Gegebenheiten mehrere Textvorschläge in dem Bereich für Textvorschläge der Benutzeroberfläche, die auf der präsenzempfindlichen Vorrichtung 4 vorgesehen ist, anzeigen. Bei einigen Ausführungsformen können eine oder mehrere Komponenten der Rechenvorrichtung 2 (zum Beispiel das Modul zur Vorhersage von mehreren Leerstellen 8) als einen bevorzugten Textvorschlag einen bestimmten der Textvorschläge benennen. Zusätzlich kann die Rechenvorrichtung 2 ein Kriterium oder mehrere Kriterien bei der Auswahl des bevorzugten Textvorschlags anwenden. So kann die Rechenvorrichtung 2 zum Beispiel den bevorzugten Text auf der Grundlage heuristischer Daten, die der Rechenvorrichtung 2 (zum Beispiel über eine lokale Speicherung auf der Speichervorrichtung 48, von einer entfernten Vorrichtung, auf die unter Verwendung von Kommunikationseinheiten 44 zugegriffen werden kann, und andere) zur Verfügung stehen, auswählen. Die heuristischen Daten können Daten umfassen, die von früher ausgewählten besonderen Textvorschlägen stammen oder die von älteren Schreibfehlern, die einem besonderen Benutzerkonto zugeordnet sind, das auf der Rechenvorrichtung 2 gerade aktiv ist, oder dergleichen stammen. In einigen Fällen kann die Rechenvorrichtung 2 den bevorzugten Textvorschlag auf solche Weise anzeigen, dass sich der bevorzugte Textvorschlag visuell von den übrigen Textvorschlägen unterscheidet (zum Beispiel durch eine Fettschrift, durch Hervorheben oder andere visuelle Unterscheidungsmerkmale, wie sie im Stand der Technik bekannt sind).
  • Zum Beispiel kann die Rechenvorrichtung 2, wenn die Rechenvorrichtung 2 und/oder andere Komponenten von ihr erkennen, dass ein bestimmtes Benutzerkonto mit einer häufigen Auswahl eines bestimmten Textvorschlags verbunden ist, diesen Textvorschlag als einen bevorzugten Textvorschlag benennen. In Fällen, in denen mehrere Textvorschläge mit einem Vorzugsstatus benannt worden sind, kann die Rechenvorrichtung 2 den verschiedenen bevorzugten Textvorschlägen einen Vorrang geben (zum Beispiel durch Verwendung von den der Rechenvorrichtung 2 zur Verfügung stehenden heuristischen Daten). Auf diese Weise kann die Rechenvorrichtung 2 verschiedene bevorzugte Textvorschläge unter Verwendung der heuristischen Daten, die mit solchen Kriterien als früher getroffene Auswahlen von bestimmten Textvorschlägen assoziiert wurden, auswählen oder ihnen als Option Vorrang geben (”priorisieren”).
  • Die 3A und 3B sind konzeptionelle Darstellungen, die Beispiele von Benutzeroberflächen (UIs) 62 und 72 darstellen, die die Implementierung einer oder mehrerer Methoden zur Vorhersage von mehreren Leerstellen dieser Offenbarung zeigen. Die Texteingabe 66 kann eine unveränderte Eingabe sein, durch einen Benutzer über die virtuelle Tastatur (die aus Gründen der Deutlichkeit nicht getrennt nummeriert ist) gemacht worden ist. In dem Beispiel der 3A können Textvorschläge 64A bis 64C (”Textvorschläge 64”) verschiedene Fälle einer Leerzeichenkorrektur und einer Rechtschreibkorrektur umfassen. Zum Beispiel enthält der Textvorschlag 64A eine Zeichenfolge, die aus dem Einfügen von zwei Leerstellen in die Texteingabe 66 resultiert (nämlich zwischen dem ersten 'w' Zeichen und dem Zeichen 'q' sowie zwischen dem Zeichen 'n' und dem Zeichen 't'), was eine Leerstellenkorrektur anzeigt.
  • Ferner wird das Zeichen 't' zu Beginn der Texteingabe 66 in einen Großbuchstaben umgewandelt, um T zu lauten (was eine Rechtschreibkorrektur anzeigt). In verschiedenen Szenarien kann die Großschreibung von Anfangszeichen auch als Grammatikkorrektur oder mit anderen ähnlichen beschreibenden Begriffen bezeichnet werden. Ferner enthält der Textvorschlag 64A kein zweites nachfolgendes 'u' Zeichen aus der Texteingabe 66. Wie beschrieben, kann eine Rechenvorrichtung, wie zum Beispiel die Rechenvorrichtung 2 der 1 und 2, möglicherweise falsche Zeichen entfernen, wie zum Beispiel Zeichen, die aufgrund irrtümlichen doppelten Antippens der virtuellen Taste eingegeben worden sind.
  • Der Textvorschlag 64B enthält den hinsichtlich der Leerstellen korrigierten und von Schreibfehlern korrigierten Text des Textvorschlags 64A, aber mit einer zusätzlichen Leerstellenkorrektur. Genauer gesagt enthält der Textvorschlag 64B die Leerstelle nicht, die in der Texteingabe 66 zwischen dem Zeichen 'b' und dem Zeichen 'r' vorhanden ist. In diesem Fall kann eine Vorrichtung, wie zum Beispiel die Rechenvorrichtung 2 der 1 und 2, eine Methode zur Leerstellenkorrektur, die das Entfernen von möglicherweise irrtümlichen Eingaben einer Leerstelle ermöglicht (zum Beispiel durch ungewollten Kontakt eines Fingers mit der präsenzempfindlichen Vorrichtung auf der virtuellen Tastatur), implementieren.
  • In dem in 3A dargestellten Beispiel enthält der Textvorschlag 64C eine Texteingabe 66, die hinsichtlich der Leerstellen und der Rechtschreibung korrigiert ist. Wie dargestellt, erhält der Textvorschlags 64C die Großschreibung des Textvorschlags 64A, die eingefügten Leerstellen der Textvorschläge 64A und 64B und die Entfernung der Leerstelle des Textvorschlags 64B. Zusätzlich enthält der Textvorschlag 64C eine Rechtschreibkorrektur, die dem Entfernen und, optional, dem Austausch möglicherweise falscher Zeichen in der Texteingabe 66 diente. Der hinsichtlich der Leerstellen und der Rechtschreibung korrigierte Text des Textvorschlags 64C führt zur nachfolgenden Zeichensequenz ”The quick brown fox”. In einigen Fällen kann der Textvorschlag 64C ein bevorzugter Textvorschlag sein, der auf Kriterien beruht, wie dem Übereinstimmen aller vier enthaltenen Zeichenfolgen mit Einträgen in einem Wörterbuch, auf das die Rechenvorrichtung, die die Benutzeroberfläche 62 ausgibt, zugreifen kann.
  • 3B zeigt eine aktualisierte Benutzeroberfläche 72, die in einigen Fällen eine Version der Benutzeroberfläche 62 sein kann, die aufgrund einer zusätzlichen Texteingabe durch einen Benutzer sowie durch Festlegen eines Textvorschlags unter Verwendung von Methoden dieser Offenbarung geändert wurde. Wie dargestellt, enthält die aktualisierte Benutzeroberfläche 72 eine ergänzte Texteingabe 70. Konkret enthält die ergänzte Texteingabe 70 Text, der dem bevorzugten Textvorschlag 64C der 3B entspricht, gefolgt von zusätzlichem Text (der durch Unterstreichung gekennzeichnet ist). Der zusätzliche Text enthält 16 Zeichen (wie in der zeichengenauen Zeichenfolge des Textvorschlags 68A gezeigt) oder 4 Zeichenfolgen, wie in dem hinsichtlich der Leerstellen korrigierten Text der Textvorschläge 68B und 68C gezeigt. Auf der Basis der Länge des zusätzlichen Textes kann die Rechenvorrichtung, die die Methoden dieser Offenbarung implementiert, bestimmen, dass die (ursprüngliche) Texteingabe 66 ausgedrückt nach dem Empfangsalter 16 Zeichen alt ist. Auf der Grundlage der Bestimmung des Empfangsalters der Texteingabe 66 kann die Rechenvorrichtung den bevorzugten Textvorschlag 64C durch Ausgeben des Textes des bevorzugten Textvorschlags 64C im Texteingabebereich der aktualisierten Benutzeroberfläche 72 festlegen. Die Rechenvorrichtung kann wiederum Textvorschläge 68 ausgeben, die aufgrund des zusätzlichen Textes der ergänzten Texteingabe 70 erzeugt worden sind. Auf diese Weise kann die Rechenvorrichtung die Methoden dieser Offenbarung implementieren, um bevorzugte Textvorschläge, während die Rechenvorrichtung zusätzliche Texteingabe über einer Benutzeroberfläche empfängt, festzulegen. Durch Wiederholen (zum Beispiel rekursive Ausführung) der hier beschriebenen Methoden zur Festlegung kann eine Rechenvorrichtung die Methoden über Texteingaben unterschiedlicher Länge, von denen einige beliebig und relativ lang sein können, implementieren.
  • Während das Festlegen eines Satzes von vier Wörtern an dem Beispiel der 3 erläutert wurde, versteht es sich, dass die Rechenvorrichtung, die die Methoden dieser Offenbarung implementiert, in verschiedenen Szenarien unterschiedlich viele Wort- bzw. Zeichenfolgen gleichzeitig festlegen kann, wie zum Beispiel Einzel-, Doppel- oder Dreiwortsätze. Alternativ hierzu können die Methoden das Festlegen von Zeichensätzen unterbinden und dadurch das Festlegen von Zeichensätzen durch die Rechenvorrichtung verhindern, unabhängig von dem Eingabealter jeglicher Zeichenfolge, die in der Zeicheneingabe 66 enthalten ist.
  • 4 ist ein Flussdiagramm, das einen beispielhaften Prozess 80, durch den die Rechenvorrichtung eine oder mehrere Methoden dieser Offenbarung implementieren kann, zeigt. Auch wenn der Prozess 80 durch verschiedene Vorrichtungen ausgeführt werden kann, ist der Prozess 80 lediglich zur Vereinfachung der Beschreibung mit Bezug auf die Rechenvorrichtung 2 in 1 beschrieben. Der Prozess 80 kann beginnen, wenn die Rechenvorrichtung 2 auf der präsenzempfindlichen Vorrichtung 4 und in einem Tastaturbereich der grafischen Benutzeroberfläche 16 die virtuellen Tastatur 24, die verschiedene Tasten enthält, wie zum Beispiel die Leertaste 26 (81), ausgibt. Zusätzlich kann die Rechenvorrichtung 2 einen Hinweis auf eine auf der präsenzempfindlichen Vorrichtung 4 eingegebene Eingabe empfangen, wobei der Hinweis eine Vielzahl von Zeichen (82) angibt.
  • Das Modul zur Vorhersage mehrerer Leerstellen 8 kann eine Sequenz von wenigstens drei Zeichenfolgen bestimmen, die in der Vielzahl von Zeichen enthalten ist, derart, dass die Sequenz keine Leerzeichen (83) enthält. Zusätzlich kann das Modul zur Vorhersage mehrerer Leerstellen 8 die Vielzahl von Zeichen durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl der Zeichen zum Trennen der drei Zeichenfolgen (84) voneinander verändern. Das Modul zur Vorhersage mehrerer Leerstellen 8 kann wenigstens zwei vorgeschlagene Zeichenfolgen auf der Basis wenigstens zum Teil auf einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der drei Zeichenfolgen (88) bestimmen.
  • Das Benutzerschnittstellenmodul 6 kann zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 und im Bereich für Textvorschläge 18 der grafischen Benutzeroberfläche 16 die zwei oder mehr vorgeschlagenen Zeichenfolgen (90) ausgeben. Fernerhin kann das Benutzerschnittstellenmodul 6 eine Auswahl, die eine ausgewählte Zeichenfolge der zwei oder mehr vorgeschlagenen Zeichenfolgen (92) angibt, empfangen. Wie beschrieben, kann das Benutzerschnittstellenmodul 6 die Eingabe als eine Geste, wie zum Beispiel ein Antippen, empfangen, die auf der präsenzempfindlichen Vorrichtung 4 erkannt wird. Das Benutzerschnittstellenmodul 6 kann zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 und im Texteingabebereich 20 der grafischen Benutzeroberfläche 16 die ausgewählte Zeichenfolge (94) ausgeben.
  • Bei manchen Ausführungsformen kann das Benutzerschnittstellenmodul 6 bestimmen, ob die Rechenvorrichtung 2 innerhalb einer vorgegebenen Zeitspanne die Auswahl, die die ausgewählte Zeichenfolge angibt, empfangen hat. Auf die Bestimmung hin, dass die Rechenvorrichtung 2 die Auswahl nicht innerhalb der vorgegebenen Zeitspanne empfangen hat, kann das Benutzerschnittstellenmodul 6 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 die bevorzugte vorgeschlagene Zeichenfolge (wie zum Beispiel auf der Basis von heuristischen Daten usw. bestimmt, wie es unter Bezugnahme auf 2 beschrieben wurde) ausgeben.
  • Bei einigen Ausführungsformen kann die Rechenvorrichtung 2 bestimmen, ob ein letztes (oder finales) Zeichen der ersten Zeichenfolge ein endständiges Zeichen ist, wobei die Bestimmung angibt, dass die erste Zeichenfolge in einem Wörterbuch enthalten ist, auf das die Rechenvorrichtung 2 zugreifen kann. Fernerhin kann die Rechenvorrichtung 2 bestimmen, dass ein erstes Zeichen der zweiten Zeichenfolge einen Suchpfad angibt mit Bezug auf die erste Zeichenfolge, wenn sie mit der ersten Zeichenfolge verknüpft ist, wobei die Bestimmung angibt, dass die Verknüpfung der ersten Zeichenfolge mit dem ersten Zeichen der zweiten Zeichenfolge wenigstens einen Abschnitt bzw. einen Teil eines Eintrags in einem Wörterbuch, auf das die Rechenvorrichtung Zugriff hat, bildet. Bei solchen Ausführungsformen kann eine erste vorgeschlagene Zeichenfolge der zwei oder mehr vorgeschlagenen Zeichenfolgen die erste Zeichenfolge gefolgt von einem Leerzeichen enthalten und kann eine zweite Zeichenfolge der zwei oder mehr vorgeschlagenen Zeichenfolgen die erste Zeichenfolge gefolgt von wenigstens dem ersten Zeichen der zweiten Zeichenfolge enthalten.
  • Bei verschiedenen Ausführungsformen kann das Benutzerschnittstellenmodul 6 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 und im Texteingabebereich 20 der grafischen Benutzeroberfläche 16 den Satz von Zeichen 22 ausgeben, der wenigstens teilweise auf der Grundlage der Vielzahl der Zeichen erzeugt worden ist. Ferner kann bei einigen solcher Ausführungsformen das Benutzerschnittstellenmodul 6 auf den Empfang der Auswahl der ausgewählten Zeichenfolge hin den Satz von Zeichen 22 von der Anzeige auf der präsenzempfindlichen Vorrichtung 4 und dem Texteingabebereich 20 der grafischen Benutzeroberfläche 16 entfernen.
  • Bei einigen solcher Ausführungsformen kann das Benutzerschnittstellenmodul 6 über die grafische Benutzeroberfläche 16 einen Hinweis auf eine zweite Eingabe, die auf der präsenzempfindlichen Vorrichtung 4 erfolgt ist, empfangen, wobei die zweite Eingabe eine zweite Vielzahl von Zeichen angibt. Das Modul zur Vorhersage mehrerer Leerstellen 8 kann eine zweite Sequenz von wenigstens zwei Zeichenfolgen bestimmen, die in der zweiten Vielzahl von Zeichen enthalten ist, derart, dass die zweite Sequenz keine Leerzeichen enthält. Das Modul zur Vorhersage mehrerer Leerstellen 8 kann die zweite Vielzahl von Zeichen durch Einfügen von wenigstens einem Leerzeichen in die zweite Vielzahl von Zeichen verändern, um wenigstens zwei Zeichenfolgen voneinander zu trennen. Zusätzlich kann das Benutzerschnittstellenmodul 6 zur Anzeige auf der präsenzempfindlichen Vorrichtung 4 die ausgewählte Zeichenfolge und einen zweiten Satz von Zeichen, der auf der Grundlage von wenigstens einem Teil der zweiten Vielzahl von Zeichen erzeugt wurde, derart ausgeben, dass der zweite Satz von Zeichen auf einer Seite der ausgewählten Zeichenfolge in dem Bereich zur Texteingabe 20 der grafischen Benutzeroberfläche 16 angezeigt wird.
  • Beispiel 1. Ein Verfahren, das umfasst: Ausgeben zur Anzeige auf einer präsenzempfindlichen Vorrichtung, die betriebsbereit mit einer Rechenvorrichtung verbunden ist und auf einem Tastaturbereich einer graphischen Benutzeroberfläche (GUI), einer virtuellen Tastatur mit einer Vielzahl von Tasten; Empfangen durch die Rechenvorrichtung eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgten Eingabe, bei der die Eingabe eine Vielzahl von Zeichen angibt; Bestimmen durch die Rechenvorrichtung einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl von Zeichen enthalten ist, derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält; Verändern durch die Rechenvorrichtung der Vielzahl von Zeichen durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl von Zeichen, wobei die wenigstens zwei Leerzeichen die wenigstens drei Zeichenfolgen voneinander trennen bzw. abgrenzen; Bestimmen durch die Rechenvorrichtung von wenigstens zwei vorgeschlagenen Zeichenfolgen auf der Grundlage von wenigstens einem Teil einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der wenigstens drei Zeichenfolgen; Ausgeben zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der grafischen Benutzeroberfläche der wenigstens zwei vorgeschlagenen Zeichenfolgen; Empfangen durch die Rechenvorrichtung einer Auswahl, die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, und Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der grafischen Benutzeroberfläche.
  • Beispiel 2. Das Verfahren nach Beispiel 1, das ferner umfasst: Bestimmen durch die Rechenvorrichtung eines Empfangsalters der ersten Zeichenfolge, wobei das Empfangsalter die verstrichenen Zeit seit dem Empfang der ersten Zeichenfolge und/oder einem Empfang nachfolgender Zeichen nach Empfang der ersten Zeichenfolge angibt, und Festlegen der ersten Zeichenfolge wenigstens teilweise auf der Grundlage des bestimmten Eingabealters der ersten Zeichenfolge, wobei das Festlegen der ersten Zeichenfolge das Ausgeben der ersten Zeichenfolge in einem Texteingabebereich der grafischen Benutzeroberfläche und das Unterlassen des Ausgebens der ersten Zeichenfolge im Bereich für Textvorschläge der grafischen Benutzeroberfläche umfasst.
  • Beispiel 3. Das Verfahren nach Beispiel 2, bei dem das Festlegen der ersten Zeichenfolge umfasst: Ausgeben zur Anzeige in dem Texteingabebereich der grafischen Benutzeroberfläche der ersten Zeichenfolge und Verändern der wenigstens zwei vorgeschlagenen Zeichenfolgen derart, dass keine vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen die erste Zeichenfolge enthält.
  • Beispiel 4. Das Verfahren nach einem der Beispiele 2 bis 3, bei dem das Bestimmen des Empfangsalters der ersten Zeichenfolge umfasst: das Bestimmen einer Anzahl nachfolgender Zeichen der Vielzahl von Zeichen, wobei die nachfolgenden Zeichen auf einer Seite der ersten Zeichenfolge in der Vielzahl der Zeichen im Texteingabebereich der grafischen Benutzeroberfläche angeordnet ist.
  • Beispiel 5. Das Verfahren nach einem der Beispiele 2 bis 4, bei dem das Bestimmen des Empfangsalters der ersten Zeichenfolge umfasst: Bestimmen der Empfangszeit eines letzten Zeichens der ersten Zeichenfolge, wobei die Empfangszeit der ersten Zeichenfolge mit einem Zeitstempel korrespondiert, der dem Empfang des endständigen Zeichens der ersten Zeichenfolge zugewiesen ist, und Bestimmen der verstrichenen Zeit gemessen von der Empfangszeit des endständigen Zeichens bis zur aktuellen Zeit.
  • Beispiel 6. Das Verfahren nach einem der Beispiele 1 bis 5, bei dem das Bestimmen der wenigstens zwei vorgeschlagenen Zeichenfolgen ferner das Erzeugen von wenigstens einer vorgeschlagenen Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen wenigstens teilweise umfasst: Entfernen eines falschen Zeichens der Vielzahl von Zeichen; und Ersetzen des entfernten falschen Zeichens mit einem alternativen Zeichen, wobei das alternative Zeichen gegenüber dem entfernten falschen Zeichen unterschiedlich ist.
  • Beispiel 7. Das Verfahren nach einem der Beispiele 1 des 6, das ferner umfasst: Bezeichnen auf der Grundlage von heuristischen Daten, die früheren Auswahlen von wenigstens einer vorgeschlagenen Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen zugeordnet sind, der wenigstens einen vorgeschlagenen Zeichenfolge als eine bevorzugte vorgeschlagene Zeichenfolge.
  • Beispiel 8. Das Verfahren nach Beispiel 7, das ferner umfasst: Bestimmen, ob die Rechenvorrichtung innerhalb einer vorgegebenen Zeitspanne die Auswahl empfangen hat, die die ausgewählte Zeichenfolge angibt; und auf das Bestimmen hin, dass die Rechenvorrichtung innerhalb einer vorgegebenen Zeitspanne die Auswahl, die die ausgewählte Zeichenfolge angibt, nicht empfangen hat, Ausgeben der bevorzugten vorgeschlagenen Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der grafischen Benutzeroberfläche.
  • Beispiel 9. Das Verfahren nach einem der Beispiele 1 bis 8, bei dem das Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der grafischen Benutzeroberfläche umfasst: das Ausgeben zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der grafischen Benutzeroberfläche eines Satzes von Zeichen, der auf der Grundlage wenigstens eines Teils der Vielzahl der Zeichen erzeugt wurde; und auf das Empfangen der Auswahl hin, die die ausgewählte Zeichenfolge angibt, das Entfernen von der Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der grafischen Benutzeroberfläche des Satzes von Zeichen, der auf der Basis von wenigstens einem Teil der Vielzahl von Zeichen erzeugt wurde.
  • Beispiel 10. Das Verfahren nach Beispiel 9, bei dem die Vielzahl der Zeichen eine erste Vielzahl von Zeichen umfasst, wobei die Sequenz der wenigstens drei Zeichenfolgen eine erste Zeichenfolge umfasst und wobei der Satz von Zeichen einen ersten Satz von Zeichen umfasst und das Verfahren ferner umfasst: Empfangen durch die Rechenvorrichtung eines Hinweises auf die Eingabe einer zweiten Eingabe auf der präsenzempfindlichen Vorrichtung, wobei die zweite Eingabe die zweite Vielzahl von Zeichen angibt; Bestimmen durch die Rechenvorrichtung einer zweiten Sequenz von wenigstens zwei Zeichenfolgen, die in der zweiten Vielzahl von Zeichen enthalten ist, derart, dass die zweite Sequenz von wenigstens zwei Zeichenfolgen keine Leerzeichen enthält; Verändern durch die Rechenvorrichtung der zweiten Vielzahl von Zeichen durch Einfügen von wenigstens einem Leerzeichen innerhalb der zweiten Vielzahl von Zeichen zum Abtrennen der wenigstens zwei Zeichenfolgen voneinander, und das Ausgeben zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der grafischen Benutzeroberfläche der ausgewählten Zeichenfolge und eines zweiten Satzes von Zeichen, der wenigstens teilweise auf der Grundlage der zweiten Vielzahl von Zeichen erzeugt wurde, derart, dass der zweite Satz von Zeichen auf einer Seite des ausgewählten Satzes von Zeichen im Texteingabe Bereich der grafischen Benutzeroberfläche angezeigt wird.
  • Beispiel 11. Das Verfahren nach einem der Beispiele 1 bis 10, bei dem das Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen ferner umfasst: Erzeugen einer ersten vorgeschlagenen Zeichenfolge aus wenigstens zwei vorgeschlagenen Zeichenfolgen durch Verknüpfen der ersten Zeichenfolge, der zweiten Zeichenfolge und der dritten Zeichenfolge derart, dass die erste vorgeschlagene Zeichenfolge keine Leerzeichen enthält; und Erzeugen einer zweiten vorgeschlagenen Zeichenfolge aus den wenigstens zwei vorgeschlagenen Zeichenfolgen durch Verknüpfen der ersten Zeichenfolge, der zweiten Zeichenfolge und der dritten Zeichenfolge und Einfügen eines Leerzeichens zwischen der ersten Zeichenfolge und der zweiten Zeichenfolge.
  • Beispiel 12. Das Verfahren nach einem der Beispiele 1 bis 11, bei dem das Bestimmen der wenigstens zwei vorgeschlagenen Zeichenfolgen ferner umfasst: das Bestimmen durch die Rechenvorrichtung, dass ein letztes Zeichen der ersten Zeichenfolge ein endständiges Zeichen angibt, was anzeigt, dass die erste Zeichenfolge in einem Wörterbuch enthalten ist, auf das die Rechenvorrichtung Zugriff hat; und das Bestimmen, dass ein erstes Zeichen der zweiten Zeichenfolge einen Suchpfad mit Bezug auf die erste Zeichenfolge angibt, wenn sie mit der ersten Zeichenfolge verknüpft wurde, was anzeigt, dass die Verknüpfung der ersten Zeichenfolge mit dem ersten Buchstaben der zweiten Zeichenfolge wenigstens einen Teil eines Eintrags in einem Wörterbuch bildet, auf das die Rechenvorrichtung Zugriff hat, wobei eine erste vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen die erste Zeichenfolge gefolgt von einem Leerzeichen enthält und wobei eine zweite vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen eine erste Zeichenfolge gefolgt von wenigstens dem ersten Zeichen der zweiten Zeichenfolge umfasst.
  • Beispiel 13. Eine Rechenvorrichtung, die betriebsbereit mit einer präsenzempfindlichen Vorrichtung verbunden ist, wobei die Rechenvorrichtung umfasst: einen Speicher und einen oder mehrere Prozessoren, wobei der eine oder die mehreren Prozessoren konfiguriert sind: zum Ausgeben für die Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Tastaturbereich einer graphischen Benutzeroberfläche (GUI) einer virtuelle Tastatur mit einer Vielzahl von Tasten; zum Empfangen eines Hinweises auf eine Eingabe, die auf der präsenzempfindlichen Vorrichtung gemacht worden ist, wobei die Eingabe eine Vielzahl von Zeichen angibt; zum Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl von Zeichen enthalten sind, derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält; zum Verändern der Vielzahl von Zeichen durch Einfügen von wenigstens zwei Leerzeichen innerhalb der Vielzahl von Zeichen für das Abgrenzen der wenigstens drei Zeichenfolgen voneinander; zum Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen auf der Grundlage von wenigstens zum Teil einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz von wenigstens drei Zeichenfolgen; zum Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen für die Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich der grafischen Benutzeroberfläche für einen Textvorschlag; zum Empfangen auf der präsenzempfindlichen Vorrichtung einer Auswahl, die die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, und zum Ausgeben für die Anzeige der ausgewählten Zeichenfolge auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der grafischen Benutzeroberfläche.
  • Beispiel 14. Die Rechenvorrichtung des Beispiels 13, bei der der eine Prozessor oder die mehreren Prozessoren ferner konfiguriert sind: zum Bestimmen des Empfangsalters (entry age) der ersten Zeichenfolge, wobei das Empfangsalter die verstrichene Zeit seit Empfang der ersten Zeichenfolge und/oder einem Empfang von nachfolgenden Zeichen nach Empfang der ersten Zeichenfolge angibt; und zum Festlegen der ersten Zeichenfolge aufgrund von wenigstens zum Teil des bestimmten Empfangsalters der ersten Zeichenfolge, wobei das Festlegen der ersten Zeichenfolge das Ausgeben der ersten Zeichenfolge in dem Texteingabebereich der grafischen Benutzeroberfläche und das Unterlassen einer Ausgabe der ersten Zeichenfolge in dem Bereich für Textvorschläge der grafischen Benutzeroberfläche umfasst.
  • Beispiel 15. Die Rechenvorrichtung des Beispiels 14, bei der einer oder mehrere Prozessoren ausgebildet sind zum Festlegen der ersten Zeichenfolge wenigstens teilweise durch: das Ausgeben der ersten Zeichenfolge für die Anzeige auf dem Texteingabebereich der grafischen Benutzeroberfläche und das Abändern der wenigstens zwei vorgeschlagenen Zeichenfolgen derart, dass keine vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen die erste Zeichenfolge enthält.
  • Beispiel 16. Die Rechenvorrichtung nach einem der Beispiele 13 bis 15 bei der der eine oder die mehreren Prozessoren so ausgebildet sind, dass sie das Verfahren nach einem der Beispiele 4 bis 12 ausführen.
  • Beispiel 17. Ein computerlesbares Speichermedium codiert mit Befehlen die, wenn sie ausgeführt werden, wenigstens einen Prozessor zum Ausführen des Verfahrens nach einem der Beispiele 1 des 12 veranlassen.
  • 5 ist ein Flussdiagramm, das beispielhaft einen Prozess 110 darstellt, durch welchen eine Rechenvorrichtung Zeichenfolgen (zum Beispiel lexikalische Wörter) in einer Texteingabe identifizieren und aus ihr zum Beispiel als einen Satz oder eine Vielzahl von Zeichen entnehmen kann. Es versteht sich, dass der Prozess 110 durch eine Vielzahl anderer Vorrichtungen ausgeführt werden kann. Ebenso wie es bei anderen Beispielen von Prozessen hier geschehen ist, wird der Prozess 110 mit Bezug auf die Rechenvorrichtung 2 der 1 aus Gründen der einfacheren Erläuterung beschrieben.
  • Der Prozess 110 kann beginnen, wenn das Modul zur Vorhersage mehrerer Leerstellen 8 eine Texteingabe auf der Basis von Zeichen für Zeichen (112) analysiert bzw. parst. Zusätzlich kann das Modul zur Rechtschreibkorrektur 10 jedes Zeichen nach möglichen Alternativen auswerten (114). So kann zum Beispiel das Modul zur Rechtschreibkorrektur 10 möglicherweise falsche Zeichen kennzeichnen bzw. einen Merker setzen und mögliche alternative Zeichen ermitteln. Bei der Auswertung jedes Zeichens für mögliche Alternativen kann das Modul zur Rechtschreibkorrektur 10 verschiedene Faktoren anwenden, wie zum Beispiel die Position eines entsprechenden Zeichens innerhalb einer Zeichenfolge (zum Beispiel erstes Zeichen innerhalb der Zeichenfolge, zweites Zeichen innerhalb der Zeichenfolge usw.). Das Modul zur Vorhersage mehrerer Leerstellen 8 kann bestimmen, ob sich der Analysiervorgang an einem endständigen Zeichen befindet (Entscheidungsblock 116). Genauer gesagt kann in einigen Beispielen ein endständiges Zeichen angeben, dass ein Zeichen das Ende eines Eintrags in einem Wörterbuch angibt. Wenn das Modul zur Vorhersage mehrerer Leerstellen 8 erkennt, dass ein aktuelles Zeichen kein endständiges Zeichen ist, kann das Modul zur Vorhersage mehrerer Leerstellen 8 das Analysieren (Parsen) von Zeichen der Texteingabe fortsetzen (zum Beispiel nach 112 zurückkehren). Umgekehrt, wenn das Modul zur Vorhersage mehrerer Leerstellen 8 erkennt, dass das aktuelle Zeichen ein endständiges Zeichen (oder einen ”endständiger Knoten”) angibt, kann das Modul zur Vorhersage mehrerer Leerstellen 8 die am endständigen Zeichen endende Zeichenfolge einer Liste von Textvorschlägen hinzufügen (118).
  • Weiterhin kann das Modul zur Vorhersage mehrerer Leerstellen 8 bestimmen, ob das an dem endständigen Knoten endende Zeichen ein Präfix bzw. eine Vorsilbe anderer Wörterbucheinträge (Entscheidungsblock 120) ist. Konkreter: das Modul zur Vorhersage mehrerer Leerstellen 8 kann bestimmen, ob die Zeichenfolge eines Teils eines anderen Wörterbucheintrags ist, also ob der Wörterbucheintrag weitere Zeichen hinter der identifizierten Zeichenfolge hat. Die weiteren Zeichen können hier als ein ”Suffix” (bzw. Endung oder Nachsilbe) der Zeichenfolge bezeichnet werden. Als Beispiel aus einem Wörterbuch, das ein englischsprachiges Wörterbuch ist, kann das Zeichen 't' das endständige Zeichen hinsichtlich der Zeichenfolge 'present' bilden. Ferner kann die Zeichenfolge 'present' in einem Wörterbucheintrag 'presentation' enthalten sein. In diesem Fall kann das Modul zur Vorhersage mehrerer Leerstellen 8 die Zeichenfolge 'present' einer Liste von Textvorschlägen hinzufügen und erkennen, dass die Zeichenfolge 'present' in dem Wörterbucheintrag 'presentation' neben möglicherweise enthaltenen anderen Einträgen enthalten ist. Auf der Grundlage dieser Bestimmung kann das Modul zur Vorhersage mehrerer Leerstellen 8 ein oder mehrere weitere Suchpfade mit Bezug auf Zeichenfolgen ermitteln, die die Zeichenfolge 'present' enthalten.
  • Wenn die Zeichenfolge in wenigstens einem anderen Wörterbucheintrag enthalten ist (wenn das Modul zur Vorhersage mehrerer Leerstellen 8 beispielsweise ein weiteres Suchwort auf der Basis der Zeichenfolge analysiert bzw. parst), kann das Modul zur Vorhersage mehrerer Leerstellen 8 mit dem Analysieren weiterer Zeichen in der Texteingabe fortfahren (zum Beispiel nach 112 zurückkehren). Auf der anderen Seite, wenn das Modul zur Vorhersage mehrerer Leerstellen 8 erkennt, dass die Zeichenfolge in keinem anderen Wörterbucheintrag enthalten ist, kann das Modul zur Vorhersage mehrerer Leerstellen 8 beginnen, eine weitere Zeichenfolge mit dem nächsten Zeichen der Texteingabe als den Ursprung (root) der nächsten Zeichenfolge einzugeben. Zum Beispiel, durch Beginnen mit der nächsten Zeichenfolge (zum Beispiel mit einem nächsten Wort) kann das Modul zur Vorhersage mehrerer Leerstellen 8 angeben, dass keine weiteren Suchwörter mit Hinblick auf die bereits erkannten Zeichenfolge existiert. Auf das Beginnen mit der nächsten Zeichenfolge hin, kann das Modul zur Vorhersage mehrerer Leerstellen 8 mit dem Analysieren nachfolgender Zeichen in der Texteingabe fortfahren (zum Beispiel nach 112 zurückkehren).
  • Die hier beschriebenen Methoden und Techniken können, wenigstens zum Teil, in Hardware, Software, Firmware oder jeder Kombination von diesen implementiert werden. So können zum Beispiel verschiedene Gesichtspunkte und Aspekte der beschriebenen Ausführungsformen in einem oder mehreren Prozessoren einschließlich einem oder mehreren Mikroprozessoren, digitalen Signalprozessoren (DSP), anwendungsspezifischen integrierten Schaltungen (ASIC), feldprogrammierbaren (Logik-)Gatter-Anordnungen (field programmable gate array) (FPGA) oder in anderen äquivalenten integrierten oder diskreten Logikschaltungen ebenso wie in jeglicher Kombination solcher Komponenten implementiert sein. Der Begriff ”Prozessor” oder ”Prozessorschaltung” kann sich ganz allgemein auf jede der zuvor genannten Logikschaltungen, allein oder in Kombination mit einer anderen Logikschaltung, oder mit jeder anderen äquivalenten Schaltung beziehen. Eine Hardware enthaltende Steuereinheit kann ebenfalls eine oder mehrere der Methoden dieser Offenbarung ausführen.
  • Solche Hardware, Software oder Firmware kann in der gleichen Vorrichtung oder in getrennten Vorrichtungen zur Unterstützung der verschiedenen, hier beschriebenen Methoden implementiert sein. Fernerhin kann jede der hier beschriebenen Einheiten, Module oder Komponenten gemeinsam oder voneinander getrennt als einzelne Teile, außer miteinander zusammenarbeitenden logischen Schaltungen, implementiert sein. Die Beschreibung unterschiedlicher Merkmale als Module oder Einheiten verfolgt das Hervorheben unterschiedlicher funktioneller Aspekte und bedeutet nicht notwendigerweise, dass solche Module oder Einheiten in einzelnen Hardware-, Firmware- oder Softwarekomponenten verwirklicht werden. Vielmehr kann die Funktion, die einem oder mehreren Modulen oder Einheiten zugewiesen ist, durch einzelne Hardware-, Firmware- oder Softwarekomponenten oder integriert in gemeinsamen oder getrennten Hardware-, Firmware- oder Softwarekomponenten ausgeführt werden.
  • Die hier beschriebenen Methoden und Techniken können auch in Herstellungserzeugnissen, einschließlich einem computerlesbaren, mit Befehlen codiertem Speichermedium, verkörpert oder codiert sein. In einem Herstellungserzeugnis einschließlich einem kodierten computerlesbaren Speichermedium oder einer computerlesbaren Speichervorrichtung eingebettete oder codierte Befehle bzw. Instruktionen können bei einem oder mehreren programmierbaren Prozessoren oder andere Prozessoren bewirken, eine oder mehrere der hier beschriebenen Methoden zu implementieren so, wie wenn in einem computerlesbaren Speichermedium enthaltene oder codierte Befehle durch einen oder mehrere Prozessoren ausgeführt werden.
  • Computerlesbare Speichermedien können Speicher mit wahlfreiem Zugriff bzw. Direktzugriffspeicher (RAM), Nur-Lese-Speicher bzw. Festwertspeicher (ROM) programmierbare Nur-Lese-Speicher (PROM), löschbare programmierbare Nur-Lese-Speicher (EPROM), elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROM), Flash-Speicher, Festplatten, Compact Disc ROMs (CD-ROMs), eine Diskette, eine Kassette, ein magnetisches Speichermedium, ein optisches Medium oder ein anderes computerlesbares Speichermedium sein. Weitere Beispiele von computerlesbaren Speichermedien umfassen computerlesbare Speichervorrichtungen, computerlesbare Speicher und greifbare computerlesbare Medien. In einigen Beispielen können Herstellungserzeugnisse bzw. -artikel eines oder mehrere computerlesbare Speichermedien aufweisen.
  • Bei einigen Beispielen können die Methoden in einer Steuereinheit verwirklicht sein. Für die Zwecke dieser Offenbarung kann eine Steuereinheit in verschiedenen Beispielen als eine Kombination von einem oder mehreren Prozessoren, einem oder mehreren programmierbaren (Logik-)Gatter-Anordnungen (field programmable gate array) (FPGA), einem oder mehreren anwendungsspezifischen integrierten Schaltungen (ASIC) und einem oder mehreren anwendungsspezifischen Standardprodukten (ASSP) verwirklicht sein. Eine Steuereinheit kann ebenfalls einen Speicher enthalten, und zwar sowohl statische Speicher (zum Beispiel Festplatten oder Magnetbandspeicher, optische Speicher, Flash Speicher, EPROM, EEPROM usw.) als auch dynamische Speicher (zum Beispiel RAM, DRAM, SRAM usw.) oder jegliche anderen nichtflüchtige computerlesbare Speichermedien, die zur Speicherung von Befehlen geeignet sind, die einen oder mehrere Prozessoren in die Lage versetzen, die effektiven Methoden zum Netzwerkmanagement auszuführen, die in dieser Offenbarung beschrieben sind. Folglich kann eine Steuereinheit Hardware oder eine Kombination von Hardware und Software zur Unterstützung der nachfolgend beschriebenen Komponenten, Module oder Elemente sein und die Methoden sollen nicht strikt auf irgendein besonderes, unten beschriebenes Beispiel beschränkt sein.
  • In einigen Beispielen können computerlesbare Speichermedien und/oder computerlesbare Speichervorrichtungen nichtflüchtige Medien und/oder nichtflüchtige Vorrichtungen umfassen. Der Ausdruck ”nichtflüchtig” soll angeben, dass das Speichermedium greifbar ist und nicht in einer Trägerwelle oder in einem ausgesendeten Signal verkörpert ist. Bei einigen Beispielen kann ein nichtflüchtiges Speichermedium Daten speichern, die mit der Zeit geändert werden können (zum Beispiel im RAM oder im Cache.
  • Verschiedene Beispiele dieser Offenbarung sind hier beschrieben worden. Diese und andere Beispiele werden vom Umfang der nachfolgenden Patentansprüche umfasst.

Claims (15)

  1. Verfahren, umfassend: Ausgeben einer virtuellen Tastatur, welche eine Vielzahl von Tasten umfasst, zur Anzeige auf einer präsenzempfindlichen Vorrichtung, die funktionell mit einer Rechenvorrichtung verbunden ist, und in einem Tastaturbereich einer graphischen Benutzeroberfläche (GUI); Empfangen, durch die Rechenvorrichtung, eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe, wobei die Eingabe eine Vielzahl von Zeichen angibt; Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl von Zeichen enthalten ist, durch die Rechenvorrichtung derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält; Verändern der Vielzahl von Zeichen durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl von Zeichen durch die Rechenvorrichtung, wobei die wenigstens zwei Leerzeichen die wenigstens drei Zeichenfolgen voneinander trennen; Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen durch die Rechenvorrichtung wenigstens teilweise auf Basis einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der wenigstens drei Zeichenfolgen; Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der GUI; Empfangen, durch die Rechenvorrichtung, einer Auswahl, die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt; und Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der GUI.
  2. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen eines Empfangsalters der ersten Zeichenfolge durch die Rechenvorrichtung, wobei das Empfangsalter eine verstrichene Zeit seit Empfang der ersten Zeichenfolge und/oder eines Empfangs von nachfolgenden Zeichen nach dem Empfang der ersten Zeichenfolge angibt; und Festlegen der ersten Zeichenfolge wenigstens teilweise auf Basis des bestimmten Empfangsalters der ersten Zeichenfolge, wobei das Festlegen der ersten Zeichenfolge ein Ausgeben der ersten Zeichenfolge im Texteingabebereich der GUI und ein Unterlassen des Ausgebens der ersten Zeichenfolge im Bereich für Textvorschläge der GUI umfasst.
  3. Verfahren nach Anspruch 2, wobei das Bestimmen der ersten Zeichenfolge umfasst: Ausgeben der ersten Zeichenfolge zur Anzeige im Texteingabebereich der GUI; und Verändern der wenigstens zwei vorgeschlagenen Zeichenfolgen derart, dass keine vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen die erste Zeichenfolge enthält.
  4. Verfahren nach einem der Ansprüche 2 bis 3, wobei das Bestimmen des Empfangsalters der ersten Zeichenfolge umfasst: Bestimmen einer Anzahl nachfolgender Zeichen der Vielzahl von Zeichen, wobei die nachfolgenden Zeichen auf einer Seite der ersten Zeichenfolge in der Vielzahl der Zeichen im Texteingabebereich der GUI angeordnet sind.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei das Bestimmen des Empfangsalters der ersten Zeichenfolge umfasst: Bestimmen einer Empfangszeit eines letzten Zeichens der ersten Zeichenfolge, wobei die Empfangszeit der ersten Zeichenfolge einem Zeitstempel entspricht, der einem Empfang des letzten Zeichens der ersten Zeichenfolge zugeordnet ist; und Bestimmen einer verstrichenen Zeit, welche von der Empfangszeit eines letzten Zeichens der ersten Zeichenfolge bis zu einer aktuellen Zeit gemessen wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Bestimmen der wenigstens zwei vorgeschlagenen Zeichenfolgen ferner ein Erzeugen wenigstens einer vorgeschlagenen Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen wenigstens teilweise umfasst durch: Entfernen eines falschen Zeichens der Vielzahl von Zeichen; und Ersetzen des entfernten falschen Zeichens mit einem alternativen Zeichen, wobei das alternative Zeichen gegenüber dem entfernten falschen Zeichen unterschiedlich ist.
  7. Verfahren nach einem der Ansprüche 1 des 6, ferner umfassend: Bezeichnen der wenigstens einen vorgeschlagenen Zeichenfolge als eine bevorzugte vorgeschlagene Zeichenfolge auf Basis heuristischer Daten, die früheren Auswahlen von wenigstens einer vorgeschlagenen Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen zugeordnet sind.
  8. Verfahren nach Anspruch 7, ferner umfassend: Bestimmen, ob die Rechenvorrichtung innerhalb einer vorgegebenen Zeitspanne die Auswahl empfangen hat, die die ausgewählte Zeichenfolge angibt; und auf das Bestimmen hin, dass die Rechenvorrichtung innerhalb einer vorgegebenen Zeitspanne die Auswahl, die die ausgewählte Zeichenfolge angibt, nicht empfangen hat, Ausgeben der bevorzugten vorgeschlagenen Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der GUI.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei das Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der GUI umfasst: Ausgeben eines Satzes von Zeichen, der wenigstens teilweise auf Basis der Vielzahl der Zeichen erzeugt wurde, zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der GUI; und auf das Empfangen der Auswahl hin, die die ausgewählte Zeichenfolge angibt, Entfernen des Satzes von Zeichen, der wenigstens teilweise auf Basis der Vielzahl von Zeichen erzeugt wurde, von der Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der GUI.
  10. Verfahren nach Anspruch 9, wobei die Vielzahl der Zeichen eine erste Vielzahl von Zeichen umfasst, wobei die Sequenz der wenigstens drei Zeichenfolgen eine erste Zeichenfolge umfasst, und wobei der Satz von Zeichen einen ersten Satz von Zeichen umfasst, das Verfahren ferner umfassend: Empfangen, durch die Rechenvorrichtung, eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgten zweiten Eingabe, wobei die zweite Eingabe die zweite Vielzahl von Zeichen angibt; Bestimmen einer zweiten Sequenz von wenigstens zwei Zeichenfolgen, die in der zweiten Vielzahl von Zeichen enthalten ist, durch die Rechenvorrichtung derart, dass die zweite Sequenz der wenigstens zwei Zeichenfolgen keine Leerzeichen enthält; Verändern, durch die Rechenvorrichtung, der zweiten Vielzahl von Zeichen durch Einfügen von wenigstens einem Leerzeichen in die zweite Vielzahl von Zeichen zum Trennen der wenigstens zwei Zeichenfolgen voneinander; und Ausgeben der ausgewählten Zeichenfolge und eines zweiten Satzes von Zeichen, der wenigstens teilweise auf Basis der zweiten Vielzahl von Zeichen erzeugt wurde, zur Anzeige auf der präsenzempfindlichen Vorrichtung und im Texteingabebereich der GUI derart, dass der zweite Satz von Zeichen auf einer Seite des ausgewählten Satzes von Zeichen im Texteingabebereich der GUI angezeigt wird.
  11. Rechenvorrichtung, die funktionell mit einer präsenzempfindlichen Vorrichtung verbunden ist, die Rechenvorrichtung umfassend: einen Speicher; und einen oder mehrere Prozessoren; wobei der eine oder die mehreren Prozessoren ausgebildet ist/sind zum: Ausgeben einer virtuellen Tastatur, welche eine Vielzahl von Tasten umfasst, zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Tastaturbereich einer graphischen Benutzeroberfläche (GUI); Empfangen eines Hinweises auf eine auf der präsenzempfindlichen Vorrichtung erfolgte Eingabe, wobei die Eingabe eine Vielzahl von Zeichen angibt; Bestimmen einer Sequenz von wenigstens drei Zeichenfolgen, die in der Vielzahl von Zeichen enthalten sind, derart, dass die Sequenz der wenigstens drei Zeichenfolgen keine Leerzeichen enthält; Verändern der Vielzahl von Zeichen durch Einfügen von wenigstens zwei Leerzeichen in die Vielzahl von Zeichen zum Trennen der wenigstens drei Zeichenfolgen voneinander; Bestimmen von wenigstens zwei vorgeschlagenen Zeichenfolgen wenigstens teilweise auf Basis einer ersten Zeichenfolge, einer zweiten Zeichenfolge und einer dritten Zeichenfolge der Sequenz der wenigstens drei Zeichenfolgen; Ausgeben der wenigstens zwei vorgeschlagenen Zeichenfolgen zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Bereich für Textvorschläge der GUI; Empfangen einer Auswahl, die eine ausgewählte Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen angibt, auf der präsenzempfindlichen Vorrichtung; und Ausgeben der ausgewählten Zeichenfolge zur Anzeige auf der präsenzempfindlichen Vorrichtung und in einem Texteingabebereich der GUI.
  12. Rechenvorrichtung nach Anspruch 11, wobei der eine oder die mehreren Prozessoren ferner ausgebildet ist/sind zum: Bestimmen eines Empfangsalters der ersten Zeichenfolge, wobei das Empfangsalter eine verstrichene Zeit seit Empfang der ersten Zeichenfolge und/oder eines Empfangs nachfolgender Zeichen nach dem Empfang der ersten Zeichenfolge angibt; und Festlegen der ersten Zeichenfolge wenigstens teilweise auf Basis der bestimmten Empfangszeit der ersten Zeichenfolge, wobei das Festlegen der ersten Zeichenfolge ein Ausgeben der ersten Zeichenfolge im Texteingabebereich der GUI und ein Unterlassen des Ausgebens der ersten Zeichenfolge im Bereich für Textvorschläge der GUI umfasst.
  13. Rechenvorrichtung nach Anspruch 12, wobei der eine oder die mehreren Prozessoren ausgebildet ist/sind zum Festlegen der ersten Zeichenfolge wenigstens teilweise durch: Ausgeben der ersten Zeichenfolge zur Anzeige im Texteingabebereich der GUI; und Verändern der wenigstens zwei vorgeschlagenen Zeichenfolgen derart, dass keine vorgeschlagene Zeichenfolge der wenigstens zwei vorgeschlagenen Zeichenfolgen die erste Zeichenfolge enthält.
  14. Rechenvorrichtung nach einem der Ansprüche 11 bis 13, wobei der eine oder die mehreren Prozessoren ausgebildet ist/sind zum Ausführen des Verfahrens nach einem der Ansprüche 4 bis 10.
  15. Computer-lesbares Speichermedium, welches mit Befehlen kodiert ist, welche, wenn sie ausgeführt werden, wenigstens einen Prozessor einer Rechenvorrichtung zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 10 veranlassen.
DE112013004769.1T 2012-10-22 2013-10-22 Leerstellenvorhersage für eine Texteingabe Pending DE112013004769T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/657,574 2012-10-22
US13/657,574 US8819574B2 (en) 2012-10-22 2012-10-22 Space prediction for text input
PCT/US2013/066198 WO2014066398A1 (en) 2012-10-22 2013-10-22 Space prediction for text input

Publications (1)

Publication Number Publication Date
DE112013004769T5 true DE112013004769T5 (de) 2015-08-27

Family

ID=49517753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013004769.1T Pending DE112013004769T5 (de) 2012-10-22 2013-10-22 Leerstellenvorhersage für eine Texteingabe

Country Status (4)

Country Link
US (2) US8819574B2 (de)
CN (2) CN104737156B (de)
DE (1) DE112013004769T5 (de)
WO (1) WO2014066398A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409892B2 (en) 2011-01-26 2019-09-10 Microsoft Technology Licensing, Llc Formatting data by example
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) * 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US9147275B1 (en) 2012-11-19 2015-09-29 A9.Com, Inc. Approaches to text editing
US9043349B1 (en) 2012-11-29 2015-05-26 A9.Com, Inc. Image-based character recognition
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
DE102013001884A1 (de) * 2013-02-02 2014-08-07 Audi Ag Systeminitiierte Hilfefunktion für die Bedienung von einer, einem Fahrzeug zugeordneten Vorrichtung - Eingabe von Leerzeichen
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US10229101B2 (en) * 2013-06-14 2019-03-12 Microsoft Technology Licensing, Llc Smart fill
CN103825952B (zh) * 2014-03-04 2017-07-04 百度在线网络技术(北京)有限公司 细胞词库推送方法和服务器
US10824799B2 (en) 2014-06-30 2020-11-03 Microsoft Technology Licensing, Llc Summary data autofill
KR102325724B1 (ko) 2015-02-28 2021-11-15 삼성전자주식회사 다수의 기기에서 텍스트 데이터 동기화
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US11341189B2 (en) * 2015-04-10 2022-05-24 Harman International Industries, Incorporated Multi-character string search engine for in-vehicle information system
GB201602308D0 (en) * 2016-02-09 2016-03-23 Touchtype Ltd System and method for generating predictions
JP6701836B2 (ja) * 2016-03-14 2020-05-27 オムロン株式会社 文字入力装置、文字入力方法、および文字入力プログラム
US20170344531A1 (en) * 2016-05-25 2017-11-30 Microsoft Technology Licensing, Llc Providing automatic case suggestion
GB201620235D0 (en) * 2016-11-29 2017-01-11 Microsoft Technology Licensing Llc Neural network data entry system
US10970481B2 (en) * 2017-06-28 2021-04-06 Apple Inc. Intelligently deleting back to a typographical error
CN109521889B (zh) * 2018-09-29 2021-02-09 咪咕音乐有限公司 一种输入方法及装置、终端及存储介质
US11379662B2 (en) * 2019-10-29 2022-07-05 Karmen Langlotz Data entry capitalization error correction system and word processing system with second language facility
CN111090671B (zh) * 2019-12-19 2023-06-23 山大地纬软件股份有限公司 消除数据库中空字符串和无效字符串差异的方法和装置
CN111144073B (zh) * 2019-12-30 2021-11-16 文思海辉智科科技有限公司 在线文本显示系统中的空白字符可视化方法及装置
CN111859952B (zh) * 2020-06-19 2024-02-20 北京百度网讯科技有限公司 文本纠错方法、装置、电子设备及存储介质
CN111930245A (zh) * 2020-08-10 2020-11-13 维沃移动通信有限公司 字符输入控制方法、装置及电子设备
KR102256042B1 (ko) * 2020-10-13 2021-05-25 삼성전자 주식회사 입력을 유도하는 전자 장치 및 방법.
CN112541505B (zh) * 2020-12-11 2021-07-23 上海云从企业发展有限公司 文本识别方法、装置以及计算机可读存储介质

Family Cites Families (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4534261A (en) 1983-03-30 1985-08-13 Raymond Fabrizio Vent key modification for flute
US4833610A (en) 1986-12-16 1989-05-23 International Business Machines Corporation Morphological/phonetic method for ranking word similarities
US4988981B1 (en) 1987-03-17 1999-05-18 Vpl Newco Inc Computer data entry and manipulation apparatus and method
US4847766A (en) 1988-01-05 1989-07-11 Smith Corona Corporation Dictionary typewriter with correction of commonly confused words
US5075896A (en) 1989-10-25 1991-12-24 Xerox Corporation Character and phoneme recognition based on probability clustering
US5307267A (en) 1990-03-27 1994-04-26 Yang Gong M Method and keyboard for input of characters via use of specified shapes and patterns
EP0450196B1 (de) 1990-04-02 1998-09-09 Koninklijke Philips Electronics N.V. Datenverarbeitungssystem mit auf Gesten basierenden Eingabedaten
US5604897A (en) 1990-05-18 1997-02-18 Microsoft Corporation Method and system for correcting the spelling of misspelled words
US6094188A (en) 1990-11-30 2000-07-25 Sun Microsystems, Inc. Radio frequency tracking system
US5115482A (en) 1991-06-07 1992-05-19 The United States Of America As Represented By The United States Department Of Energy Optical apparatus for conversion of whispering-gallery modes into a free space gaussian like beam
US5848187A (en) 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
FR2689290B1 (fr) 1992-03-26 1994-06-10 Aerospatiale Procede et dispositif de communication multimodes et multifonctions entre un operateur et un ou plusieurs processeurs.
CA2089784C (en) 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
JP3367116B2 (ja) 1992-09-02 2003-01-14 ヤマハ株式会社 電子楽器
US5502803A (en) 1993-01-18 1996-03-26 Sharp Kabushiki Kaisha Information processing apparatus having a gesture editing function
US5677710A (en) 1993-05-10 1997-10-14 Apple Computer, Inc. Recognition keypad
US5522932A (en) 1993-05-14 1996-06-04 Applied Materials, Inc. Corrosion-resistant apparatus
US5606494A (en) 1993-11-25 1997-02-25 Casio Computer Co., Ltd. Switching apparatus
US6008799A (en) 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
JPH0844719A (ja) 1994-06-01 1996-02-16 Mitsubishi Electric Corp 辞書アクセスシステム
US5761689A (en) 1994-09-01 1998-06-02 Microsoft Corporation Autocorrecting text typed into a word processing document
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5521986A (en) 1994-11-30 1996-05-28 American Tel-A-Systems, Inc. Compact data input device
JP3209870B2 (ja) * 1995-01-06 2001-09-17 富士通株式会社 文字間挿入装置および挿入方法
FI97508C (fi) 1995-01-09 1996-12-27 Nokia Mobile Phones Ltd Pikavalinta henkilökohtaisessa matkaviestimessä
US5748512A (en) 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US5797098A (en) 1995-07-19 1998-08-18 Pacific Communication Sciences, Inc. User interface for cellular telephone
JPH0981364A (ja) 1995-09-08 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> マルチモーダル情報入力方法及び装置
US6061050A (en) 1995-10-27 2000-05-09 Hewlett-Packard Company User interface device
US6041292A (en) 1996-01-16 2000-03-21 Jochim; Carol Real time stenographic system utilizing vowel omission principle
USRE37654E1 (en) 1996-01-22 2002-04-16 Nicholas Longo Gesture synthesizer for electronic sound device
JP3280559B2 (ja) 1996-02-20 2002-05-13 シャープ株式会社 ジョグダイアルの模擬入力装置
US5917493A (en) 1996-04-17 1999-06-29 Hewlett-Packard Company Method and apparatus for randomly generating information for subsequent correlating
US5905246A (en) 1996-10-31 1999-05-18 Fajkowski; Peter W. Method and apparatus for coupon management and redemption
JP3889466B2 (ja) 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6047300A (en) 1997-05-15 2000-04-04 Microsoft Corporation System and method for automatically correcting a misspelled word
US6278453B1 (en) 1997-06-13 2001-08-21 Starfish Software, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6686931B1 (en) 1997-06-13 2004-02-03 Motorola, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6141011A (en) 1997-08-04 2000-10-31 Starfish Software, Inc. User interface methodology supporting light data entry for microprocessor device having limited user input
US6160555A (en) 1997-11-17 2000-12-12 Hewlett Packard Company Method for providing a cue in a computer system
US6057845A (en) 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
WO1999028811A1 (en) 1997-12-04 1999-06-10 Northern Telecom Limited Contextual gesture interface
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
KR100327209B1 (ko) 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US6438523B1 (en) 1998-05-20 2002-08-20 John A. Oberteuffer Processing handwritten and hand-drawn input and speech input
US6424983B1 (en) 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6131102A (en) 1998-06-15 2000-10-10 Microsoft Corporation Method and system for cost computation of spelling suggestions and automatic replacement
US6407679B1 (en) 1998-07-31 2002-06-18 The Research Foundation Of The State University Of New York System and method for entering text in a virtual environment
CN1143232C (zh) * 1998-11-30 2004-03-24 皇家菲利浦电子有限公司 正文的自动分割
US6150600A (en) 1998-12-01 2000-11-21 Buchla; Donald F. Inductive location sensor system and electronic percussion system
GB2347247A (en) 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US20020000468A1 (en) * 1999-04-19 2002-01-03 Pradeep K. Bansal System and method for scanning & storing universal resource locator codes
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
KR100723738B1 (ko) 1999-05-27 2007-05-30 에이오엘 엘엘씨 자동 교정 기능을 갖는 키보드 시스템
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US6904405B2 (en) 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US6396523B1 (en) 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
US6512838B1 (en) 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US6789231B1 (en) 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US7798417B2 (en) * 2000-01-03 2010-09-21 Snyder David M Method for data interchange
DE60025901T2 (de) * 2000-01-11 2006-08-24 International Business Machines Corp. Verfahren und Vorrichtung zur Markierung eines Textdokuments mit einem Muster von zusätzlichen Leerstellen zum Zweck der Authentifizierung
US6573844B1 (en) 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US7028259B1 (en) * 2000-02-01 2006-04-11 Jacobson Robert L Interactive legal citation checker
US6630924B1 (en) 2000-02-22 2003-10-07 International Business Machines Corporation Gesture sensing split keyboard and approach for capturing keystrokes
US7047493B1 (en) 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
US7035788B1 (en) 2000-04-25 2006-04-25 Microsoft Corporation Language model sharing
EP1303805B1 (de) 2000-07-21 2010-02-10 Speedscript AG Verfahren für ein schnellschreibsystem und schnellschreibgerät
US20020015064A1 (en) 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
US6606597B1 (en) 2000-09-08 2003-08-12 Microsoft Corporation Augmented-word language model
WO2002033582A2 (en) * 2000-10-16 2002-04-25 Text Analysis International, Inc. Method for analyzing text and method for builing text analyzers
EP1887451A3 (de) 2000-10-18 2009-06-24 602531 British Columbia Ltd. Dateneingabeverfahren und System für einen PC sowie zugehöriger computerlesbarer Datenträger
US7336827B2 (en) 2000-11-08 2008-02-26 New York University System, process and software arrangement for recognizing handwritten characters
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
CA2340531C (en) * 2001-03-12 2006-10-10 Ibm Canada Limited-Ibm Canada Limitee Document retrieval system and search method using word set and character look-up tables
US7035794B2 (en) 2001-03-30 2006-04-25 Intel Corporation Compressing and using a concatenative speech database in text-to-speech systems
FI116591B (fi) 2001-06-29 2005-12-30 Nokia Corp Menetelmä ja laite toiminnon toteuttamiseksi
US7042443B2 (en) 2001-10-11 2006-05-09 Woodard Scott E Speed Writer program and device with Speed Writer program installed
US7610189B2 (en) * 2001-10-18 2009-10-27 Nuance Communications, Inc. Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal
US7296019B1 (en) 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
US6765556B2 (en) 2001-11-16 2004-07-20 International Business Machines Corporation Two-key input per character text entry apparatus and method
US7362243B2 (en) 2001-11-16 2008-04-22 International Business Machines Corporation Apparatus and method using color-coded or pattern-coded keys in two-key input per character text entry
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7231343B1 (en) 2001-12-20 2007-06-12 Ianywhere Solutions, Inc. Synonyms mechanism for natural language systems
US7175438B2 (en) 2002-03-01 2007-02-13 Digit Wireless Fast typing system and method
US7170430B2 (en) 2002-03-28 2007-01-30 Michael Goodgoll System, method, and computer program product for single-handed data entry
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
DE60212976T2 (de) 2002-11-20 2006-11-16 Nokia Corp. Verfahren und Benutzerschnittstelle zur Zeicheneingabe
US7199786B2 (en) 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7382358B2 (en) 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
NZ529518A (en) 2003-11-13 2005-03-24 Andy Zheng Song Input method, system and device
US20050114115A1 (en) 2003-11-26 2005-05-26 Karidis John P. Typing accuracy relaxation system and method in stylus and other keyboards
DE10357475A1 (de) 2003-12-09 2005-07-07 Siemens Ag Kommunikationsvorrichtung und Verfahren zum Eingeben und Vorhersagen von Text
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
EP2017696A1 (de) 2004-06-02 2009-01-21 2012244 Ontario Inc. Tragbare elektronische Vorrichtung mit Texterklärung
US20060004638A1 (en) * 2004-07-02 2006-01-05 Royal Eliza H Assisted electronic product design
US7207004B1 (en) 2004-07-23 2007-04-17 Harrity Paul A Correction of misspelled words
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20060055669A1 (en) 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
WO2006068250A1 (ja) 2004-12-24 2006-06-29 Japan Science And Technology Agency ナノ黒鉛構造体-金属ナノ粒子複合体
US8552984B2 (en) 2005-01-13 2013-10-08 602531 British Columbia Ltd. Method, system, apparatus and computer-readable media for directing input associated with keyboard-type device
US7487461B2 (en) 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US20060256139A1 (en) 2005-05-11 2006-11-16 Gikandi David C Predictive text computer simplified keyboard with word and phrase auto-completion (plus text-to-speech and a foreign language translation option)
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US7886233B2 (en) 2005-05-23 2011-02-08 Nokia Corporation Electronic text input involving word completion functionality for predicting word candidates for partial word inputs
US20070016862A1 (en) 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
GB0516246D0 (en) 2005-08-08 2005-09-14 Scanlan Timothy A data entry device and method
US20070152980A1 (en) 2006-01-05 2007-07-05 Kenneth Kocienda Touch Screen Keyboards for Portable Electronic Devices
US7542029B2 (en) 2005-09-20 2009-06-02 Cliff Kushler System and method for a user interface for text editing and menu selection
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
BRPI0506037A (pt) * 2005-10-25 2007-08-14 Genius Inst De Tecnologia método de entrada de texto por meio de um teclado numérico e seu uso
US8380726B2 (en) 2006-03-06 2013-02-19 Veveo, Inc. Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users
US7831911B2 (en) * 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
ITRM20060136A1 (it) 2006-03-10 2007-09-11 Link Formazione S R L Sistema multimediale interattivo
EP1860576A1 (de) 2006-05-23 2007-11-28 Harman/Becker Automotive Systems GmbH Indexierung großer Listen in Datenbanken
US7831423B2 (en) 2006-05-25 2010-11-09 Multimodal Technologies, Inc. Replacing text representing a concept with an alternate written form of the concept
CN101529494B (zh) 2006-07-03 2012-01-04 克利夫·库什勒 文本编辑和菜单选择用户界面的系统和方法
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
JP5248845B2 (ja) * 2006-12-13 2013-07-31 キヤノン株式会社 文書処理装置、文書処理方法、プログラムおよび記憶媒体
US20080172293A1 (en) * 2006-12-28 2008-07-17 Yahoo! Inc. Optimization framework for association of advertisements with sequential media
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US7957955B2 (en) 2007-01-05 2011-06-07 Apple Inc. Method and system for providing word recommendations for text input
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US7809719B2 (en) 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US20080229255A1 (en) 2007-03-15 2008-09-18 Nokia Corporation Apparatus, method and system for gesture detection
US20080232885A1 (en) * 2007-03-19 2008-09-25 Giftventure Studios, Inc. Systems and Methods for Creating Customized Activities
US7903883B2 (en) 2007-03-30 2011-03-08 Microsoft Corporation Local bi-gram model for object recognition
US7895518B2 (en) 2007-04-27 2011-02-22 Shapewriter Inc. System and method for preview and selection of words
US8504349B2 (en) 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
TW200905538A (en) 2007-07-31 2009-02-01 Elan Microelectronics Corp Touch position detector of capacitive touch panel and method of detecting the touch position
US20090058823A1 (en) 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
US8661340B2 (en) 2007-09-13 2014-02-25 Apple Inc. Input methods for device having multi-language environment
US20090100383A1 (en) 2007-10-16 2009-04-16 Microsoft Corporation Predictive gesturing in graphical user interface
US20090119376A1 (en) * 2007-11-06 2009-05-07 International Busness Machines Corporation Hint-Based Email Address Construction
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8456425B2 (en) 2008-01-30 2013-06-04 International Business Machines Corporation Self-adapting keypad
US8280886B2 (en) 2008-02-13 2012-10-02 Fujitsu Limited Determining candidate terms related to terms of a query
US20090249198A1 (en) 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
WO2010011972A1 (en) * 2008-07-24 2010-01-28 Headsprout, Inc. Teaching reading comprehension
US8619048B2 (en) 2008-08-08 2013-12-31 Moonsun Io Ltd. Method and device of stroke based user input
EA201100347A1 (ru) 2008-08-12 2011-10-31 Килесс Системз Лтд. Система ввода данных
US20100070908A1 (en) * 2008-09-18 2010-03-18 Sun Microsystems, Inc. System and method for accepting or rejecting suggested text corrections
US20140372119A1 (en) * 2008-09-26 2014-12-18 Google, Inc. Compounded Text Segmentation
US20100079382A1 (en) 2008-09-26 2010-04-01 Suggs Bradley N Touch-screen monitoring
US8788261B2 (en) * 2008-11-04 2014-07-22 Saplo Ab Method and system for analyzing text
US7996369B2 (en) 2008-11-14 2011-08-09 The Regents Of The University Of California Method and apparatus for improving performance of approximate string queries using variable length high-quality grams
US20100131447A1 (en) 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
US20100141484A1 (en) 2008-12-08 2010-06-10 Research In Motion Limited Optimized keyboard for handheld thumb-typing and touch-typing
US20100199226A1 (en) 2009-01-30 2010-08-05 Nokia Corporation Method and Apparatus for Determining Input Information from a Continuous Stroke Input
RU2011134935A (ru) 2009-02-04 2013-03-10 Кейлесс Системз Лтд. Система ввода данных
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US20100235780A1 (en) 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
US20100238125A1 (en) 2009-03-20 2010-09-23 Nokia Corporation Method, Apparatus, and Computer Program Product For Discontinuous Shapewriting
KR101844366B1 (ko) 2009-03-27 2018-04-02 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
CN202142005U (zh) 2009-07-22 2012-02-08 罗技欧洲公司 用于远程、虚拟屏幕输入的系统
WO2011014978A1 (en) * 2009-08-04 2011-02-10 Google Inc. Generating search query suggestions
CN101634919B (zh) 2009-09-01 2011-02-02 北京途拓科技有限公司 一种手势识别的装置与方法
US9317116B2 (en) * 2009-09-09 2016-04-19 Immersion Corporation Systems and methods for haptically-enhanced text interfaces
US20110063231A1 (en) 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
US8341558B2 (en) 2009-09-16 2012-12-25 Google Inc. Gesture recognition on computing device correlating input to a template
US8135582B2 (en) 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
US8386574B2 (en) * 2009-10-29 2013-02-26 Xerox Corporation Multi-modality classification for one-class classification in social networks
US8365059B2 (en) 2009-11-03 2013-01-29 Oto Technologies, Llc E-reader semantic text manipulation
US8884872B2 (en) 2009-11-20 2014-11-11 Nuance Communications, Inc. Gesture-based repetition of key activations on a virtual keyboard
US8358281B2 (en) 2009-12-15 2013-01-22 Apple Inc. Device, method, and graphical user interface for management and manipulation of user interface elements
US8587532B2 (en) 2009-12-18 2013-11-19 Intel Corporation Multi-feature interactive touch user interface
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9417787B2 (en) 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US9965165B2 (en) 2010-02-19 2018-05-08 Microsoft Technology Licensing, Llc Multi-finger gestures
US8515969B2 (en) * 2010-02-19 2013-08-20 Go Daddy Operating Company, LLC Splitting a character string into keyword strings
KR101557358B1 (ko) 2010-02-25 2015-10-06 엘지전자 주식회사 문자열 입력 방법 및 그 장치
US20110210850A1 (en) 2010-02-26 2011-09-01 Phuong K Tran Touch-screen keyboard with combination keys and directional swipes
CN101788855B (zh) 2010-03-09 2013-04-17 华为终端有限公司 一种获取用户输入信息的方法、装置及通信终端
JP5642809B2 (ja) 2010-03-12 2014-12-17 ニュアンス コミュニケーションズ, インコーポレイテッド 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム
US8542195B2 (en) 2010-03-30 2013-09-24 International Business Machines Corporation Method for optimization of soft keyboards for multiple languages
US8266528B1 (en) * 2010-06-24 2012-09-11 Google Inc. Spelling suggestions based on an input sequence including accidental “delete”
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US20120036468A1 (en) 2010-08-03 2012-02-09 Nokia Corporation User input remapping
US20120036485A1 (en) 2010-08-09 2012-02-09 XMG Studio Motion Driven User Interface
US8898586B2 (en) 2010-09-24 2014-11-25 Google Inc. Multiple touchpoints for efficient text input
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US8810581B2 (en) * 2010-10-20 2014-08-19 Blackberry Limited Character input method
US20120113008A1 (en) 2010-11-08 2012-05-10 Ville Makinen On-screen keyboard with haptic effects
US20120290946A1 (en) 2010-11-17 2012-11-15 Imerj LLC Multi-screen email client
US9870141B2 (en) 2010-11-19 2018-01-16 Microsoft Technology Licensing, Llc Gesture recognition
CN103649876B (zh) 2010-11-20 2017-02-15 纽昂斯通信有限公司 使用上下文键盘在计算设备上执行操作
US20120166428A1 (en) 2010-12-22 2012-06-28 Yahoo! Inc Method and system for improving quality of web content
US8730188B2 (en) 2010-12-23 2014-05-20 Blackberry Limited Gesture input on a portable electronic device and method of controlling the same
US8922489B2 (en) 2011-03-24 2014-12-30 Microsoft Corporation Text input using key and gesture information
US8914275B2 (en) 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
US8570372B2 (en) 2011-04-29 2013-10-29 Austin Russell Three-dimensional imager and projection device
US8587542B2 (en) 2011-06-01 2013-11-19 Motorola Mobility Llc Using pressure differences with a touch-sensitive display screen
US9471560B2 (en) 2011-06-03 2016-10-18 Apple Inc. Autocorrecting language input for virtual keyboards
US20130212515A1 (en) 2012-02-13 2013-08-15 Syntellia, Inc. User interface for text input
JP5508359B2 (ja) * 2011-08-03 2014-05-28 シャープ株式会社 文字認識装置、文字認識方法及びプログラム
US8751972B2 (en) 2011-09-20 2014-06-10 Google Inc. Collaborative gesture-based input language
US20130082824A1 (en) 2011-09-30 2013-04-04 Nokia Corporation Feedback response
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
CN102411477A (zh) 2011-11-16 2012-04-11 鸿富锦精密工业(深圳)有限公司 电子设备及其文本导读方法
CN102508553A (zh) 2011-11-23 2012-06-20 赵来刚 电子产品手持输入数据和指令的技术
US8436827B1 (en) 2011-11-29 2013-05-07 Google Inc. Disambiguating touch-input based on variation in characteristic such as speed or pressure along a touch-trail
CN104160361A (zh) 2012-02-06 2014-11-19 迈克尔·K·科尔比 字符串完成
CN102629158B (zh) 2012-02-29 2015-04-08 广东威创视讯科技股份有限公司 基于触摸屏系统的文字输入方法及装置
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
CN102693090B (zh) 2012-05-16 2014-06-11 刘炳林 一种输入方法和电子设备
US10296581B2 (en) * 2012-06-06 2019-05-21 Apple Inc. Multi-word autocorrection
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8819574B2 (en) * 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models

Also Published As

Publication number Publication date
US20150026628A1 (en) 2015-01-22
CN104737156A (zh) 2015-06-24
US8819574B2 (en) 2014-08-26
CN104737156B (zh) 2017-10-24
CN107741926A (zh) 2018-02-27
CN107741926B (zh) 2021-10-08
US20140115519A1 (en) 2014-04-24
WO2014066398A1 (en) 2014-05-01
US10019435B2 (en) 2018-07-10

Similar Documents

Publication Publication Date Title
DE112013004769T5 (de) Leerstellenvorhersage für eine Texteingabe
DE102014002848B4 (de) Austausch von Zeichenfolgen
DE112013004585B4 (de) Inkrementelle merkmalbasierte Gestentastatur-Dekodierung
DE112012000189B4 (de) Berührungsbildschirm-Tastatur zum Vorsehen von Wortvorhersagen in Partitionen der Berührungsbildschirm-Tastatur in naher Assoziation mit Kandidaten-Buchstaben
DE112016001365T5 (de) Verlerntechniken für adaptive sprachmodelle bei der texteingabe
DE112008004156B4 (de) System und verfahren für einen gestenbasierten editiermodus und computerlesbares medium hierfür
DE202017105669U1 (de) Modalitätslernen an mobilen Vorrichtungen
DE102013017196A1 (de) Fehlerkorrektur in Zeichenfolgen, die einen Wortbegrenzer enthalten
DE202012005717U1 (de) Zeichenerkennung für überlappende Benutzer-Texteingabe
DE102018007060A1 (de) Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments
DE10124429B4 (de) System und Verfahren für eine verbesserte Rechtschreibprüfung
DE112015003723T5 (de) Intelligenter scrubber in einer e-book-navigationsschnittstelle
DE102013105212A1 (de) Vorhersagende virtuelle Tastatur
US9218066B2 (en) Method for character correction
DE202008000258U1 (de) Tragbare elektronische Vorrichtung
DE102018007165A1 (de) Vorhersage von stilbrüchen innerhalb eines textinhalts
DE102014002984A1 (de) Gestenvollendungspfadanzeige für gestenbasierte Tastaturen
DE102015117843A1 (de) Kontextbasierte Textkorrektur
DE202016008323U1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
WO2016138129A1 (en) Updating language databases using crowd-sourced input
DE102014101042A1 (de) Modifizieren einer Eingabestifteingabe oder -reaktion unter Verwendung einer gefolgerten Bewegung
DE102014101027A1 (de) Eingabestift mit Lexikon-Sharing
CN104699402B (zh) 基于触摸屏的滑行输入装置及方法
DE102016105584A1 (de) Verbesserte suche in handschriftlichen daten
DE102015122762A1 (de) In frage kommende handschriftliche wörter unter verwendung von optischer zeichenerkennung und rechtschreibprüfung

Legal Events

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

Representative=s name: VENNER SHIPLEY LLP, DE

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, DE

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017270000

Ipc: G06F0040200000

R082 Change of representative

Representative=s name: VENNER SHIPLEY GERMANY LLP, DE

Representative=s name: VENNER SHIPLEY LLP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0040200000

Ipc: G06F0040284000

R016 Response to examination communication