DE112013004769T5 - Leerstellenvorhersage für eine Texteingabe - Google Patents
Leerstellenvorhersage für eine Texteingabe Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/163—Handling of whitespace
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
- Y10S715/968—Computer process, e.g. operation of computer interface for database querying and retrieval
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Machine Translation (AREA)
Abstract
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 und3B 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 Rechenvorrichtung2 umfasst, die zur Implementierung einer oder mehrerer Methoden der vorliegenden Offenbarung ausgebildet oder auf andere Weise betriebsbereit sein kann. Die Rechenvorrichtung2 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 Rechenvorrichtung2 eine präsenzempfindliche Vorrichtung4 , ein Benutzerschnittstellenmodul (UI)6 , ein Modul zur Vorhersage bzw. Vorherbestimmung von mehreren Leerstellen8 , ein Modul zur Rechtschreibkorrektur10 und ein oder mehrere Anwendungsmodule12A –12N aufweisen. Die präsenzempfindliche Vorrichtung4 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 Vorrichtungen4 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 Vorrichtung4 keinen physischen Kontakt erfordern, um eine Eingabe zu empfangen. Vielmehr kann in solchen Ausführungsformen die präsenzempfindliche Vorrichtung4 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 Vorrichtung4 der Rechenvorrichtung2 ermöglichen, die Eingabe eines Benutzers auf verschiedene Art und Weise zu erkennen. - In verschiedenen Ausführungsformen kann es das Benutzerschnittstellenmodul
6 der Rechenvorrichtung2 ermöglichen, eine grafische Benutzeroberfläche (GUI)16 zur Anzeige auf der präsenzempfindlichen Vorrichtung4 auszugeben. Wie dargestellt, kann die grafische Benutzeroberfläche GUI16 verschiedene Regionen oder Bereiche umfassen, wie einen Bereich für Textvorschläge18 , einen Texteingabebereich20 und eine virtuelle Tastatur24 . In dem Beispiel der1 sind der Bereich für Textvorschläge18 und der Texteingabebereich20 durch gestrichelte Grenzlinien voneinander getrennt, um anzugeben, dass bei verschiedenen Ausführungsformen die GUI16 eine sichtbare Grenze zum Trennen des Bereichs für Textvorschläge18 von dem Texteingabebereich20 aufweist oder nicht aufweist. - Das UI-Modul
6 kann es der Rechenvorrichtung2 ermöglichen, eine Eingabe zu empfangen, die Textdaten angibt (z. B. einzelne Zeichen, Zeichenfolgen). Wie beschrieben, kann die Eingabe auf einer präsenzempfindlichen Vorrichtung4 erfolgen. Konkret kann das UI-Modul6 die Rechenvorrichtung2 dazu befähigen, Benutzergesten, wie zum Beispiel Antippen, Wischen oder dergleichen, in verschiedenen Bereichen der präsenzempfindlichen Vorrichtung4 zu erkennen. Das UI-Modul6 kann beispielsweise eine Geste, wie zum Beispiel ein Antippen, in einem Bereich der präsenzempfindlichen Vorrichtung4 erkennen, der einer virtuellen Tastatur24 zugeordnet ist. Auf Basis eines allgemeinen Ortes der erkannten Antippgeste kann das UI-Modul6 die angegebenen Textdaten erkennen. Wenn das UI-Modul6 zum Beispiel eine Antippgeste in einem Bereich der präsenzempfindlichen Vorrichtung4 erkennt, der der 'A'-Taste der virtuellen Tastatur24 zugeordnet ist, kann das UI-Modul6 eine Eingabe von Textdaten, die dem Buchstaben 'A' entsprechen, erkennen. Auf gleiche Weise kann das UI-Modul6 eine Wischgeste auf der präsenzempfindlichen Vorrichtung4 , die einer Bewegung zwischen verschiedenen Zeichen entspricht, die innerhalb der virtuellen Tastatur24 angezeigt sind, erkennen. Auf der Grundlage von in der Wischgeste bezeichneten Zeichen sowie von Einträgen in einem Wörterbuch, die der Rechenvorrichtung2 zur Verfügung stehen, kann das UI-Modul6 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 Vorrichtung4 , z. B. in dem Texteingabebereich20 der GUI16 , ausgeben. Bei dem Beispiel der1 zeigt das UI-Modul6 im Texteingabebereich20 die folgende Vielzahl oder Sequenz von Zeichen an: ”Thequickbrownfoxjumpsoverthwlazydpg”. Auf die hier angegebene Sequenz von Zeichen wird hier als Satz von Zeichen22 Bezug genommen. Wie bereits zuvor beschrieben, kann das UI-Modul6 den Satz von Zeichen22 auf Basis von Gesten (z. B. aufeinanderfolgendes Antippen oder Wischen) in einem Bereich der präsenzempfindlichen Vorrichtung4 , der die virtuelle Tastatur24 anzeigt, erkennen. In dem besonderen Beispiel der1 kann das UI-Modul6 kein Leerzeichen in dem Satz von Zeichen22 (das z. B. durch Anschlagen der Leertaste26 oder durch eine Unterbrechung zwischen aufeinanderfolgenden Wischgesten angegeben wird) erkennen. - Andererseits kann das Modul zur Vorhersage mehrerer Leerstellen
8 den Satz von Zeichen22 durch Einfügen von wenigstens zwei Leerzeichen in den Satz von Zeichen22 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 Leerstellen8 hier nur mit Bezug auf einen Teil des Satzes von Zeichen22 näher beschrieben, nämlich den folgenden Zeichenteilsatz des Satzes von Zeichen22 ” thwlazydpg”. Bei manchen Ausführungsformen kann das Modul zur Vorhersage von mehreren Leerzeichen8 Leerzeichen aufgrund des Erkennens einer bekannten Zeichenfolge (z. B. aus einem Wörterbuch, auf das die Rechenvorrichtung2 Zugriff hat) einfügen. So kann zum Beispiel das Modul zur Vorhersage von mehreren Leerstellen8 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 Leerstellen8 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 Leerstellen8 drei voneinander unterschiedliche Zeichenfolgen, nämlich ”thw”, ”lazy” und ”dpg”, bilden. In Fällen, in denen das Modul zur Vorhersage mehrerer Leerstellen8 den ganzen Satz von Zeichen22 verändert, kann das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 dessen Funktionalität als ”Wortsegmentierungsvorhersage” bezeichnet werden. Auf diese Weise kann das Modul zur Vorhersage mehrerer Leerstellen8 den Benutzer in die Lage versetzen, eine Zeichenfolge ohne Eingabe eines Leerzeichens (z. B. durch Antippen der Leerzeichentaste26 , 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 Zeichen22 enthaltenen Zeichenfolgen erzeugt. Das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 Methoden zur Rechtschreibkorrektur von Zeichenfolgen implementieren, die durch das Modul zur Vorhersage mehrerer Leerstellen8 aus dem Satz von Zeichen22 geparst (parsed) bzw. durch Gliedern erzeugt wurden. In dem oben beschriebenen Beispiel extrahiert das Modul zur Vorhersage mehrerer Leerstellen8 die Zeichenfolgen ”thw”, ”lazy” und ”dpg” aus dem Satz von Zeichen22 . In diesem Beispiel kann das Modul zur Rechtschreibkorrektur10 die Rechtschreibkorrektur zur Korrektur der extrahierten Zeichenfolgen ”thw” und ”dpg” in ”the” und ”dog” einsetzen. Das Modul zur Rechtschreibkorrektur10 kann verschiedene Methoden für die Rechtschreibkorrektur, wie zum Beispiel ein Abstandsmodell, verwenden, das den Abstand zwischen verschiedenen Tasten innerhalb der virtuellen Tastatur24 , die auf der präsenzempfindlichen Vorrichtung4 angezeigt werden, auswertet. - Das UI-Modul
6 kann verschiedene Textvorschläge, die durch eines oder beide des Moduls zur Vorhersage mehrerer Leerstellen8 und des Moduls zur Rechtschreibkorrektur10 erzeugt wurden, zur Anzeige auf der präsenzempfindlichen Vorrichtung4 ausgeben. In dem in1 dargestellten Beispiel können das Modul zur Vorhersage mehrerer Leerstellen8 und das Modul zur Rechtschreibkorrektur10 vorgeschlagene Texteingaben in der Form von Textvorschlägen14A bis14C (”Textvorschläge14 ”) erzeugen. Für die Zwecke dieser Beschreibung können die Ausdrücke ”Textvorschlag” und ”vorgeschlagene Zeichenfolge” austauschbar verwendet sein. Insbesondere der Textvorschlag14A kann eine sogenannte ”buchstabengetreue Zeichenfolge” von Zeichen umfassen, die dem Satz von Zeichen22 entnommen wurde. Insbesondere kann die buchstabengetreue Zeichenfolge des Textvorschlags14A eine Folge von aus dem Satz von Zeichen22 extrahierten Zeichen mit keiner weiteren Veränderung durch entweder das Modul zur Vorhersage mehrerer Leerstellen8 oder das Modul zur Rechtschreibkorrektur10 umfassen. Wie in1 dargestellt, lautet der buchstabengetreue Textvorschlag14A ”thwlazydpg”, der identisch mit den letzten zehn Zeichen des Satzes von Zeichen22 ist. - Im Gegensatz zu der buchstabengetreuen Zeichenfolge des Textvorschlags
14A enthält der Textvorschlag14B zwei Leerzeichen. Konkreter kann das Modul zur Vorhersage mehrerer Leerstellen8 auf Basis verschiedener Kriterien die Leerzeichen einfügen. Gemäß einem Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen8 die Zeichenfolge ”lazy” mit einem Eintrag in einem Wörterbuch, auf das die Rechenvorrichtung2 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 Leerstellen8 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 Zeichen22 enthalten sind, voneinander zu trennen. Durch Einfügen der zwei Leerzeichen an den beschriebenen Stellen, kann das Modul zur Vorhersage mehrerer Leerstellen8 Textvorschläge14B erzeugen, die ”thw lazy dpg” lauten. Wie dargestellt, implementiert das Modul zur Vorhersage mehrerer Leerstellen8 die Methoden dieser Offenbarung zum Einsetzen der beiden Leerzeichen zum Trennen von drei Zeichenfolgen, die in dem Satz von Zeichen22 enthalten sind, und bildet so den Textvorschlag14B . - Ferner gibt das Benutzerschnittstellenmodul
6 zur Anzeige in dem Bereich für Textvorschläge18 der grafischen Benutzeroberfläche16 auch einen Textvorschlag14C aus. Wie dargestellt, enthält der Textvorschlag14C auch zwei Leerzeichen, wobei ein Leerzeichen auf beiden Seiten der Zeichenfolge ”lazy” positioniert ist. In dem Fall des Textvorschlags14C kann das Modul zur Rechtschreibkorrektur10 eines oder mehrerer Verfahren zur Rechtschreibkorrektur zur Abänderung eines oder mehrerer aus dem Satz von Zeichen22 entnommener Zeichenfolgen enthalten. Wie beschrieben kann im speziellen Beispiel des Textvorschlags14C das Modul zur Rechtschreibkorrektur10 die Zeichenfolgen, die ”thw” und ”dpg” lauten, dahingehend abändern, dass sie jeweils ”the” und ”dog” lauten. Als Ergebnis hiervon kann der Textvorschlag14C eine rechtschreibkorrigierte Fassung des Textvorschlags14B darstellen, der seinerseits eine leerzeichenkorrigierte Fassung des Textvorschlags14A sein kann. In anderen Ausführungsform kann es das Benutzerschnittstellenmodul6 unterlassen zur Anzeige auf der präsenzempfindlichen Vorrichtung4 einen oder beide der buchstabengetreuen Folge(n) und der leerstellenkorrigierten Fassung der buchstabengetreuen Folge auszugeben. Bei solchen Ausführungsformen kann das Benutzerschnittstellenmodul6 einen Anzeigebereich innerhalb der grafischen Benutzeroberfläche16 zur Anzeige der leerstellen- und rechtschreibkorrigierten Textvorschläge einsparen ebenso wie für den Textvorschlag14C . Auf diese Weise kann die Rechenvorrichtung2 die Methoden dieser Offenbarung zur Ausgabe verschiedener Arten von leerstellenkorrigierten und/oder rechtschreibkorrigierten aus dem Satz von Zeichen22 erzeugten Textvorschlägen implementieren. Andere Beispiele von Verfahren zur Rechtschreibkorrektur zur Implementierung durch das Modul zur Rechtschreibkorrektur10 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 und14C mit zwei eingefügten Leerstellen dargestellt sind, versteht es sich, dass die Rechenvorrichtung2 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 Rechenvorrichtung2 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 Rechenvorrichtung2 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 Rechenvorrichtung2 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 Bereichs20 zur Texteingabe und/oder des Bereichs18 für Textvorschläge der grafischen Benutzeroberfläche16 verbrauchen. - Fernerhin kann das Benutzerschnittstellenmodul
6 über die präsenzempfindliche Vorrichtung4 eine Auswahl empfangen, die einen ausgewählten Textvorschlag der Textvorschläge14 bezeichnet. In verschiedenen Beispielen kann das Benutzeroberflächenmodul6 die Auswahl als eine Eingabe (wie zum Beispiel einer Antippgeste) empfangen, die von einem Benutzer in einem bestimmten Abschnitt der grafischen Benutzeroberfläche16 , wie sie auf der präsenzempfindlichen Vorrichtung4 angezeigt ist, gemacht wurde. So kann ein Benutzer zum Beispiel eine Antippgeste unter Verwendung eines Fingers oder Stifts innerhalb des Bereichs18 für einen Textvorschlag ausführen. Insbesondere kann die Antippgeste wenigstens einen Teil des Bereichs18 für einen Textvorschlag, der mit dem Textvorschlag14C assoziiert ist, überdecken. Auf den Empfang der Auswahl hin kann das Benutzerschnittstellenmodul6 zur Anzeige auf der präsenzempfindlichen Vorrichtung4 und im Bereich20 für eine Texteingabe der grafischen Benutzeroberfläche16 den Text des Textvorschlags14C ausgeben. Es kann zum Beispiel das Benutzerschnittstellenmodul6 den Bereich zur Texteingabe20 so verändern, dass wenigstens ein Teil des Satzes von Zeichen22 durch den Text (nämlich ”the lazy dog”) ersetzt wird, der im Textvorschlag14C gemacht wird. Auf diese Weise können die Rechenvorrichtung2 und Komponenten von ihr die Methoden dieser Offenbarung zur Anzeige bevorzugter Textvorschläge in für den Benutzer der Rechenvorrichtung2 visuell unterscheidbarer Darstellung implementieren. -
2 ist ein Blockdiagramm, dass Einzelheiten eines Beispiels einer Rechenvorrichtung2 zeigt, das zur Ausführung einer oder mehrerer Methoden dieser Offenbarung ausgebildet oder auf andere Weise betriebsbereit gemacht werden kann. Die in2 dargestellte Rechenvorrichtung2 ist ein Beispiel der Implementierung der Rechenvorrichtung2 , die mit Bezug auf1 dargestellt und beschrieben ist. Verschiedene Elemente der2 haben die gleichen Bezugszeichen entsprechend den Elementen der1 . Die mit den gleichen Bezugszeichen versehenen Elemente der1 und2 arbeiten auf die gleiche Weise. Zur Erleichterung der Erläuterung werden nur die zu den Elementen der1 unterschiedlichen Elemente unter Bezugnahme auf2 beschrieben. Man erkennt ohne weiteres, dass andere Ausführungsformen der in1 dargestellten Rechenvorrichtung2 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 Rechenvorrichtung2 einen oder mehrere Prozessoren40 , eine oder mehrere Eingabeeinheiten42 , eine oder mehrere Kommunikationseinheiten44 , eine oder mehrere Ausgabevorrichtungen46 , eine oder mehrere Speichervorrichtungen48 und eine präsenzempfindliche Vorrichtung4 umfassen. Die Rechenvorrichtung2 enthält in einer Ausführungsform ferner Anwendungsmodule12 und ein Betriebssystem54 , die durch die Rechenvorrichtung2 ausführbar sind. Alle Komponenten4 ,40 ,42 ,44 ,46 und48 können miteinander verbunden sein (physisch, kommunikativ und/oder operativ) zur Kommunikation der Komponenten untereinander. In einigen Ausführungsbeispielen kann ein Kommunikationskanal50 einen Systembus, eine Netzwerkverbindung, eine Datenstruktur zur Kommunikation zwischen Prozessen oder jedweden Kanal für zur Kommunikation von Daten enthalten. In einem Beispiel nach der2 können die Komponenten4 ,40 ,42 ,44 ,46 und48 durch einen oder mehrere Kommunikationskanälen50 verbunden sein. Die Anwendungsmodule12 und das Betriebssystem54 können auch miteinander einen Informationsaustausch ebenso wie mit anderen Komponenten der Rechenvorrichtung2 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 Rechenvorrichtung2 implementieren. So können zum Beispiel die Prozessoren40 in der Lage sein, in der Speichervorrichtung48 gespeicherte Befehle zu verarbeiten. Beispiele von Prozessoren40 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 Rechenvorrichtung2 während des Betriebs ausgebildet sein. Die Speichervorrichtungen48 sind in einigen Beispielen als computerlesbares Speichermedium bezeichnet. In einigen Beispielen umfassen die Speichervorrichtungen48 einen temporären Speicher, was bedeutet, dass der Hauptzweck der Speichervorrichtungen48 nicht die Speicherung über lange Zeiten ist. Die Speichervorrichtungen48 sind in einigen Beispielen als flüchtige Speicher beschrieben, was bedeutet, dass die Speichervorrichtungen48 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 Speichervorrichtungen48 zum Speichern von Programmbefehlen zur Ausführung durch die Prozessoren40 eingesetzt. Die Speichervorrichtungen48 werden in einem Beispiel durch Software oder Anwendungen, die auf der Rechenvorrichtung2 laufen (zum Beispiel Anwendungen48 ), 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 Speichervorrichtungen48 können zur Speicherung größerer Mengen von Informationen als flüchtige Datenspeicher konfiguriert sein. Die Speichervorrichtungen48 können ferner zur Langzeitspeicherung von Informationen konfiguriert sein. In einigen Beispielen umfassen die Speichervorrichtungen48 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 Kommunikationseinheiten44 enthalten. Die Rechenvorrichtung2 verwendet in einigen Beispielen eine Kommunikationseinheit44 zur Kommunikation mit externen Vorrichtungen über ein oder mehrere Netzwerke wie zum Beispiel eines oder mehrere drahtlose Netzwerke. Die Kommunikationseinheit44 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 Rechenvorrichtung2 die Kommunikationseinheit44 zur drahtlosen Kommunikation mit einem externen Gerät. - In einem Ausführungsbeispiel verwendet die Kommunikationsvorrichtung
2 auch eine oder mehrere Eingabevorrichtungen42 . Eine Eingabevorrichtung42 ist in einigen Beispielen zum Empfang einer Eingabe von einem Benutzer durch taktiles, Audio- oder Video-Feedback konfiguriert. Beispiele einer solchen Eingabevorrichtung42 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 Recheneinheit2 enthalten sein. Die Ausgabevorrichtung46 ist in einigen Beispielen so konfiguriert, dass sie eine Ausgabe an den Benutzer durch ein taktiles, hörbares oder sichtbares Signal ausgibt. Die Ausgabevorrichtung46 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 Ausgabevorrichtungen46 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 Vorrichtung4 die Funktionalität einer Eingabevorrichtung42 und/oder Ausgabevorrichtung46 umfassen. In dem Beispiel der2 kann die präsenzempfindliche Vorrichtung4 umfassen oder Teil eines berührungsempfindlichen Bildschirms, eines Touchscreens oder dergleichen sein. - Die Rechenvorrichtung
2 kann ein Betriebssystem54 enthalten. Das Betriebssystem54 steuert in einigen Ausführungsformen die Arbeitsweise der Komponenten der Rechenvorrichtung2 . Das Betriebssystem54 erleichtert in einem Beispiel beispielsweise die Kommunikation der Anwendungsmodule12 mit den Prozessoren40 , der Kommunikationseinheit44 , den Speichervorrichtungen48 , der Eingabevorrichtung42 und der Ausgabevorrichtung46 . Wie es in2 dargestellt ist, können die Speichervorrichtungen48 das Benutzerschnittstellenmodul6 , das Modul zur Vorhersage von mehreren Leerstellen8 , das Modul zur Rechtschreibkorrektur10 , ein Modul für das Empfangsalter34 und Anwendungsmodule12 , wie dies in Verbindung mit1 beschrieben ist, umfassen. Die Anwendungsmodule12 können jeweils Programmbefehle und/oder Daten enthalten, die durch die Rechenvorrichtung2 ausführbar sind. In einem Beispiel kann das Benutzerschnittstellenmodul6 Befehle enthalten, die bewirken, dass die Rechenvorrichtung2 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 Leerstellen8 verschiedene Operationen ausführen, wie zum Beispiel das Einfügen von zwei oder mehreren Leerstellen in Texteingaben, die über die Eingabevorrichtung42 und oder die präsenzempfindliche Vorrichtung4 empfangen wurden. In einem besonderen Beispiel kann das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 (und/oder andere Komponenten der Rechenvorrichtung2 ) einen oder mehrere Textvorschläge erzeugen und das Benutzerschnittstellenmodul6 zur Ausgabe derselben veranlassen (zum Beispiel über die Anzeige auf der präsenzempfindlichen Vorrichtung4 ). - 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 Leerstellenr im Zusammenwirken mit dem Modul zur Rechtschreibkorrektur10 einen Textvorschlag erzeugen, auf den hier als ein ”leerstellen- und rechtschreibkorrigierter” Textvorschlag Bezug genommen wird. In diesem Beispiel kann das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 die falschen Zeichen entfernen. Zum Beispiel kann das Modul zur Rechtschreibkorrektur10 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 Rechenvorrichtung2 zugreifen kann) kann das Modul zur Rechtschreibkorrektur10 erkennen, dass das redundante Auftreten des Zeichens überflüssig ist. Durch Entfernen des oder der überflüssigen Zeichens bzw. Zeichen kann das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 verschiedene Kriterien verwenden, wie zum Beispiel die Nähe bzw. den Abstand zwischen Tasten innerhalb der virtuellen Tastatur, die das Benutzerschnittstellenmodul6 zur Anzeige auf der präsenzempfindlichen Vorrichtung4 ausgibt, bei der Bestimmung des geeigneten alternativen Zeichens für ein korrespondierendes falsches Zeichen. Das Modul für die Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 das bestimmte alternative Zeichen von einer Berücksichtigung ausnehmen. Als ein verdeutlichendes Beispiel kann das Modul für die Rechtschreibkorrektur10 das Zeichen 'w' als falsches Zeichen in der Zeichenfolge ”thw” erkennen. Daraufhin kann das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 das Zeichen 'q' als ein mögliches alternatives Zeichen ausschließen. Umgekehrt kann das Modul zur Rechtschreibkorrektur10 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 Leerstellen8 und des Moduls zur Rechtschreibkorrektur10 in jeder Reihenfolge implementieren kann. In einigen Szenarien kann das Modul zur Vorhersage mehrerer Leerstellen8 eine Texteingabe über das Einfügen von mehreren Leerzeichen verändern bevor das Modul zur Rechtschreibkorrektur10 ein oder mehrere falsche Zeichen in der Texteingabe erkennt und löscht. In einem solchen Beispiel kann das Modul zur Rechtschreibkorrektur10 verschiedene Methoden zur Rechtschreibkorrektur auf die einzelnen Zeichenfolgen, die durch das Modul zur Vorhersage mehrerer Leerstellen8 voneinander abgetrennt sind, anwenden. In einem anderen Beispiel kann das Modul zur Rechtschreibkorrektur10 zusätzlich zur Rechtschreibkorrektur verschiedene Methoden zur Wortvorhersage unter Verwendung von im Stand der Technik bekannten Sprachmodellen implementieren. Wenn das Modul zur Rechtschreibkorrektur10 zum Beispiel mehrere mögliche Schreibweisen für eine Zeichenfolge erkennt, kann das Modul zur Rechtschreibkorrektur10 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 Leerstellen8 anwenden. In einigen solcher Beispiele kann das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 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 Leerstellen8 als auch dem Modul zur Rechtschreibkorrektur10 zugeordnet sind. Zum Beispiel können das Modul zur Vorhersage mehrerer Leerstellen8 und das Modul zur Rechtschreibkorrektur10 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 Rechenvorrichtung2 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 Textvorschlags14A ), kann das Modul zur Vorhersage mehrerer Leerstellen8 in einigen Fällen das Benutzerschnittstellenmodul6 veranlassen, eine buchstabengetreue, keine Leerzeichen enthaltende Zeichenfolge (die zum Beispiel einer empfangenen Texteingabe entnommen wurde) zur Anzeige auf der präsenzempfindlichen Vorrichtung4 auszugeben. In solchen Fällen kann das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 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 Leerstellen8 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 Leerstellen8 ein Leerzeichen zwischen die zwei miteinander verknüpften Zeichenfolgen einfügen und dadurch einen zweiten Textvorschlag bilden (zum Beispiel die leerzeichenkorrigierte Zeichenfolge des Textvorschlags14B in1 ). Auf diese Weise kann die Rechenvorrichtung2 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 Rechenvorrichtung2 auch das Modul für das Eingabealter34 enthalten. Bei verschiedenen Beispielen kann das Modul für das Eingabealter34 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 Empfangsalter34 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 Empfangsalter34 das Empfangsalter mit Bezug auf andere empfangene Texteingaben bestimmen. In einem solchen Beispiel kann das Modul für das Empfangsalter34 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 Empfangsalter34 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 Leerstellen8 erkannt wurden) bestimmen. In speziellen Beispielen kann das Modul für das Empfangsalter34 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 Empfangsalter34 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 Rechenvorrichtung2 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 Empfangsalter34 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 Eingangsalter34 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 Empfangsalter34 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 Empfangsalter34 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 Vorrichtung4 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 Vorrichtung4 , ein Layout der Benutzeroberfläche, welche durch das Benutzerschnittstellenmodul6 vorgegeben ist (z. B. basierend auf der Art einer momentan auf der Rechenvorrichtung2 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 Empfangsalter34 wenigstens zum Teil die Zeichenfolge dadurch festlegen, dass es das Benutzerschnittstellenmodul6 veranlasst, die Zeichenfolge für die Anzeige im Texteingabebereich einer Benutzeroberfläche anzuzeigen. In einigen dieser Beispiele kann das Modul für das Empfangsalter34 das Benutzerschnittstellenmodul6 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 Empfangsalter34 eine Zeichenfolge, die abgewandelt worden ist (zum Beispiel durch Rechtschreibkorrektur), durch das Modul zur Rechtschreibkorrektur10 festlegen. Zum Beispiel kann das Modul für das Empfangsalter34 und/oder das Modul zur Rechtschreibkorrektur10 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 die3A und3B an späterer Stelle erläutert. - Wie unter Bezugnahme auf
1 beschrieben, kann das Benutzerschnittstellenmodul6 bei einigen Gegebenheiten mehrere Textvorschläge in dem Bereich für Textvorschläge der Benutzeroberfläche, die auf der präsenzempfindlichen Vorrichtung4 vorgesehen ist, anzeigen. Bei einigen Ausführungsformen können eine oder mehrere Komponenten der Rechenvorrichtung2 (zum Beispiel das Modul zur Vorhersage von mehreren Leerstellen8 ) als einen bevorzugten Textvorschlag einen bestimmten der Textvorschläge benennen. Zusätzlich kann die Rechenvorrichtung2 ein Kriterium oder mehrere Kriterien bei der Auswahl des bevorzugten Textvorschlags anwenden. So kann die Rechenvorrichtung2 zum Beispiel den bevorzugten Text auf der Grundlage heuristischer Daten, die der Rechenvorrichtung2 (zum Beispiel über eine lokale Speicherung auf der Speichervorrichtung48 , von einer entfernten Vorrichtung, auf die unter Verwendung von Kommunikationseinheiten44 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 Rechenvorrichtung2 gerade aktiv ist, oder dergleichen stammen. In einigen Fällen kann die Rechenvorrichtung2 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 Rechenvorrichtung2 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 Rechenvorrichtung2 den verschiedenen bevorzugten Textvorschlägen einen Vorrang geben (zum Beispiel durch Verwendung von den der Rechenvorrichtung2 zur Verfügung stehenden heuristischen Daten). Auf diese Weise kann die Rechenvorrichtung2 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 und3B sind konzeptionelle Darstellungen, die Beispiele von Benutzeroberflächen (UIs)62 und72 darstellen, die die Implementierung einer oder mehrerer Methoden zur Vorhersage von mehreren Leerstellen dieser Offenbarung zeigen. Die Texteingabe66 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 der3A können Textvorschläge64A bis64C (”Textvorschläge64 ”) verschiedene Fälle einer Leerzeichenkorrektur und einer Rechtschreibkorrektur umfassen. Zum Beispiel enthält der Textvorschlag64A eine Zeichenfolge, die aus dem Einfügen von zwei Leerstellen in die Texteingabe66 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 Textvorschlag64A kein zweites nachfolgendes 'u' Zeichen aus der Texteingabe66 . Wie beschrieben, kann eine Rechenvorrichtung, wie zum Beispiel die Rechenvorrichtung2 der1 und2 , 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 Textvorschlags64A , aber mit einer zusätzlichen Leerstellenkorrektur. Genauer gesagt enthält der Textvorschlag64B die Leerstelle nicht, die in der Texteingabe66 zwischen dem Zeichen 'b' und dem Zeichen 'r' vorhanden ist. In diesem Fall kann eine Vorrichtung, wie zum Beispiel die Rechenvorrichtung2 der1 und2 , 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 Textvorschlag64C eine Texteingabe66 , die hinsichtlich der Leerstellen und der Rechtschreibung korrigiert ist. Wie dargestellt, erhält der Textvorschlags64C die Großschreibung des Textvorschlags64A , die eingefügten Leerstellen der Textvorschläge64A und64B und die Entfernung der Leerstelle des Textvorschlags64B . Zusätzlich enthält der Textvorschlag64C eine Rechtschreibkorrektur, die dem Entfernen und, optional, dem Austausch möglicherweise falscher Zeichen in der Texteingabe66 diente. Der hinsichtlich der Leerstellen und der Rechtschreibung korrigierte Text des Textvorschlags64C führt zur nachfolgenden Zeichensequenz ”The quick brown fox”. In einigen Fällen kann der Textvorschlag64C 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äche62 ausgibt, zugreifen kann. -
3B zeigt eine aktualisierte Benutzeroberfläche72 , die in einigen Fällen eine Version der Benutzeroberfläche62 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äche72 eine ergänzte Texteingabe70 . Konkret enthält die ergänzte Texteingabe70 Text, der dem bevorzugten Textvorschlag64C der3B 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 Textvorschlags68A gezeigt) oder 4 Zeichenfolgen, wie in dem hinsichtlich der Leerstellen korrigierten Text der Textvorschläge68B und68C 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) Texteingabe66 ausgedrückt nach dem Empfangsalter16 Zeichen alt ist. Auf der Grundlage der Bestimmung des Empfangsalters der Texteingabe66 kann die Rechenvorrichtung den bevorzugten Textvorschlag64C durch Ausgeben des Textes des bevorzugten Textvorschlags64C im Texteingabebereich der aktualisierten Benutzeroberfläche72 festlegen. Die Rechenvorrichtung kann wiederum Textvorschläge68 ausgeben, die aufgrund des zusätzlichen Textes der ergänzten Texteingabe70 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 Zeicheneingabe66 enthalten ist. -
4 ist ein Flussdiagramm, das einen beispielhaften Prozess80 , durch den die Rechenvorrichtung eine oder mehrere Methoden dieser Offenbarung implementieren kann, zeigt. Auch wenn der Prozess80 durch verschiedene Vorrichtungen ausgeführt werden kann, ist der Prozess80 lediglich zur Vereinfachung der Beschreibung mit Bezug auf die Rechenvorrichtung2 in1 beschrieben. Der Prozess80 kann beginnen, wenn die Rechenvorrichtung2 auf der präsenzempfindlichen Vorrichtung4 und in einem Tastaturbereich der grafischen Benutzeroberfläche16 die virtuellen Tastatur24 , die verschiedene Tasten enthält, wie zum Beispiel die Leertaste26 (81 ), ausgibt. Zusätzlich kann die Rechenvorrichtung2 einen Hinweis auf eine auf der präsenzempfindlichen Vorrichtung4 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 Leerstellen8 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 Leerstellen8 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 Vorrichtung4 und im Bereich für Textvorschläge18 der grafischen Benutzeroberfläche16 die zwei oder mehr vorgeschlagenen Zeichenfolgen (90 ) ausgeben. Fernerhin kann das Benutzerschnittstellenmodul6 eine Auswahl, die eine ausgewählte Zeichenfolge der zwei oder mehr vorgeschlagenen Zeichenfolgen (92 ) angibt, empfangen. Wie beschrieben, kann das Benutzerschnittstellenmodul6 die Eingabe als eine Geste, wie zum Beispiel ein Antippen, empfangen, die auf der präsenzempfindlichen Vorrichtung4 erkannt wird. Das Benutzerschnittstellenmodul6 kann zur Anzeige auf der präsenzempfindlichen Vorrichtung4 und im Texteingabebereich20 der grafischen Benutzeroberfläche16 die ausgewählte Zeichenfolge (94 ) ausgeben. - Bei manchen Ausführungsformen kann das Benutzerschnittstellenmodul
6 bestimmen, ob die Rechenvorrichtung2 innerhalb einer vorgegebenen Zeitspanne die Auswahl, die die ausgewählte Zeichenfolge angibt, empfangen hat. Auf die Bestimmung hin, dass die Rechenvorrichtung2 die Auswahl nicht innerhalb der vorgegebenen Zeitspanne empfangen hat, kann das Benutzerschnittstellenmodul6 zur Anzeige auf der präsenzempfindlichen Vorrichtung4 die bevorzugte vorgeschlagene Zeichenfolge (wie zum Beispiel auf der Basis von heuristischen Daten usw. bestimmt, wie es unter Bezugnahme auf2 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 Rechenvorrichtung2 zugreifen kann. Fernerhin kann die Rechenvorrichtung2 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 Vorrichtung4 und im Texteingabebereich20 der grafischen Benutzeroberfläche16 den Satz von Zeichen22 ausgeben, der wenigstens teilweise auf der Grundlage der Vielzahl der Zeichen erzeugt worden ist. Ferner kann bei einigen solcher Ausführungsformen das Benutzerschnittstellenmodul6 auf den Empfang der Auswahl der ausgewählten Zeichenfolge hin den Satz von Zeichen22 von der Anzeige auf der präsenzempfindlichen Vorrichtung4 und dem Texteingabebereich20 der grafischen Benutzeroberfläche16 entfernen. - Bei einigen solcher Ausführungsformen kann das Benutzerschnittstellenmodul
6 über die grafische Benutzeroberfläche16 einen Hinweis auf eine zweite Eingabe, die auf der präsenzempfindlichen Vorrichtung4 erfolgt ist, empfangen, wobei die zweite Eingabe eine zweite Vielzahl von Zeichen angibt. Das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 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 Benutzerschnittstellenmodul6 zur Anzeige auf der präsenzempfindlichen Vorrichtung4 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 Texteingabe20 der grafischen Benutzeroberfläche16 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 Prozess110 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 Prozess110 durch eine Vielzahl anderer Vorrichtungen ausgeführt werden kann. Ebenso wie es bei anderen Beispielen von Prozessen hier geschehen ist, wird der Prozess110 mit Bezug auf die Rechenvorrichtung2 der1 aus Gründen der einfacheren Erläuterung beschrieben. - Der Prozess
110 kann beginnen, wenn das Modul zur Vorhersage mehrerer Leerstellen8 eine Texteingabe auf der Basis von Zeichen für Zeichen (112 ) analysiert bzw. parst. Zusätzlich kann das Modul zur Rechtschreibkorrektur10 jedes Zeichen nach möglichen Alternativen auswerten (114 ). So kann zum Beispiel das Modul zur Rechtschreibkorrektur10 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 Rechtschreibkorrektur10 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 Leerstellen8 kann bestimmen, ob sich der Analysiervorgang an einem endständigen Zeichen befindet (Entscheidungsblock116 ). 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 Leerstellen8 erkennt, dass ein aktuelles Zeichen kein endständiges Zeichen ist, kann das Modul zur Vorhersage mehrerer Leerstellen8 das Analysieren (Parsen) von Zeichen der Texteingabe fortsetzen (zum Beispiel nach112 zurückkehren). Umgekehrt, wenn das Modul zur Vorhersage mehrerer Leerstellen8 erkennt, dass das aktuelle Zeichen ein endständiges Zeichen (oder einen ”endständiger Knoten”) angibt, kann das Modul zur Vorhersage mehrerer Leerstellen8 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 (Entscheidungsblock120 ) ist. Konkreter: das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 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 Leerstellen8 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 Leerstellen8 mit dem Analysieren weiterer Zeichen in der Texteingabe fortfahren (zum Beispiel nach112 zurückkehren). Auf der anderen Seite, wenn das Modul zur Vorhersage mehrerer Leerstellen8 erkennt, dass die Zeichenfolge in keinem anderen Wörterbucheintrag enthalten ist, kann das Modul zur Vorhersage mehrerer Leerstellen8 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 Leerstellen8 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 Leerstellen8 mit dem Analysieren nachfolgender Zeichen in der Texteingabe fortfahren (zum Beispiel nach112 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/657,574 US8819574B2 (en) | 2012-10-22 | 2012-10-22 | Space prediction for text input |
US13/657,574 | 2012-10-22 | ||
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) | CN107741926B (de) |
DE (1) | DE112013004769T5 (de) |
WO (1) | WO2014066398A1 (de) |
Families Citing this family (35)
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 |
WO2016164045A1 (en) * | 2015-04-10 | 2016-10-13 | 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 | 上海云从企业发展有限公司 | 文本识别方法、装置以及计算机可读存储介质 |
US12001507B2 (en) * | 2021-12-06 | 2024-06-04 | Read TwoGether Ltd. | Demarcation of texts |
CN115034205B (zh) * | 2022-06-15 | 2024-06-21 | 中国银行股份有限公司 | 空格字段的处理方法及装置、电子设备、存储介质 |
Family Cites Families (232)
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 |
DE69032645T2 (de) | 1990-04-02 | 1999-04-08 | Koninkl Philips Electronics Nv | 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 |
US6686931B1 (en) | 1997-06-13 | 2004-02-03 | Motorola, Inc. | Graphical password methodology for a microprocessor device accepting non-alphanumeric user input |
US6278453B1 (en) | 1997-06-13 | 2001-08-21 | Starfish Software, 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 |
US8479122B2 (en) | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US7614008B2 (en) | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
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 |
US7750891B2 (en) * | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
AU5299700A (en) | 1999-05-27 | 2000-12-18 | America Online, Inc. | Keyboard system with automatic correction |
US7030863B2 (en) * | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
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 |
CA2416835A1 (en) | 2000-07-21 | 2002-01-31 | Raphael Bachmann | Method for a high-speed writing system and high-speed writing device |
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 |
US20020194223A1 (en) * | 2000-10-16 | 2002-12-19 | Text Analysis International, Inc. | Computer programming language, system and method for building 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 |
AU2002230766A1 (en) | 2000-11-08 | 2002-05-21 | 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 |
ATE332528T1 (de) | 2002-11-20 | 2006-07-15 | 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 |
US7453439B1 (en) | 2003-01-16 | 2008-11-18 | Forward Input Inc. | System and method for continuous stroke word-based text input |
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 |
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 |
EP2017696A1 (de) | 2004-06-02 | 2009-01-21 | 2012244 Ontario Inc. | Tragbare elektronische Vorrichtung mit Texterklärung |
US8095364B2 (en) | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
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 |
US7508324B2 (en) | 2004-08-06 | 2009-03-24 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
US20060176283A1 (en) | 2004-08-06 | 2006-08-10 | 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 |
US7774341B2 (en) | 2006-03-06 | 2010-08-10 | Veveo, Inc. | Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content |
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 |
WO2008013658A2 (en) | 2006-07-03 | 2008-01-31 | Cliff Kushler | System and method for a user interface for text editing and menu selection |
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 |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US7957955B2 (en) | 2007-01-05 | 2011-06-07 | Apple Inc. | Method and system for providing word recommendations for text input |
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 |
WO2010016065A1 (en) | 2008-08-08 | 2010-02-11 | Moonsun Io Ltd. | Method and device of stroke based user input |
MX2011001722A (es) | 2008-08-12 | 2011-07-29 | Keyless Systems Ltd | Sistema mejorado de introducción de datos. |
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 |
EP2353108A4 (de) * | 2008-11-04 | 2018-01-03 | Strossle International AB | Verfahren und system zur textanalyse |
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 |
AU2010212022A1 (en) | 2009-02-04 | 2011-08-11 | Benjamin Firooz Ghassabian | Data entry system |
US9684521B2 (en) | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
US20100235780A1 (en) | 2009-03-16 | 2010-09-16 | Westerman Wayne C | System and Method for Identifying Words Based on a Sequence of Keyboard Events |
US8566044B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US9311112B2 (en) | 2009-03-16 | 2016-04-12 | Apple Inc. | Event recognition |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
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 |
CN103558931A (zh) | 2009-07-22 | 2014-02-05 | 罗技欧洲公司 | 用于远程、虚拟屏幕输入的***和方法 |
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 |
US9417787B2 (en) | 2010-02-12 | 2016-08-16 | Microsoft Technology Licensing, Llc | Distortion effects to indicate location in a movable data collection |
US8782556B2 (en) | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
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 | 华为终端有限公司 | 一种获取用户输入信息的方法、装置及通信终端 |
US9104312B2 (en) | 2010-03-12 | 2015-08-11 | Nuance Communications, Inc. | Multimodal text input system, such as for use with touch screens on mobile phones |
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 |
US9235828B2 (en) | 2010-11-17 | 2016-01-12 | Z124 | Email client display transition |
US9870141B2 (en) | 2010-11-19 | 2018-01-16 | Microsoft Technology Licensing, Llc | Gesture recognition |
WO2012068550A2 (en) | 2010-11-20 | 2012-05-24 | Kushler Clifford A | Systems and methods for using entered text to access and process contextual information |
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 |
WO2013119712A1 (en) | 2012-02-06 | 2013-08-15 | Colby Michael K | Character-string completion |
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 |
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 |
US8832589B2 (en) | 2013-01-15 | 2014-09-09 | Google Inc. | Touch keyboard using language and spatial models |
-
2012
- 2012-10-22 US US13/657,574 patent/US8819574B2/en active Active
-
2013
- 2013-10-22 WO PCT/US2013/066198 patent/WO2014066398A1/en active Application Filing
- 2013-10-22 DE DE112013004769.1T patent/DE112013004769T5/de active Pending
- 2013-10-22 CN CN201710855022.XA patent/CN107741926B/zh active Active
- 2013-10-22 CN CN201380055025.5A patent/CN104737156B/zh active Active
-
2014
- 2014-08-05 US US14/452,035 patent/US10019435B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20150026628A1 (en) | 2015-01-22 |
CN104737156A (zh) | 2015-06-24 |
CN107741926A (zh) | 2018-02-27 |
US10019435B2 (en) | 2018-07-10 |
CN107741926B (zh) | 2021-10-08 |
US8819574B2 (en) | 2014-08-26 |
WO2014066398A1 (en) | 2014-05-01 |
CN104737156B (zh) | 2017-10-24 |
US20140115519A1 (en) | 2014-04-24 |
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 | |
DE102016101750A1 (de) | Kontextbasierende Anpassung von Wortassistenzfunktionen | |
DE102018007060A1 (de) | Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments | |
DE10124429B4 (de) | System und Verfahren für eine verbesserte Rechtschreibprüfung | |
DE102018007165A1 (de) | Vorhersage von stilbrüchen innerhalb eines textinhalts | |
DE102015122764A1 (de) | Umstellen von handschriftlichem inhalt | |
DE102013105212A1 (de) | Vorhersagende virtuelle Tastatur | |
US9218066B2 (en) | Method for character correction | |
DE202008000258U1 (de) | Tragbare elektronische Vorrichtung | |
US20150169537A1 (en) | Using statistical language models to improve text input | |
DE102015117843A1 (de) | Kontextbasierte Textkorrektur | |
DE102016125804A1 (de) | Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen | |
DE112016002275T5 (de) | Koordinierte benutzerwortauswahl zum übersetzen und erhalten von kontextinformtionen für das ausgewählte wort | |
CN113050808A (zh) | 在输入框中突出显示目标文本的方法及装置 | |
DE102014101027A1 (de) | Eingabestift mit Lexikon-Sharing | |
JP6204894B2 (ja) | バックスペースキーに基づいて入力ミスを自動的に修正する日本語入力方法、入力システム、コンピュータプログラム及び記録媒体 | |
DE102015122762A1 (de) | In frage kommende handschriftliche wörter unter verwendung von optischer zeichenerkennung und rechtschreibprüfung | |
DE102016105584A1 (de) | Verbesserte suche in handschriftlichen daten | |
DE112007002961B4 (de) | Tragbare elektronische Vorrichtung mit diakritischer Auswahl und Textdisambiguierung |
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 |