-
HINTERGRUND
-
Die Tragbarkeit von Informationshandhabungsgeräten („Geräten“) hat es den Benutzern ermöglicht, die Geräte überall zu verwenden. Einige Benutzer ziehen es vor, eine Eingabe für diese Geräte, beispielsweise Smartphones, Tablets, intelligente Armbanduhren, PCs, Laptop-Computer und dergleichen, unter Verwendung einer Sprache-zu-Text-Technologie oder einer Spracherkennungs-Software bereitzustellen. In dem Maße wie die Sprache-zu-Text-Technologie genauer und einfacher zu verwenden ist, verwenden die Benutzer die Software, um lange Textblöcke statt kurze Nachrichten, beispielsweise diktierte E-Mails statt kurze Textnachrichten, bereitzustellen. Um das Diktieren unter Verwendung der Sprache-zu-Text-Technologie genauer zu machen, muss der Benutzer einen Sprachbefehl bereitstellen, um Satzzeichen in den Textblock einzugeben. Beispielsweise muss der Benutzer das Wort „Komma“ sagen, statt „,“ einzutippen wie bei herkömmlichen Eingabeverfahren.
-
Die Druckschrift
US 2009/0216531 A1 beschreibt ein Verfahren zum Bereitstellen von Texteingaben mittels sprachlicher Daten und nicht-sprachlicher Daten.
-
Die Druckschrift
US 7,260,529 B1 beschreibt ein Verfahren zum Bereitstellen von Befehlssignalen, die jeweils einen gewünschten Computer-Betriebsbefehl repräsentieren, die einen Diktiermodus übersteuern sobald ein solcher Betriebsbefehl ausgeführt wird.
-
Die Druckschrift
EP 1 430 474 B1 beschreibt ein Verfahren zur Korrektur eines von einer Spracherkennung erkannten Textes mittels Vergleiches der Phonemfolgen des erkannten Textes mit einer phonetischen Transkription eines manuell eingegebenen Korrekturwortes.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: Empfangen einer Spracheingabe von einem Audioaufnahmegerät; Umwandeln, unter Verwendung eines Prozessors, der Spracheingabe in Maschinentext; Empfangen einer Eingabe von einer anderen Eingabequelle, die mindestens ein Zeichen umfasst; Identifizieren, unter Verwendung eines Prozessors, einer Position, die mit dem Maschinentext verknüpft ist, um das mindestens eine Zeichen einzufügen; und Einfügen, unter Verwendung eines Prozessors, des mindestens einen Zeichens an der identifizierten Position.
-
Ein anderer Aspekt stellt eine Informationshandhabungsgerät bereit, das Folgendes umfasst: ein Audioaufnahmegerät; einen Prozessor, der operativ mit dem Audioaufnahmegerät gekoppelt ist; ein Speichergerät, das Anweisungen speichert, die durch den Prozessor ausführbar sind, zum: Empfangen einer Spracheingabe von einem Audioaufnahmegerät; Umwandeln, unter Verwendung eines Prozessors, der Spracheingabe in Maschinentext; Empfangen einer Eingabe von einer anderen Eingabequelle, die mindestens ein Zeichen umfasst; Identifizieren einer Position, die mit dem Maschinentext verknüpft ist, um das mindestens eine Zeichen einzufügen; und Einfügen des mindestens einen Zeichens an der identifizierten Position.
-
Ein weiterer Aspekt stellt ein Produkt bereit, das Folgendes umfasst: ein Speichergerät, das Code speichert, der durch einen Prozessor ausführbar ist, wobei der Code Folgendes umfasst: Code, der eine Spracheingabe von einem Audioaufnahmegerät empfängt; Code, der die Spracheingabe in Maschinentext umwandelt; Code, der von einer anderen Eingabequelle eine Eingabe empfängt, die mindestens ein Zeichen umfasst; Code, der unter Verwendung eines Prozessors eine Position identifiziert, die mit dem Maschinentext verknüpft ist, um das mindestens eine Zeichen einzufügen; und Code, der unter Verwendung eines Prozessors das mindestens eine Zeichen an der identifizierten Position einfügt.
-
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 gesehen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
- 1 ein Beispiel der Schaltungen eines Informationshandhabungsgerätes.
- 2 ein anderes Beispiel der Schaltungen eines Informationshandhabungsgerätes.
- 3 ein beispielhaftes Verfahren zum Einfügen von Zeichen bei der Spracherkennung.
- 4A bis 4B ein Beispiel der Einfügung von Zeichen bei der Spracherkennung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Komponenten der Ausführungsformen, wie sie hierin 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.
-
Die Sprache-zu-Text-Technologie ist zu einer immer beliebteren Möglichkeit geworden, eine Eingabe für ein Informationshandhabungsgeräte bereitzustellen. Die Technologie ist genauer geworden, so dass manche Benutzer das Bereitstellen einer Spracheingabe gegenüber herkömmlichen Verfahren, beispielsweise der Verwendung einer virtuellen Tastatur, einer herkömmlichen Tastatur, eines Tastenfeldes, einer Maus und dergleichen, selbst in Situationen bevorzugen, in denen der Benutzer in der Lage ist, eine manuelle Eingabe bereitzustellen. Da die Benutzer die Technologie immer mehr verwenden, um längere Textblöcke statt kurze Nachrichten bereitzustellen, kann es sein, dass die Benutzer richtig mit Satzzeichen versehene Textblöcke wünschen. Das Problem bei der aktuellen Sprache-zu-Text-Technologie besteht darin, dass das Eingeben von Satzzeichen oder anderen Zeichen, die keine Buchstaben sind, typischerweise durch einen Sprachbefehl erfolgt. Mit anderen Worten muss der Benutzer das Wort aussprechen, das mit dem gewünschten Satzzeichen verknüpft ist, beispielsweise „Ausrufezeichen“, statt einfach „!“ einzutippen. Das Einfügen von Satzzeichen und Symbolen durch das Diktieren von Befehlen ist sowohl unnatürlich als auch bei normalen Gedankenprozessen störend. Zudem kann es manchmal sein, dass die Sprache-zu-Text-Technologie die Eingabe von bestimmten Zeichen, beispielsweise Emoticons, nicht unterstützt.
-
Eine derzeit verwendete Lösung beruht auf Software-Algorithmen, die Satzzeichen basierend auf Pausen vorhersagen. Falls mit anderen Worten ein Benutzer anhält, während er die Spracheingabe bereitstellt, kann die Technologie diese Pause als Komma oder Punkt erkennen. Das Problem dabei ist, dass dieses Verfahren ungenau sein kann. Falls ein Benutzer beispielsweise einen Gedanken begonnen hat, dann aber anhält, um weiter nachzudenken, kann es sein, dass die Technologie dies als eine Position für einen Punkt deutet, doch der Satz vielleicht noch gar nicht beendet ist. In der Bemühung, bei dem ungenauen Einsetzen von Satzzeichen behilflich zu sein, verwendet eine gewisse Sprache-zu-Text-Technologie den Kontext, um bei der Behebung dieses Problems behilflich zu sein, doch neigt diese wiederum dazu, ungenau zu sein. Zudem kann es sein, dass das von der Software gewählte Satzzeichen nicht das vom Benutzer gewünschte Satzzeichen ist. Beispielsweise kann es sein, dass der Benutzer ein Ausrufezeichen wünscht, doch dass die Software stattdessen vielleicht einen Punkt verwendet.
-
Eine andere Lösung besteht darin, es einem Benutzer zu erlauben, eine Eingabe unter Verwendung eines Eingabeverfahrens herkömmlicher Art, beispielsweise mit einer Tastatur, einer virtuellen Tastatur, einem Zahlenfeld, einer Maus und dergleichen, zusammen mit der Sprache-zu-Text-Eingabe bereitzustellen. Obwohl es das aktuelle Verfahren einem Benutzer erlaubt, eine manuelle Eingabe bereitzustellen, kann die Eingabe jedoch nur bereitgestellt werden, nachdem der Text angezeigt wurde. Mit anderen Worten muss der Benutzer, da die Sprache-zu-Text-Technologie eine Verzögerung zwischen dem Sprechen des Benutzers und dem Erscheinen des Textes aufweist, warten, bis der Text ganz erschienen ist, um das Satzzeichen unter Verwendung des manuellen Verfahrens bereitzustellen. Dies bewirkt, dass der Benutzer warten muss, und die Gedankenfolge unterbricht, was sehr frustrierend sein kann.
-
Diese technischen Probleme sind dadurch für die Benutzer problematisch, dass es schwierig sein kann, unter Verwendung von herkömmlicher Sprache-zu-Text-Erkennungs-Software Textblöcke mit richtigen Satzzeichen bereitzustellen. Die herkömmliche Sprache-zu-Text-Erkennungs-Software erfordert, dass ein Benutzer ein verbales Satzzeichen oder ein diktiertes Symbol bereitstellt, das dem gewünschten Satzzeichen oder Symbol entspricht. Software-Algorithmen, die Satzzeichen basierend auf Pausen und Wortkontext vorhersagen, sind nicht immer genau. Zudem kann es schwierig oder gar unmöglich sein, mit der aktuellen Sprache-zu-Text-Technologie andere Zeichen, beispielsweise Symbole, Zahlen, Emoticons und dergleichen, bereitzustellen. Das aktuelle Verfahren, um es einem Benutzer zu erlauben, eine herkömmliche Eingabe im Hinblick auf die Symbole bereitzustellen, erfordert, dass der Benutzer wartet, bis die Sprache-zu-Text-Technologie die Verarbeitung der Sprache beendet hat. Diese Verfahren unterbrechen die Gedanken eines Benutzers und sind umständlich.
-
Entsprechend stellt eine Ausführungsform ein Verfahren bereit, das es einem Benutzer erlaubt, eine manuelle Eingabe bereitzustellen, die mindestens ein Zeichen umfasst, während er eine Spracheingabe bereitstellt. Eine Ausführungsform empfängt eine Spracheingabe und beginnt damit, die Spracheingabe in Maschinentext umzuwandeln. Wenn eine Ausführungsform von einer anderen Eingabequelle eine Eingabe empfängt, die mindestens ein Zeichen umfasst, kann eine Position für das mindestens eine Zeichen innerhalb des Maschinentextes identifiziert werden. Bei einer nicht erfindungsgemäßen Ausführungsform kann die Eingabe, die mindestens ein Zeichen umfasst, empfangen werden, während die Spracheingabe empfangen wird. Alternativ wird erfindungsgemäß die Eingabe, die mindestens ein Zeichen umfasst, empfangen, während eine Ausführungsform die Sprache in Maschinentext umwandelt.
-
Wenn das mindestens eine Zeichen empfangen wird, kann eine Ausführungsform zusätzlich einen Zeitstempel empfangen, der mit dem mindestens einen Zeichen verknüpft ist. Bei dem Identifizieren der Position für das Einfügen des mindestens einen Zeichens kann eine nicht erfindungsgemäße Ausführungsform den Zeitstempel, der mit dem Zeichen verknüpft ist, verwenden und einen entsprechenden Zeitstempel innerhalb der Spracheingabe identifizieren. Eine Ausführungsform kann zusätzlich zu dem Zeitstempel den Kontext verwenden, um die beste Position für das mindestens eine Zeichen zu bestimmen. Falls beispielsweise der Zeitstempel für den Empfang der zweiten Eingabe und der Zeitstempel, der mit der Spracheingabe verknüpft ist, nicht übereinstimmen, kann eine Ausführungsform zusätzliche Informationen verwenden, um die beste Position für das mindestens eine Zeichen zu bestimmen. Eine Ausführungsform kann dann das mindestens eine Zeichen an der identifizierten Position einfügen. Zusätzlich zu dem Einsetzen des Zeichens kann eine Ausführungsform eine Angabe bereitstellen, wo sich das Zeichen innerhalb des Maschinentextes befand. Mit anderen Worten kann es eine Ausführungsform einem Benutzer erlauben, eine manuelle Eingabe bereitzustellen, während eine Ausführungsform die Eingabe in Text umwandelt, statt zu erfordern, dass der Benutzer wartet, bis das System die Verarbeitung der Spracheingabe beendet hat.
-
Die abgebildeten Ausführungsbeispiele werden 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 ein System-on-Chip Design, welches beispielsweise bei Tablets oder in anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einem einzigen Chip 110 kombiniert. Die Prozessoren umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) an einem einzigen Chip 110 angebracht werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Steuerknoten alle zusammen in einen einzigen Chip 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA, PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt Stromverwaltungschips 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwalten, wie er 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 ein einziger Chip, 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-Geräte, z.B. Zugangspunkte. Zudem sind üblicherweise Geräte 120, z.B. ein Audioeingabegerät, wie etwa ein Mikrofon, ein Bildsensor, wie etwa eine Kamera, und dergleichen enthalten. Das System 100 umfasst häufig einen Berührungsbildschirm 170 zur Dateneingabe und Anzeige/Wiedergabe. Das System 100 umfasst typischerweise auch diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 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 Geräten 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 so genannten Chipsatz 210 (eine Gruppe integrierter Schaltungen bzw. Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die je nach Hersteller (beispielsweise INTEL, AMD, ARM usw.) unterschiedlich sein kann. INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist ein nicht eingetragenes Warenzeichen von ARM Holdings plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuergruppe 220 und einen E/A-Steuerknoten 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge“ und einer „Southbridge“ bezeichnet). Die Kern- und Speichersteuergruppe 220 umfasst einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Steuerknoten 226, die Informationen über einen Front-Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in einen Chip integriert sein können, der die herkömmliche „Northbridge-“ Architektur ersetzt. Ein oder mehrere Prozessoren 222 umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist.
-
In 2 bildet der Speicher-Steuerknoten 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-Steuerknoten 226 umfasst ferner eine Niederspannungs-Differenzialsignalisierung- (LVDS) Schnittstelle 232 für ein Anzeigegerät 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, DisplayPort). Der Speicher-Steuerknoten 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Steuerknoten 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 Geräte 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, andere angeschlossene Geräte 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-Steuerknoten 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 (beispielsweise im Systemspeicher 240 gespeichert). 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 eine Vorrichtung 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, persönlichen Computergeräten allgemein und/oder elektronischen Geräten, die verwendet werden können, um eine Spracheingabe zu verarbeiten, verwendet werden. Beispielsweise können die in 1 angesprochenen Schaltungen in einer Tablet- oder Smartphone-Ausführungsform umgesetzt werden, wohingegen die in 2 angesprochenen Schaltungen in einer PC-Ausführungsform umgesetzt werden können.
-
Nun mit Bezug auf 3 kann eine Ausführungsform bei 301 eine Spracheingabe von einem Audioaufnahmegerät (z.B. einem Mikrofon usw.) empfangen. Beispielsweise kann ein Benutzer eine Spracheingabe zum Diktieren oder als Befehl für ein Gerät bereitstellen. Um die Spracheingabe zu empfangen, kann das Gerät eine Sprache-zu-Text-Anwendung ausführen. Zum Beispiel kann es sein, dass der Benutzer eine Schaltfläche ausgewählt hat, die dem Gerät angibt, dass der Benutzer eine Spracheingabe bereitstellt, die von dem Gerät diktiert werden soll. Unter Verwendung der Sprache-zu-Text-Technologie oder Software kann eine Ausführungsform bei 302 damit beginnen, unter Verwendung eines Prozessors die Spracheingabe in Maschinentext umzuwandeln. Die Umwandlung kann unter Verwendung der Sprache-zu-Text-Technologie oder Software, wie es in der Technik bekannt ist, beendet werden.
-
Bei 303 kann eine Ausführungsform von einer anderen Eingabequelle (z.B. einer herkömmlichen Tastatur, einer virtuellen Tastatur, einem Zahlenfeld, einer Maus usw.) eine Eingabe empfangen, die mindestens ein Zeichen umfasst. Das mindestens eine Zeichen kann einen Buchstaben, ein Emoticon, eine Zahl, ein Symbol, ein Satzzeichen und dergleichen umfassen. Falls ein Benutzer eine Sprache-zu-Text-Anwendung ausführt, kann die Bereitstellung des Zeichens erfolgen, während die Anwendung noch aktiv ist. Mit anderen Worten erfordern herkömmliche Sprache-zu-Text-Anwendungs- und Software-Pakete, dass ein Benutzer die Anwendung unterbricht, um eine Eingabe unter Verwendung eines anderen Verfahrens bereitzustellen. Statt zu erfordern, dass der Benutzer die Anwendung unterbricht, kann eine Ausführungsform die bereitgestellte manuelle Eingabe einbeziehen, während die Anwendung oder Software aktiv bleibt.
-
Die Eingabe kann in einer nicht erfindungsgemäßen Ausführungsform empfangen werden, während der Benutzer die Spracheingabe bereitstellt. Beispielsweise kann der Benutzer sagen „Wie geht es dir“ und dann ein „?“ als Berührungsbildschirmeingabe schreiben und dann weiter eine Spracheingabe bereitstellen. Mit anderen Worten kann ein Benutzer, während er eine Spracheingabe bereitstellt, statt ein Diktieren des Satzzeichens bereitzustellen (d.h. statt „Komma“ zu sagen), wie es die Sprache-zu-Text-Technologie benötigen kann, ein „,“ in einem Eingabebereich eines Berührungsbildschirms schreiben. Alternativ wird die Eingabe erfindungsgemäß bereitgestellt, während die Sprache-zu-Text-Technologie die Spracheingabe in Maschinentext umwandelt. Beispielsweise kann es sein, dass ein Benutzer bereits gesagt hat „Hallo ich heiße Anna“, und während die Sprache-zu-Text- Technologie den Text umwandelt, kann der Benutzer entscheiden, dass er ein Komma nach „Hallo“ möchte. Zur gleichen Zeit, wie die Sprache umgewandelt wird, kann der Benutzer ein „,“ über eine herkömmliche Tastatur bereitstellen.
-
Während die Spracheingabe empfangen, die Sprache in Maschinentext umgewandelt und die Zeicheneingabe empfangen wird, kann eine Ausführungsform zusätzlich einen Zeitstempel mit den Daten empfangen oder anderweitig damit verknüpfen. Während der Benutzer die Spracheingabe bereitstellt, kann eine Ausführungsform beispielsweise einen Zeitstempel identifizieren, der mit jedem der Wörter oder, in einer nicht erfindungsgemäßen Ausführungsform, mit der bereitgestellten Spracheingabe verknüpft ist. Der Zeitstempel kann auf dem Gerät lokal erstellt, identifiziert und/oder gespeichert werden. Alternativ kann der Zeitstempel beispielsweise auf einem entfernten Cloud-Speichergerät erstellt, identifiziert und/oder gespeichert werden.
-
Bei 304 kann eine Ausführungsform eine Position identifizieren, die mit dem Maschinentext verknüpft ist, um das mindestens eine Zeichen einzufügen. Bei einer nicht erfindungsgemäßen Ausführungsform kann die Position unter Verwendung des Zeitstempels, der mit den bereitgestellten Eingaben verknüpft ist, identifiziert werden. Zum Beispiel kann ein Benutzer mit Bezug auf 4A eine Spracheingabe 401 bereitstellen, die aussagt „Heute ist Freitag Ich dachte es wäre erst Donnerstag“. Nachdem er „Freitag“ gesagt hat, kann der Benutzer eine manuelle Eingabe 402 eines „?“ bereitstellen, und nachdem er „Donnerstag“ gesagt hat, kann der Benutzer eine manuelle Eingabe 402 „!!!" bereitstellen. Die manuelle Eingabe 402 „?“ kann mit einem ersten Zeitstempel 403 verknüpft sein, der dem ersten Zeitstempel 403 der Spracheingabe 401 entspricht, der sich nach dem gesprochenen Wort „Freitag“ befindet. Die manuelle Eingabe 402 „!!!" kann mit einem zweiten Zeitstempel 404 verknüpft sein, der dem zweiten Zeitstempel 403 der Spracheingabe 401 entspricht, der sich nach dem gesprochenen Wort „Donnerstag“ befindet.
-
Wenn der Zeitstempel zur Identifizierung der Position verwendet wird, muss der Zeitstempel für jede Eingabe oder Umwandlung von der gleichen Position erzielt werden, um sicherzustellen, dass der Zeitstempel zwischen den Eingaben übereinstimmt. Falls beispielsweise der Zeitstempel, der mit der Zeicheneingabe verknüpft ist, von einer lokalen Speicherstelle empfangen wird, muss der Zeitstempel, der mit der Spracheingabe verknüpft ist, auch von der gleichen lokalen Speicherstelle empfangen werden. Falls jedoch eine lokale und entfernte Speicherstelle synchronisierte Zeitstempel aufweisen, ist es möglich, die Zeitstempel von mehreren Stellen heranzuziehen.
-
Eine Ausführungsform kann zusätzliche Kennzeichen der Sprache und/oder der manuellen Eingabe verwenden, um eine Position zu identifizieren. Zum Beispiel kann eine Ausführungsform Kontextkennzeichen verwenden, die mit der Spracheingabe verknüpft sind, um eine Position zum Einsetzen des Zeichens zu identifizieren. Diese Verwendung von Kontextkennzeichen kann ähnlich wie aktuelle Verfahren zum Bestimmen der Satzzeichen unter Verwendung einer Sprache-zu-Text-Technologie basierend auf dem Kontext sein. Falls der Benutzer beispielsweise eine manuelle Eingabe bereitstellt, die einem Zeitstempel innerhalb der Spracheingabe nicht richtig entspricht (z.B. stellt der Benutzer die manuelle Eingabe ein wenig vor oder nach der richtigen Einfügungsposition bereit), kann eine Ausführungsform zusätzliche Verfahren verwenden, um die richtige Einfügungsposition des Zeichens zu identifizieren. Falls zusätzliche Kennzeichen einen Konflikt untereinander verursachen, kann eine Ausführungsform standardmäßig nur die Zeitstempel verwenden, um die Einfügungsposition zu identifizieren.
-
Falls die Technologie die Sprache bereits in eine Maschineneingabe umgewandelt hat, kann ein Benutzer weiterhin in der Lage sein, eine Eingabe zur Zeicheneinfügung bereitzustellen. Falls eine Ausführungsform beispielsweise bereits „Kommst du mit“ in Maschinentext umgewandelt hat, doch der Benutzer ein Fragezeichen hinzufügen möchte, kann der Benutzer das Wort „mit“ auswählen und eine „?“-Eingabe unter Verwendung eines manuellen Verfahrens bereitstellen. Das Auswählen bedeutet nicht unbedingt, dass der Benutzer das ganze Wort auswählt, sondern kann stattdessen umfassen, dass der Benutzer den Cursor in eine gewünschte Einfügungsposition bewegt. Beim Auswählen des Wortes muss der Benutzer nicht das ganze Wort auswählen, und der Benutzer muss auch nicht den Cursor zu dem genauen Einfügungspunkt bewegen. Beispielsweise muss der Benutzer den Cursor nicht am Ende von „mit“ einsetzen, sondern der Benutzer kann stattdessen einfach das Wort „mit“ berühren, und eine Ausführungsform kann bestimmen, dass der logische Einfügungsplatz am Ende des Wortes statt in der Mitte ist.
-
Das Bereitstellen der Eingabe kann erfolgen, nachdem der Benutzer aufgehört hat, eine Spracheingabe bereitzustellen, oder kann erfolgen, während der Benutzer weiter eine Spracheingabe bereitstellt. Beispielsweise kann der Benutzer sagen „Kommst du mit“ und weiter sprechen, während er das Wort „mit“ auswählt und die Eingabe „?“ bereitstellt. Mit anderen Worten muss der Benutzer nicht die Sprache-zu-Text-Anwendung unterbrechen, um die zusätzliche Eingabe bereitzustellen. Dies kann auch verwendet werden, um eine falsch umgewandelte Spracheingabe zu korrigieren. Beispielsweise kann es sein, dass ein Benutzer einen Satz mit „?!?" beenden möchte, doch das System nur ein „?“ bereitgestellt hat. Der Benutzer kann das „?“ auswählen und die zusätzliche Eingabe bereitstellen, um den Maschinentext zu ändern.
-
Falls bei 304 eine Ausführungsform keine Einfügungsposition für das Zeichen identifizieren kann, kann es sein, dass eine Ausführungsform bei 306 nichts unternimmt. Alternativ kann eine Ausführungsform den Benutzer darüber benachrichtigen, dass keine Position identifiziert werden kann, und es dem Benutzer erlauben, die richtige Position für die Einfügung des Zeichens bereitzustellen. Dies kann auch erfolgen, falls eine Ausführungsform das Zeichen nicht richtig bestimmen kann, das der Benutzer bereitgestellt hat. Falls eine Ausführungsform beispielsweise nicht bestimmen kann, ob der Benutzer einen „;“ oder ein Smiley-Emoticon bereitgestellt hat, kann eine Ausführungsform bei 306 nichts unternehmen oder kann den Benutzer zu einer zusätzlichen Eingabe auffordern.
-
Falls jedoch eine Ausführungsform bei 304 eine Position identifizieren kann, kann eine Ausführungsform bei 305 das mindestens eine Zeichen an der identifizierten Position einfügen. Beispielsweise mit Bezug auf 4B kann nach dem Identifizieren der Position der manuellen Eingabe, wie in Verbindung mit 4A erklärt, eine Ausführungsform die Zeichen in den Maschinentext einfügen und zu der Ausgabe führen, wie in 4B gezeigt. Wenn eine Berührungseingabe verwendet wird, nachdem eine Ausführungsform die Zeichen in den Maschinentext eingefügt hat, kann das geschriebene Zeichen, das von dem Benutzer bereitgestellt wird, von der Berührungsfläche und/oder der Berührungsanzeige entfernt werden.
-
Eine Ausführungsform kann zusätzlich eine Benachrichtigung für den Benutzer bereitstellen, dass das Zeichen eingefügt wurde. Beispielsweise kann eine Ausführungsform das Zeichen hervorheben, die Farbe des Zeichens ändern, das Zeichen einkreisen oder ansonsten eine Angabe des eingefügten Zeichens bereitstellen. Eine Ausführungsform kann es einem Benutzer zusätzlich erlauben, die Position des Zeichens zu bestätigen. Wenn keine Benutzereingabe bezüglich der Position des Zeichens empfangen wird, kann eine Ausführungsform die Position des Zeichens bewahren. Alternativ kann eine Ausführungsform die Zeicheneinfügung entfernen. Diese Aktion (d.h. ob die Zeichenstelle bewahrt oder entfernt wird) kann standardmäßig innerhalb des Systems eingestellt werden oder kann vom Benutzer bereitgestellt werden.
-
Die hierin beschriebenen diversen Ausführungsformen stellen somit eine technische Verbesserung gegenüber den herkömmlichen Sprache-zu-Text-Technologien dar. Unter Verwendung der hierin beschriebenen Techniken kann ein Benutzer eine manuelle Eingabe zur gleichen Zeit wie eine Spracheingabe, oder während das System die Spracheingabe in Maschinentext umwandelt, bereitstellen. Somit kann ein Benutzer unter Verwendung der hierin beschriebenen Verfahren und Systeme eine natürlichere und weniger störende Möglichkeit bereitstellen, um eine Spracheingabe mit Symbolen, Emoticons, Satzzeichen, Zahlen, Buchstaben und anderen Zeichen zu erweitern, während er eine Sprache-zu-Text-Technologie verwendet.
-
Wie es der Fachmann ferner verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können die Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software, die hier allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet wird, annehmen. Ferner können die Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode verkörpert ist.
-
Es sei zu beachten, dass die hierin beschriebenen diversen Funktionen unter Verwendung von Anweisungen umgesetzt werden können, die auf einem gerätelesbaren Speichermedium, wie etwa auf einem Nicht-Signalspeichergerät, gespeichert sind und von einem Prozessor ausgeführt werden. Ein Speichergerät kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, - Vorrichtung oder -Gerät oder eine geeignete Kombination derselben sein. Genauere Beispiele eines Speichergerätes würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Arbeitsspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, eine tragbare Compact Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichergerät 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 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 Vorrichtungen über eine beliebige Art von Verbindung oder Netzwerk verbunden werden, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehören, oder kann die Verbindung über andere Geräte (beispielsweise über das Internet unter Verwendung eines Internet-Providers), über drahtlose Verbindungen, z.B. Nahfeldkommunikation, 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 Gerätes, eines speziellen Informationshandhabungsgerätes oder einem anderen programmierbaren Datenverarbeitungsgerät 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 sei zu beachten, 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, kann ein Block in zwei oder mehrere Blöcke unterteilt werden, oder können bestimmte Blöcke 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 hierin verwendet wird, kann die Singularform „ein“ als die Pluralform „ein oder mehrere“ 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 den Umfang oder Geist der Offenbarung zu verlassen.