-
HINTERGRUND
-
Informationshandhabungsgeräte („Geräte”), z.B. Handys, Smartphones, Tabletgeräte, Laptop- und Desktop-Computer und dergleichen, verwenden Eingabevorrichtungen (Tastaturen, Berührungsbildschirme, Mikrofone, Kameras oder Kombinationen dieser Geräte), um es Benutzern zu ermöglichen, Eingaben, z.B. Texteingaben für eine Textverarbeitungsanwendung, eine E-Mail- oder andere Nachrichtenanwendung usw., bereitzustellen.
-
Herkömmlicherweise werden Benutzertexteingaben einer automatischen Untersuchung unterzogen, z.B. wird eine Rechtschreib- und Grammatikprüfung bereitgestellt. Des Weiteren stellen einige Systeme automatisierte Vorschläge für die Benutzer bereit, die beispielsweise ein Wort basierend auf den ersten paar eingetippten Buchstaben vorschlagen.
-
Beispielhaft bietet ein typisches System an, übliche Rechtschreibfehler zu korrigieren (oder einfach automatisch zu korrigieren), oder versucht übliche Rechtschreib- oder Grammatikfehler, z.B. „das” statt „dass” und dergleichen, zu korrigieren oder Korrekturen dafür vorzuschlagen. Einige Systeme oder Teilsysteme (z.B. virtuelle Tastaturen und die dazugehörige Logik) bieten Vorschläge basierend auf früheren Benutzereingaben, z.B. gespeicherten bevorzugten Wörtern, gewöhnlich verwendeten Wörtern usw., an. Auf diese Art und Weise kann das System bevorzugte Wörter der Benutzer erlernen und diese als Vorschläge anbieten, so dass der Benutzer nur die ersten paar Buchstaben eintippen muss, damit der Vorschlag gemacht wird.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: Zugreifen auf einen Datenverband unter Verwendung eines Prozessors einer elektronischen Vorrichtung; Bestimmen unter Verwendung eines Prozessors eines vorbestimmten Kontextes basierend auf dem Datenverband; Empfangen einer Benutzertexteingabe an einer Eingabevorrichtung der elektronischen Vorrichtung; Analysieren der Benutzertexteingabe unter Verwendung eines Prozessors basierend auf dem vorbestimmten Kontext; und Anbieten einer vorgeschlagenen Änderung der Benutzertexteingabe unter Verwendung eines Prozessors basierend auf dem vorbestimmten Kontext.
-
Ein anderer Aspekt stellt ein Gerät bereit, das Folgendes umfasst: ein Eingabegerät; einen Sensor; einen Prozessor, der operativ mit dem Eingabegerät und dem Sensor gekoppelt ist; und einen Speicher, der operativ mit dem Prozessor gekoppelt ist und Anweisungen speichert, die von dem Prozessor ausführbar sind, wobei die Anweisungen Folgendes umfassen: Anweisungen, die auf einen Datenverband zugreifen; Anweisungen, die einen vorbestimmten Kontext basierend auf dem Datenverband bestimmen; Anweisungen, die eine Benutzertexteingabe an dem Eingabegerät empfangen; Anweisungen, welche die Benutzertexteingabe basierend auf dem vorbestimmten Kontext analysieren; und Anweisungen, die eine vorgeschlagene Änderung der Benutzertexteingabe basierend auf dem vorbestimmten Kontext anbieten.
-
Ein weiterer Aspekt stellt ein Programmprodukt bereit, das Folgendes umfasst: ein Speichergerät, in dem ein Programmcode verkörpert ist, wobei der Programmcode von einem Prozessor ausführbar ist und Folgendes umfasst: Programmcode, der auf einen Datenverband zugreift; Programmcode, der einen vorbestimmten Kontext basierend auf dem Datenverband bestimmt; Programmcode, der an einem Eingabegerät des elektronischen Gerätes eine Benutzertexteingabe empfängt; Programmcode, der die Benutzertexteingabe basierend auf dem vorbestimmten Kontext analysiert; und Programmcode, der eine vorgeschlagene Änderung der Benutzertexteingabe basierend auf dem vorbestimmten Kontext anbietet.
-
Das Vorstehende ist eine Zusammenfassung und kann somit Vereinfachungen, Verallgemeinerungen und fehlende Einzelheiten umfassen; folglich wird der Fachmann verstehen, dass die Kurzdarstellung rein erläuternd ist und keineswegs dazu gedacht ist, einschränkend zu sein.
-
Zum besseren Verständnis der Ausführungsformen zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben wird auf die nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein beispielhaftes Informationshandhabungsgerät.
-
2 ein anderes beispielhaftes Informationshandhabungsgerät.
-
3 ein beispielhaftes Verfahren für eine kontextbasierte Textkorrektur.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Komponenten der Ausführungsformen, wie sie hier allgemein beschrieben und in den Figuren abgebildet sind, zusätzlich zu den beschriebenen Ausführungsbeispielen in vielen verschiedenen Konfigurationen angeordnet und ausgelegt sein können. Somit ist die nachstehende ausführlichere Beschreibung der Ausführungsbeispiele, wie in den Figuren dargestellt, nicht dazu gedacht, den Umfang der beanspruchten Ausführungsformen einzuschränken, sondern ist nur für Ausführungsbeispiele repräsentativ.
-
Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” (oder ähnliche Ausdrücke) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Redewendungen „bei einer Ausführungsform” und dergleichen an verschiedenen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt immer auf die gleiche Ausführungsform.
-
Ferner können die beschriebenen Merkmale, Strukturen oder Kennzeichen in einer beliebigen geeigneten Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachstehenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Der Fachmann auf diesem Gebiet wird jedoch erkennen, dass die diversen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Bauteilen, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden hinlänglich bekannte Strukturen, Materialien oder Vorgänge der Übersichtlichkeit halber nicht gezeigt oder ausführlich beschrieben.
-
Obwohl frühere Systeme geeignet sind, um übliche Rechtschreibfehler und übliche Grammatikfehler zu korrigieren, gelingt es den herkömmlichen Systemen oftmals nicht, den Benutzern die Art von Vorschlägen anzubieten, die wirklich hilfreich ist. Beispielsweise gelingt es den herkömmlichen Systemen nicht, zu unterscheiden, dass ein richtig geschriebenes Wort an der falschen Stelle steht oder falsch angewendet wird, wie etwa in dem Satz „Der Mann ist Tod”. Hier ist „Tod” richtig geschrieben, aber die richtige Verwendung ist „tot”, was herkömmliche Systeme nicht erkennen können.
-
Entsprechend verwendet eine Ausführungsform den Kontext für die automatische Korrektur und/oder vorgeschlagene Änderungen. Beispielsweise in einem Dokument (z.B. einem Textverarbeitungsdokument, einer E-Mail-Nachricht usw.) zum Thema Frühstück, kann eine Benutzereingabe von „Leib” auf Grund der Kenntnis des Kontextes und der Interferenzen, dass zum Beispiel das betreffende Thema das Frühstück oder der Morgen ist, die jeweils mit dem Wort „Laib” und nicht mit dem Wort „Leib” verknüpft sind, mit „Laib” korrigiert werden.
-
Die abgebildeten Ausführungsbeispiele sind am besten mit Bezug auf die Figuren verständlich. Die nachstehende Beschreibung ist dazu gedacht, rein beispielhaft zu sein und bildet nur gewisse Ausführungsbeispiele ab.
-
Obwohl diverse andere Schaltkreise, Schaltungen oder Bauteile in Informationshandhabungsgeräten verwendet werden können, umfasst mit Bezug auf die Schaltungen 100 eines Smartphones und/oder Tablets ein in 1 abgebildetes Beispiel eine Systembauform, die beispielsweise bei Tablets oder anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einer einzigen Einheit 110 kombiniert. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) mit einer einzigen Einheit 110 verbunden werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Controller-Hub alle zusammen in eine einzige Einheit 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA, PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt Stromverwaltungsschaltungen 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwalten, der beispielsweise über eine aufladbare Batterie 140 zugeführt wird, die durch Anschließen an eine Stromquelle (nicht gezeigt) aufgeladen werden kann. Bei mindestens einer Bauform wird eine einzige Einheit, wie etwa 110, verwendet, um eine BIOS-artige Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise einen oder mehrere von einem WWAN-Transceiver 150 und einem WLAN-Transceiver 160 zum Anschließen an diverse Netzwerke, wie etwa Telekommunikationsnetzwerke und drahtlose Internet)-Vorrichtungen, z.B. Zugangspunkten. Zusätzliche Geräte 120 sind gewöhnlich enthalten. Zusätzliche Geräte können drahtlose Kurzstrecken-Funkgeräte, wie etwa BLUETOOTH-Radios, zum Kommunizieren mit anderen Geräten umfassen. Nahbereichs-Kommunikationselemente können ebenfalls als zusätzliche Geräte 120 enthalten sein. Gewöhnlich umfasst das System 100 einen Berührungsbildschirm/Controller 170 zur Dateneingabe und Anzeige. Das System 100 umfasst typischerweise auch diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 wiederum bildet ein Blockdiagramm eines anderen Beispiels der Schaltkreise, Schaltungen oder Bauteile eines Informationshandhabungsgerätes ab. Das in 2 abgebildete Beispiel kann Computersystemen, wie etwa der THINKPAD-Serie von PCs, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder anderen Vorrichtungen entsprechen. Wie es aus der vorliegenden Beschreibung hervorgeht, können die Ausführungsformen andere Merkmale oder nur einige der Merkmale des in 2 abgebildeten Beispiels umfassen.
-
Das Beispiel aus 2 umfasst einen Satz 210 (eine Gruppe integrierter Schaltungen, die zusammenarbeiten) mit einer Architektur, die je nach Hersteller unterschiedlich sein kann (beispielsweise INTEL, AMD, ARM usw.). INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Zuständigkeitsbereichen. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Zuständigkeitsbereichen. ARM ist ein Warenzeichen von ARM Holdings plc in diversen Zuständigkeitsbereichen.
-
Die Architektur des Satzes 210 umfasst einen Kern und eine Speichersteuergruppe 220 und einen E/A-Controller-Hub 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine direkte Verwaltungsschnittstelle (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Schnittstelle (manchmal als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet). Der Kern und die Speichersteuergruppe 220 umfassen einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Controller-Hub 226, die Informationen über einen Front-Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in eine Einheit integriert sein können, welche die herkömmliche „Northbridge-”Architektur ersetzt.
-
In 2 bildet der Speicher-Controller-Hub 226 eine Schnittstelle mit dem Speicher 240 (um beispielsweise eine Unterstützung für eine Art von RAM bereitzustellen, die man als „Systemspeicher” oder „Speicher” bezeichnen kann). Der Speicher-Controller-Hub 226 umfasst ferner eine LVDS-Schnittstelle 232 für eine Anzeigevorrichtung 292 (z.B. einen CRT, einen Flachbildschirm, einen Berührungsbildschirm usw.). Ein Block 238 umfasst eine gewisse Technik, die über die LVDS-Schnittstelle 232 unterstützt werden kann (z.B. serielles digitales Video, HDMI/DVI, Display-Anschluss). Der Speicher-Controller-Hub 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Hub-Controller 250 eine SATA-Schnittstelle 251 (beispielsweise für HDDs, SDDs, 280 usw.), eine PCI-E-Schnittstelle 252 (beispielsweise für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (beispielsweise für Vorrichtungen 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, andere angeschlossene Vorrichtungen usw.), eine Netzwerkschnittstelle 254 (beispielsweise LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, einen TPM 272, einen Super-E/A 273, einen Firmware-Hub 274, eine BIOS-Unterstützung 275 sowie diverse Arten von Speichern 276, wie etwa einen ROM 277, einen Flash 278 und einen NVRAM 279), eine Stromverwaltungsschnittstelle 261, eine Taktgeberschnittstelle 262, eine Audioschnittstelle 263 (beispielsweise für die Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemverwaltungsbus-Schnittstelle 265 und SPI-Flash 266, die ein BIOS 268 und Boot-Code 290 umfassen können. Der E/A-Hub-Controller 250 kann Gigabit-Ethernet-Unterstützung umfassen.
-
Beim Einschalten kann das System konfiguriert sein, um den Boot-Code 290 für das BIOS 268 auszuführen, der in dem SPI-Flash 266 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und Anwendungs-Software (die beispielsweise im Systemspeicher 240 gespeichert ist). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 268 zugänglich sein. Wie hier beschrieben, kann ein Gerät eine geringere oder größere Anzahl von Merkmalen umfassen als sie in dem System aus 2 gezeigt werden.
-
Schaltungen von Informationshandhabungsgeräten, wie beispielsweise in 1 oder 2 angesprochen, können bei Geräten, wie etwa Tablets, Smartphones und/oder anderen Geräten, über die ein Benutzer Eingaben bereitstellt (z.B. Buchstabeneingaben über eine Tastatur oder Wörtereingaben, die in Maschinentext umgewandelt werden).
-
Wie hier beschrieben, analysiert eine Ausführungsform in der Bemühung, die automatische Korrektur und die vorgeschlagenen Änderungen für die Benutzertexteingaben zu erweitern und zu verbessern, die Kontextdaten auf intelligente Art und Weise. Eine Ausführungsform kann Kontextdaten aus diversen Quellen beziehen, und zwar sowohl lokalen als auch entfernten (z.B. ein entfernter/ rechnerunabhängiger Gerätespeicher mit Kontextdaten).
-
Beispielsweise kann eine Ausführungsform Kontextdaten von früheren Benutzereingaben ableiten, z.B. innerhalb des gleichen Satzes oder der gleichen Redewendung, aus dem gleichen Paragraf des Dokumentelements (Eingabefeld, Aufzählungspunkt, Liste usw.), aus einem Titel des Dokuments oder der Nachricht, aus der Anwendung, die verwendet wird, aus einem Dateinamen usw. Ebenso können Kontextdaten aus erfassten Daten abgeleitet werden, z.B. Standortdaten, Zeitdaten, Bewegungsdaten, Sprach- oder Gestendaten, Kombinationen derselben usw.
-
Mit diesen diversen Quellen von Kontextdaten kann eine Ausführungsform einen Kontext bestimmen, in dem ein Benutzer eine Texteingabe bereitgestellt hat. Beispielsweise kann bei einem Dokument ein erster Satz die folgende Benutzereingabe umfassen: „Heute morgen hatte ich kein Brot mehr”. Dann kann die folgende Benutzereingabe empfangen werden: „Also wollte ich einen Leib Brot kaufen”. Bei diesem Beispiel würde ein herkömmliches System nicht feststellen, dass es eventuell ein Problem mit dem Wort „Leib” in dem zweiten Satz gibt, da keine Kontextdaten verwendet werden.
-
Eine Ausführungsform kann jedoch die früheren Eingaben untersuchen, bei diesem Beispiel passen z.B. in einer Taxonomie oder anderen thematischen Hierarchie „heute Morgen” und „Brot” zum Thema „Frühstück”. Beispielsweise kann eine thematische Hierarchie „heute Morgen” und/oder „Brot” als Kindknoten des Vaterknotens „Frühstück” umfassen. Wenn die Hierarchie „Laib” als einen anderen Kindknoten des Vaterknotens „Frühstück” umfasst, ermöglicht es dies einer Ausführungsform zu folgern, dass das richtige Wort „Laib” statt „Leib” sein könnte, da diese Wörter bekanntlich Homonyme sind, und dies als Änderung für den Benutzer vorzuschlagen.
-
Andere Kontextdaten können diese Lösung verbessern, z.B. das Verleihen einer Gewichtung für eine Bewertung oder eine Vertrauensstufe eines bestimmten Wortes. Beispielsweise könnte ein Sensor, wie etwa eine integrierte Uhr, welche die aktuelle lokale Zeit, z.B. 7 Uhr 30, angibt, Daten bereitstellen, die von einer Ausführungsform verwendet werden, um das Vertrauen zu bestärken, dass das beabsichtigte Wort „Laib” statt „Leib” ist. Es können auch andere Sensoren und Kontextdaten verwendet werden.
-
Nun mit Bezug auf 3 ist ein beispielhaftes Verfahren zum Korrigieren oder Vorschlagen unter Verwendung des Kontextes abgebildet. Es versteht sich, dass eine Ausführungsform bei 310 auf einen Kontextdatenverband zugreifen kann. Der Kontextdatenverband kann Rohdaten, z.B. kürzlich empfangene Benutzereingaben, und/oder verarbeitete Daten, z.B. Benutzereingaben, die Knoten innerhalb einer Hierarchie zugeordnet sind, ein Thema oder einen Kontext, das bzw. der über diese Zuordnung verknüpft oder ausgewählt wird, usw., wie es hier beschrieben wird, umfassen.
-
Dies ermöglicht es einer Ausführungsform, bei 320 einen vorbestimmten Kontext zu bestimmen. D.h. eine Ausführungsform kann einen Kontext oder Hintergrund zur Hilfe bei der Deutung weiterer Eingaben intelligent folgern. Wie bei dem vorhergehenden Beispiel kann eine Ausführungsform frühere Benutzertexteingaben, die lokale Zeit usw. verwenden, um zu bestimmen, dass angesichts einer Sammlung von Kontextdaten, die z.B. in einem Kontextdatenverband gespeichert sind, der Kontext „morgens” oder „Frühstück” ist.
-
Wenn ein Benutzer dann Text z.B. bei 330 eingibt, kann eine Ausführungsform die Benutzereingabe angesichts ihres Kontexthintergrunds auswerten. Beispielsweise kann bei 340 eine Benutzereingabe mit Text, z.B. „Leib”, die bei 330 empfangen wird, bei 340 nicht nur auf Rechtschreibung sondern auch auf der Grundlage des Kontextes analysiert werden. D.h. eine Ausführungsform kann bei 340 die Eingabe „Leib” angesichts des Kontextes analysieren, der z.B. aus dem Kontextdatenverband abgeleitet wird.
-
Auf diese Art und Weise kann eine Ausführungsform bei 350 bestimmen, ob ein eventueller Fehler in der Eingabe vorliegt. Beispielhaft kann eine Ausführungsform das Wort angesichts einer Vertrauensstufe mit Bezug auf die Angemessenheit basierend auf dem Kontext bewerten. Dabei kann das Wort „Leib” eine niedrige Bewertung bekommen, da das Wort „Leib” mit dem Kontext „morgens” oder „Frühstück” usw. nicht viel zu tun hat. Es versteht sich, dass diverse Bewertungssysteme, wie auch diverse verschiedene Hierarchien oder andere Kontextdateninformationen, verwendet werden können.
-
Wenn eine Ausführungsform bei 350 bestimmt, dass es vielleicht ein Problem gibt, z.B. dass die bestimmte Benutzereingabe eine geringe Bewertung aufweist (z.B. unter einer vorbestimmten Schwelle), kann eine Ausführungsform bei 360 eine Änderung vorschlagen. Ansonsten kann eine Ausführungsform den Text ohne Änderung oder Vorschlag eingeben. Die Änderung kann eine automatische Korrektur umfassen, z.B. wenn ein anderes Wort, z.B. „Laib” bekanntlich eine besonders hohe Bewertung aufweist, z.B. ein Homonym von „Leib” und ein Wort, das als Kindzweig von „Frühstück” enthalten ist.
-
Somit kann eine Ausführungsform unter Verwendung eines Prozessors eines elektronischen Gerätes bei 310 auf einen Kontextdatenverband zugreifen, bei 320 einen vorbestimmten Kontext basierend auf dem Kontextdatenverband bestimmen, und anschließend bei 330 eine Benutzertexteingabe an einem Eingabegerät der elektronischen Vorrichtung empfangen. Eine Ausführungsform kann dann bei 340 die Benutzertexteingabe basierend auf dem vorbestimmten Kontext analysieren, und wenn sie bei 350 für angemessen angesehen wird, bei 360 eine vorgeschlagene Änderung der Benutzertexteingabe basierend auf dem vorbestimmten Kontext anbieten.
-
Wie er hier beschrieben wird, kann der Kontextdatenverband mit Daten ausgefüllt werden, die zuvor vom Benutzer empfangen werden, z.B. eine oder mehrere Benutzertexteingaben, die an einem Eingabegerät eines elektronischen Gerätes empfangen wird bzw. werden. Dies ermöglicht es einer Ausführungsform, ein Wort der einen oder der mehreren Texteingaben mit einem vorbestimmten Thema innerhalb einer Hierarchie zu verknüpfen und in dem Kontextdatenverband Kontextdaten zu speichern, die von der einen oder den mehreren Benutzertexteingaben abgeleitet werden.
-
Beispielhaft kann der Zugriff auf den Kontextdatenverband bei 310 das Zugreifen auf Kontextdaten, die von der einen oder den mehreren Benutzertexteingaben abgeleitet werden, umfassen, und das Bestimmen eines vorbestimmten Kontextes bei 320 kann das Auswählen eines aktiven vorbestimmten Themas basierend auf den Kontextdaten, die von der einen oder den mehreren Benutzertexteingaben abgeleitet werden, umfassen. Dies kann regelmäßig, gelegentlich oder ständig erfolgen.
-
Wie es hier beschrieben wurde, können andere Quellen von Kontextdaten bei der Analyse des Kontextes und der Auswahl eines aktiven Themas oder eines vorbestimmten Kontextes beitragen. Beispielsweise kann bzw. können eine oder mehrere Sensoreingaben mit einem vorbestimmten Thema in einer Hierarchie verknüpft sein. Wie es der Fachmann auf dem Gebiet verstehen wird, können diverse Sensoren und diesbezügliche Eingaben bei einer derartigen Analyse nützlich sein, z.B. eine Mikrofoneingabe, eine Eingabe eines globalen Satelliten-Positionsbestimmungssystems, eine aus einem drahtlosen Netzwerk abgeleitete Eingabe und eine Eingabe eines Beschleunigungsmessers usw.
-
Bei einer Ausführungsform kann der vorbestimmte Kontext ein Thema umfassen, das mit vorhergehenden Benutzereingaben in einer aktiven Eingabesitzung verknüpft ist. Somit kann eine Ausführungsform ein Thema für eine bestimmte Benutzereingabesitzung auswählen, wie etwa wenn ein Benutzer damit beginnt, in einem Textverarbeitungsprogramm zu tippen. Dieses vorbestimmte Thema oder dieser Kontext kann dann gemäß einer Strategie, z.B. gelegentlich, als Reaktion auf eine bestimmte Eingabemenge, ständig usw. aktualisiert werden.
-
Dies ermöglicht es einer Ausführungsform, eine zusätzliche oder andere Form der Bewertung mit Bezug auf die Eingaben zu verwenden. Dies ermöglicht es einer Ausführungsform, Vorschläge und Änderungen in vielen Fällen anzubieten, in denen herkömmliche Systeme versagen, z.B. für richtig geschriebene Wörter, die falsch verwendet werden oder an der falschen Stelle stehen.
-
Wie es der Fachmann ferner verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software und Hardware, die hier allgemein als „Schaltung”, „Modul” oder „System” bezeichnet wird, annehmen. Ferner können Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode ausgebildet ist.
-
Alle Kombinationen von einem oder mehreren Medien, das bzw. die für Nicht-Signalgeräte lesbar ist bzw. sind, können verwendet werden. Ein Speichermedium kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleitersystem, eine Vorrichtung oder ein Gerät oder eine beliebige geeignete Kombination derselben sein. Genauere Beispiele eines Speichermediums würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Festspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, eine tragbare CD (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichermedium kein Signal, und der Begriff „nicht vorübergehend” umfasst alle Medien außer Signalmedien.
-
Programmcode, der auf einem Speichermedium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung drahtlos, drahtgebunden, über Glasfaserkabel, HF usw. oder eine beliebige geeignete Kombination derselben übertragen werden.
-
Programmcode zum Ausführen von Operationen kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen verfasst sein. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als selbstständiges Software-Paket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät oder vollständig auf dem anderen Gerät ausgeführt werden. In manchen Fällen können die Geräte über eine beliebige Art von Verbindung oder Netzwerk verbunden werden, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehört, oder die Verbindung kann über andere Geräte (beispielsweise über das Internet unter Verwendung eines Internet-Anbieters), über drahtlose Verbindungen, z.B. Nahfeldkommunikation oder drahtlose Kurzstrecken-Kommunikation, oder über eine verkabelte Verbindung, wie etwa über eine USB-Verbindung, hergestellt werden.
-
Es werden hier Ausführungsbeispiele mit Bezug auf die Figuren beschrieben, die beispielhafte Verfahren, Geräte und Programmprodukte gemäß diversen Ausführungsbeispielen abbilden. Es versteht sich, dass die Aktionen und die Funktionalität mindestens teilweise durch Programmanweisungen umgesetzt werden können. Diese Programmanweisungen können einem Prozessor eines Informationshandhabungsgerätes oder eines anderen programmierbaren Datenverarbeitungsgerätes bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über einen Prozessor des Gerätes ausgeführt werden, die vorgegebenen Funktionen/Aktionen umsetzen.
-
Es ist erwähnenswert, dass obwohl spezifische Blöcke in den Figuren verwendet werden und eine bestimmte Reihenfolge von Blöcken abgebildet wurde, diese keine einschränkenden Beispiele sind. In bestimmten Zusammenhängen können zwei oder mehrere Blöcke kombiniert werden, ein Block kann in zwei oder mehrere Blöcke unterteilt werden, oder bestimmte Blöcke können je nach Bedarf umgeordnet oder umgestellt werden, da die ausdrücklich abgebildeten Beispiele nur zur Beschreibung verwendet werden und nicht als einschränkend auszulegen sind.
-
Wie sie hier verwendet wird, kann die Singularform „ein” als die Pluralform umfassend ausgelegt werden, soweit nicht eindeutig anderweitig angegeben.
-
Die vorliegende Offenbarung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist aber nicht dazu gedacht, erschöpfend oder einschränkend zu sein. Zahlreiche Modifikationen und Variationen werden für den Fachmann ersichtlich sein. Die Ausführungsbeispiele wurden gewählt und beschrieben, um die Grundlagen und die praktische Anwendung zu erklären, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für diverse Ausführungsformen zu verstehen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind.
-
Obwohl somit hier erläuternde Ausführungsbeispiele mit Bezug auf die beiliegenden Figuren beschrieben wurden, versteht es sich, dass diese Beschreibung nicht einschränkend ist und dass diverse andere Änderungen und Modifikationen hier vom Fachmann vorgenommen werden können, ohne Umfang oder Geist der Offenbarung zu verlassen.