[go: up one dir, main page]

MXPA04012854A - Filtracion de caracter explicito de entrada de texto ambiguo. - Google Patents

Filtracion de caracter explicito de entrada de texto ambiguo.

Info

Publication number
MXPA04012854A
MXPA04012854A MXPA04012854A MXPA04012854A MXPA04012854A MX PA04012854 A MXPA04012854 A MX PA04012854A MX PA04012854 A MXPA04012854 A MX PA04012854A MX PA04012854 A MXPA04012854 A MX PA04012854A MX PA04012854 A MXPA04012854 A MX PA04012854A
Authority
MX
Mexico
Prior art keywords
key
characters
objects
character
sequence
Prior art date
Application number
MXPA04012854A
Other languages
English (en)
Inventor
Michael R Longe
Original Assignee
America Online Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by America Online Inc filed Critical America Online Inc
Publication of MXPA04012854A publication Critical patent/MXPA04012854A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0235Character input methods using chord techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

La presente invencion se refiere a un metodo y aparato para filtrar explicitamente entrada de texto ambiguo; la invencion provee modalidades que incluyen varios metodos de entrada de texto explicito, tales como opresion de 2 teclas y opresion prolongada; la invencion tambien provee medios para comparar palabras en una base de datos usando metodologia de estructuracion, metodologia de cierre de raiz, metodologia de terminacion de palabra y busquedas de n-grama.

Description

FILTRACION DE CARACTER EXPLICITO DE ENTRADA DE TEXTO AMBIGUO CAMPO DE LA INVENCION La invención se refiere a tecnología de entrada de texto. Más específicamente, la invención se refiere a soluciones de entrada de texto para dispositivos de comunicación inalámbrica con teclados numéricos limitados.
ANTECEDENTES DE LA INVENCION Durante muchos años las computadoras portátiles se han hecho cada vez más pequeñas. El principal componente limitativo de tamaño del esfuerzo por producir una computadora portátil más pequeña, ha sido el teclado. Si se usan teclas estándares de máquina de escribir, la computadora portátil debe ser por lo menos tan grande como el teclado. Se han usado teclados miniatura en computadoras portátiles, pero se ha encontrado que las teclas del teclado miniatura son demasiado pequeñas para ser manipuladas fácilmente o rápidamente por un usuario. Al incorporar un teclado de tamaño completo en una computadora portátil también se impide el uso verdaderamente portátil de la computadora. La mayoría de las computadoras portátiles no pueden ser operadas sin poner la computadora sobre una superficie de trabajo plana para permitir que el usuario escriba con ambas manos. Un usuario no puede usar fácilmente una computadora portátil mientras está de pie o se está moviendo. En la última generación de computadoras portátiles pequeñas, denominadas asistentes digitales personales (PDAs) o computadoras del tamaño de la palma, las compañías han intentado manejar este problema incorporando en el dispositivo software de reconocimiento de escritura a mano. Un usuario puede introducir directamente texto escribiendo en un panel o pantalla sensible al tacto. Este texto escrito a mano es convertido después en datos digitales por el software de reconocimiento. Desafortunadamente, además del hecho de que la impresión o escritura con una pluma es en general más lenta que el tecleado, hasta la fecha la exactitud y velocidad del software de reconocimiento de escritura manual no han sido satisfactorias. En el caso del idioma japonés, con su gran número de caracteres complejos, el problema se hace especialmente difícil. Para empeorar las cosas, los dispositivos de computación manuales de la actualidad que requieren entrada de texto se han hecho aún más pequeños. Los avances recientes en localización bidireccional, teléfonos celulares y otras tecnologías inalámbricas portátiles, han conducido a una demanda de sistemas bidireccionales de mensajes, pequeños y portátiles, y especialmente sistemas que puedan tanto enviar como recibir correo electrónico ("e-mail"). Por lo tanto, seria ventajoso desarrollar un teclado para introducir texto en un dispositivo de computadora que sea tanto pequeño como operable con una mano mientras el usuario está sosteniendo el dispositivo con la otra mano. Trabajo de desarrollo previo ha considerado el uso de un teclado que tiene un número reducido de teclas. Como lo sugiere la distribución del teclado de un teléfono de selección por tonos, muchos de los teclados reducidos han utilizado un arreglo de teclas de 3 x 4. Varias las teclas del arreglo están asociadas con caracteres múltiples. Por lo tanto, existe la necesidad de un método para que el usuario indique cual de los caracteres asociados con una tecla dada es el carácter deseado. Un enfoque sugerido para especificar sin ambigüedad caracteres de hiragana introducidos en un teclado reducido requiere que el usuario introduzca dos o más golpes de tecla para especificar cada kana. Los golpes de tecla se pueden introducir simultáneamente (encordado) o en secuencia (especificación de golpe múltiple). Ni el encordado ni la especificación de golpe múltiple han producido un teclado que tenga simplicidad adecuada y eficiencia de uso. La especificación de golpe múltiple es ineficiente y frecuentemente el encordado es complicado de aprender y usar. Cada sílaba del silabario japonés consiste de una sola vocal, o una consonante seguida por una vocal. Existen dos excepciones: la sílaba _, que no tiene vocal, y la J'breve", que se usa para indicar la "duplicación" o "endurecimiento" de la pronunciación de la siguiente consonante. Estas sílabas se pueden escribir como hiragana (usado comúnmente cuando se escriben palabras nativas japonesas) o katakana (usado comúnmente cuando se describen palabras de origen extranjero). El término kana se usa para referirse ya sea al hiragana o al katakana. El silabario es representado comúnmente como una tabla de filas y columnas (que se muestra en el cuadro 1 ), en donde cada fila puede tener hasta 5 entradas en las columnas corresponden a las 5 vocales japonesas _, _, y _. Cada fila corresponde a una consonante inicial, aunque una consonante dada puede sufrir cambios de sonido para ciertas entradas en una fila (por ejemplo, s(a)_ => sh(i)_; t(a)_ => ts(u)_; etc). La primera fila consiste de 5 sílabas que corresponden a cada una de las 5 vocales sin consonante inicial. La octava fila consiste de las vocales palatalizadas _, _, y _ (Y1 y YE no son usadas en el japonés moderno). Los signos diacríticos " 0 se usan para indicar cambios en la pronunciación de la consonante, generalmente indicando un cambio de una consonante muda a sonora. El cuadro 2 muestra las sílabas básicas formadas agregando los signos diacríticos " y 0 a las sílabas del cuadro 1. También se usan versiones más pequeñas de las sílabas y _, en combinación con las sílabas de la segunda columna o "_" de los cuadros 1 y 2, para representar sílabas que consisten de la consonante correspondiente y la vocal palatalizada (por ejemplo _ seguido por _ "breve" para representar _). Estas sílabas con vocales palatalizadas son escritas así como un par de kana, como se muestra en el cuadro 3, que incluye formas escritas con marcas diacríticas.
CUADRO 2 CUADRO 3 El orden lexicográfico en el japonés se representa generalmente con la secuencia de sílabas en la primera columna (que corresponde a la vocal A) del cuadro 1 : _, _, _, _, _, _, _, _, y _, en donde cada una de estas sílabas (excepto _) representa una subclase de hasta 5 sílabas compuestas de las vocales _, _, _, _, y , en ese orden. Actualmente, los productos tales como teléfonos celulares que requieren entrada de texto en japonés generalmente utilizan un método de especificación de golpe múltiple en donde cada una de 9 teclas están asociadas con cada una de las primeras 9 filas ( _ a _). Los golpes múltiples sobre una tecla se usan para indicar cual de las sílabas de la fila correspondiente se busca, en donde cada golpe adicional en una tecla cambia secuencialmente el carácter por introducir al carácter que aparece en la siguiente columna del cuadro 1 ó 2. Una tecla de separación o un método de tiempo fuera se utiliza para permitir la entrada de caracteres consecutivos asociados con la misma tecla. Se usa una décima tecla para las sílabas _, _, y el símbolo katakana "bo", que indica una sílaba de solo vocal que repite la vocal de la sílaba precedente. La J'breve" _, y _ están también asociadas con la tecla _ que requiere seleccionar golpes de tecla adicionales. Una tecla adicional se usa comúnmente para agregar los signos diacríticos después de una sílaba. La introducción de hiragana japonés (o katakana) usando un teclado reducido continúa siendo un problema desafiante. Con el enfoque actual de golpes múltiples como se describió arriba, la generación de una sola sílaba de kana requiere un promedio de por lo menos tres golpes de tecla. Las sílabas con vocales palatalizadas que están representadas por dos caracteres (es decir, los del cuadro 3 que consisten de una sílaba de la segunda columna o de los cuadros 1 y 2, seguida por una _ "breve" _, _, o _) que requiere hasta 8 golpes de tecla para generar. Por lo tanto, sería deseable desarrollar un sistema de teclado reducido que tienda a minimizar el número de golpes de tecla requeridos para introducir hiragana, y que también sea simple y de uso intuitivo. El tecleo de texto de japonés estándar, que incluye caracteres chinos (kanji) además del kana, en un teclado reducido, es un problema aún más desafiante. La introducción de texto en una computadora estándar con un teclado completo y una presentación grande generalmente se logra tecleando primero la pronunciación del texto deseado usando las letras del alfabeto latino (denominadas "romaji" en japonés), que corresponden a cada sílaba de hiragana como se muestra en los cuadros 1-3. Conforme se teclean las letras, la entrada es convertida automáticamente a las sílabas de hiragana correspondientes y desplegadas en la pantalla. En muchos casos, el usuario necesita entonces convertir el texto que es desplegado inicialmente como hiragana en la interpretación textual específica deseada. El híragana que es desplegado representa la lectura fonética de la combinación de kanji y hiragana que el usuario realmente desea introducir, y que lleva el significado buscado del usuario. Debido al gran número de homófonos en el lenguaje japonés, puede haber un número de posibles combinaciones de significado de kanji e hiragana que corresponde al hiragana introducido por el usuario. En una computadora estándar, se pueden desplegar varias de estas conversiones alternativas en donde por ejemplo cada alternativa es asociada con una tecla numérica, de modo que al oprimir la tecla el hiragana de entrada se convierte en la interpretación de kanji desplegada. Surgen complicaciones adicionales cuando se intenta realizar este proceso en un dispositivo pequeño manual, debido al tamaño limitado de presentación y al número pequeño de teclas disponibles. Un enfoque alternativo para especificar hiragana introducido en un teclado reducido permite al usuario introducir cada hiragana con un solo golpe de tecla. Cada tecla del teclado reducido es asociada con múltiples caracteres hiragana. Como un usuario introduce una secuencia de teclas, por lo tanto, hay ambigüedad en la salida resultante puesto que cada golpe de tecla puede indicar uno de varios hiragana. Por lo tanto, el sistema debe proveer un medio mediante el cual el usuario pueda indicar eficientemente cual de las posibles interpretaciones de cada golpe de tecla se desea. Se han sugerido varios enfoques para resolver la ambigüedad de la secuencia de golpe de tecla. Varios enfoques sugeridos para determinar la secuencia de carácter correcta que corresponde a una secuencia ambigua de golpes de tecla se resumen en el artículo "Probabilistic Character Disambiguation for Reduced Keyboards Using Small Text Samples", publicado en Journal of the International Society for Augmentative and Alternative Communication por John L. Amott y Mamad Y. Javad (en adelante el "artículo de Amott"). El artículo de Arnott indica que la mayor parte de los enfoques de reducción de ambigüedad emplean estadística conocida de secuencias de caracteres en el lenguaje relevante para resolver la ambigüedad de carácter un contexto dado. Esto es, los sistemas reductores de ambigüedad existentes analizan estadísticamente grupos de golpes de tecla ambiguos conforme son introducidos por un usuario para determinar la interpretación apropiada de los golpes de tecla. El artículo de Arnott también indica que varios sistemas reductores de ambigüedad han intentado usar reducción de ambigüedad de nivel de palabra para descodificar texto de un teclado reducido. Los procesos reductores de ambigüedad de nivel de palabra completan palabras comparando toda la secuencia de golpes de tecla recibidos con posibles coincidencias en un diccionario después de la recepción de un carácter no ambiguo que significa el final de la palabra. El artículo de Arnott expone muchas de las desventajas del proceso de reducción de ambigüedad de nivel de palabra. Por ejemplo, el proceso de reducción de ambigüedad de nivel de palabra frecuentemente no puede descodificar una palabra correctamente debido a las limitaciones para identificar palabras inusuales y la incapacidad para descodificar palabras que no están contenidas en el diccionario. Debido a las limitaciones de descodificación, el proceso de reducción de ambigüedad de nivel de palabra no da descodificádo libre de error de texto de inglés no restringido con una eficiencia de un golpe de tecla por carácter. Por lo tanto el artículo de Arnott se concentra sobre el proceso de reducción de ambigüedad de nivel de carácter en lugar de reducción de ambigüedad de nivel de palabra, e indica que el proceso de reducción de ambigüedad de nivel de carácter parece ser la técnica de reducción de ambigüedad más prometedora. Sin embargo, a diferencia de los lenguajes alfabéticos, cada carácter de hiragana en japonés representa una sílaba en lugar de una sola letra que representa lo que es esencialmente un fonema. Por esta razón, el proceso de reducción de ambigüedad de nivel de carácter es ineficiente en el lenguaje japonés porque casi no hay restricciones en secuencias posibles de hiragana, y la distribución de probabilidad de secuencias de hiragana no está suficientemente sesgada para que este enfoque sea efectivo. Otro enfoque sugerido se describe en un texto titulado "Principies of Computer Speech", de I. H. Witten, y publicado por Academic Press en 1982 (en adelante el "enfoque de Witten"). Witten expone un sistema para reducir la ambigüedad de un texto introducido usando una almohadilla táctil de teléfono. Witten reconoce que para aproximadamente 92% de las palabras en un diccionario de inglés de 24,500 palabras, no surge ambigüedad cuando se compara la secuencia de golpes de tecla con el diccionario. Sin embargo, cuando surgen ambigüedades, Witten indica que deben ser resueltas interactivamente por el sistema que presenta la ambigüedad al usuario, y pidiendo al usuario hacer una selección entre las varias entradas ambiguas. Por lo tanto, un usuario debe responder a la predicción del sistema al final de cada palabra. Dicha respuesta retarda la eficiencia del sistema y aumenta el número de golpes de tecla requeridos para introducir un segmento dado de texto. En el caso del idioma japonés, los usuarios de software de procesamiento de palabras están acostumbrados a seleccionar un número de interpretaciones ambiguas después de la entrada de una palabra debido al gran número de homófonos en el lenguaje. La misma secuencia de kana puede ser convertida frecuentemente a dos o más interpretaciones diferentes de kanji. De esta manera, después de introducir una secuencia de kana, generalmente se requiere que el usuario seleccione la conversión de kanji deseada de una serie de elecciones posibles, y frecuentemente también se requiere confirmar como fue seleccionada la conversión correcta. Cuando el hiragana se introduce usando un teclado reducido, también hay ambigüedad en cuanto a lo que el usuario realmente desea como la secuencia de hiragana a ser convertida a kanji. Como resultado, aumenta enormemente el número de posibles interpretaciones. El proceso de reducción de ambigüedad de una secuencia ambigua de golpes de tecla continúa siendo un problema desafiante. Como se indica en las publicaciones anteriormente mencionadas, las soluciones satisfactorias que minimizan el número de golpes de tecla requeridos para introducir un segmento de texto, no han podido lograr la eficiencia necesaria para que sea aceptable para usar en una computadora portátil. Por lo tanto, sería deseable desarrollar un sistema de reducción de ambigüedad que resuelva la ambigüedad de golpes de tecla introducidos, minimizando al mismo tiempo el número total de golpes de tecla requeridos, dentro del contexto de una interfaz de usuario simple y fácil de entender. Así, dicho sistema maximizaría la eficiencia de entrada de texto. Un sistema de entrada de teclado reducido efectivo para el idioma japonés debe satisfacer todos los siguientes criterios. En primer lugar, la disposición de las sílabas del lenguaje japonés (kana) en el teclado, y el método mediante el cual son generadas, deben ser fáciles de entender y de aprender a usar para una persona nativa. En segundo lugar, el sistema debe tender a minimizar el número de golpes de tecla requeridos para introducir texto para aumentar la eficiencia del sistema de teclado reducido. En tercer lugar, el sistema debe reducir la carga cognitiva del usuario, reduciendo la cantidad de atención y toma de decisión requeridas durante el proceso de entrada. En cuarto lugar, el enfoque debe minimizar la cantidad de memoria y los recursos de procesamiento necesarios para realizar un sistema práctico. Kisaichi y otros [JP 8-314920; US 5,786,776; EP 0 732 646 A2] describen una propuesta en donde las teclas 1-0 de un teclado telefónico se marcan con la sílaba de hiragana { }, { }, { }, { }, { }, { }, { }, { }, { }, y { }, respectivamente. Esto corresponde a lo que es de hecho el estándar de teclados telefónicos japoneses, en donde las teclas 1-9 del teclado telefónico se marcan con las sílabas de hiragana _, _, _, _, _, _, y _, respectivamente. El hiragana simple que aparece en cada tecla representa la serie completa de hiragana asignados a esta tecla, que corresponden a la fila completa de hiragana que aparece en el cuadro 1 , en donde el hiragana simple aparece en la primera columna. La tecla 0 frecuentemente se marca explícitamente con { }¦ Kisaichi y otros, describen una propuesta de reducción de ambigüedad de nivel de palabra, en donde el usuario introduce ambiguamente una secuencia de caracteres (hiragana) oprimiendo una sola vez la tecla con la cual cada carácter está asociado. Al final de cada secuencia de entrada, el usuario oprime una tecla de "conversión/siguiente candidato" para desplegar la primera interpretación textual de una de las posibles secuencias de hiragana asociadas con la secuencia de tecla de entrada. Kisaichi y otros describen una estructura de diccionario en donde todas las interpretaciones textuales de una secuencia de teclas de entrada dadas son almacenadas consecutivamente en un bloque contiguo de memoria. Cada opresión adicional de la tecla "conversión/siguiente candidato" despliega la siguiente interpretación textual almacenada en el diccionario si existe una. Si no existen más interpretaciones textuales, se despliega un mensaje de error y se puede ejecutar un procesamiento de anomalía opcional. Cuando se despliega la interpretación textual deseada, debe ser oprimida una tecla especial de "confirmación" para confirmar que el texto deseado ha sido desplegado antes de que el usuario pueda continuar introduciendo el siguiente objeto de texto. Existen varias dificultades con la propuesta descrita por Kisaichi y otros. Una es que debido al hecho de que existe ambigüedad tanto en la especificación de la cadena de hiragana como en la conversión de cada cadena candidato de hiragana posible, tiende a haber un número muy grande de posibles interpretaciones textuales de una secuencia de teclas dada. Esto puede requerir que el usuario vaya a través de un gran número de interpretaciones usando la tecla "Conversión/Siguiente Candidato" para encontrar la interpretación deseada. Además, al ir a través de las posibles interpretaciones, el usuario ve varias cadenas de kanji o hiragana que corresponden a una variedad de cadenas de hiragana debido a la ambigüedad de la entrada. Esto puede ser perturbador y requiere atención adicional del usuario para intentar encontrar la interpretación deseada. Además, la base de datos de interpretaciones textuales está dispuesta de tal manera que todos los datos consisten sólo de palabras completas, y todos lo datos para todas las secuencias de teclas de una longitud dada también están almacenadas consecutivamente en un bloque contiguo de memoria. Kisaichi y otros no describen ninguna propuesta para permitir la presentación de una raíz apropiada que corresponda a una palabra más grande pero aún no completa en aquellos puntos en una secuencia de entrada que no corresponden a ninguna palabra completa. En tales puntos de la entrada, el sistema de Kisaichi y otros sólo puede desplegar una indicación por omisión de cada tecla introducida, tal como por ejemplo un número o una letra o carácter de omisión. Esto es confuso para el usuario, y no puede proveer retroalimentación efectiva para ayudar al usuario a confirmar que se han introducido las teclas que se buscan. Finalmente, se requiere que el usuario oprima la tecla de "confirmación" para cada entrada de palabras, teniendo que introducir un golpe de tecla adicional para cada entrada. De esta manera, el sistema descrito por Kisaichi y otros no puede satisfacer el criterio anteriormente expuesto. Otro desafío significativo que enfrenta cualquier aplicación de reducción de ambigüedad a nivel de palabra es realizarlo exitosamente en los tipos de plataformas de hardware sobre los cuales su uso es más ventajoso. Como se mencionó arriba, dichos dispositivos incluyen localizadores bidireccionales, teléfonos celulares y otros dispositivos de comunicación inalámbrica manuales. Estos sistemas son accionados por batería y consecuentemente están diseñados para ser tan sobrios como sea posible en el diseño de hardware y utilización de recursos. Las aplicaciones diseñadas para correr en dichos sistemas deben minimizar tanto la utilización de ancho de banda del procesador como los requerimientos de memoria. Estos dos factores en general tienden a estar inversamente relacionados. Puesto que los sistemas de reducción de ambigüedad a nivel de palabra requieren para funcionar una base de datos grande de palabras, y deben responder rápidamente a golpes de tecla de entrada para proveer una interfaz de usuario satisfactoria, sería muy ventajoso poder comprimir la base de datos requerida sin afectar significativamente el tiempo de procesamiento requerido para utilizarlo. En el caso del idioma japonés, se debe incluir información adicional en la base de datos para apoyar la conversión de secuencia de kana al kanji buscado por el usuario. Otro desafío que enfrenta cualquier aplicación de reducción de ambigüedad a nivel de palabra es proveer retroalimentación suficiente para el usuario sobre los golpes de teclas que se introducen. Con una máquina de escribir ordinaria o procesador de palabras, cada golpe de tecla representa un carácter único que puede ser desplegado para el usuario tan pronto como se introduce. Pero con reducción de ambigüedad a nivel de palabra frecuentemente esto no es posible, ya que cada golpe de tecla representa múltiples caracteres y cualquier secuencia de golpes de tecla puede coincidir con palabras múltiples o raíces de palabra. Por lo tanto, sería conveniente desarrollar un sistema de reducción de ambigüedad que minimice la ambigüedad de golpes de tecla introducidos y también maximice la eficiencia con la cual el usuario puede resolver cualquier ambigüedad que surge durante la entrada de texto. Una forma de aumentar la eficiencia del usuario es proveer retroalimentación apropiada después de cada golpe de tecla, que incluye desplegar la palabra más probable después de cada golpe de tecla, y en casos donde la secuencia de golpe de tecla actual no corresponde con una palabra completada, desplegar la raíz más probable de una palabra aún no completada. Para crear un sistema de entrada de teclado reducido efectivo para el leguaje japonés, se ha diseñado un sistema que cumple todos los criterios anteriormente mencionados. En primer lugar, la disposición de las sílabas del idioma japonés (kana) en el teclado y el método mediante el cual son generados, son fáciles de entender y de aprender a usar para una persona nativa. En segundo lugar, el sistema tiende a minimizar el número de golpes de tecla requeridos para introducir texto. En tercer lugar, el sistema reduce la carga cognitiva sobre el usuario reduciendo la cantidad de atención y toma de decisiones requerida durante le proceso de entrada, y mediante la provisión de retroalimentación apropiada. En cuarto lugar, el enfoque expuesto en la presente tiende a minimizar la cantidad de memoria y recursos de procesamiento requeridos para realizar un sistema práctico. Durante muchos años, las computadoras portátiles se han hecho cada vez más pequeñas. El principal componente limitativo del tamaño en el esfuerzo de producir una computadora portátil más pequeña ha sido el teclado. Si se usan teclas de tamaño de máquina de escribir estándar, la computadora portátil debe ser por lo menos tan grande como el teclado. Se han usado teclados miniatura en computadoras portátiles, pero se ha encontrado que las teclas del teclado miniatura son demasiado pequeñas para ser manipuladas fácil y rápidamente por un usuario. La incorporación de un teclado de tamaño completo en una computadora portátil también impide el uso realmente portátil de la computadora. La mayoría de las computadoras portátiles no pueden operar sin poner la computadora en una superficie de trabajo plana para permitir que el usuario escriba con ambas manos. Un usuario no puede usar fácilmente una computadora portátil mientras está de pie o se está moviendo. En la última generación de computadoras portátiles pequeñas, denominadas asistentes digitales personales (PDAs), las compañías han intentado manejar este problema incorporando software de reconocimiento de escritura manual en el PDA. Un usuario puede introducir directamente texto escribiendo en un panel o pantalla sensible al tacto. Este texto escrito manualmente es convertido entonces por el software de reconocimiento en datos digitales. Desafortunadamente, además del hecho de que la impresión o escritura con una pluma es en general más lenta que el tecleado, hasta la fecha la exactitud y velocidad del software de reconocimiento de escritura manual no han sido satisfactorias. Actualmente, un crecimiento enorme de la industria inalámbrica ha generado dispositivos de comunicación móvil confiables convenientes y muy populares, disponibles para el consumidor promedio, tales como teléfonos celulares, localizadores bidireccionales, PDAs, etc. Estos dispositivos de comunicación y computación inalámbricos manuales que requieren la entrada de texto se están haciendo aún más pequeños. Los avances recientes en localización bidireccional, teléfonos celulares y otras tecnologías inalámbricas portátiles, han conducido a una demanda de sistemas bidireccionales de mensajes pequeños y portátiles, y especialmente sistemas que pueden tanto enviar como recibir correo electrónico ("e-mail"). Algunos fabricantes de dispositivos de comunicación inalámbrica también desean proveer a los consumidores dispositivos con los cuales el consumidor puede operar con la misma mano con la que está deteniendo el dispositivo.
Antecedentes de reducción de ambigüedad Trabajo de desarrollo previo ha considerado el uso de un teclado que tiene un número reducido de teclas. Como lo sugiere la distribución de teclado de un teléfono de selección por tonos, muchos de los teclados reducidos han usado una disposición de teclas de 3 x 4. Cada tecla en la disposición de teclas contiene caracteres múltiples. Por lo tanto existe ambigüedad conforme un usuario introduce una secuencia de teclas, ya que cada golpe de tecla puede indicar una de varias letras. Se han sugerido varios enfoques para resolver la ambigüedad de la secuencia de golpes de tecla, referidos como reducción de ambigüedad. Un enfoque sugerido para especificar sin ambigüedad caracteres introducidos en un teclado reducido, requiere que el usuario introduzca en promedio dos o más golpes de tecla para especificar cada letra. Los golpes de tecla pueden introducirse ya sea simultáneamente (encordado) o en secuencia (especificación de golpes múltiples). Ni el encordado ni la especificación por golpes múltiples han producido un teclado que tenga simplicidad adecuada y eficiencia de uso. La especificación de golpes múltiples e ineficiente, y el encordado es complicado de aprender y usar. Oros enfoques sugeridos para determinar la secuencia de caracteres correcta que corresponde a una secuencia de golpes de tecla ambiguos se resumen en el artículo "Probabilistic Carácter Disambiguation for Reduced Keyboards Using Small Text Samples", publicado en Journal of the International Society forAugmentative and Alternative Communícation por John L. Arnott y Mamad Y. Javad (en adelante el "artículo de Arnott"). El artículo de Arnott indica que la mayor parte de enfoques de reducción de ambigüedad emplean estadística conocida de secuencias de caracteres en el . lenguaje relevante para resolver la ambigüedad de caracteres en un contexto dado. Otro enfoque sugerido basado en reducción de ambigüedad de nivel de palabra se describe en un texto titulado "Principies of Computer Speech", de I. H. Witten, y publicado por Academic Press en 1982 (en adelante el "enfoque de Witten"). Witten expone un sistema para reducir la ambigüedad de un texto introducido usando una almohadilla sensible al tacto de teléfono. Witten reconoce que para aproximadamente 92% de las palabras en un diccionario de inglés de 24,500 palabras, no surge ambigüedad cuando se compara la secuencia de golpes de tecla con el diccionario. Sin embargo, cuando surgen ambigüedades, Witten indica que deben ser resueltas interactivamente por el sistema que presenta la ambigüedad al usuario, y pidiendo al usuario hacer una selección entre las varias entradas ambiguas. Por lo tanto, un usuario debe responder a la predicción del sistema al final de cada palabra. Dicha respuesta retarda la eficiencia del sistema y aumenta el número de golpes de tecla requeridos para introducir un segmento dado de texto. H.A. Gutowitz, "Touch-Typable Devices Based on Ambiguous Codes and Methods to Desing Such Devices", WO 0/35091 (Junio 5, 2000), describe que el diseño de dispositivos tecleables y en particular dispositivos de tipo de toque que incorporan códigos ambiguos, presenta muchos problemas ergonómicos y propone algunas soluciones para dichos problemas. Gutowitz enseña métodos para la selección de códigos ambiguos de las clases de códigos ambiguos fuertemente tecleables, y códigos ambiguos sustancialmente óptimos para dispositivos tecleables tales como computadoras, PDAs y similares, y otros aparatos de información, dadas las restricciones de diseño, tales como el tamaño, forma y capacidad computacional del dispositivo, los usos típicos del dispositivo, y restricciones convencionales tales como la ordenación alfabética o la ordenación de Qwerty.
Eatoni Ergonomics Inc. provee un sistema denominado WordWise, (Copyright 2001 Eatoni Ergonomics Inc.), adaptado de un teclado regular, y en donde se teclea una letra mayúscula en un teclado regular, y una tecla auxiliar, tal como la tecla de cambio, se mantiene presionada mientras se oprime la tecla con la letra buscada. La idea clave detrás de WordWise es elegir una letra de cada uno de los grupos de letras en cada una de las teclas sobre el teclado telefónico. Dichas letras elegidas son tecleadas manteniendo oprimida una tecla auxiliar mientras se oprime la tecla con la letra buscada. WordWise no utiliza una base de datos/diccionario de vocabulario para buscar palabras para resolver entradas ambiguas, no ambiguas, o una combinación de las mismas. Zi Corporation enseña un método de texto predictivo, eZiText(R) (2002 Zi Corporation), pero no enseña ni sugiere filtración de texto explícita en modo ambiguo, ni en combinación con una entrada explícita de dos teclas, cierre de raíz ni búsquedas de n-gramo.
Necesidad de mejoramiento de la metodología de reducción de ambigüedad actuales La reducción de ambigüedad de una secuencia ambigua de golpes de tecla continúa siendo un problema desafiante. Un desafío específico que enfrenta la reducción de ambigüedad es proveer suficiente retroalimentación al usuario acerca de los golpes de tecla introducidos. Con una máquina de escribir ordinaria o procesador de palabras, cada golpe de tecla representa un carácter único que puede ser desplegado para el usuario tan pronto como se introduce. Pero con reducción de ambigüedad a nivel de palabra, por ejemplo, frecuentemente esto no es posible porque cada entrada representa múltiples caracteres, y cualquier secuencia de entradas puede coincidir con múltiples objetos tales como palabras o raíces de palabra, por ejemplo. Dicha ambigüedad es especialmente un problema cuando por ejemplo el usuario comete un error de deletreo o entrada, y el usuario no está seguro de dicho error hasta que la secuencia completa se introduce y no se presenta el resultado deseado. En otro ejemplo, los sistemas previos que utilizan reducción de ambigüedad a nivel de palabra no pueden proveer ninguna retroalimentación hasta que se hace una selección predeterminada, tal como una selección de tecla específica, que es reconocible por el sistema como una selección de terminación, por ejemplo la tecla de espacio. Además, algunos alfabetos tales como el Thai y Arábigo, contienen más letras que el alfabeto inglés, lo cual conduce a una ambigüedad aún mayor en un número reducido de teclas. La entrada eficiente de estos lenguajes demanda un mecanismo para reducir esa ambigüedad cuando sea necesario. Por lo tanto, sería ventajoso proveer un sistema de reducción de ambigüedad que reduzca la ambigüedad aparente en la presentación durante la introducción, y que mejore la capacidad del usuario para detectar y corregir errores de deletreo o entrada. Sería ventajoso proveer un sistema de reducción de ambigüedad que reduzca la ambigüedad y aumente la eficiencia, suministrado capacidad de filtración explícita de tal manera que se reduce una lista de palabras candidatas, raíces de palabra, secuencia de símbolos y similares, y más rápido se puede ofrecer subsiguientemente al usuario una terminación de palabra o terminación de secuencia. Más específicamente, sería ventajoso permitir el cierre de un estado actual de interpretación de una parte o todos los caracteres previamente introducidos incluyendo, sin limitación, un objeto o raíces de palabra, y caracteres introducidos explícitamente, impidiendo así la reinterpretación de entradas previas. También sería ventajoso estructurar caracteres introducidos explícitamente como anclas, para el final o el comienzo de objetos, palabras o raíces de palabra nuevos. También sería ventajoso ofrecer suposiciones razonables para extender objetos o palabras mediante un análisis de n-gramo de caracteres precedentes introducidos explícitamente. También sería ventajoso reducir la ambigüedad y aumentar !a eficiencia durante el proceso de reducción de ambigüedad de un objeto lingüístico, tal como una palabra o raíz de palabra, por ejemplo impidiendo la reinterpretación de entradas previas. También sería ventajoso reconocer delimitadores comunes introducidos ambiguamente o explícitamente, sugiriendo un punto que una dos series separadas de caracteres para sugerir en donde se podría reiniciar la interpretación de golpes de tecla.
BREVE DESCRIPCION DE LA INVENCION La presente invención se refiere a un método y aparato para filtrar explícitamente en entrada de texto ambiguo. La invención provee modalidades que incluyen varios métodos de entrada de texto explícito, tal como opresión de dos teclas y opresión prolongada. La invención también provee medios para hacer comparar palabras en una base de datos usando metodología de estructuración, metodología de cierre de raíz, metodología de terminación de palabra y búsquedas de n-gramo.
BREVE DESCRIPCION DE LOS DIBUJOS Los aspectos anteriores y muchas de las ventajas resultantes de esta invención se apreciarán más fácilmente conforme la misma se entienda mejor con referencia a la siguiente descripción detallada, tomada en conjunto con los dibujos anexos, en los cuales: La figura 1a es una vista esquemática de una modalidad de un teléfono celular que incorpora un sistema de reducción de ambigüedad de teclado reducido de la presente invención; La figura 1 b es una vista esquemática de un teclado de teléfono celular, similar a la figura 1 a, pero en donde cada una de una pluralidad de teclas está asociada con uno o más caracteres de romaji; La figura c es una vista esquemática de un teclado de teléfono celular que incorpora una modalidad del sistema de teclado reducido de la presente invención con capacidad limitada de presentación o sin presentación; La figura 1d es una vista esquemática de un teclado de teléfono celular que incorpora una modalidad del sistema de teclado reducido de la presente invención con capacidades de presentación, que muestran la presentación después de la activación de la tecla 2 como el primero de un par ordenado de golpes de tecla en el método no ambiguo de dos golpes; La figura 2a es un diagrama de bloques de hardware del sistema de reducción de ambigüedad de teclado reducido de la figura 1a; La figura 2b es una vista esquemática de una modalidad de una pantalla táctil de computadora portátil que incorpora un sistema de teclado reducido de la presente invención, que muestra el teclado desplegado antes del primer golpe de tecla de un par ordenado de golpes de tecla en el método no ambiguo de dos golpes; La figura 2c es una vista esquemática de la pantalla táctil de la figura 2b, que muestra el teclado desplegado después de la activación de la tecla asociada con las sílabas _, _, _, y _ como el primero de un par ordenado de golpes de tecla; Las figuras 3a-3c son un diagrama de flujo de una modalidad del software de reducción de ambigüedad a nivel de palabra, para un sistema de reducción de ambigüedad de teclado reducido para el idioma japonés; La figura 4 es un vista esquemática de una modalidad alternativa de una pantalla táctil de computadora portátil que incorpora un sistema de teclado reducido de la presente invención; La figura 5 es una vista esquemática de otra modalidad alternativa de una pantalla táctil de computadora portátil que incorpora un sistema de teclado reducido de la presente invención que tiene nueve teclas; La figura 6 compara la asociación física de símbolos con teclas con un caso de una asociación lógica que incluye variaciones acentuadas adicionales de los caracteres que aparecen en la tecla física; La figura 7 es un ejemplo de una tabla que asocia símbolos de lógica con índices de tecla; La figura 8A representa una disposición interna de datos en un nodo de un árbol de un módulo de vocabulario; La figura 8B representa los componentes semánticos de una modalidad de una instrucción primaria para construir un objeto de texto Yomikata; La figura 8C representa los componentes semánticos de una modalidad de cuatro tipos diferentes de instrucciones secundarias usadas para construir objetos de texto Midashigo; La figura 8D representa los componentes semánticos de otra modalidad preferida de dos de los cuatro tipos diferentes de instrucciones secundarias usadas para construir objetos de texto Midashigo; Las figuras 9a-9d representan cuatro ejemplos de posibles elementos de datos internos en la estructura de nodos en una modalidad; La figura 10 representa la estructura de árbol preferida de un módulo de vocabulario no comprimido; La figura 11 representa estados ejemplares de listas de objeto, que son la modalidad preferida para almacenamiento intermedio de objetos en el proceso de ser recuperados de los módulos de vocabulario; La figura 12 es un diagrama de flujo de una modalidad preferida de un proceso de software para recuperar objetos de texto de un módulo de vocabulario dada una lista de opresiones de tecla; La figura 13 es un diagrama de flujo de una modalidad de un proceso de software para recorrer la estructura de árbol del módulo de vocabulario dada una opresión de una sola tecla, y alterando el estado de las listas de objeto; La figura 14 es un diagrama de flujo de una modalidad de un proceso de software para construir un módulo de vocabulario plegado comprimido; La figura 15 es un diagrama de flujo de una modalidad de un proceso de software para plegar la estructura de árbol de datos de un módulo de vocabulario; La figura 16 es un diagrama de flujo de una modalidad de un proceso de software para localizar un segundo nodo en un árbol de un módulo de vocabulario que tiene la redundancia más grande en comparación con un nodo dado; Las figuras 17a y 17b son un diagrama de flujo de una modalidad de un proceso de software para calcular la redundancia entre dos nodos de un árbol en un módulo de vocabulario; La figura 18 es un diagrama que muestra el contenido parcial de la base de datos de la presente invención para una secuencia de tres golpes consecutivos en una tecla, que está asociada ambiguamente con las sílabas La figura 19 muestra tres ejemplos representativos de operación del sistema, que muestran el contenido del texto desplegado del sistema ilustrado en la figura 1 a después de cada golpe de tecla en una secuencia de teclas introducida mientras se introduce texto; La figura 20 es un diagrama de bloques de hardware del sistema de filtración de carácter explícito de acuerdo con la invención; La figura 21 es una representación de un dispositivo manual inalámbrico que muestra cada letra del alfabeto inglés asociada con una tecla de acuerdo con la invención; La figura 22 es un diagrama de ejemplo de las letras Europeas y algunos símbolos especiales mostrados en las teclas 0-9 y sus respectivas teclas de cambio de acuerdo con la invención; La figura 23 es un plano de pantalla de muestra de un método de entrada de matriz de 2 teclas de acuerdo con la invención; La figura 24 es un diagrama de flujo de entrada explícita de 2 teclas para la filtración de carácter explícito en el sistema de entrada de texto ambiguo de la figura 20; La figura 25 es un diagrama de flujo para filtrar explícitamente en modo ambiguo de acuerdo con una modalidad preferida de la invención; La figura 26 es un diagrama de flujo de un método para generar palabras no almacenadas en la base datos de acuerdo con la invención; La figura 27 muestra un ejemplo de entrada explícita por opresión prolongada de una tecla de acuerdo con la invención; y La figura 28 es un diagrama de flujo que representa un ejemplo de estructuración de acuerdo con la invención.
DESCRIPCION DETALLA DE LA INVENCION Sistema de Entrada de Texto de Teclado Reducido para el Idioma Japonés I. Construcción del sistema y operación básica Haciendo referencia a la figura 1a, se representa un sistema de reducción de ambigüedad de teclado reducido formado de acuerdo con la presente invención, incorporado en un teléfono celular portátil, 52, que tiene una presentación, 53. El teléfono celular portátil 52 contiene un teclado reducido, 54, puesto en práctica sobre las teclas de teléfono estándar. Para los fines de esta solicitud, el término "teclado" se define ampliamente para incluir cualquier dispositivo de entrada que incluye una pantalla táctil que tiene áreas definidas para teclas, teclas mecánicas discretas, teclas de membrana, etc. Una disposición del kana en cada tecla del teclado 54 se presenta en la figura 1a, que corresponde a lo que se ha convertido de hecho en estándar de los teléfonos japoneses. Obsérvese que el teclado 54 tiene así un número reducido de teclas de entrada de datos en comparación con un teclado QWERTY estándar, o un teclado que incluye por lo menos 46 teclas, en donde una tecla está asignada para cada uno de los kana en el silabario japonés básico mostrado en el cuadro 1.
CUADRO 1 Más específicamente, el teclado preferido mostrado en esta modalidad contiene diez teclas de datos, numeradas del 1 al 0, dispuestas en una disposición de 3 x 4, junto con una tecla Seleccionar, 60, y una tecla Convertir, 62. Opcionalmente, el teclado también puede incluir una tecla de Borrar, 64, para borrar golpes de tecla previos; una tecla de Modo, 67, para introducir modos para escribir caracteres no ambiguos, números y símbolos; y una tecla Diacrítica, 68, para agregar dakuten y handakuten a kanas previamente introducidos. Los datos son introducidos en el sistema de reducción de ambigüedad por medio de golpes sobre el teclado reducido 54. En una primera modalidad preferida, conforme un usuario introduce una secuencia de golpes de tecla usando el teclado, es desplegado texto en la pantalla de teléfono 53. Cuando el sistema se pone en práctica sobre un dispositivo con limitado espacio de presentación, tal como los teléfonos celulares representados en las figuras 1 a-d, sólo el objeto de palabra actualmente seleccionado o más probable se despliega en el punto de intersección 88 en el texto generado. Conforme las teclas se oprimen en secuencia para introducir una palabra deseada, la palabra más probable que corresponde con la secuencia de entrada se despliega en algún formato distinguible. En la modalidad preferida representada en la figura 1a, la palabra actual es desplegada con un subrayado punteado. Como se explica más abajo en mayor detalle, después de oprimir la tecla Seleccionar 60 o la tecla Convertir 62, el subrayado punteado cambia a un subrayado continuo. En una segunda modalidad preferida ilustrada en las figuras 2b y 2c, dos regiones son definidas en la presentación 53 para desplegar información al usuario. Una región de texto 66 despliega el texto introducido por el usuario, justo como se describió para la primera modalidad anteriormente descrita, sirviendo como una memoria intermedia para entrada de texto y edición. Como se muestra en las figuras 2b y 2c, una región de lista de selección, 77, localizada típicamente debajo de la región de texto 66, muestra una lista de palabras y otras interpretaciones que corresponden con la secuencia de golpes de tecla introducidos por un usuario. La región de lista de selección ayuda al usuario a resolver la ambigüedad en los golpes introducidos mostrando simultáneamente tanto la interpretación ocurrente más frecuente de la secuencia de golpes de tecla de entrada, como otras interpretaciones alternativas que ocurren menos frecuentemente, desplegadas en orden descendiente de frecuencia. En la figura 2a se provee un diagrama de bloques del hardware de sistema de reducción de ambigüedad de teclado reducido. El teclado 54 y la presentación 53 están acoplados con un procesador 100 por medio de circuitos de interconexión apropiados. Opcionalmente, también se acopla un altavoz 102 con el procesador. El procesador 100 recibe entrada del teclado, y maneja todas las salidas a la pantalla y altavoz. El procesador 100 está acoplado con una memoria 104. La memoria incluye una combinación de medios de almacenamiento temporal, tal como memoria de acceso aleatorio (RAM), y medios de almacenamiento permanente, tal como memoria de solo lectura (ROM), discos flexibles, discos duros o CD-ROMs. La memoria 104 contiene todas las rutinas de software para gobernar la operación del sistema. Preferiblemente, la memoria contiene un sistema operativo 106, software de reducción de ambigüedad, 108, y módulos de vocabulario asociados, 110, que se exponen más abajo con detalle adicional. Opcionalmente, la memoria puede contener uno o más programas de aplicación, 1 12, 114. Ejemplos de programas de aplicación incluyen procesador de palabra, diccionario de software, y traductores de idioma extranjero. También se puede proveer software de síntesis de habla como un programa de aplicación, permitiendo que el sistema de reducción de ambigüedad de teclado reducido funcione como un auxiliar de comunicación. Retornando a la figura 1 a, el sistema de reducción de ambigüedad de teclado reducido permite que un usuario introduzca rápidamente texto u otros datos usando solamente una mano. Los datos son introducidos usando el teclado reducido 54. Cada una de las teclas de datos 1 a 0 tiene múltiples significados, representados en la parte superior de la tecla por caracteres, números y otros símbolos (para los fines de esta descripción, cada tecla de datos será identificada con el número y carácter que aparece en la tecla de datos, por ejemplo, 3_ para identificar la tecla de datos superior derecha). Puesto que las teclas individuales tienen múltiples significados, las secuencias de golpes de teclado son ambiguas en cuanto a su significado. Conforme el usuario introduce datos las diversas interpretaciones de golpe de tecla son desplegadas en múltiples regiones sobre la presentación para ayudar al usuario a resolver cualquier ambigüedad. En dispositivos de pantalla grande también se despliega una lista selección de posibles interpretaciones de los golpes de tecla introducidos para el usuario en una región de lista de selección. La primera entrada en la lista de selección se selecciona como una interpretación por omisión y se despliega en la región de texto 66 como un punto de inserción 88. En la modalidad preferida, esta entrada es desplegada con un subrayado punteado dibujado debajo del mismo en el punto de inserción 88 (y en la región de lista de selección en dispositivos de pantalla grande). El formateo significa que este objeto es seleccionado implícitamente en virtud de ser el objeto que ocurre más frecuentemente en la lista de selección actual. Si la presentación incluye una región de lista de selección como en la figura 2b, este formateo también establece una relación visual entre el objeto en el punto de inserción 88 y el mismo objeto desplegado en la región de lista de selección 77. En la figura a, no se despliega la lista de selección, y sólo el objeto por omisión (el objeto que sería desplegado primero en la lista de selección antes de cualquier activación de la tecla Seleccionar), o el objeto actualmente seleccionado si ha sido seleccionado explícitamente uno, es desplegado en el punto de inserción 88. La lista de selección de las interpretaciones posibles de los golpes de tecla introducidos puede ser ordenada de varias maneras. En un modo normal de operación, los golpes de tecla son interpretados inicialmente como la entrada de kana para deletrear un Yomikata que corresponde con la palabra deseada (en adelante la "interpretación de palabra"). Por ejemplo, como se muestra en la figura 2b, una secuencia de golpes de entrada _, _, y _ ha sido introducida por un usuario. Conforme las teclas se introducen, una búsqueda de módulo de vocabulario es ejecutada simultáneamente para localizar Yomikata que coincidan con la secuencia de golpes de tecla. El Yomikata es retornado del módulo de vocabulario de acuerdo con la frecuencia de uso, con el Yomikata usado más comúnmente listado en primer lugar. Usando el ejemplo de la secuencia de golpe de tecla, los Yomikata " ", " " y " " son identificados del módulo de vocabulario como los tres Yomikata más probables que corresponden a la secuencia de golpe de tecla. De los ocho Yomikata identificados en esta lista de selección, " " es el usado más frecuentemente, de modo que es tomado como la interpretación por omisión y anotado provisionalmente como texto de hiragana en el punto de inserción 88. Como se muestra en la figura 1a, antes de oprimir la tecla Seleccionar 60, este primer Yomikata es tomado como la interpretación por omisión y es clasificado en el punto de inserción 88 usando un formato distintivo. Este formado indica que un golpe de tecla subsiguiente en una de las- teclas de datos será anexado a la secuencia de tecla actual en lugar de iniciar una secuencia nueva. Por ejemplo, como en la figura 1a, el formateo distintivo consiste de desplegar el Yomikata como texto de hiragana con un subrayado punteado. La lista de otro Yomikata coincidente potencial se mantiene en memoria, clasificado de acuerdo con su frecuencia relativa. En la modalidad preferida, después de la entrada de la secuencia de golpes de tecla que corresponden al Yomikata deseado, el usuario simplemente oprime la tecla Seleccionar, 60. El subrayado punteado debajo del Yomikata por omisión " " desplegado en el punto de inserción 88 es reemplazado con un subrayado continuo. Si el Yomikata por omisión desplegado no es el Yomikata deseado, la tecla Seleccionar 60 es oprimida repetidamente hasta que aparece el Yomikata deseado. En una modalidad preferida, después de que todos los Yomikata en la memoria que coinciden con la secuencia de teclas han sido desplegados mediante la activación repetida de la tecla Seleccionar 60, la secuencia de teclas es interpretada como un número, en donde cada golpe de tecla genera el dígito que aparece en la marca de la tecla. Esto permite generar números sin un modo numérico separado, y también sirve como un indicador fácilmente reconocible del final de la lista de selección de interpretaciones de Yomikata. La siguiente opresión de la tecla Seleccionar 60 vuelve de regreso al primer Yomikata en la lista de selección. Una vez que se despliega el Yomikata deseado, si el Midashigo deseado (interpretación textual) es de hecho idéntico al Yomikata ya desplegado en el texto de hiragana, el usuario procede a oprimir la tecla de datos que corresponde con el primer kana del siguiente Yomikata por introducir. Por otra parte, si el Midashigo deseado consiste de kanji, kanji más hiragana, katakana o alguna combinación de los mismos, el usuario oprime la tecla Convertir 62. Esto ocasiona que el Yomikata desplegado sea reemplazado con el Midashigo que ocurre más frecuentemente, que está asociado con ese Yomikata en el módulo de vocabulario. Las opresiones repetidas de la tecla Convertir 62 reemplazan el Midashigo desplegado con otros Midashigo asociados en orden descendente de frecuencia. En una modalidad preferida, después de que todos los Midashigo en la memoria que están asociados con el Yomikata seleccionado han sido desplegados mediante la activación repetida de la tecla Convertir 62, el Yomikata seleccionado es desplegado como katakana. Esto permite que sean generadas palabras katakana sin un modo separado, y también sirve como un indicador fácilmente reconocible del final de la lista de selección de las interpretaciones de Midashigo. En otra modalidad preferida, si el usuario desea elegir un Midashigo que está asociado con el primer Yomikata (de omisión) asociado con la secuencia de tecla de entrada, la tecla Convertir 62 se puede oprimir inmediatamente para obtener el Midashigo deseado sin tener que oprimir primero la tecla Seleccionar 60. Después de una o más opresiones de una o las dos teclas Seleccionar 60, y Convertir 62, cualquier tecla de datos que se oprime remueve el formateo especial (subrayado continuo en la modalidad preferida) del Yomikata o Midashigo desplegado, y se convierte en el primer golpe de tecla de una nueva secuencia de teclas para ser interpretada por el sistema. No se requiere golpe de tecla especial para confirmar la interpretación de la secuencia de golpe de tecla precedente. En la modalidad preferida arriba descrita, oprimiendo la tecla Seleccionar 60 se forma un ciclo hacia adelante a través del Yomikata en la memoria que está asociada con la secuencia de tecla actual (en orden descendiente de frecuencia). En otra modalidad preferida, oprimiendo y reteniendo la tecla Seleccionar 60 después de un umbral de tiempo predeterminado se hace un ciclo hacia atrás a través del Yomikata en la memoria en orden ascendente de frecuencia. De esta manera, cuando la interpretación numérica es incluida al final de la secuencia de Yomikata asociado en la memoria como se describió arriba, una opresión y retención de la tecla Seleccionar 60 antes de cualquier opresión regular de la tecla Seleccionar 60, hace un ciclo hacia atrás inmediatamente a la interpretación numérica. Oprimiendo y reteniendo repetidamente la tecla Seleccionar 60 entonces se hace ciclo de regreso a través del Yomikata asociado en orden ascendente de frecuencia. Similarmente, oprimiendo y reteniendo la tecla Convertir 62 se hace ciclo hacia atrás a través del Midashigo asociado con el Yomikata actualmente seleccionado en orden ascendente de frecuencia. Similarmente, una primera opresión y retención de la tecla Convertir 62 antes de cualquier opresión regular de la tecla Convertir 62, retrocede el ciclo inmediatamente a la interpretación de katakana. Haciendo referencia todavía a la figura 1a, en otra modalidad preferida, cuando se introducen teclas de datos, la tecla Borrar 64 puede ser oprimida para borrar la tecla de datos previamente introducida. Si todas las teclas de datos en la secuencia de teclas actual son borradas de esta manera, oprimiendo la tecla Borrar 64 se borra el carácter en la presentación de texto 53 a la izquierda del punto de inserción 88, en donde un cursor de texto estándar es desplegado cuando la lista de selección actual está vacía.
Después de una o más opresiones de una o ambas, la tecla Seleccionar 60 y la tecla Convertir 62, oprimiendo la tecla Borrar 64 se reemplaza la interpretación textual actualmente seleccionada en el punto de inserción 88 con la interpretación de Yomikata por omisión de la secuencia de teclas actual, pero no borra ninguna de las teclas de datos de la secuencia de teclas. En otras palabras, la primera opresión de la tecla Borrar 64 después de cualquier número de opresiones de la tecla Seleccionar 60 o la tecla Convertir 62, "borra" efectivamente todas las activaciones de la tecla Seleccionar 60 y la tecla Convertir 62, retornando el sistema al estado inmediatamente anterior a la primera opresión de cualquiera de la tecla Seleccionar 60 o la tecla Convertir 62. En otra modalidad preferida, después de una o más opresiones de la tecla Convertir 62, al oprimir la tecla Seleccionar 60 se reemplaza el Midashigo actualmente seleccionado en el punto de inserción 88 con el Yomikata con el cual está asociado el Midashigo. Más opresiones de la tecla Seleccionar 60 continúan avanzando desde ese punto a través de los otros Yomikata en la memoria que están asociados con la secuencia de teclas actual (en orden descendente de frecuencia). En otra modalidad preferida, la activación de cualquier otro medio que genere explícitamente un carácter no ambiguo (por ejemplo introducir un modo de símbolos especial y oprimir una tecla que está asociada no ambiguamente con un solo carácter específico), sirve para terminar la secuencia de teclas actual. Como resultado, se remueve cualquier formateo especial (subrayado punteado o continuo en la modalidad preferida) del Yomikata o Midashigo desplegado en el punto de inserción 88, y el carácter no ambiguo específico es anexado a la palabra de salida en un punto de inserción nuevo 88. La anotación provisional del Yomikata o Midashigo seleccionado en la región de texto en el punto de inserción 88 permite al usuario mantener su atención en la región de texto sin tener que consultar la lista de selección. En la opción de usuario, el sistema también puede ser configurado para que, por recepción de la primera opresión de la tecla Seleccionar 60 (o la tecla Convertir 62), el Yomikata (o Midashigo) anotado provisionalmente en el punto de inserción 88 se pueda expandir (verticalmente y horizontalmente) para desplegar una copia de la lista de selección actual. El usuario puede seleccionar el número máximo de palabras por desplegar en esta copia de la lista de selección. Alternativamente, el usuario puede elegir tener la lista de selección siempre desplegada en el punto de inserción 88, incluso antes de la primera activación de la tecla Seleccionar. El sistema de reducción de ambigüedad interpreta el inicio de la siguiente palabra (señalado por la activación de una tecla de datos ambigua o la generación de un carácter no ambiguo explícito), como una afirmación de que la entrada actualmente seleccionada es la entrada deseada. Por lo tanto, la palabra seleccionada permanece en el punto de inserción 88 como la elección de usuario, el subrayado desaparece completamente y la palabra se vuelve a desplegar en texto normal sin formateo especial. En la mayor parte de entrada de texto, las secuencias de golpes de teclas son consideradas por el usuario como kana formando un Yomikata. Sin embargo, se apreciará que los múltiples caracteres y símbolos asociados con cada tecla permiten que los golpes de tecla individuales y las secuencias de golpe de tecla tengan varias interpretaciones. En el sistema de reducción de ambigüedad de teclado reducido preferido, varias interpretaciones diferentes son determinadas automáticamente y desplegadas para el usuario al mismo tiempo conforme la secuencia de golpes de tecla es interpretada y desplegada para el usuario como una lista de palabras. Por ejemplo, la secuencia de golpes de tecla es interpretada en términos de las raíces de palabra que corresponden a posibles secuencias válidas de kana que un usuario puede introducir (en adelante la "interpretación de raíz"). A diferencia de las interpretaciones de palabra, las raíces de palabra son palabras incompletas. Indicando las posibles interpretaciones de los últimos golpes de tecla, las raíces de palabra permiten al usuario confirmar fácilmente que se han introducido los golpes de tecla correctos, o para reasumir el tecleo cuando su atención se ha desviado a la mitad de la palabra. Hay secuencias de teclas que corresponden con la entrada parcial de una palabra o frase larga, pero que no corresponden con cualquier palabra o frase completa. En tales casos, la retroalimentación más útil que puede ser provista al usuario es mostrar el kana que corresponde con la raíz de la palabra que ha sido introducido hasta ese punto. En el ejemplo mostrado en la figura 2b, la secuencia de golpes de teclas _, _, _, puede ser interpretada formando la raíz válida " " (que conduce a la palabra " "). Las interpretaciones de raíz son provistas por lo tanto como entradas en la lista de selección. Preferiblemente, las interpretaciones de raíz son clasificadas de acuerdo con la frecuencia mixta de la serie de todas las palabras posibles que pueden ser generadas de cada raíz mediante golpes de teclas adicionales sobre las teclas de datos. El número máximo y el mínimo de frecuencia mixta de dichas entradas por desplegar puede ser seleccionado por el usuario o configurada en el sistema, de modo que algunas interpretaciones de raíz pueden no ser desplegadas. Cuando se lista una interpretación de raíz en la lista de selección, la raíz es omitida si una interpretación de raíz duplica una palabra que aparece en la lista de selección. Sin embargo, cuando se omite la raíz, la palabra que corresponde con la raíz omitida puede ser marcada con un símbolo para mostrar que también hay palabras más largas que tienen esta palabra como su raíz. Las interpretaciones de raíz proveen retroalimentación al usuario confirmando que se han introducido los golpes de tecla correctos para llevar a la entrada de una palabra deseada. Las figuras 3a-3c son un diagrama de flujo de una rutina principal del software de reducción de ambigüedad que procesa una lista de selección y determina qué se va a desplegar en el punto de inserción 88 para ayudar a! usuario a anular la ambigüedad de secuencias ambiguas de golpes de tecla. En el bloque 150 el sistema espera recibir un golpe de tecla del teclado 54. Al recibir un golpe de tecla en un bloque de decisión 51 , se hace una prueba para determinar si el golpe de tecla recibido es una tecla de selección de modo. Si es así, en un bloque 172 el sistema establece una bandera para indicar el modo de sistema actual. En un bloque de decisión 173, se hace una prueba para determinar si el modo de sistema ha cambiado. Si es así, en el bloque 171 la presentación es actualizada conforme sea necesario para reflejar el modo de sistema actual. Si el bloque 151 determina que el golpe de tecla no es una tecla de selección de modo, entonces en el bloque de decisión 152 se hace una prueba para determinar si el golpe de tecla recibido es la tecla Seleccionar. Si el golpe de tecla no es la tecla Seleccionar, entonces en el bloque de decisión 52A, se hace una prueba para determinar si el golpe de tecla recibido es la tecla Convertir. Si el golpe de tecla no es la tecla Convertir, entonces en el bloque de decisión 53 se hace una prueba para determinar si el sistema está en un modo de carácter explícito especial, tal como el modo de símbolos explícito. Si es así, en el bloque de decisión 166 se realiza una prueba para determinar si cualquier elemento previamente seleccionado está presente en la lista de selección. Si es así, en un bloque 167 el elemento es aceptado y es enviado como texto normal. Entonces, en el bloque 168, el carácter explícito que corresponde al golpe de tecla es enviado al área de texto. Después, en el bloque de decisión 169 se hace una prueba para determinar si el modo de sistema debe ser cambiado automáticamente, como en el caso del modo Símbolos. Si es así, la ejecución procede al bloque 170 y el modo de sistema es retornado al modo previamente activo, de otra manera la ejecución retorna al bloque 150. Si en el bloque 153 no está activo el modo de carácter explícito, en un bloque 154 el golpe de tecla es agregado a una secuencia almacenada de golpes de tecla. En el bloque 156, los objetos que corresponden a la secuencia de golpes de tecla son identificados de los módulos de vocabulario en el sistema. Los módulos de vocabulario son colecciones de objetos que están asociados con las secuencias de golpes de tecla. Un objeto es cualquier pieza de datos almacenados que han de ser recuperados en base a la secuencia de golpes de tecla recibidos. Por ejemplo, los objetos dentro de los módulos de vocabulario pueden incluir números, caracteres, palabras, componentes de palabras, raíces, frases o funciones y macros de sistema. Cada uno de estos objetos se describe brevemente en el siguiente cuadro: Aunque los objetos de vocabulario preferidos se expusieron arriba, se apreciará que se pueden contemplar otros objetos. Por ejemplo, un objeto gráfico puede estar asociado con una imagen gráfica almacenada, o un objeto de habla puede estar asociado con un segmento almacenado de habla. También puede contemplarse un objeto de deletreado, que podría enlazar la secuencia de golpes de tecla de palabras comúnmente mal deletreadas y errores de mecanografía, con el deletreado correcto de la palabra. Para simplificar el procesamiento, cada módulo de vocabulario contiene preferiblemente objetos similares. Sin embargo, se apreciará que se pueden mezclar varios objetos dentro de un módulo de vocabulario. Volviendo a las figuras 3a-3c, en el bloque 156 aquellos objetos que corresponden con la secuencia de golpes de tecla recibidos son identificados en cada módulo de vocabulario. En los bloques 158-165 los objetos encontrados buscando la secuencia de golpes de tecla en los módulos de vocabulario, son priorizados para determinar el orden en el cual los objetos son desplegados para el usuario. Para determinar la secuencia de objetos desplegados en la lista de selección, son establecidas prioridades entre cada módulo de vocabulario y también entre los objetos retornados de cada módulo de vocabulario. Para priorizar las listas de objetos identificadas de los varios módulos de vocabulario, en el bloque 158 es examinado el modo de operación del sistema de reducción de ambigüedad de teclado reducido. Como se expuso arriba, en un modo normal de operación, las interpretaciones de palabra (Yomikata y Midashigo) son desplegadas primero en la lista de selección. Por lo tanto, la lista de selección de un módulo de vocabulario de palabras sería asignado a una prioridad más alta que la lista de objetos de los otros módulos de vocabulario. Por el contrario, si el sistema de reducción de ambigüedad estuviera en el modo número de operación, las interpretaciones numéricas serían asignadas a una prioridad más alta que los otros módulos de vocabulario. El modo del sistema de reducción de ambigüedad por lo tanto dicta la prioridad entre listas de objetos de módulo de vocabulario. Se apreciará que en algunos modos, las listas de objeto de ciertos módulos de vocabulario pueden ser omitidas completamente de la lista de selección. Las listas de objeto generadas de módulos de vocabulario pueden contener sólo una sola entrada, o pueden contener entradas múltiples. En el bloque 160, la prioridad entre los objetos del mismo módulo de vocabulario es resuelta por lo tanto si la lista de objetos contiene entradas múltiples. Los objetos que coinciden con una secuencia particular de golpes de tecla que son buscados en un módulo de vocabulario dado también reciben una prioridad que determina su presentación relativa uno con respecto a otro. Como se indicó arriba, preferiblemente el orden de presentación por omisión es por frecuencia decreciente de uso en un cuerpo representativo de uso. Los datos de prioridad asociados con cada objeto son usados por lo tanto para ordenar los objetos en la lista de selección. Muchas de las propiedades asociadas con la presentación de los objetos buscados en un módulo de vocabulario son programables por el usuario entrando a menús de sistema apropiados. Por ejemplo, el usuario puede especificar el orden de objetos o clases individuales de objetos en la lista de selección. También, el usuario puede establecer el nivel de prioridad que determina la prioridad entre módulos de vocabulario y entre los objetos identificados de cada módulo de vocabulario. Después de haber resuelto las prioridades entre los objetos, en un bloque 165 es construida una lista de selección de los objetos identificados y presentada al usuario. Como una interpretación por omisión de la secuencia ambigua de golpes de tecla introducida por el usuario, la primera entrada en la lista de selección es anotada provisionalmente y destacada en el punto de inserción 88 en la región de texto 53, como se ilustra en las figuras 1a y 1c. La rutina de software de reducción de ambigüedad retorna entonces al bloque 50 para esperar el siguiente golpe de tecla. Si el golpe de tecla detectado es la tecla Seleccionar 60, la rama "si" es tomada del bloque de decisión 152 al bloque de decisión 163, en donde una prueba determina si la lista de selección actual está vacía. Si es así, entonces la ejecución retorna al bloque 150. Si en el bloque de decisión 163 la lista de selección no está vacía, la rama "no" es llevada a un bloque 174. En el bloque 174, el subrayado punteado debajo del Yomikata por omisión, desplegado en el punto de inserción 88 en donde ha sido anotado provisionalmente, es cambiado a un subrayado continuo. En un bloque 175, el sistema espera entonces para detectar el siguiente golpe de tecla introducido por el usuario. Al recibir un golpe de tecla, en un bloque de decisión 176 se hace una prueba para determinar si el siguiente golpe de tecla es la tecla Seleccionar. Si el siguiente golpe de tecla es la tecla Seleccionar, en un bloque 178 el sistema avanza al siguiente Yomikata en la lista de selección y lo marca como el elemento actualmente seleccionado. En el bloque 179 la entrada actualmente seleccionada es desplegada provisionalmente en el punto de inserción con un subrayado continuo. La rutina retorna entonces al bloque 175 para detectar el siguiente golpe de tecla introducido por el usuario. Se apreciará que el circuito formado por los bloques 175-179 permite al usuario seleccionar varias interpretaciones de Yomikata de la secuencia ambigua introducida de golpes de tecla que tiene una frecuencia menor de uso, oprimiendo la tecla Seleccionar múltiples veces. Si el siguiente golpe de tecla no es la tecla Seleccionar, en un bloque de decisión 177 se hace una prueba para determinar si el siguiente golpe de tecla es la tecla Convertir. Si el golpe de tecla detectado es la tecla Convertir, la rama "si" es llevada del bloque de decisión 177 al bloque 190 en donde el primer Midashigo asociado con el Yomikata actual es marcado como el elemento seleccionado y el texto Midashigo es desplegado provisionalmente en el punto de inserción 88 con un subrayado continuo. En un bloque 191 , el sistema espera entonces para detectar el siguiente golpe de tecla introducido por el usuario. Al recibir un golpe de tecla, en un bloque de decisión 192 se hace una prueba para determinar si el siguiente golpe de tecla es la tecla Seleccionar. Si el siguiente golpe de tecla es la tecla Seleccionar, en un bloque 196 el sistema cambia el elemento actualmente seleccionado de vuelta al Yomikata con el cual está asociado el Midashigo actualmente seleccionado, y lo marca como el elemento actualmente seleccionado, y después procede en el bloque 179 como antes. Si en el bloque de decisión 192 el golpe de tecla siguiente no es la tecla Seleccionar, en un bloque de decisión 93 se hace una prueba para determinar si el siguiente golpe de tecla es la tecla Convertir. Si es la tecla Convertir, entonces en un bloque 194 el objeto actualmente seleccionado avanza al siguiente Midashigo asociado con el Yomikata actual, y es marcado como el elemento seleccionado. En el bloque 195, el Midashigo ahora seleccionado es desplegado provisionalmente en el punto de inserción 88 con un subrayado continuo. El sistema retorna entonces al bloque 191 para esperar a detectar el siguiente golpe de tecla introducido por el usuario. Si en los bloques de decisión 177 ó 193 el siguiente golpe de tecla no es la tecla Convertir, la rutina continúa hasta un bloque 180 en donde la entrada desplegada provisionalmente es seleccionada como la interpretación de secuencia de golpe de tecla, y es convertida a formateo de texto normal en la región de texto. En un bloque 184, la antigua secuencia de golpe de tecla es borrada de la memoria del sistema, puesto que la recepción de un golpe de tecla ambigua después de la tecla Seleccionar o la tecla Convertir, indica al sistema el inicio de una nueva secuencia ambigua. El golpe de tecla recién recibido es usado entonces para iniciar la nueva secuencia de golpe de tecla en el bloque 154. Como la interpretación de Yomikata que tiene la frecuencia más alta de uso es presentada como la elección por omisión, la rutina principal del software de reducción de ambigüedad permite a un usuario introducir continuamente texto con un mínimo número de casos que requieren activaciones adicionales de la tecla Seleccionar. La figura 1 es una vista esquemática de un teclado de teléfono celular similar a la figura a. Un teclado reducido 54' incluye una pluralidad de teclas de entrada de datos 21 '-30'. Una o más de las teclas de entrada de datos están asociadas con una pluralidad de caracteres romaji (letras de latín usadas para deletrear fonéticamente las pronunciaciones de los caracteres kana japoneses), y están marcadas con cada uno de los caracteres romaji asociados con la tecla. Se genera una secuencia de entrada cada vez que es seleccionada una entrada por manipulación del usuario del dispositivo de entrada. La secuencia de entrada generada tiene una interpretación textual que es ambigua debido a la pluralidad de caracteres romaji asociados con una o más de las teclas de entrada de datos. Esta modalidad del sistema es conceptualmente muy similar a la que se muestra en la figura 1a, pero no requiere una tecla diacrítica 68 puesto que el kana con signos diacríticos es especificado en romaji usando diferentes letras latinas. Por ejemplo, el kana _ es especificado en romaji como "KA", mientras que el mismo kana con el dakuten diacrítico contiguo (_) es especificado en romaji como "GA". En un modo normal de operación, los golpes de tecla son interpretados inicialmente como la entrada de una secuencia de romaji que corresponde al kana para deletrear un Yomikata que corresponde a la interpretación de la palabra deseada. Por ejemplo, como se muestra en la figura 1 , un usuario ha introducido una secuencia de golpes de tecla 5 KLM, 4 HIJ, 5 KLM, 1 ABC, 5 KLM y 9 TUV. Conforme de introducen las teclas es realizada simultáneamente una búsqueda en módulo de vocabulario para localizar Yomikata que coincida con la secuencia de golpes de tecla. Los Yomikata son retornados del módulo de vocabulario de acuerdo con la frecuencia de uso, listándose primero los Yomikata usados más comúnmente. Usando la secuencia ejemplar de golpes de tecla, los Yomikata KIKAKU (" ") y MIKAKU (" ") son identificados del módulo de vocabulario como los Yomikata más probables que corresponden a la secuencia de golpes de tecla. De los dos Yomikata identificados en esta lista de selección, KIKAKU " " es el usado más frecuentemente, de modo que es tomado como la interpretación por omisión y es anotado provisionalmente como texto hiragana en el punto de inserción 88'. Como se muestra en la figura 1 b, antes de oprimir la tecla Seleccionar 60', este primer Yomikata es tomado como la interpretación por omisión y es anotado en el punto de inserción 88' usando un formato distintivo. La especificación de un Yomikata en romaji requiere en promedio aproximadamente el doble de caracteres (y consecuentemente el doble de selecciones de teclas) que la especificación correspondiente en kana. Consecuentemente, el sistema mostrado en la figura 1 b generalmente dará como resultado menos elecciones ambiguas que las mostradas en la figura 1a, puesto que estadísticamente es especificada más información cuando se introduce el doble de golpes de tecla que son distribuidos entre el mismo número de teclas de entrada (diez).
II. Método de entrada de texto no ambiguo La presente invención también provee un método para un teclado reducido para el idioma japonés que permite al usuario especificar sin ambigüedad cada kana deseado como un par ordenado de golpes de tecla. El silabario japonés incluye 108 sílabas (contando la "breve", , , y como sílabas separadas de las , , , y completas, puesto que son escritas y pronunciadas de una manera distinta). Existen algunas sílabas adicionales raramente usadas, tales como las versiones "breves" de las sílabas vocales , , , , y , que son usadas principalmente solo en katakana. Estas sílabas raramente usadas también pueden ser generadas fácilmente por el sistema cuando se usan en conjunto con una presentación como se expone más abajo. De las 108 sílabas normales, 37 son generadas simplemente agregando uno de los signos diacríticos " o ° a una de las otras 71 sílabas. Estas 71 sílabas sin signos diacríticos se pueden organizar lógicamente en una sola matriz de nueve o diez filas y ocho a diez columnas, como se explica en detalle más abajo. Una pluralidad de las teclas en el teclado de la presente invención están marcadas con dos kana, uno representando la consonante asociada con una fila dada de la matriz, y el segundo kana representando la vocal asociada con una columna dada de la matriz. La organización es lógica e intuitiva para un parlante de japonés nativo para 106 de las 108 sílabas, y el método para generar las dos sílabas restantes {_ breve y _) es simple y fácil de aprender. Cada sílaba es generada por un solo par de golpes de tecla, incluyendo las sílabas con vocales palatalizadas que son representadas por dos kanas separados (por ejemplo KYA, KYU y KYO). Esto da como resultado que se requieran significativamente menos golpes de tecla con respecto al método de múltiples golpes usado actualmente para introducir kana en un teclado reducido. De esta manera, la presente invención provee un teclado reducido que es entendido fácilmente, y aprendido rápidamente, por los parlantes de japonés nativos, y que es eficiente en términos de reducción de la longitud de secuencias de golpes de tecla. En la modalidad preferida, 71 sílabas del silabario japonés se organizan en la matriz mostrada en el cuadro 4a. En el caso general que incluye las 69 sílabas que aparecen en las primeras ocho columnas del cuadro 4a, el primer golpe de tecla del par ordenado correspondiente determina la consonante de la sílaba por producir, y el segundo golpe de tecla determina la vocal. Las dos sílabas restantes (_ "breve" y _) son casos excepcionales que se exponen más abajo. Las restantes 37 sílabas no mostradas en el cuadro 4a son enviadas generando la sílaba base correspondiente que aparece en la matriz del cuadro 4a, y después agregando un signo diacrítico usando una tecla separada. La figura 1c muestra una vista esquemática de un teléfono celular con capacidad limitada de presentación o sin dicha capacidad, que tiene un teclado que incorpora una modalidad del sistema de teclado reducido de la presente invención para el idioma japonés. Cada una de las diez teclas 121 a 130 está marcada con una de las marcas de kana de los encabezados de fila en la columna marcada como "tecla 1 " en el cuadro 4a (en adelante un "kana de marca de fila") en la región superior izquierda de la tecla, y con una de las marcas de kana de los encabezados de columna en la fila marcada como "tecla 2" en el cuadro 4a (en adelante un "kana de marca de columna") en la región inferior derecha de la tecla. En la modalidad preferida, una sílaba que aparece en el cuadro 4a es generada cuando la secuencia de dos teclas es introducida, en donde la primer tecla es la tecla marcada en la izquierda superior con el kana de marca de fila que corresponde a la fila en la cual aparece la sílaba, y la segunda tecla es la tecla marcada en la derecha inferior con el kana de marca de columna correspondiente a la columna en la que aparece la sílaba. Los diez kana de marca de fila aparecen en su secuencia lexicográfica normal en la izquierda superior de las diez teclas 121-130 del teclado mostrado en la figura 1 c. Los primeros cinco kana de marca de columna aparecen en su secuencia lexicográfica normal a la derecha inferior de las primeras cinco teclas 121-125 del teclado, seguido por la breve, , y (también en secuencia lexicográfica normal) en las siguientes tres teclas 126-128. Finalmente, la _ "breve" aparece en la siguiente tecla 129 seguida por en la tecla 130. Se puede agregar un signo diacrítico a cualquier sílaba activando una vez la tecla Diacrítica 131 para generar el diacrítico y dos veces en sucesión para generar el diacrítico °. Cuando se agrega un diacrítico a una sílaba con una vocal palatalizada (representada por dos kana de salida que consisten de una sílaba de la columna " " del cuadro 4 seguida por una "breve". , o ), el diacrítico se agrega al resultado en su localización correcta inmediatamente después del primero de los dos kana. De esta manera, para las 69 sílabas que aparecen en las primeras ocho columnas del cuadro 4a, el primer golpe de tecla del par ordenado correspondiente determina la consonante de la sílaba por producir, y el segundo golpe de tecla determina la vocal. En otra modalidad preferida, se usa una presentación para proveer retroalimentación al usuario. Al recibir el primer golpe de tecla de un par ordenado, el sistema despliega las diversas sílabas que pueden ser generadas por cada tecla que es válida como el segundo golpe de tecla de un par ordenado. La asociación entre qué tecla genera qué sílaba puede ser indicada marcando cada sílaba con el número (u otro identificador) asociado con la tecla que genera la sílaba. Alternativamente, las sílabas pueden ser desplegadas (con o sin una marca numérica) en una disposición geométrica que corresponde con la disposición de las teclas correspondientes. Por ejemplo, en el caso de un dispositivo tal como un teléfono celular con una presentación de texto, las sílabas pueden ser desplegadas en una matriz de tres por tres que corresponde a la disposición de la tecla 1 a la 9 del teclado telefónico. Cuando se usa una presentación de esta manera, pueden ser generadas fácilmente incluso las sílabas raramente usadas, tales como las versiones "breves" de las sílabas de vocal , , , , y . Por ejemplo, usando la matriz mostrada en el cuadro 4b, al oprimir la primera tecla de un par ordenado en donde la primera tecla corresponde a las sílabas de solo vocal en la fila superior del cuadro 4b, la presentación muestra las versiones de tamaño normal de las sílabas de vocal , , , , y , asociadas con un segundo golpe de tecla en las teclas 1 a 5, y las versiones "breves" de las sílabas de vocal , , ¿ , , y asociadas con las teclas 6 a 0. La figura 1d muestra una vista esquemática de un teléfono celular que incluye capacidad de presentación de texto, con un teclado que incorpora una modalidad del sistema de teclado reducido de la presente invención para el idioma japonés. Cada una de las diez teclas 121 a 130 está marcada con solo uno de los kana de marca de fila del cuadro 4b, en una región central de la tecla. Los diez kana de marca de fila aparecen en su secuencia lexicográfica normal sobre las diez teclas 121-130 del teclado mostrado en la figura 1 d. La figura 1d muestra la apariencia de la presentación después de la activación de la tecla 122 (asociada ambiguamente con , , , , y ) como la primer tecla de un par ordenado de golpes de tecla. En la modalidad preferida, las sílabas que aparecen en la fila correspondiente del cuadro 4b son desplegadas cuando se activa la tecla marcada con el kana de marca de fila. La presentación muestra la asociación entre el kana que será generado y cada tecla que puede ser oprimida como una segunda tecla de un par ordenado de golpes de tecla para generar el kana. Las columnas del cuadro 4b están marcadas con los números que también aparecen sobre cada tecla del teléfono celular mostrado en la figura 1 d. Es de notar que en esta modalidad preferida, las tres sílabas con vocales palatalizadas ( , , y ) están asociadas con las teclas 127-129 (marcadas con los dígitos 7, 8 y 9) y así estas pueden ser desplegadas en una sola fila de la presentación. Esto hace más fácil para el usuario asociar estas sílabas relacionadas con las teclas que las generarán, puesto que la asociación puede ser realizada no solo en términos del número de marcas sobre las teclas y las sílabas desplegadas, sino también en términos de la misma disposición de matriz de tres por tres de las sílabas sobre la presentación y las teclas en el teclado. Como antes, un signo diacrítico es agregado a cualquier sílaba activando una vez la tecla Diacrítica 131 para generar el diacrítico ", y dos veces en sucesión para generar el diacrítico °. Cuando se agrega un diacrítico a una sílaba con una vocal palatalizada (asociada con un segundo golpe de tecla sobre las teclas 127-129 en el ejemplo mostrado en la figura 1d), el diacrítico es agregado al resultado en su localización correcta inmediatamente después del primero de los dos kana. Las figuras 2b y 2c muestran la modalidad preferida del presente sistema como podría aparecer cuando se realiza como un teclado desplegado en una pantalla táctil de computadora portátil. La figura 2b muestra el teclado 150 como es desplegado antes del primer golpe de tecla de un par ordenado de golpes de tecla. La figura 2c muestra el teclado 170 como es desplegado después de una activación de la tecla 152 de la figura 2b asociada con las sílabas , , , , y como el primero de un par ordenado de golpes de tecla. En la figura 2c, las teclas 171-179 están marcadas con el kana que será generado como resultado cuando las teclas se activan, respectivamente. Esta disposición de teclas y sílabas se basa en la misma disposición de matriz de tres por tres mostrada en la presentación de la figura 1d, asociando sílabas con teclas del teclado usando la misma organización conceptual de sílabas mostrada en el cuadro 4b. En otra modalidad preferida, la entrada de una secuencia de dos teclas que corresponden a una celda vacía en el cuadro 4a o 4b, no produce resultado y, a opción del usuario, se genera una señal audible de error. En una modalidad alternativa, la celda que corresponde a un doble golpe sobre la tecla 129 en la figura 1c (marcada con el kana de marca de columna "breve"), también genera una "breve". En otra modalidad alternativa, todas las celdas de la columna marcadas con el kana de marca de columna "breve" también generan una "breve"). Similarmente, en otra modalidad alternativa, todas las celdas en la columna marcada con la marca de columna kana _ genera una _. Será evidente para una persona con conocimientos medios en la materia que se pueden hacer varias modificaciones a la matriz de los cuadros 4a y 4b sin apartarse del alcance de la invención. Por ejemplo, la _"breve" y _ son casos excepcionales que pueden ser especificados en una amplia variedad de formas, por ejemplo asignándolas a una tecla separada que se activa una vez para generar una _"breve" y dos veces en sucesión para generar una _. El aspecto más importante de la presente invención es la forma de especificación de las sílabas en las primeras ocho columnas del cuadro 4a (o columnas 1-5 y 7-9 del cuadro 4b).
CUADRO 4B Será evidente para una persona con conocimientos medios en la materia que, aunque la asignación a las teclas de kana de marca de fila y kana de marca de columna en la modalidad preferida mostrada en la figura 1c es la más natural, también son posibles modalidades alternativas en las cuales el kana de marca de fila y el kana de marca de columna son asignados a teclas en otras combinaciones, sin apartarse del alcance de la invención. Las figuras 4 y 5 muestran algunas de las muchas posibles modalidades alternativas en las cuales son asignados kana de marca de fila y kana de marca de columna a teclas en una disposición alternativa. En una modalidad alternativa, el sistema de la presente invención también se puede realizar en un teclado con solo nueve teclas, como se muestra en la figura 5. Sesenta y ocho de las 71 sílabas distintas del cuadro 4a también se pueden organizar como se muestra en el cuadro 5, en donde se ha eliminado la fila que corresponde a la marca de fila _. En dicho sistema de nueve teclas, las tres sílabas _, _, y _ son generadas de secuencias de tecla de par ordenado en las cuales la primera tecla es la marca de fila _ que corresponde a las celdas de la primera fila del cuadro. Las sílabas J'breve" y _ son generadas por secuencias de teclas que corresponden a las celdas en la última columna, que incluye las últimas dos columnas del cuadro 4a combinadas entre sí.
CUADRO 4A CUADRO 5 "¾»-*-- tecla 2 r— < 1 tecla 1*""*"***^ T -r X 3 i i 7 é' A ?? 1 r ¾ u ¾. E, ¡fe 0 YA «P YU J: YO KA £ a <iKU t† E .K0 S?*KYA 8»J>KYU SiKYO <$' SA t SH •r su •fr SE í so LK> SHA «»SHU LiSHO ? ¼ TA ¾ CHI -3TSU T é i: TO ¾*CHA ¾*frCHU ¾*CHQ t ¾C NA C M & NU ti NE fí> NO NYA tn>W U (Cfc NYO )\ <í HA H - FU »¾ ffi HÓ HYA <Zh»HHJ HYO S MA & M t) MU tí) ME ¾ MO MYA #-«»MYU frk MYO 6 RA y Ri d RU RE 3 RO y* RYA U«Í>RYU y* RYO 3 WA ¾: wo En otro aspecto de la presente invención, el sistema provee una indicación al usuario de si el siguiente golpe de tecla será procesado como el primer golpe de tecla de un par ordenado (determinando la consonante de la sílaba por producir), o como el segundo golpe de tecla de un par ordenado (determinando la vocal de la sílaba por producir). Por ejemplo, esta indicación puede ser realizada como un par de LEDs marcados que se encienden de forma alterna. Alternativamente se pueden mostrar dos iconos distintos en una presentación de forma alterna. Será evidente para una persona con conocimientos medios en la materia que también son posibles muchas otras modalidades alternativas de dicha indicación, sin apartarse del alcance de la invención. Los efectos combinados de la asignación de marcas apropiadas a las teclas como se muestra en las figuras 1c y 2b; la generación de sílabas de pares ordenados de golpes de tecla; la provisión de retroalimentación apropiada después de un primer golpe de tecla de un par ordenado como se muestra en las figuras 1d y 2c; la correspondencia natural entre la organización de marcas de tecla y la ordenación y disposición normales del silabario japonés; y la inclusión de una indicación para el usuario para ver si el siguiente golpe de tecla corresponde a un kana de marca de fila que especifica la consonante de una sílaba, o un kana de marca de columna que especifica la vocal, dan como resultado un sistema que es eficiente para introducir texto sin ambigüedad y que es fácilmente entendido y rápidamente aprendido por parlantes de japonés nativos. Por lo tanto se logra la introducción de texto sin ambigüedad, a alta velocidad, usando un teclado que tiene un número reducido de teclas de tamaño completo que es fácil de aprender y usar.
III. Método de entrada de texto que combina golpes de tecla ambiguos y no ambiguos En otro aspecto de la invención, se combina la especificación tanto ambigua como no ambigua de sílabas para lograr mayor eficiencia en el método de entrada. En una modalidad preferida, a opción del usuario la primer sílaba de una palabra por introducir es especificada sin ambigüedad usando el método de dos golpes de tecla anteriormente descrito. Es de notar que en el caso de sílabas con vocales palatalizadas, estos primeros dos golpes de tecla dan la especificación de dos caracteres hiragana (incluyendo "breve", _, o _ que indican la vocal palatal). Las sílabas restantes de una palabra o frase son especificadas ambiguamente con un solo golpe de tecla para cada sílaba. En el caso de palabras tan cortas como una o dos sílabas, este método combinado puede reducir significativamente la ambigüedad de la secuencia de entrada, y consecuentemente reduce el número de lecturas candidatas que el usuario puede requerir de examinar para encontrar la lectura deseada. En otra modalidad alternativa, se puede usar el método de especificación de múltiples golpes como se conoce en la técnica para especificar sin ambigüedad solamente la primera sílaba de una palabra o frase, y el resto de las sílabas se especifican ambiguamente. En otra modalidad alternativa que usa el método de especificación ambigua de la presente invención, el método de dos golpes se puede usar para especificar cualquier sílaba deseada en una palabra o frase (en lugar de solo la primera). Por ejemplo, la opresión y retención de una tecla después de un cierto umbral de tiempo puede indicar que el golpe de tecla inmediatamente posterior es el segundo de dos golpes de tecla para especificar sin ambigüedad la sílaba deseada. Este enfoque tiene dos beneficios. Uno es que cualquier sílaba (en lugar de solo la primer sílaba de una palabra o frase) puede ser especificada sin ambigüedad. El segundo es que el usuario puede elegir especificar sin ambigüedad una sílaba, solamente cuando se considera que esto aumentará la eficiencia de la entrada. Para algunas palabras y frases menos comunes (y especialmente para palabras más cortas), la presentación por omisión de las palabras y frases usadas más comúnmente puede requerir varias activaciones de la tecla Seleccionar para seleccionar el Yomikata deseado cuando todas las sílabas son especificadas ambiguamente. En tales casos, la especificación sin ambigüedad de por lo menos una silaba puede resultar en que se requieran significativamente menos golpes de tecla para generar el Yomikata deseado, puesto que el usuario solo necesita seleccionar entre los Yomikata que comparten la misma sílaba o sílabas especificadas sin ambigüedad en la misma posición o posiciones.
IV. Estructura de base de datos para sostener la reducción de ambigüedad de golpes de tecla ambiguos La base de datos de palabras y frases que se usan para reducir la ambigüedad de secuencias de entrada es almacenada en un módulo de vocabulario que usa una o más estructuras de árbol de datos. Las palabras que corresponden a una secuencia de golpe de tecla particular son construidas de datos almacenados en una estructura de árbol, en forma de instrucciones que modifican la serie de palabras y raíces de palabra asociadas con la secuencia de golpes de tecla inmediatamente precedente. De esta manera, conforme es procesado cada nuevo golpe de tecla en una secuencia, la serie de instrucciones asociadas con ese golpe de tecla es usada para crear una nueva serie de palabras y raíces de palabra, asociada con la secuencia de golpes de tecla que tiene el nuevo golpe de tecla anexo a la misma. De esta manera, las palabras y raíces de palabra no son almacenadas explícitamente en la base de datos, son construidas en base a la secuencia de teclas usada para tener acceso a ellas. En el caso del idioma japonés, la estructura de árbol de datos incluye dos tipos de instrucciones. Las instrucciones primarias crean el Yomikata de las palabras y frases almacenadas en un módulo de vocabulario, que consiste de secuencias de kana que corresponden a la pronunciación de las palabras y frases. Correspondiendo con cada Yomikata está una lista de instrucciones secundarias que crea el Midashigo asociado con cada Yomikata. Cada Yomikata es creado por una instrucción primaria que modifica uno de los Yomikata asociados con la secuencia de golpes de tecla inmediatamente precedente. Similarmente, cada Midashigo es creado por una instrucción secundaria que modifica uno de los Midashigo asociados con el Yomikata que fue modificado por la instrucción primaria con la cual está asociada la instrucción secundaria.
Puesto que cada instrucción primaria se refiere a una tecla conocida, la información referente a qué kana particular se va a anexar, se almacena preferiblemente como un índice lógico en la serie de kana asociados con la tecla. En la figura 6 se representa un diagrama representativo de una sola tecla 540. No es necesario que la representación lógica interna de las teclas en la modalidad preferida retrate la disposición física. Por ejemplo, 541 es una descripción lógica preferida de una tecla asociada con la tecla "2 _ " en un módulo de vocabulario japonés. También están asociados con la tecla cuatro símbolos adicionales, 542 (_, _, _, _). También, los símbolos son indexados preferiblemente 543 en orden de su frecuencia decreciente de uso en un léxico japonés _, _, _, _). Por extensión, la figura 7 es una tabla preferida que relaciona los índices de símbolos lógicos con índices de teclas para ser usada en el proceso de reducción de ambigüedad de las opresiones de tecla en palabras japonesas. La figura 7 muestra una tabla que corresponde a la modalidad preferida ilustrada en la figura 1a, que tiene una tecla Diacrítica 68 separada que se usa para especificar cuando el carácter precedente va a aparecer con dakuten o handakuten. La opresión de la tecla Diacrítica 68 es ambigua con respecto a si se debe anexar dakuten o handakuten en el kana precedente. En una modalidad alternativa, la tecla Diacrítica 68 no es ambigua y se oprime una vez para dakuten y dos veces en sucesión para especificar handakuten. En otra modalidad preferida, todas las formas de un kana dado (con y sin dakuten o handakuten) están asociadas con la misma tecla, y también aparecerían en la misma fila de la Tabla de Indice de Símbolos Lógicos. Esto permite ajusfar el sistema que usa la base de datos de tal manera que el uso de la tecla Diacrítica 68 sea opcional. En dicho sistema, si se desactiva la opción de requerir el uso de la tecla Diacrítica 68, las instrucciones que especifican la adición de un kana con diacríticos son omitidas hasta que la tecla Diacrítica 68 haya sido oprimida una vez (para dakuten) o dos veces (para handakuten). En la figura 10 se representa un diagrama representativo de un árbol en un módulo de vocabulario 1010 de objeto de palabra. Se usa una estructura de árbol de datos para organizar los objetos en un módulo de vocabulario basado en una secuencia de golpes de tecla correspondientes. Como se muestra en la figura 10, cada nodo N001 , N002, ..., N011 en el árbol de módulo de vocabulario, representa una secuencia particular de golpes de tecla. Los nodos en el árbol están unidos por rutas P001 , P002, ..., P01 1. Puesto que hay once teclas de datos ambiguos en la modalidad preferida del sistema de reducción de ambigüedad, cada nodo padre en el árbol de módulo de vocabulario puede estar unido con once nodos hijos. Los nodos unidos por rutas indican secuencias válidas de golpes de tecla, mientras que la falta de una ruta de un nodo indica una secuencia inválida de golpes de tecla, es decir, una que no corresponde con ninguna palabra almacenada. Es de notar que en el caso de una secuencia inválida de golpes de tecla de entrada, el sistema de la modalidad preferida aún sería capaz de construir y desplegar una interpretación numérica de la secuencia de teclas introducida. La apariencia de una interpretación numérica en el punto de inserción (sin ninguna opresión de la tecla Seleccionar), indica al usuario que el módulo de vocabulario no contiene palabra que corresponda con la secuencia de teclas introducida. Un árbol de módulo de vocabulario es recorrido en base a una secuencia de golpes de tecla recibida. Por ejemplo, la opresión de la segunda tecla de datos del nodo raíz 1011 ocasiona que datos asociados con la primera tecla sean recogidos del nodo raíz 1011 y evaluados, y después es recorrida la ruta P002 al nodo N002. Al oprimir la segunda tecla de datos una segunda vez se ocasiona que datos asociados con la segunda tecla sean recogidos desde el nodo N002 y evaluados, y después es recorrida la ruta P 02 al nodo N102. Como se describirá más abajo con mayor detalle, cada nodo es asociado con varios objetos correspondientes a la secuencia de golpes de tecla. Conforme es recibido cada golpe de tecla y el nodo correspondiente es procesado, se genera una lista de objetos de los objetos correspondientes a la secuencia de golpes de tecla. La lista de objetos de cada módulo de vocabulario es usada por la rutina principal del sistema de reducción de ambigüedad para generar una lista de selección. La figura 8A es un diagrama de bloques de una estructura de datos preferida 400 asociada con cada nodo. La estructura de datos contiene información que enlaza cada nodo padre con nodos hijos en el árbol de módulo de vocabulario. La estructura de datos también contiene información (instrucciones) para identificar los objetos asociados con las secuencias de golpes de tecla particulares representadas por el nodo. El primer campo en la estructura de datos de nodo 400 es un campo de bits de teclas válidas, 402, que indica el número e identidad de nodos hijos que están unidos con el nodo padre, y cual de las once posibles teclas está asociada con información (instrucciones) para identificar (construir) los objetos asociados con las secuencias particulares de golpes de tecla representadas por el nodo. Puesto que hay once teclas de datos en la modalidad preferida, como máximo once nodos hijos pueden ser unidos a cualquier nodo padre, y por tanto son provistos once bits de teclas válidas en el campo de bits de teclas válidas para indicar la presencia o ausencia de nodos hijos. Cada bit de teclas válidas está asociado con un campo de apuntador, 404a, 404b, ... 404n, que contiene un apuntador para la estructura de datos de nodo hijo respectivo en el módulo de vocabulario. Puesto que un nodo hijo está presente solo si el golpe de tecla asociado con el nodo hijo es una continuación válida de la secuencia de golpes de tecla asociada con el nodo padre, el número de campos de apuntador varía para cada nodo. Por ejemplo, el campo de bits de teclas válidas, 402, puede indicar que solo seis de los posibles once golpes de tecla conducen a un nodo hijo válido. Como solo hay seis rutas válidas, solo seis campos de apuntador son incluidos en la estructura de datos para el nodo padre. El campo de bits de teclas válidas, 402, es usado para determinar la identidad de los campos de apuntador contenidos dentro de la estructura de datos de nodo. Si un golpe de tecla no conduce a un nodo hijo válido, el campo de apuntador asociado es omitido de la estructura de datos de nodo para conservar la cantidad de espacio de memoria requerido para almacenar el módulo de vocabulario. Con cada nodo están asociados varios objetos que corresponden a la secuencia de golpes de tecla representada por el nodo. Cada uno de los objetos es descrito por una instrucción en 406 en un paquete 408 unido a una tecla válida particular, como es indicado por el patrón de bits en el campo de bits de teclas válidos, 402, contenido en la estructura de datos de nodo. Cada instrucción en cada paquete 406 describe uno de los objetos correspondientes a la secuencia de golpes de tecla representada por cada nodo. La descripción de un objeto requiere mantener dos listas de objetos. La figura 1 1 representa listas de objetos representativas creadas dinámicamente por medio del proceso del software de reducción de ambigüedad de un padre y un hijo en un árbol de módulo de vocabulario. La lista de objetos 430 es una lista de objetos que contiene 1-Ni objetos asociados con un nodo que representa dos golpes de tecla. La lista de objetos 440 es una lista de objetos que contiene 1 -N2 objetos asociados con un nodo que representa tres golpes de tecla. Cada lista de objetos contiene una lista de todos los objetos que están asociados con cada nodo. La lista de objetos 430 está asociada con un nodo padre que representa la secuencia de golpes de tecla 2_ 2_ del teclado de la figura 1 a. La lista de objetos 440 está asociada con un nodo hijo que representa la secuencia de golpes de tecla 2_2_2. Será apreciado que el tamaño de la lista de objetos se varía para considerar el número real de objetos asociados con cada nodo. Cada objeto de Yomikata asociado con un nodo hijo es construido por una instrucción primaria que agrega un carácter kana sobre un objeto que fue construido por el nodo padre. Por lo tanto, cada instrucción en el paquete de instrucciones 406 de la figura 8A, contiene un campo INDICE DE LISTA DE OBJETOS, 556, mostrado en la figura 8B, que identifica, de una lista de objetos de nodo padre, un objeto que es usado para construir el objeto de nodo hijo. Por ejemplo, con referencia a la figura 11 , el tercer objeto " " de la lista de objetos antigua, 430, es usado para construir el segundo objeto " " en la lista de objetos nueva, 440. Por lo tanto, el campo de identificador de objeto previo INDICE DE LISTA DE OBJETOS, 556, provee un enlace con las entradas en la lista de objetos antigua para identificar el objeto antiguo usado para construir el objeto nuevo. La instrucción 558 contiene un campo de INDICE DE SIMBOLO LOGICO, 555, para indicar el símbolo por agregar al objeto identificado para construir el objeto nuevo. Por lo tanto, los campos de INDICE DE SIMBOLO LOGICO especifican las letras de tecla final en la secuencia de teclas del nodo que serán anexadas para construir los objetos nuevos. La letra es especificada por una tabla como la que se representa en la figura 7. Por ejemplo, con referencia a la figura 1 1 , el primer objeto " " en la lista de objetos nueva 440 es construido usando el cuarto objeto " " de la lista de objetos antigua 430, y agregando un golpe de tecla adicional para especificar el _. En la tabla de índice de símbolo lógico de la figura 7, "_" es la segunda letra lógica sobre la tecla 2_, por lo tanto el campo INDICE DE SIMBOLO LOGICO de la instrucción que generó el objeto " " se pone en 2 para indicar la segunda letra en la tabla. Al codificar los objetos de esta manera se utiliza la secuencia de teclas conocida asociada con cada nodo, y la asociación conocida de letras con las teclas para reducir mucho la cantidad de espacio de almacenamiento requerido para cada módulo de vocabulario. La técnica que codifica vocabulario también permite el acceso a entradas de módulo de vocabulario sin búsqueda. Al recibir cada golpe nuevo de tecla válida, el sistema ejecuta las instrucciones asociadas con la tecla en el nodo actual para construir una lista de objetos nueva de la antigua, después sigue un solo apuntador hacia el nodo hijo apropiado. También, en lugar de tener que guardar cada objeto en el módulo de vocabulario, un objeto nuevo es definido usando el campo de índice de símbolo lógico para agregarlo a una interpretación antigua. De esta manera, una raíz de palabra que es compartida por una pluralidad de objetos del módulo de vocabulario, solo es almacenada una vez y es usada para crear todos los objetos derivados de la misma. El método de almacenamiento descrito requiere mantener una lista de objetos de un nodo padre en el árbol de módulo de vocabulario para construir una lista de objetos del nodo hijo. Las entradas de la tabla de índice de símbolo lógico como la representada en la figura 7, no requieren ser caracteres solos -secuencias arbitrarias pueden ocupar una sola entrada. Por ejemplo, la secuencia de kana " " podría ser agregada al tercer objeto " " de la lista de objetos antigua para formar la palabra " ". De esta manera, la longitud de una secuencia introducida de golpes de tecla no necesariamente corresponde directamente con la longitud de un objeto asociado. Una secuencia de caracteres almacenada en una entrada de la tabla de índice de símbolo permitiría que un objeto de vocabulario fuera identificado por una secuencia de teclas arbitraria, esto es, almacenada en una localización arbitraria dentro del árbol de módulo de vocabulario. También se puede incluir un campo de tipo de objeto en cada instrucción 558 de la figura 8B, para especificar información adicional acerca del objeto que se construye. El campo de tipo de objeto puede contener un código para especificar si el objeto generado es una palabra, una raíz de palabra o cualquier otro objeto. Por lo tanto, el campo de tipo de objeto permite mezclar diferentes tipos de objetos dentro de un módulo de vocabulario dado. Más aún, el campo de tipo de objeto también puede incluir información sobre la parte hablada de la palabra, o información necesaria para construir varias inflexiones y terminaciones. Un sistema de teclado reducido de reducción de ambigüedad que usa un módulo de vocabulario que tiene la parte de información de habla, puede usar la información adicional para realizar un análisis sintáctico para mejorar el proceso de reducción de ambigüedad. El campo de tipo de objeto también puede contener un código único para permitir la transmisión de texto en una forma comprimida. El código único sería transmitido a una terminal remota en lugar de transmitir la secuencia de golpes de tecla introducida o los caracteres de ambigüedad reducida asociados. Una de las características clave de la estructura preferida de árbol de datos de módulo de vocabulario, es que los objetos asociados con cada nodo son almacenados en la estructura de datos de nodo 400 de acuerdo con su frecuencia de uso. Esto es, el objeto construido por la primera instrucción en el paquete de instrucciones 406 tiene una frecuencia más alta de uso que el construido por la segunda instrucción (si está presente) en 406, que tiene una frecuencia más alta de uso que la tercera instrucción (si está presente). De esta manera, los objetos son colocados automáticamente en la lista de objetos de tal manera que son clasificados de acuerdo con la frecuencia decreciente de uso. Para los fines de esta descripción, la frecuencia de uso de un objeto de palabra se refiere a la probabilidad de usar una palabra dada dentro de un cuerpo representativo de uso, que es proporcional al número de veces que cada palabra ocurre en el cuerpo. En el caso de objetos de raíz de palabra, la frecuencia de uso es determinada sumando las frecuencias de todas las palabras que comparten la raíz. El almacenamiento de la frecuencia de uso u otra información de clasificación en cada nodo evita la necesidad de determinar y clasificar cada objeto cuando el sistema está en uso. Esto tiene implicaciones importantes en el vocabulario de objeto de palabra, puesto que los objetos almacenados pueden incluir raíces compartidas comunes a un número muy grande de palabras más grandes. La determinación de la clasificación relativa de estas raíces requeriría dinámicamente recorrer todo el árbol de nodos hijos y acumular información sobre cada raíz, agregando una carga general de procesamiento significativa para un dispositivo de computación portátil. La determinación de esta información con anticipación y su almacenamiento en los datos de vocabulario reduce así la carga general de procesamiento. Además, cuando la frecuencia de uso o clasificación de los objetos que son creados por un nodo es representada implícitamente por la ordenación de las instrucciones 406 que las crean, no se requiere espacio de almacenamiento adicional para esta información. Aunque preferiblemente los objetos son almacenados dentro de la estructura de datos de nodo, 400, en un orden de acuerdo con su frecuencia de uso, se apreciará que un campo de frecuencia de uso también podría estar asociado con cada instrucción. El campo de frecuencia de uso contendría un número representativo que corresponde a la frecuencia de uso del objeto asociado. La frecuencia de uso entre diferentes objetos sería determinada comparando el campo de frecuencia de uso de cada objeto. Una ventaja de usar la última construcción que asocia un campo de frecuencia de uso con cada paquete de objeto, es que el campo de frecuencia de uso podría ser cambiado por el sistema de reducción de ambigüedad. Por ejemplo, el sistema podría cambiar un campo de frecuencia de uso para reflejar la frecuencia con la que un usuario usa ciertos objetos dentro del módulo de vocabulario durante la entrada de texto representativo. La figura 12 es un diagrama de flujo de una subrutina 600 para analizar la secuencia de golpes de tecla recibida para identificar objetos correspondientes en un árbol de módulo de vocabulario particular. La subrutina 600 construye una lista de objetos para una secuencia particular de golpes de tecla. El bloque 602 borra la lista de objetos nueva. El bloque 604 inicia el recorrido del árbol 1010 de la figura 10 en su nodo raíz 1011. El bloque 606 obtiene la primera opresión de tecla. Los bloques 608 a 612 forman un circuito para procesar todas las opresiones de tecla disponibles. El bloque 608 llama la subrutina 620 en la figura 13. El bloque de decisión 610 determina si todas las opresiones de tecla disponibles han sido procesadas. Si alguna tecla queda sin procesar, el bloque 612 avanza a la siguiente disponible. Si todas las opresiones de tecla han sido procesadas, el bloque 614 retorna la lista de objetos completa. Se apreciará que si la rutina principal llama repetidamente la subrutina 600 con secuencias nuevas de golpes de tecla, cada una con una tecla más que la última, y todas las teclas excepto la última siendo las mismas que en la invocación previa, entonces los bloques de inicialización 602 y 604 pueden ser omitidos si la subrutina 620 es llamada directamente para procesar solo la opresión de tecla más reciente. La figura 13 es un diagrama de flujo de una subrutina 620 llamada desde la subrutina 600. Como se señaló arriba, para construir una lista de objetos nueva el sistema de reducción de ambigüedad inicia con una copia de la lista de objetos antigua. Por lo tanto, en el bloque 626, la lista de objetos del nodo anterior es almacenada de tal manera que puede ser usada para construir la lista de objetos nueva. En la rutina principal mostrada en las figuras 3a-3c, un golpe de tecla fue detectado por el sistema en el bloque 150. La recepción de un golpe de tecla nuevo ocasiona un recorrido descendente en el árbol de módulo de vocabulario, si existe una ruta válida a un hijo correspondiente al golpe de tecla. Por lo tanto, en el bloque 621 de la figura 13, el campo de bits de teclas válidas de la estructura de datos del nodo 400 es examinado para determinar si instrucciones válidas y un apuntador corresponden al golpe de tecla recibido. En un bloque de decisión, 622, se hace una prueba del campo de bits de teclas válidas para determinar si existe un paquete válido 408 que consiste de instrucciones 406 y un campo de apuntador tal como 404a, que corresponden al golpe de tecla introducido. Si el paquete válido no corresponde al golpe de tecla, en el bloque 624 la lista de objetos antigua es retornada a la rutina principal para generar la lista de selección. Puesto que el golpe de tecla recibido es parte de una secuencia de golpes de tecla inválida que no corresponde con ningún objeto dentro del módulo de vocabulario, el golpe de tecla es ignorado y la lista de objetos actual es retomada a la rutina principal siendo la lista de objetos del módulo de vocabulario. La rama de la subrutina 620 que comprende los bloques 622 y 624, por lo tanto, ignora cualquier secuencia inválida de golpes de tecla y retorna la lista de objetos generada en el nodo padre para la posible inclusión en la lista de selección generada por el sistema de reducción de ambigüedad. Si existe un paquete válido que corresponde al golpe de tecla recibido en el bloque de decisión 622, la subrutina procede a un bloque 626 en donde la lista de objetos nueva es copiada a la lista de objetos antigua. El bloque 628 recoge la primera instrucción válida asociada con la tecla dada. El bloque 630 inicializa el iterador INDICE NUEVO a 1 , de tal manera que la primera instrucción generará el primer elemento en la lista de objetos nueva. La subrutina entra entonces en el circuito comprendido de los bloques 632 a 642 para construir la lista de objetos asociada con las instrucciones válidas. En el bloque 632, el campo INDICE DE LISTA DE OBJETOS, 556, es examinado y el objeto correspondiente cargado desde la lista de objetos antigua. En el bloque 634, el campo INDICE DE SIMBOLO LOGICO, 555, es examinado y el símbolo apropiado (asociado con el golpe de tecla recibido a través de una tabla de índice de símbolo lógico 550 de la figura 7), es anexado al final del objeto identificado. Se apreciará que se puede anexar más de un carácter al objeto identificado en el bloque 634, si la entrada en la tabla de símbolos 550 en la tecla dada 551 y el índice de símbolos lógicos 552 sostienen una secuencia de caracteres. En un bloque 636, el objeto y símbolo combinados son almacenados como un objeto nuevo en la lista de objetos nueva. En un bloque 638 se hace una prueba para determinar si la subrutina ha procesado la última instrucción válida asociada con la tecla dada en el nodo dado. Si la última instrucción válida no ha sido procesada, la siguiente instrucción válida es recogida en el bloque 640. En el bloque 642 se incrementa INDICE NUEVO. Si la prueba en el bloque de decisión 638 indica que todos los objetos han sido construidos para el nodo, la subrutina procede a un bloque 644 y sigue el apuntador asociado hacia un nodo hijo. En el bloque 646 la lista de objetos nueva es retornada a la rutina principal para generar la lista de selección. Se apreciará que la subrutina 600 de la figura 12 para generar la lista de objetos asociada con cada nodo, es ejecutada para cada golpe de tecla recibido del usuario. No es realizada "búsqueda" de los módulos de vocabulario conforme el usuario introduce una secuencia nueva de golpes de tecla, puesto que cada golpe de tecla solamente avanza la subrutina un nivel adicional dentro del árbol de módulo de vocabulario. Puesto que no es realizada una búsqueda para cada golpe de tecla, el módulo de vocabulario retorna la lista de objetos asociados con cada nodo con una mínima carga general de procesamiento. Inherentemente en la combinación del golpe de tecla con el proceso de software de identificación de objeto de la subrutina 620, representada en la figura 13 operando sobre la estructura de árbol de datos 1010 representada en la figura 10, se encuentran varios medios novedosos para recuperar un vocabulario de objetos más grande usando al mismo tiempo menos almacenamiento para el módulo de vocabulario, sin aumentar el tiempo de procesamiento de la subrutina 620. Ordenando los símbolos en cada fila de la tabla de índice de símbolo lógico, 550 (figura 7), de un módulo de vocabulario dado de acuerdo con su frecuencia de uso en el léxico de entrada, una gran mayoría de las instrucciones 558 (figura 8B) de todos los nodos 400 de la estructura de árbol de datos 1010, se pueden hacer de tal manera que tengan sus campos INDICE DE SIMBOLO LOGICO, 555, igual a uno. Similarmente, ordenando las instrucciones 558 de todos los paquetes de instrucción, 406, en todos los nodos, 400, de tal manera que la raíz y los objetos de palabra sean generados en la lista de objetos 440 (figura 1 ) en orden decreciente de su uso en el lenguaje, se puede hacer que una gran mayoría de las instrucciones 558 de todos los nodos 400 de la estructura de árbol 1010 tengan sus campos INDICE DE LISTA DE OBJETOS, 556, igual a uno. De esta manera, muchos de los datos en el árbol 1010 son redundantes. La identificación sistemática de las redundancias y su eliminación redirigiendo las rutas que enlazan nodos padres con nodos hijos y borrando nodos hijos ya no referidos, produce una estructura de datos altamente plegada o enrollada que contiene mucho menos nodos, mucho menos instrucciones y mucho menos enlaces que el árbol original, a pesar de lo cual aún recupera cada objeto recuperable del árbol original. Además, distintos casos de rutas a través del árbol original, cuyas instrucciones generan objetos similares en la lista de objetos 440, son combinados en rutas comunes del árbol plegado que por tanto adelante funcionan como reglas generalizadas (al contrario de específicas) constructoras de objeto, permitiendo que la estructura reducida genere mucho más objetos de los que fueron usados originalmente para definir el árbol 1010 de un módulo de vocabulario dado. Por ejemplo, un árbol de vocabulario no plegado generado de una lista de 30,000 palabras en Inglés, podría contener más de 78,000 instrucciones en una modalidad preferida. Después de ser plegado mediante una modalidad preferida del proceso de plegado como se describió arriba, el árbol modificado podría contener menos de 29,000 instrucciones, un número menor del número de objetos de palabra que la estructura es capaz de recuperar, dadas las secuencias ambiguas de golpes de tecla y el proceso de recuperación realizado de una manera preferida en el diagrama de flujo de la figura 12. Un resultado notable y novedoso, puesto que cada instrucción solo altera un objeto de la lista de objetos 430 de la figura 11 , anexando un solo símbolo en respuesta a una opresión de tecla. Esto es una consecuencia del árbol plegado y el proceso de recuperación de software que reutiliza secuencias comunes de instrucciones como reglas generales de construcción de objetos. Un aspecto adicional de la estructura de árbol modificada es la identificación automática de reglas generalizadas para asociar objetos con secuencias de golpes de tecla. Usando tales reglas, el módulo de vocabulario, con una alta probabilidad de éxito, puede asociar secuencias de golpes de tecla con objetos de palabra y raíces de palabra que no fueron usados inicialmente para crearlos. Por ejemplo, una lista de palabras de entrada para construir un módulo de vocabulario podría incluir las palabras "sun", "run" y "running", pero no la palabra "sunning", pero la estructura de árbol plegado creada por el algoritmo todavía crearía la palabra "sunning", como uno de los objetos de la lista de selección para la secuencia de teclas correspondiente. Los nodos representados en las figuras 9a-9d son ejemplos. El nodo 560 tiene dos teclas válidas indicadas por los "1 " en su campo de teclas válidas 562, "01010000000". En una modalidad preferida, las posiciones de los "1" indican que la 2a y 4a tecla son rutas válidas y tienen paquetes de instrucciones y apuntadores a nodos hijos asociados con ellas, 566 y 568, respectivamente. El paquete 566 contiene tres instrucciones "(1 ,1 ,0)", "(1 ,2,0)" y "(2,1 ,1 )", seguido por un apuntador "P", que enlaza 560 con un nodo hijo. Si la subrutina 600 de la figura 12 ha procesado una lista de golpes de tecla que conducen al nodo 560, entonces la subrutina 620 de la figura 13 fue llamada a procesar una tecla "2", que es la tecla 2_ en una modalidad preferida, sucedería lo siguiente. La instrucción 561 anexaría el primer símbolo lógico de la tecla 2_ ("_") al objeto antiguo en el índice 1 para construir el objeto nuevo en el índice 1. El tercer campo de 561 , "0", es el valor falso de la BANDERA DE ALTO 557 (figura 8B), indicando que esta no es la última instrucción del paquete actual, de tal manera que es interpretada la siguiente instrucción 563. La instrucción 563 anexaría el primer símbolo lógico de la tecla 2_ ("_" en la figura 7) al objeto antiguo en el índice 2 para construir el objeto nuevo en el índice 2. El índice del objeto nuevo será 2 porque los índices de los objetos nuevos que se construyen son implícitos en el orden de las instrucciones mismas, por ejemplo la segunda instrucción siempre construye el segundo objeto. El tercer campo de instrucción, 563, "0", es el valor falso de la BANDERA DE ALTO 557, de tal manera que es interpretada la siguiente instrucción 567. La instrucción 567 anexaría el segundo símbolo lógico de la tecla 2_ ("_" en la figura 7) al objeto antiguo en el índice 1 para construir el objeto nuevo en el índice 3. El tercer campo de instrucción 567, "1 ", es el valor verdadero de la BANDERA DE ALTO 557, indicando que esta es la última instrucción del paquete actual, de tal manera que la ejecución de la subrutina 620 (figura 13) pasaría del bloque 638 al bloque 644. Es posible combinar dos o más nodos que contienen diferentes paquetes de instrucción 408 en un solo nodo que puede servir para el mismo fin que los nodos múltiples separadamente, lo que significa que algunos nodos en un árbol de vocabulario 1010 son redundantes en un sentido novedoso. Para los fines de esta invención la palabra "redundante" se usa con respecto a dos nodos en el sentido de que un nodo puede ser eliminado por las operaciones de los procesos de software que se describirán más abajo, en referencia a una modalidad preferida representada en las figuras 14 hasta 17b. Por ejemplo, compárese el nodo 560 con el nodo 574 de las figuras 9a-9d. Los paquetes de instrucción 566 y 571 sobre la tecla 2_ concuerdan exactamente, pero la instrucción 570 sobre la tecla 4_ del nodo 560 está en conflicto con la instrucción 572 sobre la tecla 4_ del nodo 574, de modo que ninguna puede hacer el trabajo de la otra, ni pueden ser combinados los dos nodos en uno solo que hará el trabajo de ambos. Compárese el nodo 560 con el nodo 576. Los paquetes de instrucción 566 y 577 asociados con la tecla 2_ sobre cada nodo concuerdan exactamente. Las instrucciones 569 y 578 son diferentes en el establecimiento de sus campos BANDERA DE ALTO 557, pero esa diferencia no ocasiona que entren en conflicto. El resultado esencial del proceso de recuperación de objeto de la subrutina 620 de la figura 13, es que la lista de objetos nueva creada ejecuta la serie de instrucciones en un nodo para una tecla dada. Pueden ser anexados objetos adicionales al final de una lista de objetos, sin perjudicar el procesamiento correcto de alguno de los hijos del nodo. De esta manera, no se ocasionarían errores en el procesamiento de los hijos del nodo 576 por la ejecución de una instrucción adicional después de 578. La esencia del proceso sería perturbada solamente si la instrucción errónea fuera ejecutada o si fueran ejecutadas muy pocas instrucciones. Similarmente, la presencia de una tecla válida sobre la tecla 9_ del nodo 576 no entra en conflicto con la ausencia de una tecla 9_ válida en el nodo 560. Por lo tanto, los nodos 560 y 576 son redundantes y pueden ser combinados en un nodo nuevo 582 que logra el efecto neto de ambos, y funciona correctamente como un nodo padre de los hijos de ambos. Se apreciará que los apuntadores también tienen una función en la definición de redundancia. En el último golpe de tecla de secuencias del árbol asociado con palabras que no continúan para formar las raíces de palabras más grandes, en una modalidad preferida los apuntadores de los paquetes de tecla válida 408 tienen un valor especial, NULO, para indicar que no hay más hijos. Tales nodos se denominan "nodos terminales". Para dos nodos con nodos hijos sobre teclas válidas en común con ambos nodos, los nodos hijos respectivos deben ser redundantes para que sus nodos padres sean redundantes, y así sucesivamente para los nodos que descienden de los hijos, hasta alcanzar nodos terminales, o hasta que no haya más descendientes en secuencias de teclas válidas comunes a los nodos que se comparan. Las figuras 14 hasta 17b representan diagramas de flujo de modalidades preferidas de procesos de software para la compresión y pliegue de árboles de módulo de vocabulario similares a 1010. La figura 14 es un diagrama de flujo de una modalidad preferida de un proceso de software para construir un módulo de vocabulario comprimido. En el bloque 652 un léxico es explorado para identificar cualquier símbolo ambiguo adicional necesario aparte de los que aparecen en las teclas físicas, tal como en la figura 6 para un módulo de vocabulario Japonés. En los bloques 654-656, los símbolos están asignados con sus índices lógicos sobre sus teclas respectivas, en orden decreciente de su frecuencia de uso en el léxico de entrada, como en el ejemplo de la figura 7. Dado un léxico de objetos con frecuencias, será obvio para una persona con conocimientos medios en la materia cómo el bloque 658 construye un árbol de vocabulario de la forma 1010. En el bloque 660, son identificados nodos redundantes y son combinados para minimizar la duplicación de datos, y por lo tanto convierte secuencias de instrucción aisladas asociadas con objetos simples en reglas generalizadas para recuperar múltiples objetos. Este proceso se muestra en detalle en la figura 15. El bloque 662 identifica todos los apuntadores NULOS restantes de nodos terminales y los cambia para apuntar al nodo con el número más grande de padres, aumentando así el número de reglas en el módulo. Se apreciará que se podrían aplicar otras reglas para asignar nodos hijos a los apuntadores NULOS, y que tales reglas podrían ser aplicadas dinámicamente en el momento de recuperación de objeto, en base a factores relacionados con los golpes de tecla procesados. En el bloque 664, los casos restantes de cada instrucción única 558 (figura 8B) y apuntador 404a (figura 8A) son contados de tal manera que pueden ser codificados como patrones únicos de bits, siendo asignados los patrones de bits más cortos a instrucciones y direcciones de frecuencia más alta para conservar espacio. Una modalidad preferida es la codificación de Huffman como se conoce en la técnica. Además, los nodos que son nodos hijos de múltiples nodos padres pueden ser almacenados en ordenaciones especiales para facilitar su rápida recuperación y minimizar en número de bits requeridos para direccionarlos. Al elegir las instrucciones 558 para describir objetos para ser guardados mientras se construye el árbol en el bloque 658, se apreciará que cuando los objetos son palabras o raíces de palabras, sus secuencias de carácter contienen datos adicionales que se pueden usar ventajosamente para aumentar la redundancia de los nodos en el árbol 1010. Por ejemplo, no todos los pares de kana en el idioma japonés son igualmente comunes, por ejemplo "_" es seguido comúnmente por La estadística de pares de kana, o bigramas, se pueden usar para predecir el siguiente kana más probable en un objeto a partir del kana precedente. Con dichas predicciones, la ordenación lógica de los símbolos ambiguos de la tabla de índice de símbolo lógico 550 de la figura 7 puede ser alterada dinámicamente para optimizar más el uso de la primera posición. Las predicciones se pueden extender a tripletes de kana, trigramas, y en general a n-gramas. La figura 15 es un diagrama de flujo de una modalidad preferida de un proceso de software para plegar el árbol 1010 de un módulo de vocabulario. El bloque 670 es introducido del bloque 660 del diagrama de flujo de la figura 14. El bloque 672 inicializa el proceso para comenzar con el primer nodo de 1010 de la figura 10 después del nodo de raíz 101 1. El bloque 674 llama la subrutina 690 representada en una modalidad preferida en el diagrama de flujo de la figura 16 para localizar un nodo, si lo hubiera, que es máximamente redundante con el nodo actual. Si se encuentra un nodo de destino, el bloque de decisión 676 dirige el proceso al bloque 678 en donde el o los nodos redundantes se combinan, eliminando datos duplicados del árbol, incluyendo múltiples casos individuales de instrucciones en secuencias compartidas, que son reglas generales para asociar secuencias de golpes de tecla con objetos. Si falla el bloque de decisión 676, entonces el bloque de decisión 680 prueba si el proceso se realizó. Si hay más nodos por procesar, el flujo avanza al bloque 682 para identificar otro nodo. La figura 16 es un diagrama de flujo de una modalidad preferida de un proceso de software para encontrar en un árbol 1010 un nodo con el grado más alto de redundancia con respecto a un nodo dado. El bloque 690 entra del bloque 674 del diagrama de flujo de la figura 15. El bloque 692 inicializa un marcador de campo MAXIMO DE ALMACENAMIENTO para la redundancia medida. El bloque 694 inicializa el proceso para arrancar en el nodo raíz 1011 del árbol 1010 de la figura 10. El bloque 696 llama la subrutina 710, representada en un diagrama de flujo de una modalidad preferida de las figuras 17a y 17b, para calcular la redundancia del nodo dado con respecto al nodo actual. El bloque de decisión 698 prueba si fue reportado un grado de redundancia mayor que el MAXIMO DE ALMACENAMIENTO. Si fue así, el bloque 700 registra la identidad MEJOR NODO del nodo encontrado provisionalmente como el más redundante con respecto al nodo dado y la medida reportada de redundancia como MAXIMO DE ALMACENAMIENTO. El bloque de decisión 702 prueba si se han evaluado todos los nodos. Si no fue así, el flujo continúa al bloque 704, que avanza desde el nodo actual hasta el siguiente nodo. Desde el bloque 704, el flujo retorna al bloque 696. Si el resultado de la prueba en el bloque de decisión 702 es que ha sido evaluado el último nodo, entonces el bloque 706 retorna la identidad del nodo más redundante, si lo hubiera, para el nodo dado, al bloque 674 de la subrutina 670 de la figura 15. Las figuras 17a-17b son un diagrama de flujo de una modalidad preferida de un proceso de software para calcular la redundancia numérica entre dos nodos especificados. El bloque 710 entra desde el bloque 696 del diagrama de flujo de la subrutina 690 de la figura 16. El bloque 712 inicializa una cuenta de instrucciones duplicadas. El bloque 714 inicializa INDICE DE TECLA en 1. El bloque 716 lee los paquetes de instrucción 406 asociados con la tecla INDICE DE TECLA del primero de los dos nodos 400 especificados como parámetros a la subrutina, y los introduce en una lista temporal, LISTA A. Si la tecla INDICE DE TECLA no es una tecla válida, no se leen instrucciones. El bloque 718 lee los paquetes de instrucción 406 asociados con la tecla INDICE DE TECLA del segundo de los dos nodos 400 especificados como parámetros a la subrutina y los introduce en una lista temporal, LISTA B. Si la tecla INDICE DE TECLA no es una tecla válida, no se leen instrucciones. El bloque de decisión 720 determina si la LISTA A o la LISTA B está vacía. Si no es así, el bloque 722 recoge una instrucción tanto de la LISTA A como de la LISTA B, reduciendo en uno el número de instrucciones restantes en cada una. El bloque de decisión 724 prueba si las instrucciones son las mismas en sus campos INDICE DE SIMBOLO LOGICO e INDICE DE LISTA DE OBJETOS. Si no es así, un código de falla de ninguna redundancia es retornado al bloque 696 de la subrutina 690 de la figura 16. Si la decisión del bloque 724 es Sí, entonces el bloque 728 aumenta la cuenta de INSTRUCCIONES GUARDADAS. El control pasa nuevamente al bloque 720. Si el bloque de decisión 720 prueba como VERDADERO, el control pasa al bloque de decisión 730, que prueba si los dos nodos han sido comparados con respecto a todas las teclas posibles. Si no es así, el bloque 732 aumenta INDICE DE TECLA y el control pasa al bloque 716. Si la decisión en el bloque 730 es Sí, el control pasa al bloque 734 para restablecer INDICE DE TECLA a 1. El bloque 736 examina los apuntadores asociados con la tecla INDICE DE TECLA de los dos nodos. El bloque de decisión 738 prueba si cualquier apuntador está vacío (NULO), que sería el caso para un apuntador en un nodo terminal o para cualquier tecla que no es válida. Si ningún apuntador está vacío, el control pasa al bloque 740, que usa la subrutina 710 recurrentemente para probar si los nodos hijos señalados por los dos apuntadores no vacíos son redundantes. El resultado del bloque 740 es probado en el bloque de decisión 742. Si se encontrara que los dos nodos hijos no fueran redundantes, es retornado un código de falla. De otra manera, los dos hijos son encontrados redundantes con una cierta puntuación numérica que es acumulada por el bloque 746. El bloque de decisión 748 prueba si los apuntadores asociados con la última tecla (tecla 9 en la modalidad preferida) han sido probados. Si no es así, el bloque 752 incrementa INDICE DE TECLA y pasa el control al bloque 736. Si la prueba en el bloque 748 determina que todos los apuntadores han sido revisados, entonces es retornada la medida numérica acumulada de redundancia de los dos nodos originalmente identificados cuando se introdujo la subrutina en el bloque 710. Se apreciará que el cálculo de valores numéricos de redundancia puede ser ponderado para tomar en cuenta factores adicionales tales como el número de ramas presentes en cada nodo y el número de padres que apuntan a un nodo como un hijo. Se apreciará que si dos nodos no son redundantes debido a la ordenación de instrucciones asociadas con una cierta tecla, el orden de instrucciones asociadas con palabras de frecuencia baja en el léxico introducido podría ser reordenado sin afectar la prioridad de instrucciones asociadas con objetos de frecuencia mayor, aumentando así la redundancia el árbol. El método anteriormente descrito para reducir el tamaño del árbol, eliminando nodos redundantes, se ha descrito con respecto a un árbol compuesto de instrucciones primarias. Asociando cada instrucción primaria con una lista de cero o más instrucciones secundarias se aumenta la complejidad de los objetos por combinar, pero el procedimiento descrito aún se puede usar para identificar y eliminar redundancia en un árbol que incluye instrucciones tanto primarias como secundarias. Además, no es necesario que tanto las instrucciones primarias como las secundarias sean almacenadas en el mismo árbol físico en la memoria. Las dos series de instrucciones pueden ser instrucciones primarias y secundarias y ser almacenadas en el mismo árbol físico en la memoria. Preferiblemente, las dos series de instrucciones son almacenadas en árboles separados, siempre que la secuencia de instrucciones primarias en un nodo del árbol de instrucción primaria corresponda a la secuencia de series de instrucciones secundarias del nodo correspondiente del árbol de Instrucción secundaria. Similarmente, cuando las instrucciones primarias y secundarias son almacenadas en el mismo árbol físico en la memoria, pueden ser entremezcladas de tal manera que cada instrucción primaria sea seguida inmediatamente por una secuencia de las instrucciones secundarias asociadas (cero o más). Alternativamente, todas las instrucciones primarias en un nodo pueden ser almacenadas en secuencia en un bloque contiguo, seguido por una segunda secuencia de bloques contiguos en el mismo orden que las instrucciones primarias, cada bloque conteniendo las instrucciones secundarias asociadas (cero o más). En este formato alternativo, los nodos que son redundantes en términos de sus instrucciones primarias se pueden combinar, y dos o más series separadas de instrucciones secundarias asociadas se pueden combinar. Entonces en cada nodo padre que salta al nodo combinado, solo es necesario agregar una pequeña cantidad de información adicional para especificar cual de las series alternativas de instrucciones secundarias se han de ejecutar.
Además, en otro aspecto más de la Invención, se obtiene mayor eficiencia en la compresión de bases de datos almacenando cada carácter kanji solo una vez en la estructura de base de datos para cualquier lectura particular asociada. En general, una base de datos puede incluir varios casos diferentes del mismo kanji con la misma lectura, por ejemplo el kanji ¾J (leído como _) en ¾¾¾ ( ) y ( ). Para facilitar la entrada de varias combinaciones inusuales de caracteres de kanji, tales como en nombres o palabras inusuales no incluidos explícitamente en la base de datos, por ejemplo g | ( ), cada kanji debe ser susceptible de ser especificado introduciendo solo la lectura asociada deseada. De esta manera, en una modalidad preferida, comenzando inmediatamente de la raíz de la estructura de árbol, cada lectura de un kanji dado es incluida en la base de datos, con una instrucción secundaria que incluye una especificación del código para el kanji asociado. Esta instrucción es guardada en la lista de instrucción secundaria en un orden determinado por la frecuencia relativa de ocurrencia de ese kanji particular, con respecto a los otros objetos de texto asociados con la misma lectura y especificados por otras instrucciones en la misma lista de instrucción secundaria. En todos estos casos, la instrucción secundaria correspondiente anexa el kanji a un objeto de texto nulo, puesto que la secuencia de nodo que construye la lectura asociada comienza en la raíz del árbol de base de datos. De esta manera, todas las instrucciones secundarias que anexan un kanji a un objeto de texto nulo pueden tener un formato distintivo, en donde no se requiere índice para especificar un índice de un Mídashigo previo, y el número de bits usados para especificar el código de carácter kanji puede ser suficiente para abarcar y distinguir entre el gran número de caracteres de kanji válidos representados en la base de datos. Correspondientemente, cuando aparece un carácter kanji en una palabra o frase de la base de datos en cualquier parte diferente a la del primer carácter en la palabra o frase, la instrucción secundaria asociada está anexando el kanji a un objeto de texto Midashigo que había sido agregado a la lista de objeto secundario para el Yomikata correspondiente en la lista de objetos primaria del nodo inmediatamente precedente. De esta manera, en este caso, el formato de instrucción debe incluir un campo en el que es especificado el índice de objeto secundario del objeto de texto Midashigo. Similarmente, cuando un Midashigo existente debe ser "conservado" de manera que un kanji pueda ser anexado en un nodo posterior, o cuando el kana (especificado en la instrucción primaria) debe ser anexado, debe ser incluido en la instrucción un campo de índice de objeto secundario. De esta manera, para minimizar el tamaño de la base de datos, deben ser distinguidos los formatos de estos dos tipos de instrucciones secundarias, una sin índice de objeto secundario y la otra con dicho índice. En el último caso, es decir, cuando el índice de objeto secundario en la instrucción no es cero y un kanji se va a anexar al Midashigo, la lectura asociada con el kanji por anexar puede ser determinada por el sistema, porque el sistema mantiene pista de qué sílabas han sido anexadas a la lectura asociada de la lista de objetos primaria desde que fue anexado un carácter al último al objeto de texto Midashigo especificado por el índice en la instrucción. Como se describió arriba, cada lectura de cada carácter kanji es almacenada en la base de datos empezando en la raíz del árbol, en donde el código para el carácter kanji es especificado completamente en la instrucción asociada. De esta manera, en una instrucción en donde un carácter kanji se va a anexar a un Midashigo previamente existente, el kanji es especificado almacenando un índice que corresponde a la posición del carácter kanji completamente especificado, que aparece en la lista de objeto secundaria de la lectura determinada empezando desde la raíz de la estructura de árbol. Este enfoque permite que una gran mayoría de las ocurrencias de caracteres de kanji en la base de datos sean especificadas con mucho menos bits de lo que normalmente se requiere, puesto que el índice almacenado estará dentro de una escala muy limitada de valores que pueden ser determinados en el momento que se crea la base de datos. Por ejemplo, en una base de datos en la que son codificadas aproximadamente 89,000 palabras, aproximadamente 89% de las ocurrencias de caracteres kanji son almacenados preferiblemente de esta manera. En una modalidad preferida, como se muestra en la figura 8C, hay cuatro tipos de instrucciones secundarias, cada una empezando con un campo de formato de dos bits asignado en uno de cuatro valores distintos, por ejemplo: 00 Instrucción CONSERVAR 5600: Conserva el Midashiqo de la lista previa especificada por el INDICE DE LISTA DE OBJETO SECUNDARIO en la lista creada por el nodo actual (el kana anexado por la instrucción primaria será parte del Yomikata usado para identificar el siguiente elemento kanji por anexar a este Midashigo) 01 Instrucción KANA 5601 : Aqreqa el kana anexado por la instrucción primaria (como un kana literal) al Midashigo previo especificado por el INDICE DE LISTA DE OBJETO SECUNDARIO, y agrega este Midashigo modificado a la lista actual 10 Instrucción KANJI INDIRECTO 5602: El kana anexado por la instrucción primaria completa el Yomikata para un kanji, para ser anexado al Midashigo previo especificado por el INDICE DE LISTA DE OBJETO SECUNDARIO; un campo separado de N-bits de INDICE DE KANJI DE RAÍZ contiene el índice de lista en donde el kanji por anexar se encuentra como Midashigo completamente especificado en el nodo, alcanzado rastreando el Yomikata completado empezando desde el nodo raíz. Nota: uno o más de estos códigos de A/-bits puede ser reservado para representar otros objetos especiales específicos (tales como el carácter de repetición de kanji o una secuencia de escape precedente de un elemento de datos más grande), para ser anexado al Midashigo previo especificado por el INDICE DE LISTA DE OBJETO SECUNDARIO 1 1 Instrucción de KANJI DIRECTO 5603: El siguiente campo de W-bits de CODIGO de KANJI especifica completamente la codificación de kanji (como el primer elemento de un Midashigo), de modo que la lectura asociada con el kanji incluye todo el kana anexado al Yomikata desde el nodo de raíz hasta el kana anexado por la instrucción primaria asociada e incluyendo la misma De esta manera, como se muestra en la figura 8C, las instrucciones 5600-5602 con códigos de campo de formato 5610 puestos en 00, 01 y 10, incluyen todas un campo 5611 , INDICE DE LISTA DE OBJETO SECUNDARIO, que especifica el índice de un Midashigo previamente existente en la lista creada por el nodo inmediatamente precedente. En una instrucción CONSERVAR 5600, el Midashigo indexado es el que es conservado en la lista, de tal manera que es modificado por una o más instrucciones en nodos subsiguientes. En una instrucción KANA 5601 , el Midashigo ¡ndexado es modificado anexando el kana especificado por la instrucción primaria asociada. En una instrucción KANJI INDIRECTO 5602, la lectura de kana para el kanji por anexar es determinada de la secuencia precedente de instrucciones junto con la instrucción primaria con la cual está asociada la instrucción 5602. El kanji por anexar es especificado por el campo INDICE KANJI DE RAÍZ, 5613, que es el índice de la instrucción en la lista de instrucción secundaria, asociada con la instrucción primaria que anexa el kana final de la lectura determinada en una secuencia que empieza desde el nodo raíz 101 1. En una instrucción de KANJI DIRECTO, 5603, es incluido un campo de bits de CÓDIGO KANJI más grande, 5614, que contiene suficiente información para recuperar la codificación completa de un kanji dado. Todos los formatos de instrucción, 5600-5603, incluyen también un campo BANDERA DE ALTO, 5612, que sirve para distinguir la última instrucción de un grupo asociado con una instrucción primaria dada. Ejemplos de estos diversos casos se ilustran en la figura 18, que muestra una representación de algunas posibles listas de instrucción en tres nodos de una estructura de árbol de base de datos. Es de notar que para fines de ilustración, la figura 18 muestra las instrucciones primarias en una forma "descodificada", mostrando el kana real para anexar en lugar del Indice de Símbolo Lógico (como en la figura 7), que realmente sería almacenado en una instrucción de base de datos. También para fines de ilustración, el objeto de lista creado por cada instrucción se muestra entre paréntesis angulares a la derecha de la instrucción. La figura 18 muestra listados parciales de listas de instrucción primaria y secundaria de los nodos para tres activaciones sucesivas de la tecla "2_" (por ejemplo la tecla 122 de la figura 1d). La columna de la izquierda muestra instrucciones para el nodo de primer nivel (es decir, empezando desde la raíz de la estructura de árbol), representando los objetos de texto creados como resultado de la primera activación de la tecla en la secuencia. Las siguientes dos columnas muestran las instrucciones para la segunda y tercera activación de la tecla. Cada instrucción primaria en una lista es marcada como Y1 , Yn (en donde "Y" representa "Yomikata"), y cada instrucción primaria se muestra con su lista asociada de instrucciones secundarias, cada una marcada como M1 n ("M" de "Midashigo"). En la figura 18, YO y M0 representan objetos de texto "nulos". De esta manera, como seria de esperar, al nivel de la raíz (nivel 1 ) todas las instrucciones primarias especifican YO y todas las instrucciones secundarias especifican M0. De esta manera, las instrucciones secundarias representadas en este nivel son instrucciones de KANJI DIRECTO (es decir, no se incluye campo de INDICE DE LISTA DE OBJETO SECUNDARIO), y el código de carácter para cada carácter kanji "X" mostrado en la figura 18 como "M0 + X", es especificado completamente en el campo CODIGO KANJI de la instrucción. Puesto que las instrucciones KANJI DIRECTO son usadas solo para especificar un kanji que aparece como el primer carácter de un Midashigo, incluso cuando dicha instrucción aparece debajo del primer nivel del árbol, no se requiere una instrucción de CONSERVAR precedente. De esta manera, no aparecen instrucciones de la forma "M0 + P" en el nivel 1 puesto que pueden ser inferidas, y no hay necesidad de conservar un objeto de texto "nulo". Por ejemplo, en la columna de en medio (nivel 2), la instrucción primaria Y1 anexa el kana _ al Yomikata Y1 del nivel precedente (es decir, _), creando así un objeto Yomikata en el segundo nivel. La quinta instrucción secundaria M5 es una instrucción de KANJI DIRECTO, y así corresponde a la lectura completa , que incluye todos los kana anexados del nodo raíz hasta el nivel actual. La instrucción también contiene suficiente información para determinar el código de salida correcto para el carácter ÜÜ. Este mismo carácter kanji también es parte del Midashigo creado por la instrucción secundaria M1 asociada con la instrucción primaria Y2 en el nivel 3. La instrucción primaria Y2 anexa el kana _ al Yomikata Y1 1 del nivel precedente (es decir, ), creando así un objeto Yomikata en el tercer nivel. La instrucción secundaria M1 asociada con esta instrucción primaria Y2 se muestra como "M5 + [M5]". Esta instrucción es una instrucción de KANJI INDIRECTO, y de esta manera incluye un campo INDICE DE LISTA DE OBJETO SECUNDARIO que especifica un valor de 5 (indicado en la figura 18 como "M5 +"). Este se refiere al quinto objeto Midashigo asociado con Y11 (referido por el campo de INDICE DE LISTA DE OBJETOS de la instrucción primaria) en el nivel precedente 2. Este objeto Midashigo en el nivel 2 es creado por la instrucción primaria Y1 1 : "Y2 + _" y su instrucción secundaria asociada M5: "M7 + P" (una instrucción CONSERVAR, que indica que el objeto Midashigo ^ creado y especificado completamente por la instrucción M7 asociada con el Yomikata Y2 del nivel precedente (nivel 1), se va a duplicar (conservar) como el quinto objeto Midashigo en la lista en el nivel actual (nivel 2). Esta instrucción de "conservar" sirve como un marcador de campo, e indica que el kana agregado en este nivel (_) es el inicio de la lectura de un kanji que va a ser anexado por una instrucción posterior. Esto ocurre en el nivel 3 de instrucción KANJI INDIRECTO, Y2:M1 "M5 + [M5]", en donde se sabe que la lectura asociada con el kanji indexado [M5] es la _ conservada más la _ agregada por Y2 en el nivel 3 ( ). Buscando esta lectura comenzando desde la raíz conduce a Y1 en el nivel 2, en donde el índice [M5] conduce al kanji completamente especificado Anexando este al Midashigo conservado del nivel 1 se crea el Midashigo completamente especificado j£*¡ jj En otra modalidad preferida, se usa un método alternativo para realizar la función provista por la instrucción "conservar" (código de formato 00 en la modalidad arriba descrita). En esta modalidad alternativa, como se muestra en la figura 8D, el formato de instrucción alternativa 5604 con código de formato 00, es similar al formato de instrucción 5602 en que especifica tanto un campo INDICE KANJI DE RAÍZ, 5613, como el campo INDICE DE LISTA DE OBJETO SECUNDARIO, 5611 , que especifica el índice de un Midashigo previamente existente. Sin embargo, en esta modalidad alternativa, el INDICE DE LISTA DE OBJETO SECUNDARIO se refiere, no al nodo inmediatamente precedente, sino a un nodo que precede el nodo actual en un nodo más que el número de nodos especificados por el campo NUMERO DE KANA, 5615. La lectura correspondiente al kanji por anexar es determinada rastreando hacia atrás a través de la cadena de instrucciones primarias desde el nodo referido hasta la instrucción primaria asociada en el nodo actual. La ventaja de este enfoque es que no se requieren instrucciones de CONSERVAR separadas en los nodos intermedios, de modo que la base de datos se puede hacer más compacta. La desventaja es que deben ser mantenidas múltiples listas de objetos de nodos previos al procesar secuencias de golpes de tecla, en lugar de solo una lista del nodo precedente. Similarmente, en la forma alternativa de la instrucción de KANA, 5605, el INDICE DE LISTA DE OBJETO SECUNDARIO se refiere a un nodo que precede el nodo actual por el número de nodos especificados por el campo NUMERO DE KANA, 5615. La secuencia de uno o más kana por anexar es determinada rastreando de regreso a través de la cadena de instrucciones primarias desde el nodo referido hasta la instrucción primaria asociada en el nodo actual. Las mismas ventajas y desventajas se aplican sobre la instrucción CONSERVAR alternativa. Como será evidente para una persona con conocimientos medios en la materia, el campo CODIGO DE FORMATO (5610), el campo INDICE DE LISTA DE OBJETO SECUNDARIO (5611 ), y el campo NUMERO DE KANA (5615), pueden ser combinados de varias maneras, por ejemplo usando codificación de Huffman, para lograr mayor compresión en las instrucciones almacenadas. En otra modalidad preferida de la presente invención, se logra más compresión de la base de datos sin una carga sustancial de procesamiento adicional por medio del siguiente mecanismo. En muchos casos, la lectura asociada con un kanji dado cambia cuando aparece en una posición no inicial en una palabra. En la gran mayoría de tales casos, este cambio fonético es un resultado de efectos de coarticulación de la pronunciación del kanji precedente, y ocasiona que la consonante inicial del kanji no inicial cambie de sorda a sonora, o de una fricativa a una explosiva. Esto corresponde a la adición de dakuten o handakuten al primer kana de la lectura del kanji no inicial. En el esquema de almacenamiento y recuperación de datos anteriormente descrito, esto requeriría hacer una entrada adicional a la base de datos para almacenar el kanji completamente codificado asociado con la lectura alternativa (con dakuten o handakuten), almacenado en una secuencia de nodos empezando en la raíz del árbol. En esta modalidad preferida, cuando un kanji aparece en una posición no inicial con dicha lectura alternativa, es usada una instrucción de KANJI INDIRECTO para especificar el kanji deseado en referencia a la lectura alternativa. Para reducir el tamaño de la base de datos, el kanji referido no es almacenado desde la raíz en asociación con la lectura alternativa, sino solo en asociación con su lectura estándar (sin dakuten ni handakuten). Para identificar el kanji que se deseado, el valor almacenado en el campo INDICE DE LISTA DE OBJETO SECUNDARIO de la instrucción de KANJI INDIRECTO es modificado de la siguiente manera: suponiendo que N represente el número de kanji que son almacenados de la raíz en asociación con la lectura alternativa, y suponiendo que X represente el valor de INDICE DE LISTA DE OBJETO SECUNDARIO que corresponde a la posición del kanji que se desea, en donde es almacenado de la raíz en asociación con su lectura estándar (sin dakuten ni handakuten). Entonces, el campo INDICE DE LISTA DE OBJETO SECUNDARIO de la instrucción de KANJI INDIRECTO se pone en el valor (N + X). Al procesar la instrucción de KANJI INDIRECTO, el sistema primero busca el kanji almacenado de la raíz en asociación con la lectura alternativa, y determina que ahí solo hay N kanji almacenados, que es menor que el valor de campo (N + X). Al determinar que la lectura asociada empieza con un kana con dakuten o handakuten, se genera la lectura estándar correspondiente, el número determinado de kanji N es sustraído del valor de campo (N + X), y el kanji deseado es encontrado bajo la lectura estándar determinada en la posición de índice determinada X.
V. Operación representativa del sistema usando golpes de tecla ambiguos La figura 19 ilustra tres ejemplos representativos de la operación del sistema mostrado en la figura 1a. Estos ejemplos ilustran la operación del sistema y la naturaleza de la retroalimentación provista en una modalidad que incluye el uso de las teclas de datos 21-30, la tecla Seleccionar 60, la tecla Convertir 62, y la tecla Diacrítica 68. Los ejemplos muestran el texto que aparecería en el área de texto 66, incluyendo el formateo especial del objeto en el punto de inserción 88 (subrayado punteado o subrayado continuo), como resultado de cada golpe de tecla. Cada golpe de tecla es identificado por la marca numérica de la tecla mostrada en la figura 1a. El ejemplo 1 en la figura 19 ilustra como la frase es introducida en una modalidad preferida del sistema de la figura 1 a. Después de cada uno de los primeros tres golpes de tecla sobre las teclas 21 , 25 y 22, se despliega el Yomikata más frecuente, cada uno correspondiendo a una palabra de longitud de uno, dos y tres kana, respectivamente. El cuarto golpe sobre la tecla Diacrítica 68 especifica que el kana del golpe de tecla precedente sobre la tecla 22 corresponde a un kana con dakuten, y el Yomikata desplegado cambia al Yomikata de tres kana más común que coincide con la secuencia de teclas 21 , 25, 22, y que tiene un kana con dakuten en la tercera posición ( ). Después del quinto golpe sobre la tecla 2 , el Yomikata más común es , que corresponde a la primera palabra de la frase introducida. El siguiente golpe de tecla sobre la tecla Convertir 62 cambia el texto desplegado al Midashigo más común que corresponde al Yomikata desplegado, que en este caso también corresponde a la pnmera palabra de la frase introducida deseada. El siguiente golpe es sobre la tecla de datos 23, que inicia la entrada de una nueva secuencia de golpes de tecla para ser reducida en ambigüedad, puesto que siguen una o más activaciones de la tecla Seleccionar 60 o la tecla Convertir 62 (en este caso, una activación de la tecla Convertir 62). Después de este golpe sobre la tecla 23, y los siguientes dos golpes sobre las teclas 27 y de nuevo 23, como siempre, se despliega el Yomikata más frecuente. También en este caso la palabra desplegada después de estos golpes de tecla corresponde a la palabra deseada de la frase introducida. Un golpe de tecla final sobre la tecla Seleccionar 60 indica que la secuencia de golpes de tecla del objeto de palabra actual está terminada, de tal manera que un siguiente golpe sobre la tecla de datos 21-30 iniciaría una nueva secuencia de entrada. El ejemplo 2 de la figura 19 muestra la presentación durante la introducción de la frase , que está incluida en la base de datos. Después del séptimo golpe de tecla (sobre la tecla 22), el único objeto en la base de datos que coincide con la secuencia de teclas introducida es la misma frase introducida deseada. De esta manera, aunque la secuencia en ese punto no corresponde a una palabra o frase completa, es desplegada la raíz coincidente más frecuente ( en este caso). Además, puesto que solo hay un objeto potencialmente coincidente en la base de datos, y el kana en la posición actual de este objeto incluye dakuten, el kana es desplegado con el dakuten aunque la tecla Diacrítica 68 no ha sido activada. De esta manera, en este caso, la activación de la tecla Diacrítica 68 es opcional, y el ejemplo 2 muestra la generación de la frase sin activar la tecla Diacrítica 68 para el kana o el . Una raíz es desplegada para los golpes de tecla séptimo a décimo de la secuencia, hasta que la frase introducida es completada por el undécimo golpe de tecla. El ejemplo 3 ¡lustra varias funciones asociadas con la tecla Seleccionar 60 y la tecla Convertir 62 en una modalidad. Después de los primeros dos golpes de tecla sobre la tecla 22 y la tecla 25, el Yomikata coincidente más frecuente es determinado como . El siguiente golpe de tecla sobre la tecla Seleccionar 60 señala el final de la secuencia de teclas de datos para el objeto de palabra actual, y es indicado por el subrayado punteado que cambia a subrayado continuo. Una segunda opresión de la tecla Seleccionar 60 selecciona el segundo Yomikata más común . El siguiente golpe sobre la tecla Convertir 62 selecciona el Midashigo más común que corresponde al Yomikata seleccionado y desplegado . Los siguientes dos golpes sobre la tecla Convertir 62 hacen un ciclo a través de un Midashigo menos común que es un solo carácter kanjí, y el último Midashigo en la secuencia que muestra el Yomikata seleccionado en forma de katakana. El siguiente golpe sobre la tecla Convertir 62 regresa al hiragana desplegado originalmente como la primera interpretación textual en la secuencia de Midashigo, que es idéntica a este Yomikata. Un golpe adicional sobre la tecla Convertir 62 repite el ciclo, nuevamente mostrando la interpretación del kanji más común. Después de eso, una opresión de la tecla Seleccionar 60 revierte a la presentación del Yomikata actualmente seleccionado . Una segunda opresión de la tecla Seleccionar 60 avanza al siguiente Yomikata (tercero más frecuente) . Los siguientes dos golpes de tecla sobre la tecla Convertir 62 hacen un ciclo a través de los primeros dos Midashigo (más comunes) asociados con este Yomikata, cada uno de los cuales es un solo carácter kanji. Una opresión-retención final de la tecla Convertir 62 hace un ciclo hacia atrás en la lista de Midashigo para reseleccionar el kanji previamente desplegado. El sistema de entrada de texto japonés de teclado reducido descrito en la presente, reduce el tamaño de la computadora u otro dispositivo que incorpore el sistema. El número reducido de teclas permite construir un dispositivo para ser sostenido por el usuario con una mano mientras opera con la otra mano. El sistema descrito es particularmente ventajoso para usar con teléfonos celulares, PDAs, localizadores bidireccionales, u otros dispositivos electrónicos pequeños que se benefician de la entrada de texto exacta y de alta velocidad. El sistema puede proveer tanto eficiencia como simplicidad cuando se pone en práctica sobre in dispositivo basado en pantalla táctil o un dispositivo con un número limitado de teclas mecánicas, que también pueden tener área limitada de pantalla de presentación. El sistema de la presente invención genera entrada en forma del kana que comprende el silabario fonético japonés, e integra el proceso de convertir el kana introducido en el kanji deseado u otra interpretación textual que corresponde a la lectura del kana. Además, el sistema de la presente invención provee un método para almacenar la información requerida para la operación del sistema en una base de datos que es muy compacta, y que solo requiere mínima carga general de procesamiento durante la ejecución. Los expertos en la técnica también reconocerán que se pueden hacer varios cambios menores al diseño de la disposición del teclado y el diseño de la base de datos fundamental, sin apartarse significativamente de los principios fundamentales de la presente invención. Consecuentemente, dentro del alcance de las reivindicaciones anexas, se apreciará que la invención puede ser practicada de manera diferente a la que se describe específicamente en la presente.
Una filtración de carácter explícito ejemplar de entrada de texto ambiguo La presente invención se refiere a un método y aparato para filtración explícita en entrada de texto ambiguo. La invención provee modalidades que incluyen varios métodos de entrada de texto explícito, tales como opresión de 2 teclas y opresión prolongada. La invención también provee medios para comparar palabras en una base de datos usando una metodología de estructuración, metodología de cierre de raíz, metodología de terminación de palabra y búsquedas de n-gramo. Más específicamente, la presente invención se refiere a un método y aparato para filtrar explícitamente en un modo de entrada de texto ambiguo, para extender e interpretar objetos, palabras, raíces de palabra y similares, y para cierre de raíz. Una modalidad específica de filtración explícita para reducir ambigüedad utiliza una variedad de medios de entrada explícita, que incluyen una característica de entrada explícita de 2 teclas, en donde se usa una opresión de tecla en combinación con una presentación de matriz. Se provee una metodología de extensión e interpretación en donde se habilita el tecleo de frases complejas. Series predeterminadas de caracteres son "estructuradas" como anclas para el final o comienzo de nuevas palabras o raíces de palabra. Se ofrecen suposiciones razonables para extender palabras por análisis de "n-grama" de letras explícitas precedentes. Específicamente, se proveen tres modalidades específicas que usan cierre de raíz, en donde la primera modalidad usa una combinación de las n letras de un objeto deseado, tal como una palabra y una tecla siguiente. La segunda modalidad cierra la porción de raíz del objeto y resuelve la porción no cerrada del objeto. La tercera modalidad usa búsquedas de n-gramo. En la figura 20 se provee un diagrama de bloques de una modalidad preferida del hardware del. sistema de reducción de ambigüedad de teclado reducido. El teclado 54 y la presentación 53 están acoplados con un procesador 100 por medio de circuitos de interconexión apropiados. Opcionalmente también se acopla un altavoz 102 al procesador. El procesador 100 recibe entrada del teclado y maneja toda la salida hacia la presentación y el altavoz. El procesador 100 está acoplado a una memoria 104. La memoria incluye una combinación de medios de almacenamiento temporal, tales como memoria de acceso aleatorio (RAM), y medios de almacenamiento permanente, tales como memoria de solo lectura (ROM), discos flexibles, discos duros o CD-ROM. La memoria 104 contiene todas las rutinas de software para gobernar la operación del sistema. Preferiblemente, la memoria contiene un sistema operativo 106, software de reducción de ambigüedad, 108, y software asociado de filtración de carácter explícito en entrada de texto ambiguo, o software de extensión e interpretación, 110, que se expone con detalle adicional mas abajo. La memoria también incluye una base de datos de vocabulario, 30. Opcionalmente, la memoria puede contener uno o más programas de aplicación, 1 12, 1 14. Ejemplos de programas de aplicación incluyen procesadores de palabra, diccionarios de software y traductores de lengua extranjera. También se puede proveer software de síntesis de habla como un programa de aplicación, permitiendo al sistema de reducción de ambigüedad de teclado reducido funcionar como un auxiliar de comunicación. Por lo tanto, en este caso, la salida podría ser enviada vocalmente desde el altavoz. Una persona con conocimientos medios en la materia apreciaría y entendería que la exposición se aplica a símbolos y secuencias de símbolos que cuando se combinan hacen un objeto o parte de un objeto. Un ejemplo típico de un símbolo es un carácter en cualquier idioma, tal como una letra, dígito, signo de puntuación, o cualquier otro símbolo de un idioma. Un ejemplo típico de un objeto o parte de un objeto es una palabra o parte de una palabra. Sin embargo, la exposición de la presente se aplica igualmente a kana japonés y jamos coreano. También, se debe notar que los objetos no tienen que ser lingüísticos, ya que el sistema de reducción de ambigüedad reclamado en la presente se puede usar para buscar iconos, números telefónicos o registros de inventario, siempre que esté presente un tipo de representación simbólica de cadena. Por lo tanto, se debe apreciar que el uso de términos tales como letra, palabra, raíz de palabra y similares no está limitado a esas aplicaciones, y se usan para facilitar la lectura y comprensión de la presente descripción.
Entrada explícita Una modalidad preferida de generación de un carácter explícito para filtrar elecciones de palabra de acuerdo con la invención, provee una característica de entrada explícita de 2 teclas. En muchos idiomas, tales como el inglés, todas las letras asociadas con una tecla son imprimidas sobre la tecla, tal como se representa en la figura 21 , en donde la figura 21 es una representación de un dispositivo manual inalámbrico ejemplar de acuerdo con la invención que muestra cada letra del alfabeto inglés asociado con una tecla. Sin embargo, otros idiomas como el francés incluyen mucho más letras de las que caben visualmente sobre una tecla, tal como la tecla del teléfono celular. La figura 22 es un diagrama ejemplar de letras europeas y algunos símbolos especiales mostrados sobre las teclas 0-9 y sus respectivas teclas de Cambio. Por ejemplo, si un usuario oprime la tecla 5, entonces aparece una presentación de matriz con los caracteres alfanuméricos j, k, I y 5. La figura 23 es un plano de pantalla de muestra de un método de entrada de matriz de 2 teclas de acuerdo con la invención. Después de haber oprimido la primera tecla, la matriz de elecciones es desplegada sobre el panel del dispositivo. Se debe apreciar que son posibles otras marcas impresas sobre las teclas, tales como por ejemplo cada tecla incluyendo un subconjunto de series predeterminadas de letras asociadas, por ejemplo desplegando el primero y el último carácter de series predeterminadas de letras asociadas. La figura 24 es un diagrama de flujo de entrada explícita de 2 teclas para la filtración de carácter explícito en el sistema de entrada de texto ambiguo de la figura 20. De acuerdo con una modalidad preferida de la invención, para que un usuario seleccione explícitamente una de muchas letras asignadas a una tecla, como en el caso del idioma francés, el usuario selecciona, por ejemplo por opresión, la tecla asociada (5000). La selección, por ejemplo opresión, de la tecla deseada, ocasiona que el sistema presente una segunda serie de letras, por ejemplo en forma de matriz, que corresponde con la tecla seleccionada (5100). Cada bloque de la matriz incluye una letra de la serie de letras asociadas con la tecla recién seleccionada/oprimida. La figura 23 muestra un ejemplo de lo que se despliega como resultado de oprimir la tecla 1. Todo lo que se requiere en este punto es para que el usuario seleccione el número de tecla del bloque de matriz que incluye el carácter deseado (5200). Este proceso de selección explícita solo requiere un máximo de 2 selecciones/opresiones de tecla para la selección de una letra. Sería muy evidente para una persona con conocimientos medios en la materia que el método de entrada explícita de 2 teclas para filtrar se puede extender a cualquier otro idioma. También sería evidente para una persona con conocimientos medios en la materia que son posibles configuraciones alternativas, tales como por ejemplo una lista de enrollado. De acuerdo con una configuración alternativa, el usuario selecciona una tecla por medio de una opresión prolongada para desplegar y hacer un círculo a través de la secuencia de caracteres sobre esa tecla. Como se muestra en la figura 27, algunos o todos los caracteres se pueden desplazar en una ventana de vista previa mientras la tecla es oprimida. Cuando la tecla es liberada, el último carácter destacado es aceptado. En otra configuración, después de que la secuencia de caracteres es presentada por medio de la opresión prolongada sobre la tecla, el carácter aparece o es destacado cada vez adicional en que la tecla es oprimida. La presentación de cada carácter explícito puede finalizar cuando transcurre un tiempo suficiente entre una opresión de tecla y la siguiente, o cuando se oprime una tecla diferente. En otra configuración, después de que la secuencia de caracteres es presentada por medio de la opresión prolongada sobre la tecla, el carácter aparece o es destacado cada vez adicional que es oprimida una tecla de navegación, en donde una tecla de navegación es por ejemplo una tecla de flecha o una rueda de enrollado. A continuación se da una lista de otros medios de entrada explícita para filtrar. Se debe apreciar que la lista es solamente ejemplar y no exhaustiva: • Opresión prolongada sobre una tecla para introducir explícitamente un número/dígito; • Cambio a un modo de números y opresión de una tecla para introducir explícitamente un número/dígito (y después retornar a modo de entrada ambiguo para filtración); • Cambio a un modo de golpe múltiple y opresión de una tecla repetidamente para introducir un carácter explícitamente (y después retornar a modo de entrada ambigua para filtración); • Interpretación de opresiones de tecla en modo ambiguo como carácter explícito, agrupando cada par de opresiones de tecla como una entrada explícita de 2 teclas, o agrupando opresiones repetidas de la misma tecla como una entrada de golpe múltiple; • Uso de teclas de conmutación múltiple, tales como un oscilador de 5 vías, que permite entrada ambigua con una simple opresión y entrada de carácter explícito con un tipo diferente de opresión; y • Por "encordado", lo que significa oprimir más de una tecla simultáneamente, con una tecla primaria indicando una serie ambigua de caracteres y una tecla secundaria indicando qué carácter de la serie seleccionar (por ejemplo un controlador de videojuego). Otro medio de entrada explícita para filtrar es cuando cualquier carácter asignado a una tecla es ofrecido al usuario a través de un medio secundario, por ejemplo desplegado sobre la marca de una tecla programable o "tecla suave", que si se elige debe ser introducida explícitamente. El mecanismo de tecla suave permite la corrección del último golpe de tecla introducido, por ejemplo si el usuario está extendiendo una palabra con caracteres adicionales o desea corregir la interpretación desplegada antes de introducir la palabra completa. El carácter adicional ofrecido se basaría en un análisis del carácter más probable asociado con el golpe de tecla precedente, o en las palabras de la lista actual de palabras candidatas. Suponiendo que el carácter más probable ya fue desplegado en la elección de palabra ambigua, entonces sería ofrecido el segundo carácter más probable. Por ejemplo, si el usuario desea teclear "ram" e introduce la secuencia de teclas 726, aparece la palabra "ran". La letra más probable para esa posición en la lista de palabras candidatas asociada con 726, es "m", entonces "m" podría ser ofrecida en la tecla suave. Cuando el usuario oprime la tecla suave, la "m" reemplaza a la "n" en la palabra "ran".
Filtración de carácter explícito en modo ambiguo La filtración de carácter explícito en modo ambiguo es cuando un carácter es introducido explícitamente durante la entrada de una secuencia de entradas ambiguas. Una modalidad de entrada explícita ya descrita es el método de entrada explícita de 2 teclas que utiliza una matriz como se describió arriba. De acuerdo con otra modalidad preferida de la invención, la entrada explícita de un carácter es efectuada por una opresión prolongada de la tecla asociada. Cuando se introducen explícitamente uno o más caracteres en una secuencia de caracteres, solo son recuperadas palabras almacenadas con ese o esos caracteres explícitamente seleccionados en la o las posiciones correspondientes.
Una forma de recuperar la palabra deseada de acuerdo con una modalidad de la invención, es cuando se introduce un carácter explícito en modo de entrada ambiguo, después el sistema de filtración de reducción de ambigüedad continúa para comparar palabras de la base de datos con las letras ambiguas y explícitas siempre que sea posible, en lugar de aceptar la palabra por omisión después de la primera letra explícita. Si no hay coincidencia, la última palabra ambigua seleccionada es aceptada y una letra nueva es anexada a la misma. Como un ejemplo, supóngase que un usuario desea introducir la palabra "home" en inglés T9. El usuario oprime prolongadamente la tecla 6 en la tercera posición para seleccionar explícitamente "m", dando como resultado solo "home" y además las raíces de palabra "imme" y "gome" después de 4 golpes de tecla. Otro ejemplo es usar una palabra alfanumérica mixta como "cu2night", que se podría almacenar en una base de datos. Si el usuario oprime prolongadamente la tecla 2, entonces introduce explícitamente un "2", así, palabras como "cub" son filtradas (eliminadas) de la lista de palabras candidatas. La filtración explícita es otra forma de ofrecer rápidamente terminaciones de palabra. Si "cu2night" estaba en una base de datos, y se introdujo ambiguamente "cu" seguido por "2" explícitamente", serán filtradas todas las interpretaciones ambiguas de la secuencia de golpes de tecla "282" dejando "cu2night" como una elección más probable para ser ofrecida mediante terminación de palabra.
La figura 25 es un diagrama de flujo para filtrar explícitamente en modo ambiguo de acuerdo con una modalidad preferida de la invención. Se desea un carácter y su tecla asociada es introducida ambiguamente o explícitamente (6000). La palabra deseada es interpretada entonces en base a la secuencia de teclas seleccionadas ambiguamente (es decir, sus caracteres asociados) y los caracteres explícitamente seleccionados. La base de datos es examinada para buscar las palabras con los caracteres asociados con entradas seleccionadas ambiguamente, por ejemplo teclas, y con los caracteres introducidos ambiguamente, en sus posiciones correspondientes respectivas (6100). Las palabras buscadas son entonces presentadas o desplegadas en un orden predeterminado priorizado (6200), tal como una orden usada más frecuentemente. Si la palabra deseada está entre la serie de palabras buscadas presentadas (6300), entonces es elegida la palabra deseada (6400) y el proceso termina. De otra manera, el proceso no termina y los pasos se repiten desde la selección de una tecla deseada (6000).
Estructuración En otro aspecto del sistema de filtración de reducción de ambigüedad, palabras de la base de datos pueden ser caracteres introducidos, explícitamente o ambiguamente "estructurados", o adicionalmente caracteres de una serie predeterminada de caracteres. De acuerdo con una interpretación, las palabras coincidentes, si las hubiera, incluyen el carácter explícito para una secuencia particular. Sin embargo, interpretaciones adicionales de la secuencia pueden incluir: una o más palabras que coinciden con las teclas ambiguas que preceden o terminan con el carácter explícito; una o más palabras coincidentes que empiezan con el carácter explícito si lo hubiera; y una o más palabras que coinciden con las teclas ambiguas que siguen al carácter explícito. Por ejemplo, si se introduce la secuencia de teclas "gifts4less", con el dígito "4" introducido explícitamente, las palabras "gifts" coinciden con la secuencia de teclas ambigua que precede el carácter explícito, y "less" coincide con la secuencia de teclas que le siguen, aunque "gifts4less", "gifts4" y "4less" no se encuentran en la base de datos. Similarmente, "mobile.com" puede ser tecleado como una palabra construida automáticamente de las entradas de base de datos "mobile" y ".com", o de las entradas "mobile" y y "com" si hay una tecla para puntuación ambigua; en cualquiera de esos casos puede no ser necesario introducir explícitamente el punto. Una modalidad del concepto de estructuración se puede describir con referencia a la figura 28, un diagrama de flujo que representa un ejemplo de estructuración. El método de estructuración inicia (9000) con una secuencia de teclas introducida, por ejemplo [k1 k2 k3 kd k5 k6 k7 k8]. Los k#s se refieren a teclas introducidas ambiguamente y kd se refiere a una tecla delimitante que puede ser un carácter introducido explícitamente o un carácter de puntuación introducido ambiguamente. El método determina entonces si la base de datos encontró una coincidencia (9100). Si es así se despliega una palabra (9200). Si el usuario desea proceder a la siguiente elección en la lista de palabras encontradas por la base de datos, el usuario oprime una siguiente tecla para solicitar más búsquedas a la base de datos (9300).
Específicamente, la base de datos es examinada de manera múltiple para buscar coincidencias con secuencias de teclas. Una secuencia de tecla es dividida en dos series en cualquier lado de un delimitador. Un ejemplo de varios agrupamientos de dos series de secuencias divididas por un delimitador es como sigue: • [k¡ k2 k3 kd] [k5 k6 k7 k8]; • [k1 k2 k3] [kd k5 k6 k7 k8]; y • [k1 k2 k3] kd [k5 k6 k7 k8]. Si se encuentra una coincidencia entre cualquiera de los grupos (9400), entonces la palabra deseada es elegida y desplegada (9500). Si el usuario desea estructurar esta secuencia, el usuario puede oprimir una siguiente tecla para obtener la siguiente serie de resultados de búsquedas múltiples en la base de datos (9600). Si la base de datos no encuentra una coincidencia inicial (9100), entonces la base de datos es examinada de manera múltiple para buscar coincidencias con secuencias de teclas (9700), en donde una secuencia de teclas es dividida en dos series en cualquier lado de un delimitador, cuya descripción y ejemplos se presentaron arriba. Se debe apreciar que los medios para buscar y desplegar/presentar la serie de posibles palabras deseadas pueden variar, y aún están dentro del alcance y espíritu de la invención.
Cierre de raíz En una modalidad preferida de la invención, el cierre de raíz es el cierre de una o más subsecuencias o subcadenas de caracteres dentro de una secuencia. Por ejemplo, los primeros n-números de secuencia de caracteres de una palabra se pueden cerrar. La forma en que trabaja el cierre de raíz es que solo son buscadas las palabras con aquellos cerrados en caracteres. Por ejemplo, supóngase que un usuario selecciona la tecla 4 y después la 6 de un teléfono celular inalámbrico usando tecnología T9. La palabra "go" es desplegada en la presentación. Si "go" se cierra, después por selecciones subsiguientes de teclas solo son seleccionadas palabras con "go" en las primeras dos posiciones. El cierre de letras puede ser realizado de varias formas diferentes. Por ejemplo, dos de estas formas son por medio de un mecanismo de "cierre completo siguiente" y una metodología de "no confinada" moviendo un cursor sobre caracteres a seleccionar. Como un ejemplo de realización de "cierre completo siguiente", se usa una tecla "siguiente". Esto es, de acuerdo con una modalidad de la invención, al seleccionar una tecla "siguiente" se cierra una serie presentada previamente de caracteres, eliminando así la posibilidad de que el sistema reinterprete el objeto, reinterpretando las series cerradas de caracteres. Las series seleccionadas de caracteres ahora están marcadas como introducidas explícitamente. En un ejemplo de movimiento del cursor sobre caracteres (no confinado) de acuerdo con una modalidad de la invención, el cursor es movido al comienzo de una serie por el usuario, seleccionando una tecla de flecha derecha (o una tecla de flecha izquierda, por ejemplo en el idioma hebreo), y todos los caracteres que se movió el cursor se cierran.
Otro aspecto del cierre completo siguiente es cerrar una serie presentada previamente de caracteres cuando se identifican límites de palabra probable. Tales límites pueden ser identificados en base a ciertas secuencias de interacciones, tales como por ejemplo cuando el usuario "prosigue" y después selecciona un símbolo o carácter de puntuación; o cuando el usuario "prosigue" y después introduce un número explícito. Se debe apreciar que otros métodos para "cerrar" incluyen, sin limitación: • Oprimir una tecla asignada a la función de "cerrar", tal como una tecla OK o Seleccionar; y • Oprimir una tecla de flecha apropiada para "cerrar" en una terminación de palabra que se ofrece. Los enfoques de cierre de raíz como los anteriormente expuestos se pueden relacionar con "estructuración" como se describió aquí anteriormente. Esto es, una vez que una secuencia ha sido cerrada, puede ser "estructurada".
Ejemplo de kana japonés Otro ejemplo de la metodología de filtración de reducción de ambigüedad es en el idioma japonés. Las subfrases en forma de carácter kana (fonético) pueden ser convertidas en kanji (Yomikata), y esas subfrases convertidas pueden a su vez filtrar interpretaciones del kana ambiguo restante que precede o sigue a las subfrases convertidas, excluyendo interpretaciones que no pueden ser usadas para construir frases válidas.
En otra modalidad de la invención, se usa una jerarquía de mecanismo de cierres. Por ejemplo, una tecla de flecha derecha puede cerrar todos los caracteres a la izquierda del cursor. Por lo tanto, en esta realización, una tecla de flecha derecha cierra una raíz de primera elección, mientras que una tecla "siguiente" cierra una raíz que no es primera elección. Otra realización es usar una tecla "seleccionar" en lugar de una tecla de flecha derecha en combinación con una tecla "siguiente". Por ejemplo, la tecla "seleccionar" se puede usar al final de cada secuencia de teclas ambigua para seleccionar y aceptar la elección por omisión (la tecla Seleccionar es oprimida una vez), o para seleccionar una elección alternativa (la tecla Seleccionar es oprimida más de una vez hasta que la elección deseada aparezca o sea destacada). En este caso, la tecla "seleccionar" se usa para cerrar raíz de la primera elección o las elecciones alternativas, en lugar de usar la tecla de flecha derecha para la primera elección y la tecla "siguiente" para otras elecciones (o viceversa, ya que la elección de teclas es arbitraria, no obstante ser predeterminada).
Extensión v terminación de palabra Otro aspecto de la invención es que el sistema automáticamente inicia una palabra nueva en una posición de cierre. Por ejemplo, el usuario introduce "car" y la cierra, y después introduce las teclas de "pet". Se muestra "carpet" porque es una palabra completa en la base de datos. También se muestra la palabra "carset" porque es "car" + "set", que es otro ejemplo del concepto de "estructuración", en donde una secuencia ambigua puede seguir una entrada de carácter explícito, ocasionando que una interpretación sea el comienzo de una nueva palabra ambigua. Alternativamente, cuando uno o más caracteres previamente aceptados preceden (son adyacentes, sin espacios) a la secuencia de teclas ambigua actual y activa. El sistema utiliza los caracteres precedentes para comparar palabras y frases (por ejemplo en la base de datos del usuario), que empiezan con aquellos caracteres y que coinciden con una secuencia de tecla ambigua que sigue a dichos caracteres. Opcionalmente se ofrecen una o más terminaciones de palabra. A continuación se da un ejemplo. Un usuario introduce y cierra (acepta) los caracteres "con". Después, el usuario teclea teclas ambiguas para "stan" y es ofrecida "constantinople" como una terminación de palabra. En este ejemplo, el usuario podría haber usado una tecla de flecha izquierda/derecha para aceptar "con", para ser usada para filtrar y sugerir terminaciones de palabra que empiecen con los caracteres aceptados y estén inmediatamente adyacentes a una secuencia de teclas ambigua. El hebreo y otros idiomas van en la otra dirección, puesto que no se asume solo el lado derecho. La figura 26 es un diagrama de flujo de un método para generar palabras no almacenadas en la base de datos de acuerdo con la invención. Esto es, en una modalidad alternativa igualmente preferida, si una serie de entradas es cerrada (7000) y se introducen caracteres ambiguos subsiguientes (7100) y no se encuentra una palabra almacenada correspondiente en la base de datos (7200), entonces se realizan búsquedas de combinaciones probables en base a los n caracteres previos cerrados (7300). En una modalidad preferida de la invención, se usa un n-grama para encontrar palabras almacenadas. Esto es contrario al uso de toda la serie de letras cerradas. Por ejemplo, supóngase que un usuario ha entrado y ha seleccionado explícitamente la palabra "flight", pero sin embargo el usuario quiere introducir la palabra "flightplan" que no está en la base de datos. En esta modalidad de la invención, el usuario entonces explícitamente cierra la letra "p" y "I" después de "flight". El sistema busca entonces palabras que usan el último bigrama introducido explícitamente (p y I). De esta manera son generadas palabras que no están almacenadas en la base de datos. Aunque la invención se describe aquí con referencia a la modalidad preferida, una persona experta en la materia apreciará fácilmente que otras aplicaciones pueden sustituir las que aquí se describen sin apartarse del espíritu y alcance de la presente invención. Por consiguiente, la invención solo debe ser limitada por las reivindicaciones incluidas a continuación.

Claims (1)

  1. NOVEDAD DE LA INVENCION REIVINDICACIONES 1.- Un aparato para filtración de carácter explícito de entrada de texto ambiguo, dicho aparato comprendiendo: un teclado y una presentación, cada uno acoplado con un procesador por medio de circuitos de interconexión apropiados, en donde dicho procesador recibe caracteres de entrada de dicho teclado y maneja objetos de salida hacia dicha presentación; una memoria acoplada con dicho procesador, en donde dicha memoria comprende: un sistema operativo; software de reducción de ambigüedad; software de filtración de carácter explícito en entrada de texto ambiguo; una base de datos de objetos; y opcionalmente uno o más programas de aplicación. 2. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque comprende software de síntesis de habla y un altavoz como un auxiliar de comunicación. 3. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dichos caracteres comprenden, sin limitación, letras, dígitos, signos de puntuación, símbolos de cualquier idioma, kana japonés, jamos coreanos, iconos y similares; y en donde los objetos comprenden, sin limitación, secuencias de caracteres, palabras, partes de palabras, raíces de palabras, iconos, números telefónicos, registros de inventario y similares. 4. - El aparato de conformidad con la reivindicación 1, caracterizado además porque comprende medios para introducir un carácter explícito por medio de alguno de: entrada explícita de 2 teclas; opresión prolongada de una tecla para desplegar y hacer un ciclo a través de una secuencia de caracteres; opresión prolongada de una tecla para introducir explícitamente un numero/dígito; cambio a un modo de números y opresión de una tecla para introducir explícitamente un número/dígito; cambio a un modo de golpe múltiple y opresión de una tecla repetidamente para introducir un carácter explícitamente; interpretación de opresiones de tecla de modo ambiguo como un carácter explícito, ya sea agrupando cada par de opresiones de tecla como una entrada explícita de 2 teclas, o agrupando opresiones repetidas de la misma tecla como una entrada de golpe múltiple; uso de teclas de conmutación múltiple, permitiendo así la entrada ambigua en una opresión simple y una entrada de carácter explícito en un tipo diferente de opresión; encordado por opresión de más de una tecla simultáneamente, con una tecla primaria indicando una serie ambigua de caracteres y una tecla secundaria indicando qué carácter de la serie seleccionar; y uso de una tecla suave como un medio secundario para ofrecer cualquier carácter asignado a una tecla, en base al análisis de carácter más probable asociado con un golpe de tecla precedente, o basado en palabras de una lista actual de palabras candidatas; o cualquier combinación de los mismos, sin limitación. 5 - El aparato de conformidad con la reivindicación 4, caracterizado además porque dicha entrada explícita de 2 teclas utiliza cualquiera de: una presentación de matriz; una marca que incluye un subconjunto de series predeterminadas de caracteres asociados; y una lista de enrollado; sin limitación. 6. - El aparato de conformidad con la reivindicación 4, caracterizado además porque dicha opresión prolongada comprende también, después de que dicha secuencia de caracteres es desplegada, cualquiera de: un carácter siguiente en dicha secuencia de caracteres es destacado cada vez adicional que dicha tecla es oprimida, terminando después de que transcurre un tiempo suficiente entre una opresión de tecla y la siguiente, o cuando es oprimida una tecla diferente; o un siguiente carácter en dicha secuencia de caracteres es destacado cada vez que es oprimida una tecla de navegación; sin limitación. 7. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dicho software de filtración de carácter explícito comprende también: cuando uno o más caracteres en una secuencia de caracteres son introducidos explícitamente, medios para recuperar solo objetos almacenados de dicha base de datos de objeto que tienen dichos caracteres introducidos explícitamente en posiciones correspondientes. 8. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dicho software de filtración de carácter explícito comprende también: medios para comparar dichos objetos en dicha base de datos con caracteres introducidos explícitamente y caracteres introducidos ambiguamente siempre que sea posible, en lugar de aceptar una palabra por omisión después de un primer carácter introducido explícitamente. 9. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dicho software de filtración de carácter explícito también comprende: medios para seleccionar un carácter deseado ya sea ambiguamente o explícitamente, actuando así interpretando objetos candidatos deseados usando dichos caracteres seleccionados ambiguamente y seleccionados explícitamente, examinando dicha base de datos de objetos para buscar objetos con caracteres asociados con dichas teclas seleccionadas ambiguamente y con dichos caracteres seleccionados explícitamente, dichos caracteres en posiciones correspondientes respectivas, y presentando dichos objetos buscados; medios para determinar si un objeto deseado está entre dichos objetos buscados presentados; si dicho objeto deseado no está entre dichos objetos buscados presentados, medios para repetir el método desde dicho paso de selección de una tecla deseada; y medios para seleccionar dicho objeto deseado. 10. - El aparato de conformidad con la reivindicación 9, caracterizado además porque dichos objetos buscados presentados están en un orden predeterminado, o en donde dicho orden predeterminado está priorizado. 1 1. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dicho software de filtración de carácter explícito comprende además medios para estructurar por lo menos un carácter delimitante, en donde dicho carácter delimitante (por lo menos uno) es, sin limitación, caracteres introducidos explícita o ambiguamente, o caracteres de una serie predeterminada de caracteres. 12. - El aparato de conformidad con la reivindicación 11 , caracterizado además porque dichos medios para estructurar comprenden además cualquiera de: medios de interpretación por comparación de objetos que incluyen caracteres introducidos explícitamente para una secuencia particular; medios de interpretación por comparación de objetos que incluyen uno o más objetos que coinciden con teclas ambiguas que preceden dicho carácter delimitante (por lo menos uno); medios de interpretación por comparación de objetos que incluyen uno o más objetos que coinciden con teclas ambiguas que terminan con dicho carácter delimitante (por lo menos uno); medios de interpretación por comparación de objetos que incluyen uno o más objetos que empiezan con dicho carácter delimitante (por lo menos uno); y medios de interpretación por comparación de objetos que incluyen uno o más objetos que siguen a dicho carácter delimitante (por lo menos uno); o cualquier combinación de los mismos. 13 - El aparato de conformidad con la reivindicación 1 1 , caracterizado además porque dichos medios para estructurar se accionan oprimiendo una siguiente tecla para obtener una serie siguiente de resultados de múltiples búsquedas en dicha base de datos de objetos. 14. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque dicho software de filtración de carácter explícito comprende además medios para cierre de raíz para eliminar la reinterpretación de una o más series de caracteres, marcando dicha serie de caracteres (una o más) como se introdujo explícitamente. 15. - El aparato de conformidad con la reivindicación 14, caracterizado además porque dicho cierre de raíz comprende además cualquiera de: un mecanismo de cierre completo siguiente, en donde una tecla siguiente cierra una de dichas series de caracteres (una o más); cierre no confinado moviendo el cursor sobre una de dichas series de caracteres (una o más) usando una tecla de flecha; medios para usar caracteres previamente introducidos explícitamente que preceden una secuencia de teclas ambigua actual comparando objetos en dicha base de datos, en donde dichos objetos empiezan con dichos caracteres introducidos explícitamente y coinciden con dicha secuencia de teclas introducida ambiguamente; capacidad de terminación de objeto; medios para permitir que la opresión de una tecla sea asignada a una función de cierre, tal como una tecla OK o Seleccionar; medios para permitir que la opresión de una tecla de flecha apropiada cierre una terminación de palabra que se ofrece; un mecanismo de jerarquía de cierre; y medios para generar objetos no almacenados en dicha base de datos de objetos; o cualquier combinación de los mismos, sin limitación. 16. El aparato de conformidad con la reivindicación 15, caracterizado además porque dicho mecanismo de cierre completo siguiente comprende además medios para identificar y usar límites de palabra. 17. - El aparato de conformidad con la reivindicación 15, caracterizado además porque dichos medios para generar objetos no almacenados en dicha base de datos de objetos comprende además: medios para recibir una primera serie de caracteres que comprenden una serie de entradas cerradas; medios para recibir una entrada ambigua subsiguiente asociada con una segunda serie de caracteres; medios para buscar en dicha base de datos dicho objeto deseado, usando dicha primera serie introducida de caracteres cerrados y dicha entrada ambigua subsiguiente; si dicho objeto deseado es encontrado en dicha base de datos, entonces medios para permitir seleccionar dicho objeto deseado; y, de otra manera, medios para realizar una segunda búsqueda cerrando y buscando en un subconjunto de dicha segunda serie de caracteres. 18.- Un método para filtración de carácter explícito de entrada de texto ambiguo, dicho método comprendiendo: proveer un teclado y una presentación, cada uno acoplado con un procesador por medio de circuitos de interconexión apropiados, en donde dicho procesador recibe caracteres de entrada de dicho teclado y maneja objetos de salida hacia dicha presentación; y proveer una memoria acoplada con dicho procesador, en donde dicha memoria comprende: un sistema operativo; software de reducción de ambigüedad; software de filtración de carácter explícito en entrada de texto ambiguo; una base de datos de objeto; y opcionalmente uno o más programas de aplicación. 19.- El método de conformidad con la reivindicación 18, caracterizado además porque comprende proveer software de síntesis de habla y un altavoz como un auxiliar de comunicación. 20.- El método de conformidad con la reivindicación 18, caracterizado además porque dichos caracteres comprenden, sin limitación, letras, dígitos, signos de puntuación, símbolos de cualquier idioma, kana japonés, jamos coreano, iconos y similares; y en donde los objetos comprenden, sin limitación, secuencias de caracteres, palabras, partes de palabra, raíces de palabra, iconos, números telefónicos, registros de inventario y similares. 21. - El método de conformidad con la reivindicación 18, caracterizado además porque comprende introducir un carácter explícito por medio de cualquier de: entrada explícita de 2 teclas; opresión prolongada de una tecla para desplegar y hacer un ciclo a través de una secuencia de caracteres; opresión prolongada de una tecla para introducir explícitamente un número/dígito; cambiar a un modo de números y oprimir una tecla para introducir explícitamente un número/dígito; cambiar a un modo de golpe múltiple y oprimir repetidamente una tecla para introducir explícitamente un carácter; interpretar opresiones de tecla de modo ambiguo como un carácter explícito, agrupando cada par de opresiones de tecla como una entrada explícita de 2 teclas, o agrupando opresiones repetidas de la misma tecla como una entrada de golpe múltiple; usar teclas de conmutación múltiple, permitiendo así la entrada ambigua con una simple opresión y una entrada de carácter explícito con un tipo diferente de opresión; encordar oprimiendo simultáneamente más de una tecla, con una tecla primaria que indica una serie de caracteres ambigua y una tecla secundaria que indica qué carácter seleccionar en la serie; y usar una tecla suave como un medio secundario para ofrecer cualquier carácter asignado a una tecla, en base al análisis del carácter más probable asociado con un golpe de tecla precedente, o en base a palabras en una lista actual de palabras candidatas; o una combinación de los mismos, sin limitación. 22. - El método de conformidad con la reivindicación 21 , caracterizado además porque dicha entrada explícita de 2 teclas usa cualquiera de: una presentación de matriz; una marca que incluye un subconjunto de series predeterminadas de caracteres asociados; y una lista de enrollamiento; sin limitación. 23. - El método de conformidad con la reivindicación 21 , caracterizado además porque dicha opresión prolongada comprende además, después de que la secuencia de caracteres es desplegada, cualquiera de: destacar un carácter siguiente en dicha secuencia de caracteres cada vez adicional que dicha tecla es oprimida, terminando después de que transcurre un tiempo suficiente entre una opresión de tecla y la siguiente o cuando se oprime una tecla diferente; o destacar un carácter siguiente en la secuencia de caracteres cada vez que es oprimida una tecla de navegación; pero no se limita a los mismos. 24. - El método de conformidad con la reivindicación 18, caracterizado además porque dicho software de filtración de carácter explícito comprende además: cuando uno o más caracteres en una secuencia de caracteres son introducidos explícitamente, medios para recuperar de la base de datos de objetos, solo objetos almacenados que tienen los caracteres introducidos explícitamente en posiciones correspondientes. 25. - El método de conformidad con la reivindicación 18, caracterizado además porque dicho software de filtración de carácter explícito comprende además: comparar dichos objetos de dicha base de datos con caracteres introducidos explícitamente y caracteres introducidos ambiguamente siempre que sea posible, en lugar de aceptar una palabra por omisión después de un primer carácter introducido explícitamente. 26. - El método de conformidad con la reivindicación 18, caracterizado además porque dicho software de filtración de carácter explícito comprende además: seleccionar un carácter deseado, ambiguamente o explícitamente, actuando así por interpretación de objetos deseados candidatos usando dichos caracteres seleccionados ambiguamente y seleccionados explícitamente, buscando en la base de datos de objetos, objetos con caracteres asociados con dichas teclas seleccionadas ambiguamente y con dichos caracteres seleccionados explícitamente, dichos caracteres en posiciones correspondientes respectivas, y presentando los objetos buscados; determinar si un objeto deseado está entre los objetos buscados presentados; si dicho objeto deseado no está entre los objetos buscados presentados, repetir el método desde dicho paso de selección de una tecla deseada; y seleccionar dicho objeto deseado. 27. - El método de conformidad con la reivindicación 26, caracterizado además porque dichos objetos buscados presentados están en un orden predeterminado, o en donde dicho orden predeterminado está priorizado. 28. - El método de conformidad con la reivindicación 18, caracterizado además porque dicho software de filtración de carácter explícito comprende además estructurar por lo menos un carácter delimitante, en donde el carácter delimitante (por lo menos uno) es, sin limitación, caracteres introducidos explícitamente o ambiguamente, o caracteres de una serie predeterminada de caracteres. 29 - El método de conformidad con la reivindicación 28, caracterizado además porque dicha estructuración comprende además cualquiera de: interpretación por comparación de objetos que incluyen caracteres introducidos explícitamente para una secuencia particular; interpretación por comparación de objetos que incluyen uno o más objetos que coinciden con teclas ambiguas que preceden dicho carácter delimitante (por lo menos uno); interpretación por comparación de objetos que incluyen uno o más objetos que coinciden con teclas ambiguas, que terminan con dicho carácter delimitante (por lo menos uno); interpretación por comparación de objetos que incluyen uno o más objetos que empiezan con dicho carácter delimitante (por lo menos uno); e interpretación por comparación de objetos que incluyen uno o más objetos que siguen a dicho carácter delimitante (por lo menos uno); o cualquier combinación de las mismas. 30. - El método de conformidad con la reivindicación 28, caracterizado además porque dicha estructuración es accionada oprimiendo una tecla siguiente para obtener una serie siguiente de resultados de múltiples búsquedas en dicha base de datos de objetos. 31. - El método de conformidad con la reivindicación 18, caracterizado además porque dicho software de filtración de carácter explícito comprende además cierre de raíz para eliminar la reinterpretación de una o más series de caracteres, marcando dichas series de caracteres como introducidos explícitamente. 32. - El método de conformidad con la reivindicación 31, caracterizado además porque comprende cualquiera de: proveer un mecanismo de cierre completo siguiente, en donde una tecla siguiente cierra una de las series de caracteres (una o más); proveer cierre no confinado moviendo el cursor sobre una de dichas series de caracteres (una o más) usando una tecla de flecha; usar caracteres previamente introducidos explícitamente que preceden una secuencia de teclas ambigua actual, comparando objetos en dicha base de datos, en donde dichos objetos empiezan con los caracteres introducidos explícitamente y coinciden con dicha secuencia de teclas introducida ambiguamente; proveer una capacidad de terminación de objeto; permitir que la opresión de una tecla sea asignada a una función de cierre, tal como una tecla OK o Seleccionar; permitir que la opresión de una tecla de flecha apropiada cierre una terminación de palabra que se ofrece; proveer un mecanismo de jerarquía de cierre; y generar objetos no almacenados en dicha base de datos de objetos; o cualquier combinación de los mismos, sin limitación. 33. - El método de conformidad con la reivindicación 32, caracterizado además porque dicho mecanismo de cierre completo siguiente comprende además identificar y usar límites de palabra. 34. - El método de conformidad con la reivindicación 32, caracterizado además porque dicha generación de objetos no almacenados en dicha base de datos de objetos comprende además: recibir una primera serie de caracteres que comprende una serie de entradas cerradas; recibir una entrada ambigua subsiguiente asociada con una segunda serie de caracteres; buscar en la base de datos el objeto deseado usando la primera serie introducida de caracteres cerrados y la entrada ambigua subsiguiente; si el objeto es encontrado en la base de datos, entonces permitir seleccionar dicho objeto deseado; y de otra manera realizar una segunda búsqueda cerrando y buscando en un subconjunto de la segunda serie de caracteres.
MXPA04012854A 2002-06-20 2002-06-21 Filtracion de caracter explicito de entrada de texto ambiguo. MXPA04012854A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/176,933 US7712053B2 (en) 1998-12-04 2002-06-20 Explicit character filtering of ambiguous text entry
PCT/US2002/019926 WO2004001979A1 (en) 2002-06-20 2002-06-21 Explicit character filtering of ambiguous text entry

Publications (1)

Publication Number Publication Date
MXPA04012854A true MXPA04012854A (es) 2005-06-08

Family

ID=29999073

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04012854A MXPA04012854A (es) 2002-06-20 2002-06-21 Filtracion de caracter explicito de entrada de texto ambiguo.

Country Status (9)

Country Link
US (6) US7712053B2 (es)
EP (1) EP1514357B1 (es)
JP (2) JP2005530272A (es)
KR (1) KR100693697B1 (es)
CN (1) CN1618173B (es)
AU (1) AU2002316353A1 (es)
CA (1) CA2485221A1 (es)
MX (1) MXPA04012854A (es)
WO (1) WO2004001979A1 (es)

Families Citing this family (315)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7712053B2 (en) * 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US6885317B1 (en) * 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US20100122164A1 (en) * 1999-12-03 2010-05-13 Tegic Communications, Inc. Contextual prediction of user words and user actions
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
KR100498323B1 (ko) * 2001-01-16 2005-07-01 엘지전자 주식회사 이동통신 단말기의 특수문자 선택방법
JP4084582B2 (ja) * 2001-04-27 2008-04-30 俊司 加藤 タッチ式キー入力装置
US7761175B2 (en) 2001-09-27 2010-07-20 Eatoni Ergonomics, Inc. Method and apparatus for discoverable input of symbols on a reduced keypad
US8583440B2 (en) 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
MXPA04012550A (es) * 2002-07-01 2005-04-19 Sony Ericsson Mobile Comm Ab Dar entrada a texto hacia un dispositivo de comunicaciones electronico.
EP1437642A3 (de) * 2003-01-10 2006-07-26 Siemens Aktiengesellschaft Gerät zum Bedienen und Beobachten mit einem Schnelleingabetastenfeld
US7626574B2 (en) * 2003-01-22 2009-12-01 Kim Min-Kyum Apparatus and method for inputting alphabet characters
US20040234315A1 (en) * 2003-05-20 2004-11-25 Colwell Steven Lee Method and computer-readable medium for faster data entry
TWI220727B (en) * 2003-06-11 2004-09-01 Asustek Comp Inc Character element input correcting device and method
WO2005008899A1 (en) * 2003-07-17 2005-01-27 Xrgomics Pte Ltd Letter and word choice text input method for keyboards and reduced keyboard systems
US8200865B2 (en) 2003-09-11 2012-06-12 Eatoni Ergonomics, Inc. Efficient method and apparatus for text entry based on trigger sequences
US8136050B2 (en) * 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US7636083B2 (en) * 2004-02-20 2009-12-22 Tegic Communications, Inc. Method and apparatus for text input in various languages
CN100368963C (zh) * 2004-05-31 2008-02-13 诺基亚公司 将表意字符输入到设备中的方法和装置
US7324083B2 (en) * 2004-06-02 2008-01-29 Research In Motion Limited Handheld electronic device with text disambiguation
US8542132B2 (en) * 2004-06-02 2013-09-24 Blackberry Limited Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7312726B2 (en) 2004-06-02 2007-12-25 Research In Motion Limited Handheld electronic device with text disambiguation
CA2577075C (en) * 2004-08-13 2014-10-07 5 Examples, Inc. The one-row keyboard and approximate typing
EP1630649A1 (en) * 2004-08-31 2006-03-01 2012244 Ontario Inc. System and method for multilanguage text input in a handheld electronic device
US7475004B2 (en) * 2004-08-31 2009-01-06 Research In Motion Limited Handheld electronic device with text disambiguation
US7952496B2 (en) * 2004-08-31 2011-05-31 Research In Motion Limited Handheld electronic device and associated method employing a multiple-axis input device and reinitiating a text disambiguation session upon returning to a delimited word
US7711542B2 (en) * 2004-08-31 2010-05-04 Research In Motion Limited System and method for multilanguage text input in a handheld electronic device
EP1630650A1 (en) * 2004-08-31 2006-03-01 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7836412B1 (en) * 2004-12-03 2010-11-16 Escription, Inc. Transcription editing
CA2596093A1 (en) * 2005-01-27 2006-08-03 Eatoni Ergonomics, Inc. Typability optimized ambiguous keyboards with reduced distortion
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US8374846B2 (en) * 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8117540B2 (en) * 2005-05-18 2012-02-14 Neuer Wall Treuhand Gmbh Method and device incorporating improved text input mechanism
US9606634B2 (en) * 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
US8072427B2 (en) 2006-05-31 2011-12-06 Research In Motion Limited Pivoting, multi-configuration mobile device
US7953448B2 (en) * 2006-05-31 2011-05-31 Research In Motion Limited Keyboard for mobile device
US7779011B2 (en) * 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
KR100714725B1 (ko) * 2005-08-29 2007-05-07 삼성전자주식회사 입력 정보의 노출을 방지하기 위한 입력 장치 및 입력 방법
US7644209B2 (en) 2005-08-31 2010-01-05 Research In Motion Limited Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7694231B2 (en) * 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
WO2007055448A1 (en) * 2005-11-09 2007-05-18 Kun-Ho Choi Text input method
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
US8049715B2 (en) * 2005-11-30 2011-11-01 Motorola Mobility, Inc. Method and system for accessing data stored in an electronic device
US7574449B2 (en) * 2005-12-02 2009-08-11 Microsoft Corporation Content matching
US20070136688A1 (en) * 2005-12-08 2007-06-14 Mirkin Eugene A Method for predictive text input in devices with reduced keypads
US8370125B2 (en) * 2006-01-13 2013-02-05 Research In Motion Limited Handheld electronic device and method for disambiguation of text input providing artificial variants comprised of characters in a core alphabet
US20080126079A1 (en) * 2006-01-20 2008-05-29 Research In Motion Limited Handheld electronic device with automatic text generation
US8108796B2 (en) * 2006-02-10 2012-01-31 Motorola Mobility, Inc. Method and system for operating a device
US7739280B2 (en) 2006-03-06 2010-06-15 Veveo, Inc. Methods and systems for selecting and presenting content based on user preference information extracted from an aggregate preference signature
KR100738902B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
KR100738901B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
WO2007118038A2 (en) * 2006-03-30 2007-10-18 Veveo, Inc. Method for searching content and presenting advertisements
US7777717B2 (en) * 2006-04-05 2010-08-17 Research In Motion Limited Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation
EP1843254A1 (en) * 2006-04-05 2007-10-10 Research In Motion Limited Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation
US7797629B2 (en) * 2006-04-05 2010-09-14 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
EP1843253A1 (en) * 2006-04-05 2007-10-10 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
EP2911071A1 (en) 2006-04-20 2015-08-26 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7925986B2 (en) 2006-10-06 2011-04-12 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
WO2008055360A1 (en) 2006-11-10 2008-05-15 Research In Motion Limited Multi-language, multiple-axis disambiguation handheld device
WO2008055359A1 (en) * 2006-11-10 2008-05-15 Research In Motion Limited Handheld electronic device having multiple-axis input device and selectable input mode indicator, and associated method
GB2456371B (en) * 2006-11-10 2011-11-23 Research In Motion Ltd Handheld electronic device having multiple-axis input device and selectable language indicator for language selection and associated method
US8069028B2 (en) 2006-11-10 2011-11-29 Research In Motion Limited Handheld electronic device having selectable language indicator for language selection and method therefor
US9329753B2 (en) * 2006-11-10 2016-05-03 Blackberry Limited Handheld electronic device having selectable language indicator and menus for language selection and method therefor
US8069029B2 (en) 2006-11-10 2011-11-29 Research In Motion Limited Handheld electronic device having multiple-axis input device and selectable language indicator for language selection, and associated method
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
KR100772453B1 (ko) * 2006-11-17 2007-11-01 삼성전자주식회사 휴대용 단말기에서 문자 입력 방법 및 장치
US7957955B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Method and system for providing word recommendations for text input
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8103499B2 (en) * 2007-03-22 2012-01-24 Tegic Communications, Inc. Disambiguation of telephone style key presses to yield Chinese text using segmentation and selective shifting
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8299943B2 (en) 2007-05-22 2012-10-30 Tegic Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US8296294B2 (en) * 2007-05-25 2012-10-23 Veveo, Inc. Method and system for unified searching across and within multiple documents
US8549424B2 (en) * 2007-05-25 2013-10-01 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US20080313574A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for search with reduced physical interaction requirements
US7936337B2 (en) 2007-07-24 2011-05-03 Research In Motion Limited Handheld electronic device and associated method enabling the output of non-alphabetic characters in a disambiguation environment
EP2157497A1 (en) 2007-07-24 2010-02-24 Research in Motion Limited Handheld electronic device and associated method enabling the output of non-alphabetic characters in a disambiguation environment
KR101132851B1 (ko) * 2007-08-10 2012-04-03 교세라 가부시키가이샤 휴대 단말
JP4787803B2 (ja) * 2007-08-31 2011-10-05 株式会社リコー 情報処理装置と情報処理方法とプログラム
US9043700B2 (en) 2007-08-31 2015-05-26 Blackberry Limited Handheld electronic device and associated method providing disambiguation of an ambiguous input and selectively providing prediction of future characters
US8035618B2 (en) * 2007-08-31 2011-10-11 Research In Motion Limited Handheld electronic device and associated method providing disambiguation of an ambiguous object during editing and selectively providing prediction of future characters
US8943539B2 (en) 2007-11-21 2015-01-27 Rovi Guides, Inc. Enabling a friend to remotely modify user data
US20090164951A1 (en) * 2007-12-19 2009-06-25 Nvidia Corporation Input architecture for devices with small input areas and executing multiple applications
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
JP4503069B2 (ja) * 2007-12-27 2010-07-14 シャープ株式会社 文字入力装置、システム、及び文字入力制御方法
US8265689B2 (en) * 2007-12-28 2012-09-11 Google Inc. Multi-tapping numpad
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US20090179859A1 (en) * 2008-01-14 2009-07-16 Shaul Wisebourt Handheld Electronic Device Comprising A Keypad Having Multiple Character Sets Assigned Thereto, With The Character Sets Being Individually Illuminable
US20090213079A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Multi-Purpose Input Using Remote Control
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
EP2133772B1 (en) * 2008-06-11 2011-03-09 ExB Asset Management GmbH Device and method incorporating an improved text input mechanism
US8463182B2 (en) * 2009-12-24 2013-06-11 Sony Computer Entertainment Inc. Wireless device pairing and grouping methods
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
USD598923S1 (en) * 2008-10-09 2009-08-25 Industrial Technology Research Institute Graphic user interface for a display panel
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
DE102009010277A1 (de) 2009-02-24 2010-09-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Eingabevorrichtung und Verfahren zum Bereitstellen eines einer Sensorfeldbelegung zugeordneten Ausgangssignals
US8704761B2 (en) 2009-03-19 2014-04-22 Google Inc. Input method editor
CN102439540B (zh) * 2009-03-19 2015-04-08 谷歌股份有限公司 输入法编辑器
GB201016385D0 (en) 2010-09-29 2010-11-10 Touchtype Ltd System and method for inputting text into electronic devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
GB201108200D0 (en) 2011-05-16 2011-06-29 Touchtype Ltd User input prediction
GB0917753D0 (en) 2009-10-09 2009-11-25 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
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
KR101542136B1 (ko) * 2009-03-31 2015-08-05 삼성전자 주식회사 문자 메시지 작성 방법 및 이를 이용한 휴대 단말기
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
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
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
US8179370B1 (en) 2010-02-09 2012-05-15 Google Inc. Proximity based keystroke resolution
US8830182B1 (en) 2010-02-09 2014-09-09 Google Inc. Keystroke resolution
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
GB201003628D0 (en) 2010-03-04 2010-04-21 Touchtype Ltd System and method for inputting text into electronic devices
US20110302518A1 (en) * 2010-06-07 2011-12-08 Google Inc. Selecting alternate keyboard characters via motion input
US8487877B2 (en) 2010-06-10 2013-07-16 Michael William Murphy Character specification system and method that uses a limited number of selection keys
WO2011158064A1 (en) * 2010-06-16 2011-12-22 Nokia Corporation Mixed ambiguity text entry
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
DE102010042527A1 (de) * 2010-10-15 2012-04-19 Siemens Aktiengesellschaft Gerät mit einer Anzeige- und Bedieneinheit
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8911165B2 (en) 2011-01-24 2014-12-16 5 Examples, Inc. Overloaded typing apparatuses, and related devices, systems, and methods
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20130002556A1 (en) * 2011-07-01 2013-01-03 Jason Tyler Griffin System and method for seamless switching among different text entry systems on an ambiguous keyboard
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9208594B2 (en) 2012-07-27 2015-12-08 Semantic Compactions Systems, Inc. Apparatus, computer readable medium and method for effectively using visual indicators in navigating polysemous symbols across a plurality of linked electronic screen overlays
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
CN102902368A (zh) * 2012-10-12 2013-01-30 上海量明科技发展有限公司 一种输入法工具的实现方法及客户端
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
DE102013007964B4 (de) 2013-05-10 2022-08-18 Audi Ag Kraftfahrzeug-Eingabevorrichtung mit Zeichenerkennung
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
HK1220313A1 (zh) 2013-06-13 2017-04-28 苹果公司 用於由语音命令发起的紧急呼叫的系统和方法
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
KR102182672B1 (ko) * 2014-01-11 2020-11-24 (주)네온베리 다국어 통합 자음 패턴 검색 방법 및 그 장치
US20150205828A1 (en) * 2014-01-21 2015-07-23 Sap Ag Methods, systems, and apparatus for auto-complete suggestion lists
US20150234592A1 (en) * 2014-02-20 2015-08-20 Michael William Murphy Systems, methods and devices for input of characters with optional time-based button taps
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10204096B2 (en) 2014-05-30 2019-02-12 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US20160321237A1 (en) 2015-04-30 2016-11-03 Michael William Murphy Method of word identification that uses an array variable
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10929008B2 (en) * 2015-06-05 2021-02-23 Apple Inc. Touch-based interactive learning environment
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
CN105425977A (zh) * 2015-06-11 2016-03-23 周连惠 一种特殊符号输入法及输入法系统
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US9690774B1 (en) 2015-12-16 2017-06-27 International Business Machines Corporation Identifying vague questions in a question-answer system
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
GB201610984D0 (en) 2016-06-23 2016-08-10 Microsoft Technology Licensing Llc Suppression of input images
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
KR20180031291A (ko) * 2016-09-19 2018-03-28 삼성전자주식회사 다중 언어 번역 및 예측 장치 및 방법
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
WO2018074895A1 (en) 2016-10-21 2018-04-26 Samsung Electronics Co., Ltd. Device and method for providing recommended words for character input
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
CN117519478A (zh) 2017-05-19 2024-02-06 M·W·墨菲 交错字符选择界面
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN107463274A (zh) * 2017-07-31 2017-12-12 深圳市金立通信设备有限公司 一种输入文字的方法、终端及计算机可读介质
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11922007B2 (en) 2018-11-29 2024-03-05 Michael William Murphy Apparatus, method and system for inputting characters to an electronic device
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. User activity shortcut suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11295088B2 (en) 2019-11-20 2022-04-05 Apple Inc. Sanitizing word predictions
JP7596795B2 (ja) * 2021-01-07 2024-12-10 オムロン株式会社 文字入力装置、文字入力方法、および文字入力プログラム
CN112989046B (zh) * 2021-03-18 2023-07-21 中国平安人寿保险股份有限公司 实时话术预判方法、装置、计算机设备和存储介质
CN115544204A (zh) * 2022-07-29 2022-12-30 浙江工商大学 一种不良语料过滤方法以及系统

Family Cites Families (286)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3967273A (en) * 1974-03-29 1976-06-29 Bell Telephone Laboratories, Incorporated Method and apparatus for using pushbutton telephone keys for generation of alpha-numeric information
US4003025A (en) 1975-12-24 1977-01-11 International Business Machines Corporation Alphabetic character word upper/lower case print convention apparatus and method
US4165025A (en) * 1977-09-21 1979-08-21 The Continental Group, Inc. Propellantless aerosol with fluid pressure generating pump
US4164025A (en) 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
US4191854A (en) * 1978-01-06 1980-03-04 Coles George A Telephone-coupled visual alphanumeric communication device for deaf persons
JPS6239467Y2 (es) * 1978-11-20 1987-10-08
US4360892A (en) 1979-02-22 1982-11-23 Microwriter Limited Portable word-processor
US4679951A (en) 1979-11-06 1987-07-14 Cornell Research Foundation, Inc. Electronic keyboard system and method for reproducing selected symbolic language characters
US4464070A (en) 1979-12-26 1984-08-07 International Business Machines Corporation Multi-character display controller for text recorder
JPS56143044A (en) 1980-04-08 1981-11-07 Sony Corp Input device of english typewriter
WO1982000442A1 (en) 1980-08-01 1982-02-18 R Johnson Ideographic word selection system
US4442506A (en) * 1980-09-18 1984-04-10 Microwriter Limited Portable word-processor
JPS57109031A (en) 1980-12-26 1982-07-07 Sharp Corp Input equipment
US4427848B1 (en) * 1981-12-29 1994-03-29 Telephone Lottery Company Inc Telephonic alphanumeric data transmission system
JPS58175074A (ja) * 1982-04-07 1983-10-14 Toshiba Corp 構文分析方式
US5067103A (en) 1983-01-21 1991-11-19 The Laitram Corporation Hand held computers with alpha keystroke
USRE32773E (en) 1983-02-22 1988-10-25 Method of creating text using a computer
US4891786A (en) * 1983-02-22 1990-01-02 Goldwasser Eric P Stroke typing system
US4544276A (en) 1983-03-21 1985-10-01 Cornell Research Foundation, Inc. Method and apparatus for typing Japanese text using multiple systems
US5289394A (en) * 1983-05-11 1994-02-22 The Laitram Corporation Pocket computer for word processing
US4649563A (en) * 1984-04-02 1987-03-10 R L Associates Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
JPS619753A (ja) * 1984-06-26 1986-01-17 Hitachi Ltd 文書処理装置における頻発熟語の自動登録方法
US4791556A (en) 1984-08-29 1988-12-13 Vilkaitis John V Method for operating a computer which searches for operational symbols and executes functions corresponding to the operational symbols in response to user inputted signal
US4661916A (en) * 1984-10-15 1987-04-28 Baker Bruce R System for method for producing synthetic plural word messages
US4650927A (en) * 1984-11-29 1987-03-17 International Business Machines Corporation Processor-assisted communication system using tone-generating telephones
JPS61282965A (ja) * 1985-06-07 1986-12-13 Nec Corp 文字列分割方法
US4669901A (en) * 1985-09-03 1987-06-02 Feng I Ming Keyboard device for inputting oriental characters by touch
US4677659A (en) * 1985-09-03 1987-06-30 John Dargan Telephonic data access and transmission system
US4674112A (en) * 1985-09-06 1987-06-16 Board Of Regents, The University Of Texas System Character pattern recognition and communications apparatus
US4969097A (en) 1985-09-18 1990-11-06 Levin Leonid D Method of rapid entering of text into computer equipment
US4754474A (en) * 1985-10-21 1988-06-28 Feinson Roy W Interpretive tone telecommunication method and apparatus
US4807181A (en) * 1986-06-02 1989-02-21 Smith Corona Corporation Dictionary memory with visual scanning from a selectable starting point
US4817129A (en) * 1987-03-05 1989-03-28 Telac Corp. Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
US5041967A (en) 1987-10-13 1991-08-20 Bell Communications Research, Inc. Methods and apparatus for dynamic menu generation in a menu driven computer system
US4852173A (en) 1987-10-29 1989-07-25 International Business Machines Corporation Design and construction of a binary-tree system for language modelling
US4866759A (en) 1987-11-30 1989-09-12 Riskin Bernard N Packet network telecommunication system having access nodes with word guessing capability
US5031206A (en) * 1987-11-30 1991-07-09 Fon-Ex, Inc. Method and apparatus for identifying words entered on DTMF pushbuttons
JPH01167898A (ja) * 1987-12-04 1989-07-03 Internatl Business Mach Corp <Ibm> 音声認識装置
US4872196A (en) 1988-07-18 1989-10-03 Motorola, Inc. Telephone keypad input technique
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
JPH02117218A (ja) 1988-10-27 1990-05-01 Toshiba Corp 命令指示装置
JPH02150899A (ja) * 1988-12-02 1990-06-11 Toshiba Corp 音声認識方式
CA2006163A1 (en) 1988-12-21 1990-06-21 Alfred B. Freeman Keyboard express typing system
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5255310A (en) 1989-08-11 1993-10-19 Korea Telecommunication Authority Method of approximately matching an input character string with a key word and vocally outputting data
US5163084A (en) 1989-08-11 1992-11-10 Korea Telecommunication Authority Voice information service system and method utilizing approximately matched input character string and key word
CA1336418C (en) * 1989-08-29 1995-07-25 Edgar Matias One-handed keyboard
JPH03141460A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd 仮名漢字変換方式
US5267181A (en) * 1989-11-03 1993-11-30 Handykey Corporation Cybernetic interface for a computer that uses a hand held chord keyboard
US5339358A (en) 1990-03-28 1994-08-16 Danish International, Inc. Telephone keypad matrix
US5392338A (en) * 1990-03-28 1995-02-21 Danish International, Inc. Entry of alphabetical characters into a telephone system using a conventional telephone keypad
US5131045A (en) * 1990-05-10 1992-07-14 Roth Richard G Audio-augmented data keying
US5303299A (en) * 1990-05-15 1994-04-12 Vcs Industries, Inc. Method for continuous recognition of alphanumeric strings spoken over a telephone network
EP0464726A3 (en) 1990-06-29 1992-12-30 Wei Zhang High efficiency input processing apparatus for alphabetic writings
US5305205A (en) * 1990-10-23 1994-04-19 Weber Maria L Computer-assisted transcription apparatus
US5128672A (en) * 1990-10-30 1992-07-07 Apple Computer, Inc. Dynamic predictive keyboard
US5210689A (en) 1990-12-28 1993-05-11 Semantic Compaction Systems System and method for automatically selecting among a plurality of input modes
US5229936A (en) * 1991-01-04 1993-07-20 Franklin Electronic Publishers, Incorporated Device and method for the storage and retrieval of inflection information for electronic reference products
US5200988A (en) * 1991-03-11 1993-04-06 Fon-Ex, Inc. Method and means for telecommunications by deaf persons utilizing a small hand held communications device
US5258748A (en) 1991-08-28 1993-11-02 Hewlett-Packard Company Accessing and selecting multiple key functions with minimum keystrokes
US5528235A (en) 1991-09-03 1996-06-18 Edward D. Lin Multi-status multi-function data processing key and key array
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
JP2640793B2 (ja) * 1992-01-17 1997-08-13 松下電器産業株式会社 共起辞書構築装置及びこの共起辞書を用いた文解析装置
JPH05265682A (ja) 1992-03-19 1993-10-15 Fujitsu Ltd メニュー階層変更方式
US5535421A (en) * 1993-03-16 1996-07-09 Weinreich; Michael Chord keyboard system using one chord to select a group from among several groups and another chord to select a character from the selected group
JPH0756957A (ja) * 1993-08-03 1995-03-03 Xerox Corp ユーザへの情報提供方法
US5586198A (en) * 1993-08-24 1996-12-17 Lakritz; David Method and apparatus for identifying characters in ideographic alphabet
US5388061A (en) * 1993-09-08 1995-02-07 Hankes; Elmer J. Portable computer for one-handed operation
GB2283598A (en) 1993-11-03 1995-05-10 Ibm Data entry workstation
CA2137981C (en) 1993-12-22 2001-04-17 Steven A. Shaiman Method and system for presenting alternatives for selection using adaptive learning
JP3523343B2 (ja) * 1993-12-27 2004-04-26 ミサワホーム株式会社 キー入力装置およびキー入力方法
US6008799A (en) * 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
US5847697A (en) 1995-01-31 1998-12-08 Fujitsu Limited Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic
US5805911A (en) 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
DK0813769T3 (da) 1995-03-08 2001-09-24 Ericsson Telefon Ab L M Fremgangsmåde til selektering af karakterer fra en tasteblok samt et telefonsæt, der fungerer i henhold til denne fremgangsmåde
JP3422886B2 (ja) 1995-03-13 2003-06-30 株式会社東芝 携帯無線電話機における文字入力装置及び携帯無線電話機における文字入力方法
US5786776A (en) 1995-03-13 1998-07-28 Kabushiki Kaisha Toshiba Character input terminal device and recording apparatus
US5559512A (en) 1995-03-20 1996-09-24 Venturedyne, Ltd. Method and apparatus for entering alpha-numeric data
US5623261A (en) * 1995-04-17 1997-04-22 International Business Machines Corporation Method and system for translating keyed input within a data processing system
US6392640B1 (en) * 1995-04-18 2002-05-21 Cognitive Research & Design Corp. Entry of words with thumbwheel by disambiguation
US6734881B1 (en) * 1995-04-18 2004-05-11 Craig Alexander Will Efficient entry of words by disambiguation
US5825353A (en) * 1995-04-18 1998-10-20 Will; Craig Alexander Control of miniature personal digital assistant using menu and thumbwheel
SE516771C2 (sv) * 1995-05-30 2002-02-26 Minec Systems Ab Alfanumeriskt tangentbord
US5680511A (en) * 1995-06-07 1997-10-21 Dragon Systems, Inc. Systems and methods for word recognition
US5918240A (en) 1995-06-28 1999-06-29 Xerox Corporation Automatic method of extracting summarization using feature probabilities
US5828991A (en) * 1995-06-30 1998-10-27 The Research Foundation Of The State University Of New York Sentence reconstruction using word ambiguity resolution
US5797098A (en) * 1995-07-19 1998-08-18 Pacific Communication Sciences, Inc. User interface for cellular telephone
ES2146408T3 (es) * 1995-07-26 2000-08-01 Tegic Communications Inc Sistema para la resolucion de ambiguedades de un teclado reducido.
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
US5917941A (en) * 1995-08-08 1999-06-29 Apple Computer, Inc. Character segmentation technique with integrated word search for handwriting recognition
US5855000A (en) 1995-09-08 1998-12-29 Carnegie Mellon University Method and apparatus for correcting and repairing machine-transcribed input using independent or cross-modal secondary input
EP0795170B1 (en) * 1995-09-29 2003-01-15 AT&T Corp. Telephone network service for converting speech to touch-tones
JPH09114817A (ja) 1995-10-13 1997-05-02 Matsushita Electric Ind Co Ltd 文字入力装置
JPH09134243A (ja) * 1995-11-10 1997-05-20 Hitachi Ltd バックライト付携帯端末装置
US5794189A (en) 1995-11-13 1998-08-11 Dragon Systems, Inc. Continuous speech recognition
US5917890A (en) * 1995-12-29 1999-06-29 At&T Corp Disambiguation of alphabetic characters in an automated call processing environment
US6073101A (en) * 1996-02-02 2000-06-06 International Business Machines Corporation Text independent speaker recognition for transparent command ambiguity resolution and continuous access control
JP3724036B2 (ja) 1996-02-06 2005-12-07 富士通株式会社 情報入力装置
JP3113814B2 (ja) * 1996-04-17 2000-12-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報検索方法及び情報検索装置
TW490643B (en) * 1996-05-21 2002-06-11 Hitachi Ltd Estimated recognition device for input character string
US6453281B1 (en) * 1996-07-30 2002-09-17 Vxi Corporation Portable audio database device with icon-based graphical user-interface
US5664896A (en) 1996-08-29 1997-09-09 Blumberg; Marvin R. Speed typing apparatus and method
US5950160A (en) * 1996-10-31 1999-09-07 Microsoft Corporation Method and system for displaying a variable number of alternative words during speech recognition
US5926566A (en) * 1996-11-15 1999-07-20 Synaptics, Inc. Incremental ideographic character input method
US5952942A (en) 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
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
US6009444A (en) 1997-02-24 1999-12-28 Motorola, Inc. Text input device and method
US6005495A (en) 1997-02-27 1999-12-21 Ameritech Corporation Method and system for intelligent text entry on a numeric keypad
CN1227914C (zh) * 1997-03-19 2005-11-16 西门子公司 具有用于文字和/或数字和/或特殊字符输入工具的设备
US5937422A (en) * 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6054941A (en) * 1997-05-27 2000-04-25 Motorola, Inc. Apparatus and method for inputting ideographic characters
DE69817844T2 (de) 1997-06-27 2004-05-06 M.H. Segan Ltd. Partnership, Great Barrington Verfahren und vorrichtung zur spracherkennungscomputereingabe
US5936556A (en) 1997-07-14 1999-08-10 Sakita; Masami Keyboard for inputting to computer means
US6246761B1 (en) 1997-07-24 2001-06-12 Nortel Networks Limited Automatic volume control for a telephone ringer
US6044347A (en) * 1997-08-05 2000-03-28 Lucent Technologies Inc. Methods and apparatus object-oriented rule-based dialogue management
US5999950A (en) * 1997-08-11 1999-12-07 Webtv Networks, Inc. Japanese text input method using a keyboard with only base kana characters
US6098086A (en) 1997-08-11 2000-08-01 Webtv Networks, Inc. Japanese text input method using a limited roman character set
US6120297A (en) 1997-08-25 2000-09-19 Lyceum Communication, Inc. Vocabulary acquistion using structured inductive reasoning
US6738952B1 (en) * 1997-09-02 2004-05-18 Denso Corporation Navigational map data object selection and display system
ATE221222T1 (de) * 1997-09-25 2002-08-15 Tegic Communications Inc System zur unterdrückung der vieldeutigkeit in einer verringerten tastatur
CA2219008C (en) * 1997-10-21 2002-11-19 Bell Canada A method and apparatus for improving the utility of speech recognition
US6005498A (en) 1997-10-29 1999-12-21 Motorola, Inc. Reduced keypad entry apparatus and method
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
TW476033B (en) 1997-11-19 2002-02-11 Inventec Corp System and method for increasing word recognition rate
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
JP3532780B2 (ja) * 1998-01-22 2004-05-31 テジック・コミュニケーションズ・インコーポレーテッド 音声仮名文字の入力順序を生成するための入力システム
US7257528B1 (en) 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6104317A (en) * 1998-02-27 2000-08-15 Motorola, Inc. Data entry device and method
US6574597B1 (en) * 1998-05-08 2003-06-03 At&T Corp. Fully expanded context-dependent networks for speech recognition
JP3191284B2 (ja) * 1998-06-23 2001-07-23 日本電気株式会社 文字入力装置
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
US6169538B1 (en) * 1998-08-13 2001-01-02 Motorola, Inc. Method and apparatus for implementing a graphical user interface keyboard and a text buffer on electronic devices
SE514377C2 (sv) 1998-08-26 2001-02-19 Gunnar Sparr Teckenigenkänning
US6178401B1 (en) * 1998-08-28 2001-01-23 International Business Machines Corporation Method for reducing search complexity in a speech recognition system
US6684185B1 (en) * 1998-09-04 2004-01-27 Matsushita Electric Industrial Co., Ltd. Small footprint language and vocabulary independent word recognizer using registration by word spelling
US7712053B2 (en) * 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US6646573B1 (en) 1998-12-04 2003-11-11 America Online, Inc. Reduced keyboard text input system for the Japanese language
US7679534B2 (en) * 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US6636162B1 (en) * 1998-12-04 2003-10-21 America Online, Incorporated Reduced keyboard text input system for the Japanese language
CA2353862C (en) * 1998-12-10 2007-11-13 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US6885317B1 (en) * 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US6219731B1 (en) * 1998-12-10 2001-04-17 Eaton: Ergonomics, Inc. Method and apparatus for improved multi-tap text input
US6466232B1 (en) 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
US6362752B1 (en) * 1998-12-23 2002-03-26 Motorola, Inc. Keypad with strokes assigned to key for ideographic text input
US6801659B1 (en) 1999-01-04 2004-10-05 Zi Technology Corporation Ltd. Text input system for ideographic and nonideographic languages
GB2347247A (en) 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
GB2347240A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal having a predictive editor application
GB2347239B (en) 1999-02-22 2003-09-24 Nokia Mobile Phones Ltd A communication terminal having a predictive editor application
US6567075B1 (en) * 1999-03-19 2003-05-20 Avaya Technology Corp. Feature access control in a display-based terminal environment
US6204848B1 (en) * 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
AU5299700A (en) 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
US6172625B1 (en) * 1999-07-06 2001-01-09 Motorola, Inc. Disambiguation method and apparatus, and dictionary data compression techniques
US20010003184A1 (en) * 1999-07-16 2001-06-07 Ching Jamison K. Methods and articles of manufacture for interfacing, advertising and navigating with internet television
US6421672B1 (en) * 1999-07-27 2002-07-16 Verizon Services Corp. Apparatus for and method of disambiguation of directory listing searches utilizing multiple selectable secondary search keys
US6789231B1 (en) 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US6424743B1 (en) * 1999-11-05 2002-07-23 Motorola, Inc. Graphical handwriting recognition user interface
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
JP2001224075A (ja) 2000-02-10 2001-08-17 Nec Shizuoka Ltd 携帯型移動通信端末のマナーモード設定システム及び方法
US6621424B1 (en) * 2000-02-18 2003-09-16 Mitsubishi Electric Research Laboratories Inc. Method for predicting keystroke characters on single pointer keyboards and apparatus therefore
JP3508840B2 (ja) 2000-03-07 2004-03-22 日本電気株式会社 携帯電話機
US20020054135A1 (en) * 2000-03-17 2002-05-09 Masahiro Noguchi Information processing device, information processsing method, and computer-readable storage medium storing program for executing this method on a computer
US6304844B1 (en) 2000-03-30 2001-10-16 Verbaltek, Inc. Spelling speech recognition apparatus and method for communications
US7076255B2 (en) 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US7107204B1 (en) * 2000-04-24 2006-09-12 Microsoft Corporation Computer-aided writing system and method with cross-language writing wizard
JP2001325252A (ja) * 2000-05-12 2001-11-22 Sony Corp 携帯端末及びその情報入力方法、辞書検索装置及び方法、媒体
US6985933B1 (en) * 2000-05-30 2006-01-10 International Business Machines Corporation Method and system for increasing ease-of-use and bandwidth utilization in wireless devices
JP4346217B2 (ja) * 2000-06-28 2009-10-21 株式会社東芝 携帯端末
JP2002014856A (ja) * 2000-06-29 2002-01-18 Makoto Oshima データファイル検索・管理システム
JP4105841B2 (ja) 2000-07-11 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識方法、音声認識装置、コンピュータ・システムおよび記憶媒体
US6856651B2 (en) * 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
TW472232B (en) 2000-08-11 2002-01-11 Ind Tech Res Inst Probability-base fault-tolerance natural language understanding method
US6686852B1 (en) * 2000-09-15 2004-02-03 Motorola, Inc. Keypad layout for alphabetic character input
JP2002141996A (ja) * 2000-11-02 2002-05-17 Omron Corp 携帯電話機
US6728348B2 (en) * 2000-11-30 2004-04-27 Comverse, Inc. System for storing voice recognizable identifiers using a limited input device such as a telephone key pad
US20020072395A1 (en) 2000-12-08 2002-06-13 Ivan Miramontes Telephone with fold out keyboard
SE521911C2 (sv) * 2001-01-15 2003-12-16 Decuma Ab Ideon Res Park Metod, anordning och datorprogram för igenkänning av ett handskrivet tecken
US7439957B2 (en) * 2001-01-25 2008-10-21 International Business Machines Corporation Compact universal keyboard
US7027976B1 (en) * 2001-01-29 2006-04-11 Adobe Systems Incorporated Document based character ambiguity resolution
US6868280B2 (en) 2001-03-02 2005-03-15 Nokia Corporation Method and apparatus for entering information in a mobile device with special characters
SE519014C2 (sv) 2001-03-07 2002-12-23 Decuma Ab Ideon Res Park Metod och anordning för igenkänning av ett handskrivet mönster
US7013258B1 (en) 2001-03-07 2006-03-14 Lenovo (Singapore) Pte. Ltd. System and method for accelerating Chinese text input
US20020126097A1 (en) 2001-03-07 2002-09-12 Savolainen Sampo Jussi Pellervo Alphanumeric data entry method and apparatus using reduced keyboard and context related dictionaries
US6502118B1 (en) 2001-03-22 2002-12-31 Motorola, Inc. Fast system and method for producing a logarithmic signal approximation with variable precision
US6982658B2 (en) * 2001-03-22 2006-01-03 Motorola, Inc. Keypad layout for alphabetic symbol input
US7117144B2 (en) * 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US7103534B2 (en) * 2001-03-31 2006-09-05 Microsoft Corporation Machine learning contextual approach to word determination for text input via reduced keypad keys
US7385591B2 (en) * 2001-03-31 2008-06-10 Microsoft Corporation Out-of-vocabulary word determination and user interface for text input via reduced keypad keys
US20020152075A1 (en) 2001-04-16 2002-10-17 Shao-Tsu Kung Composite input method
JP4084582B2 (ja) * 2001-04-27 2008-04-30 俊司 加藤 タッチ式キー入力装置
GB0111012D0 (en) * 2001-05-04 2001-06-27 Nokia Corp A communication terminal having a predictive text editor application
EP1256875A1 (en) 2001-05-10 2002-11-13 Nokia Corporation Method and device for context dependent user input prediction
JP2002351862A (ja) 2001-05-28 2002-12-06 Sony Corp 携帯情報端末、通信端末、およびコンピュータプログラム
US20030023426A1 (en) 2001-06-22 2003-01-30 Zi Technology Corporation Ltd. Japanese language entry mechanism for small keypads
EA009109B1 (ru) 2001-07-12 2007-10-26 Бенджамин Фируз Гассабиан Устройство и система для усовершенствованного ввода данных в миниатюрное устройство ввода данных
US20030036411A1 (en) * 2001-08-03 2003-02-20 Christian Kraft Method of entering characters into a text string and a text-editing terminal using the method
US6947771B2 (en) 2001-08-06 2005-09-20 Motorola, Inc. User interface for a portable electronic device
US6757544B2 (en) * 2001-08-15 2004-06-29 Motorola, Inc. System and method for determining a location relevant to a communication device and/or its associated user
US20030054830A1 (en) 2001-09-04 2003-03-20 Zi Corporation Navigation system for mobile communication devices
WO2004023455A2 (en) * 2002-09-06 2004-03-18 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
JP2003108472A (ja) * 2001-09-28 2003-04-11 Canon Inc 通信装置、その制御方法、情報機器、その制御方法、通信システム、及び制御プログラム
JP2003116179A (ja) 2001-10-02 2003-04-18 Yoshiaki Masuno 携帯端末情報交信システム
US7152213B2 (en) 2001-10-04 2006-12-19 Infogation Corporation System and method for dynamic key assignment in enhanced user interface
US7006820B1 (en) * 2001-10-05 2006-02-28 At Road, Inc. Method for determining preferred conditions for wireless programming of mobile devices
US20030088398A1 (en) 2001-11-08 2003-05-08 Jin Guo User interface of a keypad entry system for korean text input
US6765556B2 (en) * 2001-11-16 2004-07-20 International Business Machines Corporation Two-key input per character text entry apparatus and method
US6744423B2 (en) * 2001-11-19 2004-06-01 Nokia Corporation Communication terminal having a predictive character editor application
US7149550B2 (en) 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature
US20030101060A1 (en) 2001-11-29 2003-05-29 Bickley Corine A. Use of historical data for a voice application interface
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US6934564B2 (en) * 2001-12-20 2005-08-23 Nokia Corporation Method and apparatus for providing Hindi input to a device using a numeric keypad
GB2383459B (en) 2001-12-20 2005-05-18 Hewlett Packard Co Speech recognition system and method
US20030119561A1 (en) * 2001-12-21 2003-06-26 Richard Hatch Electronic device
JP2003196273A (ja) * 2001-12-27 2003-07-11 Mitsubishi Electric Corp 文字列入力装置および文字列入力方法
DE10201195B4 (de) 2002-01-14 2006-10-12 Völckers, Oliver Verfahren zur Texteingabe durch Auswahl von Buchstaben mittels eines Cursors und Einrichtung zur Durchführung des Verfahrens
US7111248B2 (en) 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US7949513B2 (en) 2002-01-22 2011-05-24 Zi Corporation Of Canada, Inc. Language module and method for use with text processing devices
US6912581B2 (en) * 2002-02-27 2005-06-28 Motorola, Inc. System and method for concurrent multimodal communication session persistence
US6807529B2 (en) 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication
US6864809B2 (en) * 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
EP1347361A1 (en) 2002-03-22 2003-09-24 Sony Ericsson Mobile Communications AB Entering text into an electronic communications device
ATE295567T1 (de) 2002-03-22 2005-05-15 Sony Ericsson Mobile Comm Ab Texteingabe in ein elektronisches kommunikationsgerät
US7272564B2 (en) 2002-03-22 2007-09-18 Motorola, Inc. Method and apparatus for multimodal communication with user control of delivery modality
SG125895A1 (en) 2002-04-04 2006-10-30 Xrgomics Pte Ltd Reduced keyboard system that emulates qwerty-type mapping and typing
US7174288B2 (en) 2002-05-08 2007-02-06 Microsoft Corporation Multi-modal entry of ideogrammatic languages
TW559783B (en) 2002-05-31 2003-11-01 Ind Tech Res Inst Error-tolerant natural language understanding system and method integrating with confidence measure
US7020849B1 (en) * 2002-05-31 2006-03-28 Openwave Systems Inc. Dynamic display for communication devices
MXPA04012550A (es) * 2002-07-01 2005-04-19 Sony Ericsson Mobile Comm Ab Dar entrada a texto hacia un dispositivo de comunicaciones electronico.
CA2410057C (en) * 2002-07-03 2008-04-29 2012244 Ontario Inc. Apparatus and method for input of ideographic korean syllables from reduced keyboard
US7386454B2 (en) 2002-07-31 2008-06-10 International Business Machines Corporation Natural error handling in speech recognition
US20040052355A1 (en) * 2002-09-12 2004-03-18 International Business Machines Corporation Apparatus, system and method of auto-completing telephone numbers that are being manually dialed
FI20021759A0 (fi) * 2002-10-03 2002-10-03 Nokia Corp Menetelmä ja käyttöliittymä tekstin syöttämiseen
US6990333B2 (en) 2002-11-27 2006-01-24 Microsoft Corporation System and method for timed profile changes on a mobile device
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
US7095403B2 (en) 2002-12-09 2006-08-22 Motorola, Inc. User interface of a keypad entry system for character input
US20040163032A1 (en) 2002-12-17 2004-08-19 Jin Guo Ambiguity resolution for predictive text entry
US6993482B2 (en) 2002-12-18 2006-01-31 Motorola, Inc. Method and apparatus for displaying speech recognition results
US6927763B2 (en) * 2002-12-30 2005-08-09 Motorola, Inc. Method and system for providing a disambiguated keypad
US20040127197A1 (en) * 2002-12-30 2004-07-01 Roskind James A. Automatically changing a mobile device configuration
US20040127198A1 (en) * 2002-12-30 2004-07-01 Roskind James A. Automatically changing a mobile device configuration based on environmental condition
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7626574B2 (en) * 2003-01-22 2009-12-01 Kim Min-Kyum Apparatus and method for inputting alphabet characters
US20040153963A1 (en) 2003-02-05 2004-08-05 Simpson Todd G. Information entry mechanism for small keypads
US20040153975A1 (en) 2003-02-05 2004-08-05 Williams Roland E. Text entry mechanism for small keypads
US7256769B2 (en) 2003-02-24 2007-08-14 Zi Corporation Of Canada, Inc. System and method for text entry on a reduced keyboard
US7386279B2 (en) 2003-04-02 2008-06-10 Sun Microsystems, Inc. Context based main screen for mobile device
US6955602B2 (en) 2003-05-15 2005-10-18 Zi Technology Corporation Ltd Text entry within a video game
GB0313385D0 (en) 2003-06-10 2003-07-16 Symbian Ltd Automatic behaviour modifications in symbian OS
JP5087273B2 (ja) * 2003-06-18 2012-12-05 ザイ コーポレイション オブ カナダ インコーポレイテッド 設定可能な情報特定システム及び方法
EP1634153A2 (en) 2003-06-18 2006-03-15 ZI Corporation Text entry system and method
US7057607B2 (en) * 2003-06-30 2006-06-06 Motorola, Inc. Application-independent text entry for touch-sensitive display
US7395203B2 (en) 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
KR100680191B1 (ko) 2003-09-05 2007-02-08 삼성전자주식회사 감정 있는 에이전트를 갖는 사전 행동적 사용자 인터페이스 시스템
US7389235B2 (en) * 2003-09-30 2008-06-17 Motorola, Inc. Method and system for unified speech and graphic user interfaces
US7831679B2 (en) * 2003-10-15 2010-11-09 Microsoft Corporation Guiding sensing and preferences for context-sensitive services
US6973332B2 (en) 2003-10-24 2005-12-06 Motorola, Inc. Apparatus and method for forming compound words
US8136050B2 (en) * 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US7224292B2 (en) * 2004-04-29 2007-05-29 Research In Motion Limited Reduced keyboard letter selection system and method
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
CA2577075C (en) * 2004-08-13 2014-10-07 5 Examples, Inc. The one-row keyboard and approximate typing
WO2006026908A1 (fr) 2004-08-25 2006-03-16 Dong Li Procede permettant d'introduire dans un terminal portatif des caracteres chinois a l'aide de lettres phonetiques continues
US7890492B2 (en) 2004-11-15 2011-02-15 Zi Corporation Of Canada, Inc. Organizing pointers to objects in an array to improve the speed of object retrieval
US20060129928A1 (en) * 2004-12-02 2006-06-15 Weigen Qiu Use of pointing device to identify ideographic characters
RU2007125666A (ru) 2004-12-07 2009-01-20 Зи Корпорейшн Оф Канада, Инк. (Ca) Пользовательский интерфейс с расширенными характеристиками поиска
US20060155536A1 (en) * 2004-12-20 2006-07-13 Williams Roland E Method and device for displaying a telephone number
US7466859B2 (en) 2004-12-30 2008-12-16 Motorola, Inc. Candidate list enhancement for predictive text input in electronic devices
US9165280B2 (en) 2005-02-22 2015-10-20 International Business Machines Corporation Predictive user modeling in user interface design
RU2007135945A (ru) 2005-02-28 2009-04-10 Зи Декума Аб (Se) Граф распознавания
KR101145986B1 (ko) 2005-02-28 2012-05-21 지 데쿠마 아베 세그먼트화-기반 인식
US8036878B2 (en) * 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
WO2007056863A1 (en) 2005-11-21 2007-05-24 Zi Corporation Of Canada, Inc. Information delivery system and method for mobile appliances
KR100689821B1 (ko) * 2006-03-15 2007-03-08 삼성전자주식회사 휴대용 단말기의 문자 입력 장치 및 방법
US8018439B2 (en) 2006-03-22 2011-09-13 Zi Corporation Of Canada, Inc. Mobile appliance system and method enabling efficient entry
US8166418B2 (en) 2006-05-26 2012-04-24 Zi Corporation Of Canada, Inc. Device and method of conveying meaning
US7925986B2 (en) 2006-10-06 2011-04-12 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
EP2097853A4 (en) * 2006-12-01 2011-06-29 Zi Decuma Ab METHOD FOR RECOGNIZING CHARACTERS
US8103499B2 (en) * 2007-03-22 2012-01-24 Tegic Communications, Inc. Disambiguation of telephone style key presses to yield Chinese text using segmentation and selective shifting
KR101058139B1 (ko) * 2009-07-23 2011-08-25 윤기섭 이동통신단말기의 영문자 입력장치 및 그 방법

Also Published As

Publication number Publication date
US8990738B2 (en) 2015-03-24
US20140292663A1 (en) 2014-10-02
JP5501625B2 (ja) 2014-05-28
WO2004001979A1 (en) 2003-12-31
CA2485221A1 (en) 2003-12-31
US8972905B2 (en) 2015-03-03
US20020196163A1 (en) 2002-12-26
EP1514357A4 (en) 2006-08-23
US8782568B2 (en) 2014-07-15
US20140292664A1 (en) 2014-10-02
US20130194191A1 (en) 2013-08-01
US20100174529A1 (en) 2010-07-08
CN1618173A (zh) 2005-05-18
EP1514357A1 (en) 2005-03-16
CN1618173B (zh) 2016-08-17
JP2005530272A (ja) 2005-10-06
JP2009116900A (ja) 2009-05-28
KR20050013222A (ko) 2005-02-03
KR100693697B1 (ko) 2007-03-09
AU2002316353A1 (en) 2004-01-06
US8381137B2 (en) 2013-02-19
US20150161245A1 (en) 2015-06-11
EP1514357B1 (en) 2012-08-22
US7712053B2 (en) 2010-05-04

Similar Documents

Publication Publication Date Title
EP1514357B1 (en) Explicit character filtering of ambiguous text entry
US6646573B1 (en) Reduced keyboard text input system for the Japanese language
US6636162B1 (en) Reduced keyboard text input system for the Japanese language
JP4037608B2 (ja) 減少されたキーボード明瞭化システム
US6307549B1 (en) Reduced keyboard disambiguating system
US7395203B2 (en) System and method for disambiguating phonetic input
CN100334529C (zh) 去多义性的简化键盘系统
JP2005202917A (ja) 表音入力の曖昧さを除くためのシステムおよび方法
WO1997005541A9 (en) Reduced keyboard disambiguating system
CA2399961C (en) Reduced keyboard disambiguating system
JP3532780B2 (ja) 音声仮名文字の入力順序を生成するための入力システム
EP1248183B1 (en) Reduced keyboard disambiguating system
JP3492981B2 (ja) 音声仮名文字の入力順序を生成するための入力システム
AU747901B2 (en) Reduced keyboard disambiguating system
MXPA00002641A (es) Sistema de teclado reducido con eliminacion de ambiguedades
HK1053876A (en) Reduced keyboard disambiguating system
HK1032458B (en) Reduced keyboard disambiguating system
HK1010924B (en) Reduced keyboard disambiguating system
HK1026757A1 (zh) 去多義性的簡化鍵盤系統

Legal Events

Date Code Title Description
FG Grant or registration