MXPA06003062A - Prediccion contextual de palabras de usuario y acciones de usuario. - Google Patents

Prediccion contextual de palabras de usuario y acciones de usuario.

Info

Publication number
MXPA06003062A
MXPA06003062A MXPA06003062A MXPA06003062A MXPA06003062A MX PA06003062 A MXPA06003062 A MX PA06003062A MX PA06003062 A MXPA06003062 A MX PA06003062A MX PA06003062 A MXPA06003062 A MX PA06003062A MX PA06003062 A MXPA06003062 A MX PA06003062A
Authority
MX
Mexico
Prior art keywords
user
word
further characterized
context
words
Prior art date
Application number
MXPA06003062A
Other languages
English (en)
Inventor
Peter C Peddie
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 MXPA06003062A publication Critical patent/MXPA06003062A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • 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
    • 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/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

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)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Telephone Function (AREA)
  • Machine Translation (AREA)

Abstract

La invencion se refiere a la introduccion de informacion por parte de un usuario en un sistema con un dispositivo de introduccion; se provee un esquema en donde una palabra completa que un usuario desea introducir, es predicha despues de que el usuario introduce un simbolo especifico, como un caracter de espacio, si el usuario oprime una tecla ambigua despues de ello, en lugar de aceptar la prediccion, la lista de seleccion se reordena; por ejemplo, un usuario introduce la frase "Corramos a la escuela. Mejor aun, conduzcamos a". Despues de que el usuario oprime el espacio, despues de introducir primero la segunda ocurrencia de la palabra "a", el sistema predice que el usuario va a introducir la palabra "escuela", con base en el contexto en el que el usuario ha introducido la palabra anteriormente, si el usuario introdujera una tecla ambigua despues del espacio, entonces una lista que contiene la palabra "escuela" se reordena y otras opciones se ponen a disposicion del usuario; la invencion tambien puede realizar predicciones con base en el contexto, como la persona a quien se envia el mensaje, la persona que escribe el mensaje, el dia de la semana, la hora del dia, etcetera; otras modalidades de la invencion contemplan la anticipacion de acciones, asi como de palabras del usuario, como una accion de usuario relacionada con los elementos del menu o una accion del usuario relacionada con el llenado de formas.

Description

PREDICCION CONTEXTUAL DE PALABRAS DE USUARIO Y ACCIONES DE USUARIO ANTECEDENTES DE LA INVENCION La invención se refiere a la introducción de información que realiza un usuario en un sistema con un dispositivo de introducción. Más particularmente, la invención se refiere a la predicción contextual de introducciones y acciones pretendidas de usuario.
DESCRIPCION DE LA TECNICA ANTERIOR Durante muchos años, las computadoras portátiles se han reducido crecientemente en tamaño. El principal componente limitador en cuanto a tamaño en el esfuerzo por producir una computadora portátil más pequeña ha sido el teclado. Si se utilizan teclas de tamaño máquina de escribir estándar, la computadora portátil debe ser por lo menos tan grande como el teclado. Se han empleado teclados miniatura en computadoras portátiles, pero se ha encontrado que las teclas del teclado miniatura son demasiado pequeñas como para que un usuario las manipula rápida o fácilmente. Incorporar un teclado de tamaño completo en una computadora portátil también obstruye un verdadero uso portátil de la computadora. La mayor parte de las computadoras portátiles no pueden ser operadas sin colocar la computadora sobre una superficie de trabajo plana, para permitir que el usuario escriba con ambas manos. Un usuario no puede utilizar con facilidad una computadora portátil mientras se encuentra de pie o en movimiento. En la generación más reciente de computadoras portátiles, denominadas Asistentes Digitales Personales (PDAs, por sus siglas en inglés), las compañías han intentado resolver este problema incorporando software de reconocimiento de letra manuscrita en el PDA. Un usuario puede introducir texto directamente escribiendo sobre una pantalla o panel sensible al tacto. Este texto manuscrito es convertido por el software de reconocimiento en datos digitales. Desafortunadamente, además del hecho de que imprimir o escribir con una pluma es en general más lento que escribir con teclado, hasta la fecha, la exactitud y velocidad del software de reconocimiento de letra manuscrita han sido menos que satisfactorias. Además, hay restricciones de memoria. Frecuentemente, el software de reconocimiento requiere de más memoria de la que se encuentra disponible en el dispositivo. Esto es especialmente cierto con dispositivos como teléfonos móviles. En la actualidad, un tremendo crecimiento en la industria inalámbrica ha producido dispositivos de comunicaciones móviles confiables, convenientes y muy populares, que se encuentran disponibles para el consumidor promedio, como teléfonos celulares, localizadores bidireccionales, PDAs, etcétera. Estos dispositivos de computación y comunicaciones inalámbricos portátiles que requieren de la introducción de texto, se están haciendo aún más pequeños. Los avances recientes en la localización bidireccional, teléfonos celulares y otras tecnologías inalámbricas portátiles, han conducido a una demanda de sistemas de envío y recepción de mensajes bidireccionales pequeños y portátiles y, en especial, de sistemas que puedan tanto enviar como recibir correos electrónicos ("correo electrónico"). Algunos fabricantes de dispositivos de comunicaciones inalámbricas también desean proveer a los consumidores dispositivos con los que el consumidor pueda operar con la misma mano que está sosteniendo el dispositivo.
Antecedes de desambiguación El trabajo de desarrollo anterior ha considerado el uso de un teclado que tiene un número reducido de teclas. Como lo sugiere la disposición de teclado de un teléfono de teclas, muchos de los teclados reducidos han utilizado una disposición de teclas de 3 por 4. Cada tecla en la disposición de teclas contiene múltiples caracteres. Por lo tanto, hay ambigüedad a medida que un usuario introduce una secuencia de teclas, pues cada golpe de tecla puede indicar una de varias letras. Se han sugerido varios abordajes para resolver la ambigüedad de la secuencia de golpes de tecla, que se denomina desambiguación. Un abordaje sugerido para especificar de forma no ambigua los 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 ser introducidos ya sea simultáneamente (acorde) o en secuencia (especificación de múltiples golpes). Ni el acorde ni la especificación de múltiples golpes han producido un teclado que tenga una adecuada simplicidad y eficiencia de uso. La especificación de múltiples golpes es ineficiente, mientras que el acorde es complicado de aprender y de utilizar. Otros abordajes sugeridos para determinar la secuencia de caracteres correcta que corresponde a una secuencia de golpes de tecla ambigua, 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. Arnott y Muhammad Y. Javad (en lo sucesivo "el artículo Arnott"). El artículo Arnott indica que la mayoría de los abordajes de desambiguación emplean estadísticas conocidas de secuencias de caracteres en el lenguaje relevante para resolver la ambigüedad de caracteres en un contexto determinado. Otro abordaje sugerido basado en la desambiguación a nivel de palabra se describe en un libro de texto titulado Principies of Computer Speech, realizado por l. H. Witten y publicado por Academic Press en 1982 (en lo sucesivo "abordaje Witten"). Witten aborda un sistema para reducir la ambigüedad de texto introducido utilizando una almohadilla sensible al tacto de teléfono. Witten reconoce que, para aproximadamente el 92% de las palabras en un diccionario de 24,500 palabras, no se producirá ambigüedad alguna al comparar la secuencia de golpes de tecla con el diccionario. Sin embargo, cuando surgen ambigüedades, Witten advierte que deben ser resueltas de forma interactiva por el sistema, presentando la ambigüedad al usuario y solicitando al usuario que elija entre el número de formas ambiguas. Por lo tanto, un usuario debe responder a la predicción del sistema al final de cada palabra. Dicha respuesta desacelera la eficiencia del sistema e incrementa el número de golpes de tecla requeridos para introducir un segmento de texto determinado. H.A. Gutowitz, Touch-Typable Devices Based on Ambiguous Codes and Methods to Design Such Devices, WO 00/35091 (15 de junio del 2000) describe que el diseño de dispositivos para escribir y, en particular, de dispositivos tipo tacto que implementan códigos ambiguos, presenta numerosos problemas ergonómicos, y propone soluciones para dichos problemas. Gutowitz enseña métodos para la selección de códigos ambiguos de las clases de códigos fuertemente para escribir con tacto y códigos ambiguos básicamente ópticos para dispositivos para escribir con tacto, como computadoras, PDA's y otros similares, así como otros aparatos de información, dadas limitaciones de diseño, como el tamaño, forma y capacidad computacional de los dispositivos, los usos típicos del dispositivo y las limitaciones convencionales, como el ordenamiento alfabético y el ordenamiento Qwerty. Eatoni Ergonomics, Inc. provee un sistema denominado WordWise (Derechos reservados 2001 Eatoni Ergonomics, Inc.), adaptado a partir de un teclado regular, y en donde se escribe una letra mayúscula en un teclado regular, así como una tecla auxiliar, como la tecla de mayúsculas (shift, en inglés), se mantiene oprimida mientras se oprime la tecla con la letra que se pretende utilizar. 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 del teclado telefónico. Dichas letras elegidas se escriben sosteniendo oprimida una tecla auxiliar, al mismo tiempo que se oprime la tecla con la letra que se pretende utilizar. WordWise no emplea un diccionario/base de datos de vocabulario para buscar palabras y resolver formas ambiguas, no ambiguos o una combinaciones de las mismas. Zi Corporation promociona una predicción de siguiente palabra, eZiText® (2002 Zi Corporation) pero, hasta donde sabemos, nunca sugiere la presentación de múltiples predicciones, ni el reordenamiento de listas de selección para dar precedencia a las palabras que caben en el contexto. Otros sistemas de producción de siguiente palabra que son conocidos incluyen ITAP, que es ofrecido por la división Lexicus de Motorola (http://www.motorola.com/lexicus), así como la tecnología de reconocimiento adaptativo ofrecida por AIRTX (http://airtx.com/). Desambiguar una secuencia de golpes de tecla ambigua continua siendo un problema desafiante. Por ejemplo, los abordajes conocidos para la desambiguación se centran fundamentalmente en la terminación de una secuencia introducida parcialmente y no en la predicción de una secuencia aún no introducida. Adicionalmente, el contexto del usuario típicamente no es tomado en cuenta al desambiguar una secuencia introducida, ni la desambiguación de una secuencia introducida provoca la realización de una acción a nombre de un usuario sino que, más bien, se centra meramente en terminar y desplegar una secuencia pretendida para un usuario. Resultaría ventajoso proveer un abordaje para procesar introducciones de usuario que provoque la predicción de una secuencia no introducida. Adicionalmente, resultaría ventajoso proveer un abordaje en el que el contexto del usuario sea tomado en cuenta al desambiguar una secuencia introducida. Adicionalmente, resultaría ventajoso proveer un abordaje en donde la desambiguación de una secuencia introducida produzca la realización de una acción a nombre de un usuario.
BREVE DESCRIPCION PE LA INVENCION La invención se refiere a la introducción de información por parte de un usuano en un sistema con un dispositivo de introducción. Se provee un esquema en donde una palabra completa que un usuario desea introducir es predicha después de que el usuario introduce un símbolo específico, como un carácter de espacio. Si el usuario oprime una tecla ambigua después de eso, en lugar de aceptar la predicción, la lista de selección se reordena. Por ejemplo, un usuario introduce la frase "Corramos a la escuela. Mejor aún, conduzcamos a",". Después de que el usuario presiona el espacio, después de introducir primero la segunda ocurrencia de la palabra "a", el sistema predice que el usuario va a introducir la palabra "escuela", con base en el contexto en el que el usuario ha introducido la palabra anteriormente. Otras predicciones podrían estar disponibles si el usuario ha introducido previamente texto con el mismo contexto (por ejemplo, "al trabajo", "al campo"). Estas predicciones se presentan si el usuario oprime la tecla "siguiente", la tecla especificada para desplazarse a lo largo de la lista. Si el usuario introdujere una tecla ambigua después del espacio, entonces una lista de palabras se reordena para dar precedencia a las palabras que caben en el contexto. Por ejemplo, si el usuario oprime la tecla ambigua que contiene las letras 'a', 'b' y 'c', la palabra "campo" recibe precedencia en la lista. La invención puede también realizar predicciones en otras formas de contexto, como la persona a quien se envía el mensaje, la persona que escribe el mensaje, el día de la semana, la hora del día, etcétera. Otras modalidades de la invención contemplan la anticipación de acciones, así como palabras del usuario, como una acción de usuario relacionada con los elementos del menú o una acción del usuario relacionada con el llenado de formas. Las introducciones o acciones del usuario pueden realizar el cambio automático del estado del dispositivo con base en el contexto. Por ejemplo, el sistema podría utilizar el contexto para cambiar un teléfono móvil de "timbrar" a "vibrar", durante el tiempo en el que la agenda muestra que el usuario se encuentra en una junta. Otra modalidad utiliza el contexto de ubicación para incrementar el volumen del teléfono móvil cuando el usuario se encuentra fuera o cuando el teléfono detecta altos niveles de ruido en el ambiente. En otra modalidad, el sistema aprende los hábitos del usuario. Por ejemplo, con base en la acción aprendida del usuario, el sistema es capaz de ofrecer servicios al usuario de los que el usuario podría no estar consciente. En otra modalidad, la predicción de palabras se basa en el contexto anterior de la palabra (contexto de bigram), pero también podría utilizar las 'n' palabras anteriores (contexto de trigram, etcétera).
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 es una representación esquemática de un dispositivo que tiene un despliegue y un mecanismo de introducción de información de usuario, así como que incorpora tecnología de predicción de la palabra siguiente de conformidad con la invención. La Figura 2 es un diagrama de bloques de una modalidad preferida de un sistema de desambiguación de teclado reducido para una implementación T9 de la invención. La Figura 3 es un diagrama de flujo que muestra un método de predicción de la palabra siguiente de conformidad con la invención. Y la Figura 4 es un diagrama de flujo que muestra el procesamiento de palabras en un método de predicción de la siguiente palabra de conformidad con la invención.
DESCRIPCION DETALLADA DE LA INVENCION La invención se refiere a la introducción de información por parte de un usuario en un sistema con un dispositivo de introducción. Se provee un esquema en donde una palabra completa que el usuario desea introducir es predicha después de que el usuario introduce un símbolo específico, como un carácter de espacio. Si el usuario oprime una tecla ambigua posteriormente, en lugar de aceptar la predicción, la lista de selección se reordena. Por ejemplo, un usuario introduce la frase "Corramos a la escuela. Mejor aún, conduzcamos a". Después de que el usuario oprime el espacio, después de introducir primero la segunda ocurrencia de la palabra "a", el sistema predice que el usuario introducirá la palabra "escuela" con base en el contexto en el que el usuario ha introducido la palabra en el pasado. Otras predicciones podrían estar disponibles si el usuario ha introducido texto anteriormente con el mismo contexto (por ejemplo, "al trabajo", "al campo"). Estas predicciones son presentadas si el usuario oprime la tecla "siguiente", la tecla especificada para desplazarse a lo largo de la lista. Si el usuario introdujera una tecla ambigua después del espacio, entonces la lista de palabras se reordena para dar precedencia a las palabras que caben en el contexto. Por ejemplo, si el usuario oprime la tecla ambigua que contiene las letras 'a', 'b' y 'c', se da precedencia en la lista a la palabra "campo".
La invención también puede realizar predicciones en otras formas de contexto, como la persona a quien se envía el mensaje, la persona que escribe el mensaje, el día de la semana, la hora del día, etcétera. En otra modalidad de la invención, en lugar de definir explícitamente los parámetros del contexto, como remitente/receptor/correo electrónico/SMS/respuesta/enviar/nuevo correo electrónico, etcétera, el sistema atraviesa por una serie de parámetros por medio del dispositivo, los cuales puede ser o no relevantes y el sistema aprende qué parámetros son relevantes para la predicción y cuáles no lo son. En otras modalidades de la invención, la predicción puede ir más allá de las palabras y predecir frases. La predicción puede también depender de la gramática, semántica, etcétera. Otras modalidades de la invención contemplan la anticipación de las acciones, así como de palabras y frases del usuario, como una acción del usuario relacionada con los elementos del menú o una acción del usuario relacionada con el llenado de formas. En modalidades adicionales, el conocimiento obtenido de los patrones del usuario puede cargarse/descargarse y/o ser manipulado desde un servidor que permite que esta información sea compartida entre dispositivos y aplicaciones.
Discusión Para los propósitos de la discusión en la presente, con respecto a la terminación contextual de palabras, el término "Predicción de la Siguiente Palabra" (NWP, por sus siglas en inglés) significa interalia: 1.- Predecir, después de introducir un carácter de espacio, la siguiente palabra completa que el usuario desea introducir y; 2.- Si el usuario oprime una tecla ambigua, en lugar de aceptar la predicción, las listas de selección se reordenan. La Figura 1 es una representación esquemática de un dispositivo 4 que tiene un despliegue 10 y un mecanismo de introducción de información de usuario 12, así como que incorpora tecnología de predicción de la siguiente palabra de conformidad con la invención. En la Figura 1 , el usuario ha introducido la frase "Corramos a la escuela. Mejor aún, conduzcamos a". El usuario oprime el espacio después de introducir la palabra "a" y el sistema predice que lo siguiente que hará el usuario es introducir la palabra "escuela", con base en el contexto en el que el usuario ha introducido la palabra "escuela" anteriormente. En este caso, solamente se presta atención a la palabra anterior del contexto. La última vez que el usuario introdujo la palabra "a", éste introdujo la palabra "escuela" directamente después de ello. En el ejemplo de la Figura 1, el usuario ha introducido la palabra "a" de nuevo y la palabra predicha "escuela" se encuentra presente. Si en el pasado el usuario hubiera introducido otras palabras después de la palabra "a", esas predicciones adicionales se proveen también en una lista, por ejemplo. En este ejemplo, la información del contexto proviene solamente del texto introducido anteriormente en este mensaje. En una modalidad preferida, la información del contexto se compila a partir de texto introducido también en mensajes/sesiones anteriores. Las predicciones se realizan cuando el contexto del mensaje actual cabe en el contexto de texto que el usuario ha introducido anteriormente. El concepto de contexto puede ser muy general. El contexto puede significar la naturaleza del texto introducido. El contexto puede también combinarse con otros contextos como, por ejemplo: a) La persona a quien se envía el mensaje; b) La persona que escribe el mensaje; c) El día de la semana; d) La hora del día. Finalmente, el sistema de predicción podría no saber cuáles son los factores más importantes para el contexto, v.g., si se trata de: • ¿Quien recibe el texto y mensaje?; • ¿Quien escribe el texto y el mensaje?; • ¿Los tres? Una modalidad adicional inicia con un conjunto muy amplio de factores posibles y realiza un análisis factorial instantáneo del comportamiento del usuario, para determinar el factor más efectivo a ser incluido con contexto. Este sistema hace más que adaptarse al comportamiento del usuario con base en factores especificados a priori, como el texto, receptor, autor, día, que se registran, pues es también lo suficientemente inteligente como para determinar qué factores son más importantes y poner el énfasis en los mismos. Esto permite realizar una mejor predicción. Otro ejemplo de predicción contemplada por la invención se basa en la hora del día. Por ejemplo, cuando se introduce un mensaje "vamos a vemos para" a la hora de la comida, la palabra "comer" es predicha automáticamente como la siguiente palabra de la frase. Más tarde en el día, se predice la palabra "cenar". Las frases almacenadas también pueden tener una hora del día asociada con las mismas como uno de sus atributos. Esto puede emplearse para decidir qué frases resultan relevantes cuando el usuario se encuentra introduciendo texto.
Predicción de las acciones del usuario La predicción puede también aplicarse a otros conceptos, como menús y acciones del usuario. Cuando un usuario hace clic en un menú, el módulo de contexto se provee con una palabra clave para ese menú como la palabra del contexto precedente. El módulo de contexto produce entonces las entradas seleccionadas previamente de ese menú, pues se encuentran en la base de datos de contexto como entradas precedidas por esa palabra clave y esas palabras pueden reordenarse en la parte superior del menú. Cuando se selecciona una entrada de menú, el módulo de contexto inmediatamente la identifica como aquella producida con el rótulo de menú como contexto para el reordenamiento en primer lugar la siguiente vez.
Por ejemplo, cuando el usuario hace clic en el menú "Editar", el módulo de contexto se provee con "Editar" como contexto. Si la última vez que un usuario hizo clic en "Editar", el usuario eligió "Encontrar", entonces "Encontrar" se muestra en primer lugar del menú. Si el usuario se desplaza más allá de ello hacia "Reemplazar", entonces se marca un uso de "Reemplazar" en el contexto de "Editar", de manera que la siguiente vez que el usuario seleccione el menú "Editar", "Reemplazar" se convierte en la primera entrada, seguida por "Encontrar" y las demás entradas utilizadas con menos frecuencia. Nótese que, para los teléfonos celulares con espacio de pantalla limitado, desplazar las entradas comúnmente utilizadas al primer lugar de un menú puede hacer que sean visibles de inmediato mientras que, de otro modo, no son visibles sin realizar un desplazamiento. En una modalidad, el aprendizaje se utiliza, en contexto y reordenamiento simple, para predecir el siguiente comportamiento de interfaz de usuario (Ul, por sus siglas en inglés) de nivel macro que se espera que el usuario exhiba. En lugar de reordenar los menús con base en el uso anterior, el formato de menú normal es sustituido por completo reordenando las opciones inmediatas para el siguiente estado/aplicación al que se espera vaya el usuario y puede realizarse automáticamente la opción más probable, si así se desea. Por ejemplo, considérese la situación en la que el sistema sabe que, siempre que un usuario se encuentre en el modo especificaciones en el teléfono y esté eligiendo un lenguaje o método de introducción, hay mucha probabilidad de que se desplace a su aplicación favorita de envío y recepción de mensajes. Entonces, en lugar de presentar el árbol de menú normal al usuario para llegar a la aplicación de envío y recepción de mensajes, el sistema: a) Pasa automáticamente a ese sitio o, si encuentra que el mismo no es viable; b) Presenta a la misma como una opción prominente visible en la ventana de especificaciones, junto con la siguiente opción más probable. La última opción sería "ir al árbol de menú estándar". De este modo, se presenta al usuario el siguiente estado final más probable, en lugar del comportamiento más probable directamente desde ahí lo cual, en un teléfono normal, significaría regresar al árbol del menú. El usuario no tiene que navegar en un árbol de menú en lo absoluto, sino más bien tiene que dar un clic (o ningún clic) para pasar a la siguiente tarea. Modalidades adicionales de la invención aplican a contextos que, por ejemplo, plantean alguna de las siguientes preguntas: • ¿En qué estado final tiene más probabilidades de encontrarse el usuario inmediatamente después de una aplicación de envío y recepción de mensajes? • ¿En qué estado final tiene más probabilidades de encontrarse el usuario inmediatamente después de introducir algo en una libreta telefónica? • ¿Qué estado final tiene más probabilidades de ser recibido por el usuario en los últimos dos sitios en que se encontraba? • ¿Dada la hora del día? • ¿Debe realizarse un análisis factorial instantáneo para aislar los factores más relevantes involucrados en decidir cuál debe ser el siguiente paso? Formas El llenado de formas es otra función útil realizada por la invención. La sensibilidad al contexto por atributo de campo, v.g. la fecha sólo predice meses, el día cambia a modo numérico, etcétera. Esto puede aplicarse de manera similar a la introducción de formas. El buscador u otro software de introducción de formas puede proveer el aviso para la celda de introducción como contexto para la entrada de texto de la celda. Por lo tanto, por ejemplo, cuando una forma se refiere a "Nombre:", el nombre del usuario se encuentra disponible con pocos o ningún golpe de tecla, además de que otros nombres que podría introducir en las formas también son más fáciles de introducir.
Implementación de la predicción contextual de palabras en la Tecnología Tegic T9 La invención de la predicción de la siguiente palabra descrita en la presente se ha aplicado a la tecnología T9 de Tegic Corporation (véase www.tegic.com y www.t9.com). La tecnología T9 combina los grupos de letras encontrados en cada tecla de un dispositivo de introducción, v.g. cada una de las teclas del teléfono, con un diccionario de palabras de rápido acceso, al mismo tiempo que reconoce aquello que un usuario desea introducir como texto a medida que escribe. T9 ofrece la palabra utilizada con mayor frecuencia para cada secuencia de teclas introducida de forma predeterminada y posteriormente permite que el usuario tenga acceso a otras posibilidades oprimiendo una o más veces la tecla de espacio o SIGUIENTE. En la Figura 2 se provee un diagrama de bloques de una modalidad preferida de un hardware sistema de desambiguación de teclado reducido para una ¡mplementación T9 de la invención. El teclado 54 y el despliegue 53 se acoplan con un procesador 100 a través de circuitos de conexión de interfaz apropiados. De manera opcional, un altavoz 102 se acopla también con el procesador. En esta modalidad, el procesador 100 recibe introducciones desde el teclado y maneja toda la información de salida hacia el despliegue y altavoz. El procesador 100 se acopla con una memoria 104. La memoria incluye una combinación de medios de almacenamiento temporales, como memoria de acceso aleatorio (RAM, por sus siglas en inglés) y medios de almacenamiento permanente, como memoria de sólo lectura (ROM, por sus siglas en inglés), discos flexibles, discos duros o CD-ROMs. La memoria preferida 104 contiene todas las rutinas de software necesarias para controlar la operación del sistema. De preferencia, la memoria contiene un sistema operativo 106, un software de desambiguación 108, el filtrado asociado de software de introducción de texto ambiguo y/o software de extensión e interpretación 110 y una base de datos contextual 116, está última abordándose con mayor detalle más adelante. La memoria incluye también una base de datos de vocabulario 30. De manera opcional, la memoria puede contener uno o más programas de aplicación 1 2, 114. Los ejemplos de los programas de aplicación incluyen procesadores de palabras, diccionarios de software y traductores de idiomas extranjeros. El software de síntesis del habla también puede ser provisto como un programa de aplicación, permitiendo de ese modo que el sistema de desambiguación de teclado reducido funcione como un apoyo de comunicación. Por lo tanto, en este caso, la información de salida puede ser información de salida vocal desde el altavoz. El experto en la técnica debe advertir y comprender que la discusión en la presente aplica a símbolos y secuencias de símbolos que, al combinarse, conforman un objeto o parte de un objeto. Un ejemplo típico de un símbolo es un carácter de cualquier idioma, 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 discusión en la presente aplica igualmente al kana japonés y a los jamos coreanos. Además, debe advertirse que los objetos no tienen que ser lingüísticos, dado que el sistema de desambiguación reivindicado en la presente puede utilizarse para predecir iconos, números telefónicos o registros de inventario, siempre y cuando se encuentre presente un tipo de representación simbólica en cadena. Por lo tanto, debe advertirse que el uso de términos como letra, palabra, raíz de palabra y otros similares no se limita solamente a aquellas aplicaciones y se utilizan para facilitar la lectura y compresión de la discusión de la presente. Para los propósitos de la discusión de la presente, los sistemas T9 comprenden por lo menos tres componentes: • Una capa de integración. Este componente contiene la interfaz de usuario (Ul, por sus siglas en inglés) y maneja comunicaciones entre el dispositivo y el centro T9. Las comunicaciones pueden producirse ya sea a través de un API basado en eventos o basado en funciones, lo cual se aborda más adelante. • Un medio central, por ejemplo el medio central conocido como el centro T9, que es suministrado por Tegic. • Una o más bases de datos de idiomas (LDBs, por sus siglas en inglés). T9 utiliza esta información para generar listas de palabras para ese idioma. Por ejemplo, las LDBs pueden incluir cualquiera de las LDBs del Diccionario T9, LDBs de T9 chino y LDBs de T9 coreano.
Bases de datos suplementarias Las implementaciones del Diccionario T9 y T9 chino pueden incluir las siguientes bases suplementarias: • Base de Datos de Usuario (Diccionario T9). Una UDB del Diccionario T9 contiene palabras personalizadas introducidas por el usuario.
Típicamente, éstas son palabras que no pueden ser generadas por la LDB, como nombres, direcciones de correo electrónico e identificaciones (IDs, por sus siglas en inglés) de envío y recepción instantánea de mensajes. La base de datos contiene también información sobre con qué frecuencia un usuario selecciona palabras - tanto palabras personalizadas como palabras de la LDB. • Base de Datos Contextual (Diccionario T9). Una CDB del Diccionario T9 contiene información sobre las palabras que el usuario ha introducido anteriormente. T9 requiere de esta información para realizar su predicción de la siguiente palabra y características de terminación de palabras de CDB. La base de datos contextual contiene palabras introducidas recientemente. El Diccionario T9 utiliza esta información para proveer palabras predichas y completadas en la lista de selección, así como para reordenar palabras completas y completadas en la lista de selección. · Base de Datos del Fabricante (Diccionario T9). Una MDB del Diccionario T9 contiene palabras que se desea poner a disposición de los usuarios de T9, pero que típicamente no pueden ser generadas por la LDB. Las entradas de MDB pueden incluir ubicaciones geográficas, símbolos de teletipo para transacciones y URLs. · Base de Datos de Usuario China (T9 Chino). Una CUDB de T9 Chino contiene frases de caracteres introducidas por el usuario, es decir cadenas de caracteres chinos que conjuntamente forman una frase.
• Base de Datos de Usuario China de Reordenamiento Automático (T9 Chino). Una CAUDB de T9 Chino contiene caracteres recientemente introducidos de una LDB de T9 Chino.
Generación de palabras de lista de selección Cuando el usuario introduce una secuencia de teclas activa, el Diccionario T9 revisa sus bases de datos (LDB, UDB, CDB y MDB) en busca de palabras que correspondan a la secuencia de teclas. La lista de selección del Diccionario T9 está diseñada para proveer las palabras que un usuario desea con mayor probabilidad, con base en 1) con qué frecuencia la palabra es introducida por el usuario; 2) qué tan común es la palabra en el idioma y 3) el contexto anterior en el que se introdujeron las teclas, de manera que las palabras aparezcan al inicio de la lista de selección. El orden relativo de los elementos de la lista de selección depende de qué bases de datos son habilitadas y qué características, como el reordenamiento de la lista de selección, la terminación de palabras y la predicción de palabras, se encuentra habilitadas. La primera palabra en la lista de selección del Diccionario T9 se encuentra activa de forma predeterminada. El término palabra activa se refiere a la palabra de la lista de selección activa de forma actual.
Abajo se proporciona un ejemplo de orden de lista de selección. Se presupone que se han introducido las teclas y ninguna base de datos T9 o característica de base de datos se encuentra deshabilitada. 1) Palabras de CDB de la longitud de la secuencia de teclas. 2) Palabras de usuario personalizadas y de LDB (altamente utilizadas) reordenadas de la longitud de la secuencia de teclas. 3) Palabras de LDB superiores de la longitud de la secuencia de teclas. 4) Palabras personalizadas utilizadas con menor frecuencia, de la longitud de la secuencia de teclas. 5) Palabras del Fabricante (MDB) utilizadas con menor frecuencia, de la longitud de la secuencia de teclas. 6) Palabras de LDB restantes de la longitud de la secuencia-de teclas. 7) Palabras de CDB que son más largas que la secuencia de teclas introducida (éstas son completadas por T9). 8) Palabras personalizadas y del fabricante que son más largas que la secuencia de teclas introducida (éstas son completadas por T9). 9) Palabras que son resultado de múltiples búsquedas en base de datos. Estos son intentos por hacer coincidir URLs y otras secuencias largas.
Procesamiento de una palabra aceptada Cuando el usuario acepta la palabra activa quitando el cursor de la palabra (oprimiendo las teclas que corresponden a los valores de teclas de T9 TECLA DERECHA (T9KEYRIGHT) o TECLA IZQUIERDA (T9KEYLEFT). El Diccionario T9: • Ajusta el valor de frecuencia de selección de la palabra si se encuentra en la UDB como palabra personalizada. • Ajusta el valor de frecuencia de selección de la palabra si se encuentra en la LDB y la característica de reordenamiento de la lista de selección del Diccionario T9 no ha sido deshabilitada. Cuando el usuario acepta la palabra activa introduciendo un espacio (oprimiendo teclas que corresponden al valor de tecla de T9 TECLA DE ESPACIO (T9KEYSPACE), el Diccionarip T9 realiza las acciones anteriores, así como las siguientes acciones: · Añade a UDB, como palabra personalizada, todos los caracteres entre el espacio recién introducido y aquel precedente, si la UDB y LDB no contienen ya la palabra. • Añade a CDB todos los caracteres entre el espacio recién introducido y aquel precedente.
Predicción de la siguiente palabra - La Figura 3 es un diagrama de flujo que muestra un método de predicción de la siguiente palabra de conformidad con la invención. A medida que se introduce ei texto, las palabras se almacenan en la CDB en el orden en el que fueron introducidas por el usuario. Cuando el usuario introduce una palabra (300), el Diccionario T9 intenta predecir la siguiente palabra deseada (302) si la ¡mplementación incluye una CDB. El Diccionario T9 busca en la CDB (304) para encontrar la primera ocurrencia anterior de la palabra introducida más recientemente. Si el Diccionario T9 encuentra la palabra (306), cualquier palabra que aparece después de la misma en la base de datos es ofrecida al usuario como una palabra predicha (308). Si la palabra no es encontrada (306), el procesamiento está completo y T9 espera la siguiente introducción de tecla (314). Si la palabra predicha es aceptada por el usuario (310), la palabra es procesada. T9 registra el uso de la palabra (316). Si el usuario no acepta la palabra (310), pero presiona la tecla 'siguiente' ('next') (312), se busca en la CDB para encontrar la siguiente ocurrencia más reciente de la palabra que acaba de introducirse (318). Si se encuentra, la palabra que le sigue en la base de datos se presenta como una predicción (306 y 308). Si el usuario no acepta ía palabra (310) y no oprime la tecla siguiente, no se completa ningún procesamiento y T9 espera la siguiente introducción de tecla (314), como se describe con mayor detalle en relación con la figura 4. El diccionario T9 crea una lista de selección de palabras predichas. El número máximo de palabras predichas en la lista de selección depende del valor literal del # constante de definición T9MAXCDBMATCHES. A menos que se asigne un valor distinto, esta constante se especifica en 6.
El usuario selecciona y acepta una palabra predicha utilizando el mismo procedimiento utilizado en T9 para seleccionar y aceptar una palabra. Después de que el usuario acepta una palabra predicha (310), el Diccionario T9 procesa la palabra (312). El experto en la técnica advertirá que la invención puede aplicarse a otros sistemas de desambiguación distintos a T9, así como a otras formas de T9 distintas al Diccionario T9.
Procesamiento de palabras La figura 4 es un diagrama de flujo que muestra el procesamiento de palabras en un método de predicción de la siguiente palabra de conformidad con la invención. Cuando el usuario oprime la tecla Espacio (Space) (400), para indicar el inicio de una nueva palabra, el Diccionario T9: • Añade a UDB, como palabra personalizada, (404) todos los caracteres entre el espacio recién introducido y aquel precedente, si la UDB y LDB no contienen ya la palabra (402). • Añade a CDB todos los caracteres entre el espacio recién introducido y aquel precedente (406). • Ajusta el valor de frecuencia de selección de la palabra (410), si se encuentra en la UDB, como una palabra personalizada (408). • Ajusta el valor de frecuencia de selección de la palabra (410), si se encuentra en la UDB, como una palabra reordenada de LDB (414).
• Añade la palabra a la UDB, como una palabra reordenada de LDB, (416) si se encuentra en la LDB y el reordenamiento de la lista de selección de Diccionario T9 o las características de terminación de palabra de LDB no han sido deshabilitados (412).
Base de datos contextual de Diccionario T9 La siguiente discusión describe cómo implementar y operar una Base Contextual de Diccionario T9 (CDB, por sus siglas en inglés). Una CDB contiene información sobre las palabras introducidas recientemente. El Diccionario T9 utiliza esta información para incluir palabras predichas y completadas en la lista de sección. Mientras el Diccionario T9 revisa sus demás bases de datos solamente en busca de palabras que coincidan con la secuencia de teclas activa actual, el Diccionario T9 también revisa la CDB en busca la palabra aceptada más recientemente, es decir la palabra no activa introducida más recientemente. Las palabras de CDB no necesariamente tienen que coincidir con la palabra activa para ser incluidas en la lista de selección. Para las palabras predichas, que aparecen en la modalidad preferida solamente cuando no hay secuencia de teclas activa, la coincidencia de CDB depende de la palabra previa a la palabra activa. Para las palabras completadas de CDB, la coincidencia depende tanto de la palabra precedente a la palabra activa como de la secuencia de teclas de la palabra activa. Si el Diccionario T9 encuentra en la CDB la palabra que el usuario ha introducido, el Diccionario T9 sugiere la palabra inmediatamente siguiente en la CDB como la palabra predicha. Por ejemplo, si CDB contiene el par de palabras "mensaje de texto" y el usuario introduce la palabra "texto" y posteriormente oprime la tecla de Espacio (Space), el Diccionario T9 ubica "mensaje" en la lista de selección como la palabra predicha. Además, si el Diccionario T9 encuentra en la CDB la palabra que el usuario ha introducido, el Diccionario T9 sugiere la palabra inmediatamente siguiente en la CDB como una palabra completada, si la palabra coincide con la secuencia de teclas activa, aunque la palabra completada contenga caracteres adicionales. Por ejemplo, si la CDB contiene el par de palabras "mensaje de texto" y el usuario introduce la palabra "texto", añade un espacio y posteriormente introduce la secuencia de teclas 6-3-7-7, que corresponde a las primeras cuatro letras de la palabra "mensaje" (message, en .inglés), el Diccionario T9 ubica "mensaje" en la lista de selección como una palabra completada. En una modalidad preferida, la terminación de palabra de CDB opera de forma independiente a la terminación de palabra personalizada de UDB, la terminación de palabra de LDB y la terminación de palabra de DB.
Implementación de CDB Para implementar una CDB de Diccionario T9, la capa de integración debe: 1. Asignar memoria persistente para la base de datos. 2. Recurrir a T9AWCdbActivate para activar la CDB. 3. Indicar el tamaño de la CDB. 4. Reiniciar la base de datos, si se desea. 5. Indicar que la capa de integración integra datos en la base de datos, si resulta necesario. 6. Deshabilitar la predicción de la siguiente palabra, si así se desea. 7. Deshabilitar la terminación de palabra de CDB, si así se desea. 8. Manejar las solicitudes presentadas por T9. 9. Copiar la base de datos en una memoria persistente después de la terminación de T9. El procedimiento de implementación descrito anteriormente supone que la CDB se encuentra almacenada en una memoria no volátil y que los datos de la CDB son copiados a RAM antes de activar las operaciones de CDB. Si se emplea un modelo de almacenamiento distinto, algunos de los pasos anteriores podrían no aplicar.
Asignación de memoria persistente La capa de integración debe asignar memoria persistente para almacenar la CDB. Cuando la capa de integración activa las operaciones de CDB recurriendo a T9AWCdbActivate, ésta copia la CDB de la memoria persistente a RAM. La base de datos es referenciada como una instancia de la Estructura de Datos de CDB (CDB Data Structure) (T9AWCdb¡nfo).
Activación de las operaciones de CDB Si no hay una CDB existente, v.g. la primera vez que las operaciones de CDB son activadas en el dispositivo, la capa de integración debe inicializar todos los valores de campos de estructura T9AWCdblnfo en 0. Si la capa de integración ha copiado una CDB existente de la memoria persistente a RAM, ésta no debe modificar ningún valor de campo de estructura T9AWCdblnfo. La capa de integración activa las operaciones de CDB recurriendo a T9AWCdbActivate. Cuando la capa de integración recurre a esta función, ésta provee un puntero para una instancia de la Estructura de Datos CDB (T9AWCdblnfo) para la que ha asignado memoria. Después de que la capa de integración ha activado las operaciones de CDB habilitadas, el Diccionario T9 busca automáticamente en la CDB. El tipo de información que el Diccionario T9 busca en la CDB depende de si hay una secuencia de teclas activa: • Si hay una secuencia de teclas activa, el Diccionario T9 busca en la CDB palabras que coincidan con la secuencia de teclas. • Si no hay una secuencia de teclas activa, el Diccionario T9 busca en la CDB la palabra introducida más recientemente. El Diccionario T9 requiere esta información para la predicción de la siguiente palabra.
Indicación del tamaño de CDB El tamaño de CDB es indicado por el valor de T9AWCdblnfo.wDataSize. El campo wDataSize indica el tamaño total de T9AWCdblnfo. Esto incluye el área de datos, en donde se almacenan los datos de la CDB, varias variables relacionadas utilizadas por T9 y cualquier byte de relleno de estructura añadido por el ambiente compilador. Si se utiliza la Función API de T9, no resulta necesario establecer el valor de T9AWCdblnfo.wDataSize directamente. En lugar de ello, el tamaño del área de datos de la CDB es provisto como un argumento de la función T9AWCdbActivate. Mientras se maneja la función, T9 establece el valor de T9AWCdblnfo.wDataSize. Puede hacerse que el área de la CDB sea tan grande como se desee, pero debe ser de por lo menos T9MINCDBDATABYTES bytes. Sin embargo, se recomienda que la CDB tenga un tamaño de 1800 bytes * T9SYMBOLWIDTH.
Reinicio de la CDB Cuando la capa de integración activa las operaciones de CDB, el Diccionario T9 asegura la integridad de la base de datos: · Asegurando que la CDB tenga el mismo tamaño que T9 está esperando. • Verificando que la CUDB tenga un tamaño de por lo menos T9CCUDBMINSIZE bytes y que sea un número par de bytes.
• Verificando que ia CDB utilice la misma codificación de caracteres que las LDBs. Si el Diccionario T9 detecta un problema, ésta reinicia la CDB, lo cual borra todos los datos de la CDB. Este procedimiento se produce sin que la capa de integración realice acción alguna y el Diccionario T9 no notifica a la capa de integración que la CDB se ha reiniciado. La capa de integración puede reiniciar de forma explícita la CDB recurriendo a T9AWCdbReset. En la mayoría de las circunstancias, la capa de integración no requiere recurrir a esta función.
Indicación de que la capa de integración escribe datos en la CDB Si la CDB se encuentra almacenada en un área de memoria en la que el Diccionario T9 no puede escribir, la capa de integración debe integrar los datos en la base de datos. Además, podría desearse dejar que la capa de integración integre datos en la CDB si se quiere monitorear aquello que se ha escrito en la base de datos o mantener una copia de sombra de la CDB en un medio de almacenamiento no volátil. La capa de integración informa al Diccionario T9 que escribe datos recurriendo a T9AWSetCdbWriteByOEM. Después de que la capa de integración recurre a este evento, el Diccionario T9 solicita que la capa de integración escriba datos recurriendo a T9REQCDBWRITE. Si ya no es necesario que la capa de integración escriba datos en la CDB, la capa de integración recurre a T9AWCIrCdbWriteByOE para indicar que el Diccionario T9 puede escribir los datos directamente.
Deshabilitación de la predicción de la siguiente palabra Cuando se activan las operaciones de CDB, T9 provee palabras predichas de manera predeterminada, es decir palabras que el usuario podría desear introducir, con base en las palabras que el usuario ya ha introducido. La predicción de la siguiente palabra se encuentra disponible tanto en modo de introducción de texto Ambiguo como Tapa Cerrada (Multitap, en inglés). El Diccionario T9 ubica las palabras predichas en la lista de selección cuando la palabra que el usuario acaba de introducir se encuentra en la CDB como la primera parte de uno o más pares de palabras. Cualquier palabra que aparece en la CDB después de cada instancia de la palabra que el usuario acaba de introducir, es provista como una palabra predicha. Es posible deshabilitar esta funcionalidad si se desea utilizar solamente una terminación de palabra de CDB y no la predicción de la siguiente palabra, en una implementacion del Diccionario T9. Para deshabilitar la terminación de palabra de CDB, la capa de integración recurre a T9AWCIrCdbPrediction. Para habilitar de nuevo la predicción de la siguiente palabra, la capa de integración recurre a T9AWSetCdbPrediction.
Deshabilitación de la terminación de palabra de CDB Cuando se activan las operaciones de CDB, el Diccionario T9 ubica de forma predeterminada en la lista de selección, las palabras de CDB completadas que coinciden con la secuencia activa (y contienen caracteres adicionales), si la palabra inmediatamente precedente a la palabra activa se encuentra en la CDB inmediatamente antes de la(s) palabra(s) completada(s). Puede deshabilitarse esta funcionalidad si se desea utilizar solamente la predicción de la siguiente palabra y no la terminación de palabra de CDB, en una implementación del Diccionario T9. Para deshabilitar la terminación de palabra de CDB, la capa de integración recurre a T9AWClrCdbCompletlon. Para habilitar de nuevo la terminación de palabra de CDB, la capa de integración recurre a T9AWSetCdbCompletion. Adviértase que la terminación de palabra de CDB opera de manera independiente a la terminación de palabra personalizada de UDB, terminación de palabra de LDB y terminación de palabra de MDB. Muchas de las palabras en una CDB también se encuentran en otras bases de datos del Diccionario T9. El Diccionario T9 suprime estos duplicados de la lista de selección. Sin embargo, debe advertirse el efecto potencial de esta duplicación sobre otras funciones de los eventos API. Por ejemplo, una palabra personalizada de UDB que es borrada de la base de datos, continúa apareciendo en la lista de selección si esa palabra se encuentra también en la CDB. De manera similar, si se deshabilitara la terminación de palabra de LDB, las palabras en la LDB continuarían apareciendo en la lista de selección como palabras completadas, si también se encuentran en la CDB y la terminación de palabra de CDB se encuentra habilitada.
Manejo de solicitudes de T9 Dependiendo de cómo se encuentre implementada la CDB, la capa de integración podría requerir manejar la siguiente solicitud de T9: • T9REQCDBWRITE - Solicita que la capa de integración escriba datos en la CDB. T9 presenta esta solicitud únicamente si la capa de integración informa a T9 que la misma, y no T9, escribe datos en la CDB.
Copia de una CDB actualizada en la memoria persistente La capa de integración debe copiar los datos de CDB a la memoria persistente cuando termina el Diccionario T9, si la base de datos ha sido modificada durante la sesión de T9. T9 incrementa el valor de T9AWCdblnfo. WupdateCounter siempre que modifica la base de datos. La capa de integración puede determinar si la base de datos ha sido modificada comparando el valor de wUpdateCounter después de la sesión con su valor antes de la sesión. Si el valor es distinto, la capa de integración debe copiar los datos de CDB actualizados a la memoria persistente. Nótese que es probable que T9 modifique la CDB durante cada sesión.
Operación de una CDB del Diccionario T9 Las operaciones de CDB del Diccionario T9 consisten de las siguientes tareas: • Añadir datos a una CDB. · Recuperar datos de una CDB. • Borrar datos de una CDB.
Añadir datos a una CDB El Diccionario T9 añade automáticamente datos a la CDB. Adviértase que, si la CDB se encuentra almacenada en un área de memoria en la que T9 no puede escribir, la capa de integración debe escribir datos en la CDB.
Recuperar datos de una CDB El Diccionario T9 recupera automáticamente datos de la CDB.
Borrar datos de una CDB El Diccionario T9 no permite que los usuarios o la capa de integración borren palabras de la base de datos. En lugar de ello, el Diccionario T9 comienza automáticamente a borrar las palabras más antiguas en la base de datos, cuando ésta está casi llena. Este procedimiento de eliminación se denomina recolección de basura y se produce sin que el usuario o la capa de integración realicen acción alguna.
Operación En la modalidad preferida actualmente de la invención, los datos contextúales guardados se utilizan para dar una predicción de la siguiente palabra al oprimir el espacio, así como para filtrar las terminaciones de palabras después de introducir golpes de tecla. En principio, esto permite que un usuario reduzca el número de golpes de tecla recuperando rápidamente palabras que son predichas de forma correcta con base en la palabra o palabras anteriores. Esta característica de terminación se implementa en la presente guardando el texto introducido por el usuario en una Base de Datos Contextual (CDB, por sus siglas en inglés) y dar aquellas palabras que quepan en el contexto y coincidan con los golpes de tecla. NWP guarda el texto recién introducido por el usuario y emplea ese texto para predecir la siguiente palabra que introduce el usuario. Por ejemplo, si el usuario ha escrito las frases "hola, Leslie", "hola, Inger" y "hola, Helena" recientemente, cuando el usuario escribe y acepta la palabra "hola" usando el espacio, la invención sugiere como posibles siguientes palabras: Leslie Inger Helena Si el usuario no acepta una de estas palabras, sino que continúa escribiendo, la invención emplea el contexto para dar prioridad a las terminaciones presentadas al usuario. En una modalidad que emplea un dispositivo de introducción de 12 teclas, si el usuario anterior escribe la tecla 4 después de teclear espacio, la lista de selección presentada al usuario es: i h g 4 Inger Helena Si el usuario anterior escribe la tecla 43 después de teclear espacio, la lista de selección presentada al usuario es: he if id ¡e ge gf Helena Después de un espacio, los objetos de la base de datos contextual (CDB) conforman una lista de selección completa. Después de oprimir teclas ambiguas, los objetos de CDB aparecen de la siguiente forma: • Si los objetos de CDB tienen la longitud de la secuencia de teclas activa, los objetos aparecen en la parte superior de la lista de selección.
• Si los objetos de CDB son más largos que la secuencia de teclas activa, los objetos aparecen en la parte superior de la porción de terminación de la lista. El estado del sistema rastrea terminaciones después de espacio con: pFieldlnfo->nWordLen = 0; pFieldlnfo->nCompiLen = longitud de la palabra del contexto. Después de que un usuario selecciona teclas ambiguas, el estado del sistema rastrea las terminaciones de CDB de la forma preexistente: pFieldlnfo->nWordLen = longitud de la secuencia de teclas activa. pFieldlnfo->nCompiLen = longitud de la terminación.
Api El API de T9 consiste de una estructura global que guarda información de palabras, listas de palabras y memoria, la cual es utilizada por el cliente, así como un conjunto de eventos o funciones para crear, aceptar y borrar palabras, desplazándose a lo largo de listas de palabras, y más. En el Diccionario T9, la estructura API se denomina la estructura T9AWFieldinfo (frecuentemente denominada pAWFieldlnfo). T9AWFieldinfo contiene datos que son específicos para T9. La estructura T9AWFieldinfo contiene otra estructura, T9Fieldlnfo (frecuentemente denominada pFieldinfo), la cual contiene datos de palabras generales que también se emplean en T9 Japonés, Chino y Coreano. Las nuevas funciones y datos de estructura API fueron añadidos a T9 para implementar NWP. La característica de NWP es activa si el anfitrión a asignado un espacio para la base de datos contextual y establecido pFieldlnfo->pCdblnfo en un valor que no sea cero. El siguiente evento API de función se añade para activar la CDB: T9AWCdbActivate(T9AWFieldlnfo *pAWFieldlnfo, T9AWCdblnfo T9FARUDBPOINTER *pCdblnfo, T9UI T NdataSize, T9U8 bSymbolClass); Para establecer la configuración de escritura: T9EVTCDB : T9CTRLSETCDBWRITEBYOEM Function API - T9AWSetCdbWriteByOEM (T9AWFieldinfo *pAWFieldinfo) Para borrar la configuración de escritura: T9CTRLCLRCDBWRITEBYOEM Function API - T9AWCIrCdbWriteByOEM(T9AWFieldlnfo *pAWFieldlnfo) Para reiniciar la CDB: T9EVTCDB.T9CTRLCDBRESET (Function API cali: T9AWUdbReset(T9AWFieldinfo *pAWFie!dlnfo) Para dividir el contexto de CDB: T9EVTCDB:T9CTRLCDBBREAKCONTEXT Function API - T9AWBreakCdbContext (T9AWFieldlnfo *pAWFieldlnfo) Para llenar la memoria contextual: T9EVTCDB : T9CTRLCDBFILLCONTEXTBUFFER memoria: pEvent->data.sCDBData.psBuf longitud de memoria pEvent->data.sCDBData. nBufLen Function API - T9AWF/IIContextBuffer(T9AWFieldlnfo *pAWFieldlnfo, T9SYMB *psBuf, T9UINT nBufLen) Para obtener la predicción de palabras: T9EVTCDB : T9CTRLCDBGETWORDPREDICTION Function API - T9AWGetWordPrediction (T9AWFieldlnfo *pAWFieldlnfo) Para borrar la memoria, pero mantener el contexto: T9EVTCLEARBUFFE Function API - T9AWCIearBuffer (T9AWFieldlnfo *pAWFieldlnfo) Para desactivar la terminación de CDB: T9CTRLCLRCDBCOMPLETION Function API - T9AWCIrCdbCompletion (T9AWFieldlnfo *pAWFieldlnfo) Para activar la terminación de CDB: T9CTRLSETCDBCOMPLETION Function API-T9AWSetCdbCompletion (T9AWFieldlnfo *pAWFieldlnfo) Para desactivar la terminación de CDB: T9CTRLCLRCDBPREDICTION Function API - T9AWCIrCdbPrediction (T9AWFieldlnfo *pAWFieldlnfo) Para activar la terminación de CDB: T9CTRLSETCDBPREDICTION Function API - T9AWSetCdbPrediction (T9AWFieldlnfo *pAWFieldlnfo) Se añade el siguiente tipo de solicitud: T9REQCDBWRITE Esto se utiliza para solicitar escrituras en el CDB si la escritura externa está activa. No hay acceso directo adicional para escribir en el CDB a través de API.
Interfaces de CDB internas Existen dos interfaces para el CDB en la modalidad T9 de la invención: AddCdbText(pFieldlnfo, psWordBuf, nLen) En donde: pfieldlnfo = información de campo de T9 psWordBuf = texto de mantenimiento en memoria nLen = longitud de la palabra Y: GetCdbObject(pFieldlnfo, nUdbOb[Num, nWordLen, nCursor, psBuildTxBuf, nBuildTxBufSize, pnCompiLen, pnUdbObjCnt) En donde: pfieldlnfo = información de campo de T9 nUdbObjNum = número de objeto de CDB (1 para 1a coincidencia, 2 para segunda coincidencia, etcétera) nWorLen = longitud de la palabra (o después de espacio, 1 después de 1 tecla, 2 después de 2 teclas, etcétera) nCursor = posición del cursor psBuildTxBuf = puntero para memoria de creación nBuildTxBufSize = tamaño de memoria de creación pnCompiLen = puntero para mantenimiento de longitud de terminación pnUdbObjCnt = puntero para mantenimiento de conteo de objetos Funciones T9STATUS T9FARCALL T9AW SaveAndAddToCdb (T9AWFieldlnfo *pAWFieldlnfo) Adds (agregar) guarda la palabra en la memoria intermedia contextual y la añade a la base de datos contextual. Se recurre a esta función solamente después de que se ha introducido un espacio. T9UINT T9FARCALL T9AW_GetCdbObject (T9AWFieldlnfo *pAWFieldlnfo, T9UINT nCdbObjNum, T9UINT nWordLen, T9UINT nCursor, T9U8 bObjectType, T9UINT *pnTerminal, T9U8 bRightMost, T9SYMB *psBuildTxtBuf, T9UINT nBuildTxtBufSize, T9UINT *pnCompiLen, T9UINT *pnCdbObjCnt) Esta función recupera coincidencias de contexto de la CDB. T9STATUS T9FARCALL 79AWCdbReset (T9AWFieldlnfo *pAWFieldlnfo) Esta función reinicia la CDB. T9STATUS T9FARCALL T9AWCdbActivate (T9AWFieldlnfo *pAWFieldlnfo, T9AWCdblnfo T9FARUDBPOINTER *pCdbinfo, T9U8 bSymbolClass) Esta función activa la CDB.
Base de datos Los requerimientos presentes mínimos de tamaño de base de datos es de un ancho de símbolo de 1800 * symbol width (300 palabras * 6 caracteres/palabra * ancho de símbolo bytes/caracter). Esto es 1800 para los sistemas de un byte y 3600 para los sistemas de dos bytes.
La CDB guarda el texto introducido recientemente de la misma forma en la que el usuario lo Introduce. El texto se almacena en una memoria circular. Las nuevas palabras se sobrescriben en la palabra menos reciente de la CDB. La CDB tiene información global en su encabezado: T9U 6 wDataSize; /*Tamaño total en bytes de esta estruct*/ T9U16 wUpdateCounter; /*Conteo incrementado cada vez que la base de datos de usuario se modifica*/ T9U16 wSymbolClass; /*Valor enum de T9 que indica transmsión de tabla de símbolos para CDB*/ T9U16 wDataBeginOffset;7*Compensación para inicio de datos*/ T9U16 wDataEndOffset; /*Compensación para fin de datos*/ T9U16 wSavedOffset; Tpuntero para última posición a la que se tuvo acceso en la base de datos*/ T9U32 dwOffsetSaver; /*¡dentificador de secuencia guardada en compensación en último lugar*/ T9U8 bDataArea[1]; /Realmente una disposición de datos de tamaño variable*/ Lecturas Al solicitar una palabra de la CDB, el creador de palabras del sistema atraviesa una memoria contextual. Utilizando la memoria contextual, la CDB recupera coincidencias contextúales en orden de antigüedad.
Escrituras Cuando teclea espacio o se da un espacio en blanco se introduce de forma explícita, la palabra creada se escribe en la CDB. Esto ocurre tanto en el modo ambiguo como tapa cerrada (MT, por sus siglas en inglés). La palabra también pasa por su procesamiento RUDB normal. No hay limpieza de basura en la CDB.
Memoria contextual Se mantiene una memoria contextual. La memoria contextual se actualiza al oprimir la tecla de espacio y se borra con cualquier acción que tienda a perder contexto, como manipular el cursor y borrar. En un API de palabra, esto se une con la función de desaparición de palabra de una función de confirmación separada.
Descripción funcional En la modalidad de T9, la característica de NWP se encuentra activa si: a) La compilación incluye el código para esta característica; y b) El miembro de información de campo pFieldlnfo->Cdbinfo indica una memoria válida. Los elementos funcionales que aplican cuando la característica de predicción de la siguiente palabra se encuentra activa en T9, se enumeran a continuación: FD100: El centro T9 guarda en la CDB cualquier palabra reciente que se haya utilizado. El número de palabras guardadas depende del tamaño asignado por OEM a la CDB. FD200: Los modos ambiguo y MT de T9 dan predicciones de la siguiente palabra después de un espacio, si hay una palabra activa o el golpe de tecla anterior es una tecla de número de T9. FD300: Los modos ambiguo y MT de T9 dan predicciones de la siguiente palabra después de la flecha derecha y espacio, si hay una palabra activa antes de que se oprima la tecla derecha. FD301 : El resultado de FD300 y FD200 significa que: • Después de mover el cursor de una palabra y moverse en torno a la memoria, T9 no presenta una predicción después de que se teclea un espacio. • "Desplazar el cursor en torno a la memoria" significa oprimir ya sea la flecha izquierda o la flecha derecha y terminar con el cursor a la derecha de una palabra. La única excepción es cuando la flecha derecha es tecleada solamente para hacer desaparecer (desactivar) una palabra. • T9 presenta una predicción si una predicción se encuentra activa y el usuario teclea especia para eliminar la predicción, tecla otra vez para limpiar el espacio y posteriormente teclea espacio de nuevo. FD400: T9 siempre produce coincidencias de contexto cuando inicia una palabra, si esa palabra es precedida por un espacio y otra palabra. Como ejemplo, no se realiza ninguna predicción después de desplazar el cursor en torno a la memoria a la derecha de una palabra y teclear la tecla de espacio. Sin embargo, si el usuario continúa escribiendo teclas de números ambiguas, las coincidencias de contexto son proporcionadas en la lista de selección. FD500: Las predicciones/terminaciones de CDB son recuperadas en orden de antigüedad. FD600: CDB es independiente del idioma. FD700: Después de oprimir espacio, el límite del número de coincidencias de CDB es determinado por el macro de compilación-tiempo T9MAXCDBMATCHES. Después de que el usuario oprime las teclas de números, no hay límite en cuanto al número de coincidencias de CDB proporcionadas desde la CDB para el creador. FD800: No se proporciona ninguna predicción/terminación de CDB atrevesando la puntuación de la oración. La puntuación de la oración se define como la puntuación final en un no emoticón. Véase FD1200 para conocer la definición de emoticón. FD900: Las predicciones/terminaciones de CDB son eliminadas después de oprimir la tecla de borrado (clear, en inglés) con una palabra activa, aunque las terminaciones son proporcionadas a medida que el usuario comienza a escribir de nuevo. FD1000: No hay envejecimiento de la CDB. La palabra menos reciente es reemplazada por la palabra introducida más recientemente.
FD1100: Los bigram contextúales se registran en la CDB al oprimir espacio, si hay una palabra activa o si la tecla anteriormente pulsada es una tecla de número de T9. Si el usuario aleja el cursor de un palabra, se rompe el contexto en la CDB. FD1200: Los candidatos para las predicciones contextúales están sujetos al siguiente procesamiento: • Si la palabra no tiene puntuación inicial, la puntuación final es eliminada, a menos que se vea como un emoticón. T9 supone que una palabra con puntuación inicial o final es un emoticón si la palabra tiene más de un carácter y el número de caracteres no alfa (puntuación y números) es de por lo menos la mitad del número total de caracteres en la palabra. Esta es la misma regla que se utiliza para el procesamiento de la base de datos del usuario (UDB, por sus siglas en inglés). • Si la palabra TIENE puntuación inicial, la palabra es rechazada, a menos que parezca ser un emoticón. FD1300: Si el usuario ha oprimido un número de las teclas de T9, los elementos de la lista de selección del contexto de- la longitud de la secuencia de teclas, son proporcionados al inicio de la lista de selección. Los elementos de la lista de selección de contexto con terminaciones son proporcionados en la porte superior de la porción de terminación de la lista, seguidos por DB, UBD y LDB en el orden especificado con anterioridad.
FD1400: Si la tecla bloquear mayúsculas (caps-lock) se encuentra activado cuando se teclea espacio, las palabras predichas se encuentran completamente en mayúsculas. FD1500: La palabra inicial es insensible a las mayúsculas y minúsculas, mientras que la palabra final es sensible a las mayúsculas y minúsculas. Así, si se escribe "cuota de taxi" y después se activa bloquear mayúsculas y se escribe "TAXI" y espacio, el sistema predice "CUOTA". Si se escribe "cuota de taxi", posteriormente se escribe "TAXI" utilizando ía tecla de mayúsculas (shift) en lugar de bloquear mayúsculas (caps-lock) y posteriormente se selecciona espacio, el sistema predice "cuota". De manera similar, si se escribe "Cuota de taxi" y después se escribe "taxi" y espacio, el sistema predice "cuota". FD1600: Se encuentran disponibles conmutadores para activar/desactivar predicciones contextúales, así como para activar/desactivar terminaciones contextúales.
Terminaciones y predicciones contextúales en T9 Caso de Uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") en el orden escrito aquí. 2) El usuario introduce y acepta la palabra "my" ("mi"). 3) Tecla espacio. 4) Espera la lista de selección: marriage (matrimonio) time (tiempo) money ' (dinero) 5) El usuario introduce la tecla 6. 6) Espera la lista de selección: o m n 6 marriage (matrimonio) money (dinero) 7) El usuario introduce de nuevo la tecla 6. 8) Espera la lista de selección: on no mm mo oo money (dinero) Caso de Uso 1) El usuario ha introducido recientemente el bigram "bow tie" ("corbata de lazo"). 2) El usuario introduce y acepta la palabra "bow" ("lazo"). 3) Teclea espacio. 4) Espera la lista de selección: tie (corbata) 5) El usuario introduce las teclas 8 4 3. 6) Espera la lista de selección: tie (corbata) the (el/la/Ios/las) vie vid tid NOTA: Aunque la palabra "the" ("el/la/los/las") es la palabra más común en el idioma inglés, en este contexto, "tie" ("corbata") se presenta primero en la lista. Es el candidato más probable cuando está precedida de la palabra "bow" ("lazo").
Terminaciones y predicciones contextúales en Tapa Cerrada (Multitap) Caso de Uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") en el orden escrito aquí. 2) El usuario introduce la palabra "my" ("mi"). 3) Teclea espacio. 4) espera la lista de selección marriage (matrimonio) time (tiempo) money (dinero) 5) El usuario introduce una "m". 6) El usuario oprime la tecla siguiente. 7) Espera la lista de selección: m marriage (matrimonio) money (dinero) 8) El usuario introduce "o". 9) El usuario oprime la tecla siguiente. 10) Espera la lista de selección: mo money Terminaciones y predicciones contextúales en T9 (desaparecer antes de espacio) Caso de Uso 1) El usuario ha introducido recientemente los bigram "my money" ("my dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") en el orden escrito aquí. 2) El usuario introduce la palabra "my" ("mi"). 3) Tecla la flecha derecha. 4) Teclea espacio. 5) No espera ninguna predicción contextual. 6) El usuario introduce la tecla 6. 7) Espera la lista de selección: o m n 6 marriage money 8) El usuario introduce la tecla 6 de nuevo. 9) Espera la lista de selección: on no mm mo oo money Terminaciones y terminaciones contextúales con terminaciones de UDB en T9 Las terminaciones de CDB aparecen antes de las terminaciones de UDB.
Caso de Uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") y el unigram "Mobetterblues" en el orden escrito aquí. 2) El usuario introduce y acepta la palabra "my" ("mi"). 3) Teclea espacio. 4) Espera la lista de selección: marriage (matrimonio) time (tiempo) money (dinero) 5) El usuario introduce la tecla 6. 6) Espera la lista de selección: o m n 6 marriage (matrimonio) monev (dinero) Mobetterblues 7) El usuario introduce la tecla 6 de nuevo. 8) Espera la lista de selección: on no mm mo oo monev (dinero) Mobetterblues Terminaciones y predicciones contextúales en T9 (sensibilidad a mayúsculas y minúsculas) La palabra inicial es insensible a las mayúsculas y minúsculas, mientras que la palabra final es sensible a las mayúsculas y minúsculas. Si se teclea espacio con bloquear mayúsculas (caps-lock) activado, la palabra predicha se encuentra completamente en mayúsculas.
Caso de uso 1) El usuario ha introducido recientemente los bigram "my MONEY" ("mi DINERO"), "my time" ("mi tiempo") y "MY marriage" ("MI matrimonio") en el orden escrito aquí. 2) El usuario introduce y acepta la palabra "my" ("mi"). 3) Teclea espacio. 4) Espera la lista de selección: marriage (matrimonio) time (tiempo) MONEY (DINERO) 5) El usuario introduce la tecla de borrado (olear). 6) El usuario introduce y acepta la palabra "MY" ("MI") sin la tecla bloquear mayúsculas (caps-lock) activada. 7) Espera la lista de selección: marriage (matrimonio) time (tiempo) MONEY (DINERO) 8) El usuario introduce la tecla de borrar (clear). 9) El usuario introduce y acepta la palabra "MY" ("MI") sin la tecla de bloquear mayúsculas (caps-lock) activada. 10) Espera la lista de selección: MARRIAGE (MATRIMONIO) TIME (TIEMPO) MONEY (DINERO) Terminaciones y predicciones contextúales con terminaciones de UDB en Tapa Cerrada (Multitap) Las terminaciones de CDB aparecen antes de las terminaciones de UDB.
Caso de uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") y el unigram "Mobetterblues" en el orden escrito aquí. 2) El usuario introduce la palabra "my" ("mi"). 3) Teclea espacio. 4) Espera la lista de selección: marriage (matrimonio) time (tiempo) money (dinero) 5) El usuario introduce "m". 6) El usuario oprime la tecla siguiente. 7) Espera la lista de selección: m marriage money Mobetterblues 8) El usuario introduce "o". 9) El usuario oprime la tecla siguiente. 10) Espera la lista de selección: mo money Mobetterblues Terminaciones y predicciones contextúales con terminaciones de UDB en T9 (contexto roto) Las terminaciones de CDB aparecen antes de las terminaciones de UDB.
Caso de uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my time" ("mi tiempo") y "my marriage" ("mi matrimonio") y el unigram "Mobetterblues" en el orden escrito aquí. 2) El usuario introduce y acepta la palabra "my" ("mi"). 3) Teclea espacio. 4) Teclea la tecla de borrado (clear). 5) Teclea de nuevo la tecla de borrado o realiza cualquier otro movimiento del cursor para terminar con el cursor directamente a la derecha de "my" ("mi"). 6) Introduce Espacio. 7) No espera ninguna predicción contextual (descripción funcional FD200). 8) Ei usuario introduce la tecla 6. 9) Espera las listas de selección con el contexto (descripción funcional FD400). 10) Espera la lista de selección: o m n 6 marriage monev Mobetterblues 11) El usuario introduce la tecla 6 de nuevo. 12) Espera la lista de selección: on no mm mo ?? money Mobetterblues Terminaciones y predicciones contextúales en T9 (antigüedad sobre frecuencia) Las terminaciones de CDB aparecen antes de las terminaciones de UDB.
Caso de uso 1) El usuario ha introducido recientemente los bigram "my money" ("mi dinero"), "my marriage" ("mi matrimonio") en el orden escrito aquí. 2) El usuario introduce y acepta la palabra "my" ("mi"). 3) Teclea espacio. 4) Espera la lista de selección (la palabra más reciente "marriage" ("matrimonio") viene antes de la palabra más frecuente "money" ("dinero"). marriage (matrimonio) money (dinero) 5) El usuario introduce la tecla 6. 6) Espera la lista de selección: m n 6 marriage monev Idiomas CDB es independiente del idioma.
Reordenamiento de palabras no completadas Los procedimientos de RUDB en relación con el reordenamiento de las palabras no completadas permanecen sin cambios.
Borrado Las predicciones contextúales no son proporcionadas después de borrar una palabra actual, sino que se proporcionan a medida que el usuario comienza a escribir de nuevo.
Puntuación No se proporciona ninguna predicción contextual atravesando la puntuación de oración.
Envejecimiento No hay envejecimiento de la CDB, pues la palabra menos reciente es reemplazada por la palabra introducida más recientemente.
Recolección de basura Cuando se requiere espacio para introducir una nueva palabra en la CDB, la palabra menos reciente en la CDB es eliminada para hacer espacio.
Introducción de palabras en MT Los datos para la CDB se recolectan mientras se encuentran en MT y las terminaciones/predicciones contextúales se proporcionan en MT.
Base de datos Mv Words (Mis palabras) El procesamiento de CDB se realiza añadiendo el carácter de espacio, ya sea que la palabra de contexto se haya introducido o no en una base de datos My Words mantenida por el usuario. Aunque la invención se describe en la presente haciendo referencia a la modalidad preferida, el experto en la técnica advertirá que otras aplicaciones pueden sustituirse por aquellas establecidas en la presente, sin desviarse del espíritu y alcance de la presente invención. Por ejemplo, las introducciones o acciones del usuario pueden realizar el cambio automático del estado del dispositivo con base en el contexto. Por ejemplo, el sistema podría utilizar el contexto para cambiar un teléfono móvil de "timbrar" a "vibrar", durante el momento en el que la agenda muestra que el usuario se encuentra en una junta. Otra modalidad utiliza el contexto de ubicación para incrementar el volumen del teléfono móvil cuando el usuario se encuentra fuera o cuando el teléfono detecta altos niveles de ruido en el ambiente. En otra modalidad, el sistema aprende los hábitos del usuario. Por ejemplo, con base en la acción del usuario que se ha aprendido, el sistema es capaz de ofrecer servicios al usuario de los que el usuario podría no estar consciente. En otra modalidad, la predicción de palabras se basa en el contexto anterior de la palabra (contexto de bigram), aunque también podría utilizar las 'n' palabras anteriores (contexto de trigram, etcétera). De conformidad con ello, la invención solamente debe verse limitada por las reivindicaciones que se incluyen a continuación.

Claims (38)

NOVEDAD DE LA INVENCION REIVINDICACIONES
1.- Un aparato para predecir cualquier palabra o bien palabras y acciones de usuario relacionadas con solicitudes, introducciones de control o introducciones de texto ambiguo por parte del usuario, dicho aparato comprendiendo: un dispositivo de introducción y un despliegue, cada uno de ellos acoplado con un procesador a través de circuitos de conexión de interfaz apropiados, en donde dicho procesador recibe símbolos y caracteres de introducción desde dicho dispositivo de introducción y administra la salida de objetos a dicho despliegue, así como la afirmación de acciones dentro de dicho aparato; una memoria acoplada con dicho procesador, en donde dicha memoria comprende: un sistema operativo; un software de desambiguacion; y una base de datos de objetos; en donde la totalidad de una palabra o palabras subsiguientes que un usuario desea introducir o una acción que un usuario desea realizar son predichas después de una solicitud del usuario, en donde dicho usuario introduce un símbolo específico con dicho dispositivo de introducción o realiza una acción específica asociada con cambiar un estado o tareas con dicho dispositivo de introducción; y en donde dicha palabra predicha es descrita a dicho usuario a través de dicho despliegue o se realiza una acción con respecto a dicho aparato.
2. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque comprende una lista de selección descrita a dicho usuario a través de dicho despliegue, dicha lista de selección comprendiendo cualquiera de una pluralidad de acciones y palabras predichas; y medios para reordenar dicha lista de selección si dicho usuario realiza una introducción ambigua después de que dicho usuario introduce dicho símbolo específico o provee una introducción de control específica.
3. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque comprende una base de datos contextual que, en relación con dicho procesador, realiza predicciones con base en el contexto.
4. - El aparato de conformidad con la reivindicación 3, caracterizado además porque dichas predicciones contextúales se basan cualquiera de una persona a quien se envía un mensaje, una persona que escribe un mensaje, una fecha, una hora y una ubicación.
5. - El aparato de conformidad con la reivindicación 1, caracterizado además porque una frase es predicha con base en las acciones o introducciones del usuario.
6. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque la predicción se basa en cualquiera de gramática y semántica.
7. - El aparato de conformidad con la reivindicación 3, caracterizado además porque dichas predicciones contextúales anticipan las acciones del usuario.
8. - El aparato de conformidad con la reivindicación 7, caracterizado además porque dichas acciones de usuario pueden ejecutarse en relación con cualquiera de los elementos del menú y llenado de formas.
9. - El aparato de conformidad con la reivindicación 1 , caracterizado además porque comprende medios para almacenar cualquier acción y patrón de introducción de usuario; y medios para cargar en un servidor cualquiera de dichas acciones y/o patrones de introducción de usuario almacenados.
10. - El aparato de conformidad con la reivindicación 1, caracterizado además porque la acción realizada comprende cambiar automáticamente dicho estado del aparato con base en el contexto de dicho aparato.
11. - El aparato de conformidad con la reivindicación 1, caracterizado además porque dicho aparato comprende medios para aprender acciones del usuario y para utilizar dichas acciones aprendidas para realizar predicciones.
12.- El aparato de conformidad con la reivindicación 3, caracterizado además porque dicho contexto se basa en un contexto de palabras anteriores o en un contexto de un número anterior de palabras.
13. - Un método para predecir cualquiera de las acciones de usuario o palabras de usuario, que comprende los pasos de: que un usuario introduzca una secuencia de introducción en un dispositivo de introducción o realice una acción específica relacionada con dicho dispositivo de introducción; y, como respuesta a ello, se prediga la siguiente palabra o palabras completas que dicho usuario desea introducir o una acción que un usuario desea que sea realizada por dicho dispositivo.
14. - El método de conformidad con la reivindicación 13, caracterizado además porque comprende el paso de: proveer una lista de selección que comprende cualquiera de una pluralidad de acciones y palabras predichas; y reordenar dicha lista de selección si dicho usuario realiza una introducción ambigua después de que dicho usuario introduce dicho símbolo específico o realiza una acción específica.
15. - El método de conformidad con la reivindicación 13, caracterizado además porque comprende el paso de: predecir la siguiente palabra o palabras completas que dicho usuario desea introducir o una acción a ser realizada por dicho dispositivo cuando un contexto en una secuencia de introducción actual coincide con un contexto en una secuencia de introducción que dicho usuario ha introducido anteriormente o una acción que se ha realizdo con anterioridad.
16. - El método de conformidad con la reivindicación 15, caracterizado además porque dicho contexto se basa en el contenido de la secuencia de introducción de texto introducida.
17. - El método de conformidad con la reivindicación 16, caracterizado además porque comprende el paso de combinar dicho contexto con por lo menos otro contexto.
18. - El método de conformidad con la reivindicación 17, caracterizado además porque dicho contexto comprende cualquiera de: una persona a quien se envía un mensaje; una persona que escribe el mensaje; una fecha, una hora; y una ubicación.
19. - El método de conformidad con la reivindicación 15, caracterizado además porque comprende el paso de: realizar de inmediato el análisis factorial del comportamiento del usuario, para determinar el factor más efectivo para ser incluido como contexto.
20. - El método de conformidad con la reivindicación 13, caracterizado además porque dicho paso de predicción comprende los pasos de: que dicho usuario introduzca un símbolo específico o realice una acción específica; como respuesta a ello, proveer una palabra clave para un menú, con base en el contexto de una acción o secuencia de introducción de usuario inmediatamente precedente; describir a dicho usuario entradas seleccionadas anteriormente de dicho menú que se encuentren almacenadas en una base de datos contextual como entradas precedidas por dicha palabra clave; reordenar dichas entradas en dicho menú; cuando se selecciona una entrada de menú, identificarla automáticamente como una entrada seleccionada con un rótulo de menú para utilizarse como contexto cuando se realice el reordenamiento en el futuro.
21- El método de conformidad con la reivindicación 13, caracterizado además porque dicho paso comprende los pasos de: que dicho usuario introduzca un símbolo específico o realice una acción específica; como respuesta a ello y con base en el contexto de una acción o secuencia de introducción de usuario inmediatamente precedente, se reemplace el formato de menú normal reordenando la opciones inmediatas para un siguiente estado/aplicación al que se predice que irá un usuario.
22. - El método de conformidad con la reivindicación 21, caracterizado además porque comprende el paso de realizar automáticamente la opción más probable.
23. - El método de conformidad con la reivindicación 13, caracterizado además porque dicho paso de predicción comprende los pasos de: que dicho usuario introduzca un símbolo específico o realice una acción específica; como respuesta a ello y con base en el contexto de una acción o secuencia de introducción de usuario inmediatamente precedente, llenar por lo menos un campo en una forma.
24. - El método de conformidad con la reivindicación 23, caracterizado además porque la sensibilidad al contexto está determinada por un atributo de campo actual.
25.- Un aparato para predecir cualquier palabra de usuario y acción de usuario relacionadas con una introducción de texto ambiguo, dicho aparato comprendiendo: un dispositivo de introducción y un despliegue, cada uno de ellos acoplado con un procesador a través de circuitos de conexión de ¡nterfaz apropiados, en donde dicho procesador recibe símbolos y caracteres de introducción desde dicho dispositivo de introducción y administra la salida de objetos a dicho despliegue, así como la afirmación de acciones dentro de dicho aparato; una capa de integración que comprende una interfaz de usuario (Ul); un medio central para combinar grupos de letras encontradas en cada tecla de dicho dispositivo de introducción con un diccionario de palabras asociadas, para reconocer las introducciones del usuario a medida que dicho usuario introduce dichas introducciones, así como para predecir una palabra o palabras subsiguientes completas que un usuario desea introducir o una acción que un usuario desea realizare después de que dicho usuario introduce una solicitud de usuario que comprende un símbolo específico con dicho dispositivo de introducción o realiza una acción específica asociada con cambiar un estado o tareas con dicho dispositivo de usuario; y una base de datos contextual que contiene información sobre las palabras que dicho usuario ha introducido anteriormente, dicha base de datos contextual cooperando con dicho medio central para realizar dichas predicciones con base en el conteto de cualquiera de dichas acciones y/o introducciones de usuario y el modo de operación de dicho aparato; en donde dicha acción o dichas palabras predichas son descritas a dicho usuario a través de dicho despliegue.
26.- El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende: una lista de selección descrita a dicho usuario a través de dicho despliegue, dicha lista de selección comprendiendo cualquiera de una pluralidad de acciones y palabras predichas; y medios para reordenar dicha lista de selección si dicho usuario realiza una introducción ambigua después de que dicho usuario introduce dicho símbolo específico o realiza una acción específica.
27.- El aparato de conformidad con la reivindicación 25, caracterizado además porque dichas predicciones contextúales se basan en cualquiera de una persona a quien se envía un mensaje, una persona que escribe un mensaje, una fecha, una hora y una ubicación.
28. - El aparato de conformidad con la reivindicación 25, caracterizado además porque una frase es predicha con base en las acciones o introducciones del usuario.
29. - El aparato de conformidad con la reivindicación 25, caracterizado además porque la predicción se basa en cualquiera de gramática y semántica.
30.- El aparato de conformidad con la reivindicación 25, caracterizado además porque dichas predicciones contextúales anticipan las acciones del usuario.
31. - El aparato de conformidad con la reivindicación 30, caracterizado además porque dichas acciones de usuario pueden ejecutarse en relación con cualquier elemento del menú y llenado de formas.
32. - El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende: medios para almacenar cualquier acción y patrón de introducción de usuario; y medios para cargar en un servidor dichas acciones y/o patrones de introducción de usuario almacenados.
33. - El aparato de conformidad con la reivindicación 25, caracterizado además porque dicho contexto se basa en el contenido de una secuencia de introducción de texto introducida.
34. - El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende medios que combinan un contexto con por lo menos otro contexto.
35. - El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende medios para realizar de inmediato un análisis factorial del comportamiento del usuario, para determinar el factor más efectivo a ser incluido como contexto.
36. - El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende medios para realizar automáticamente la opción más probable.
37. - El aparato de conformidad con la reivindicación 25, caracterizado además porque comprende medios que responden a cualquiera de que dicho usuario introduzca un símbolo específico o realice una acción específica y, con base en el contexto de una secuencia de introducción de usuario inmediatamente precedente, para llenar por lo menos un campo en una forma.
38.- El aparato de conformidad con la reivindicación 37, caracterizado además porque la sensibilidad al contexto está determinada por un atributo de campo actual.
MXPA06003062A 2003-09-19 2004-07-21 Prediccion contextual de palabras de usuario y acciones de usuario. MXPA06003062A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50424003P 2003-09-19 2003-09-19
US10/866,634 US7679534B2 (en) 1998-12-04 2004-06-10 Contextual prediction of user words and user actions
PCT/US2004/023363 WO2005036413A1 (en) 2003-09-19 2004-07-21 Contextual prediction of user words and user actions

Publications (1)

Publication Number Publication Date
MXPA06003062A true MXPA06003062A (es) 2006-05-31

Family

ID=34437265

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06003062A MXPA06003062A (es) 2003-09-19 2004-07-21 Prediccion contextual de palabras de usuario y acciones de usuario.

Country Status (9)

Country Link
US (1) US7679534B2 (es)
EP (2) EP1665078A4 (es)
JP (1) JP5305592B2 (es)
KR (1) KR100893447B1 (es)
CN (1) CN1707409B (es)
CA (1) CA2537934C (es)
MX (1) MXPA06003062A (es)
TW (1) TWI263163B (es)
WO (1) WO2005036413A1 (es)

Families Citing this family (404)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406084B2 (en) * 1997-09-19 2008-07-29 Nokia Siemens Networks Gmbh & Co. Kg Flexible software architecture for a call processing system
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7720682B2 (en) * 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
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
US8583440B2 (en) * 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
US7634720B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
US20050131677A1 (en) * 2003-12-12 2005-06-16 Assadollahi Ramin O. Dialog driven personal information manager
US20050192802A1 (en) * 2004-02-11 2005-09-01 Alex Robinson Handwriting and voice input with automatic correction
US8200475B2 (en) 2004-02-13 2012-06-12 Microsoft Corporation Phonetic-based text input method
GB0406451D0 (en) 2004-03-23 2004-04-28 Patel Sanjay Keyboards
US7224292B2 (en) * 2004-04-29 2007-05-29 Research In Motion Limited Reduced keyboard letter selection system and method
CN100368963C (zh) * 2004-05-31 2008-02-13 诺基亚公司 将表意字符输入到设备中的方法和装置
US7312726B2 (en) 2004-06-02 2007-12-25 Research In Motion Limited Handheld electronic device with text disambiguation
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7324083B2 (en) * 2004-06-02 2008-01-29 Research In Motion Limited Handheld electronic device with text disambiguation
US8463315B2 (en) 2004-06-21 2013-06-11 Research In Motion Limited Handheld wireless communication device
US20070192711A1 (en) * 2006-02-13 2007-08-16 Research In Motion Limited Method and arrangement for providing a primary actions menu on a handheld communication device
US8065154B2 (en) * 2004-07-30 2011-11-22 The Research Foundation of State Univesity of New York Augmentative communications device for the speech impaired using commercial-grade technology
US20070266406A1 (en) * 2004-11-09 2007-11-15 Murali Aravamudan Method and system for performing actions using a non-intrusive television with reduced text input
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US7630980B2 (en) * 2005-01-21 2009-12-08 Prashant Parikh Automatic dynamic contextual data entry completion system
US20080010055A1 (en) * 2005-03-08 2008-01-10 Pathiyal Krishna K Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Providing a Prior Variant List When Employing a Disambiguation Routine and Reinitiating a Text Entry Session on a Word
US8290765B2 (en) * 2005-03-16 2012-10-16 Research In Motion Limited Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation
GB0505941D0 (en) 2005-03-23 2005-04-27 Patel Sanjay Human-to-mobile interfaces
GB0505942D0 (en) 2005-03-23 2005-04-27 Patel Sanjay Human to mobile interfaces
US7403188B2 (en) 2005-04-04 2008-07-22 Research In Motion Limited Handheld electronic device with text disambiquation employing advanced word frequency learning feature
EP1710667B1 (en) * 2005-04-04 2022-06-08 BlackBerry Limited Handheld electronic device with text disambiguation employing advanced word frequency learning feature
US8374846B2 (en) 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
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
WO2007012912A1 (en) * 2005-07-27 2007-02-01 Nokia Corporation Method and device for entering text
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
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
US8472985B2 (en) * 2005-09-21 2013-06-25 Buckyball Mobile, Inc Incentive marketing with a context-enriched message
US20160344581A9 (en) * 2005-09-21 2016-11-24 Amit Karmarkar Text message including a contextual attribute of a mobile device
US20070076862A1 (en) * 2005-09-30 2007-04-05 Chatterjee Manjirnath A System and method for abbreviated text messaging
US8504606B2 (en) * 2005-11-09 2013-08-06 Tegic Communications Learner for resource constrained devices
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
DE102005062512B4 (de) * 2005-12-27 2009-06-04 Vodafone Holding Gmbh Verfahren zum Erzeugen und Abspeichern von Worten und/oder Wortbestandteilen in einem mobilen Endgerät sowie mobiles Endgerät
US7567207B2 (en) * 2005-12-28 2009-07-28 Gabriel Technologies Corp. Wireless mobile terminal using sensors for controlling autonomous and assisted GPS modes
US7538692B2 (en) * 2006-01-13 2009-05-26 Research In Motion Limited Handheld electronic device and method for disambiguation of compound text input and for prioritizing compound language solutions according to quantity of text components
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
US8108796B2 (en) * 2006-02-10 2012-01-31 Motorola Mobility, Inc. Method and system for operating a device
US8380726B2 (en) 2006-03-06 2013-02-19 Veveo, Inc. Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users
IL174522A0 (en) * 2006-03-23 2006-08-01 Jonathan Agmon Method for predictive typing
US20070255693A1 (en) * 2006-03-30 2007-11-01 Veveo, Inc. User interface method and system for incrementally searching and selecting content items and for presenting advertising in response to search activities
US8296484B2 (en) * 2006-03-30 2012-10-23 Harris Corporation Alphanumeric data entry apparatus and method using multicharacter keys of a keypad
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
US7477165B2 (en) 2006-04-06 2009-01-13 Research In Motion Limited Handheld electronic device and method for learning contextual data during disambiguation of text input
US8065135B2 (en) 2006-04-06 2011-11-22 Research In Motion Limited Handheld electronic device and method for employing contextual data for disambiguation of text input
EP1843239A1 (en) 2006-04-06 2007-10-10 2012244 Ontario Inc. Handheld electronic device and method for employing contextual data for disambiguation of text input
EP2016513A4 (en) 2006-04-20 2010-03-03 Veveo Inc USER INTERFACE METHODS AND SYSTEMS FOR SELECTING AND PRESENTING CONTENT BASED ON NAVIGATION AND USER SELECTION ACTIONS ASSOCIATED WITH THE CONTENT
US20070277118A1 (en) * 2006-05-23 2007-11-29 Microsoft Corporation Microsoft Patent Group Providing suggestion lists for phonetic input
US7801722B2 (en) * 2006-05-23 2010-09-21 Microsoft Corporation Techniques for customization of phonetic schemes
US7831423B2 (en) * 2006-05-25 2010-11-09 Multimodal Technologies, Inc. Replacing text representing a concept with an alternate written form of the concept
US8166418B2 (en) * 2006-05-26 2012-04-24 Zi Corporation Of Canada, Inc. Device and method of conveying meaning
GB0612627D0 (en) * 2006-06-26 2006-08-02 Symbian Software Ltd Contextual prediction
KR100690961B1 (ko) * 2006-06-30 2007-03-09 삼성전자주식회사 이동통신단말기의 문자 입력 방법 및 그 장치
US20080033713A1 (en) * 2006-07-10 2008-02-07 Sony Ericsson Mobile Communications Ab Predicting entered text
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8364468B2 (en) 2006-09-27 2013-01-29 Academia Sinica Typing candidate generating method for enhancing typing efficiency
JP4880414B2 (ja) * 2006-09-29 2012-02-22 京セラミタ株式会社 入力表示装置、電子機器及び入力表示プログラム
US7925986B2 (en) 2006-10-06 2011-04-12 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
WO2008063987A2 (en) 2006-11-13 2008-05-29 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US8155947B2 (en) * 2006-11-29 2012-04-10 Ubiquity Broadcasting Corporation Multilingual translation system using character set
FR2910143B1 (fr) * 2006-12-19 2009-04-03 Eastman Kodak Co Procede pour predire automatiquement des mots dans un texte associe a un message multimedia
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
US8819215B2 (en) * 2007-01-29 2014-08-26 Nokia Corporation System, methods, apparatuses and computer program products for providing step-ahead computing
US20080182599A1 (en) * 2007-01-31 2008-07-31 Nokia Corporation Method and apparatus for user input
US7912700B2 (en) * 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US7809719B2 (en) * 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US8078978B2 (en) 2007-10-19 2011-12-13 Google Inc. Method and system for predicting text
US7797269B2 (en) * 2007-03-29 2010-09-14 Nokia Corporation Method and apparatus using a context sensitive dictionary
US20080243737A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Club dictionaries
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
CN101286093A (zh) * 2007-04-09 2008-10-15 谷歌股份有限公司 客户端输入方法
CN101286094A (zh) 2007-04-10 2008-10-15 谷歌股份有限公司 多模式输入法编辑器
US8977631B2 (en) * 2007-04-16 2015-03-10 Ebay Inc. Visualization of reputation ratings
US8549424B2 (en) * 2007-05-25 2013-10-01 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8296294B2 (en) 2007-05-25 2012-10-23 Veveo, Inc. Method and system for unified searching across and within multiple documents
US20080313574A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for search with reduced physical interaction requirements
JP2008293403A (ja) 2007-05-28 2008-12-04 Sony Ericsson Mobilecommunications Japan Inc 文字入力装置、携帯端末および文字入力プログラム
US8504349B2 (en) * 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
US9251137B2 (en) * 2007-06-21 2016-02-02 International Business Machines Corporation Method of text type-ahead
US20090058688A1 (en) * 2007-08-27 2009-03-05 Karl Ola Thorn Disambiguation of keypad text entry
US20090109067A1 (en) * 2007-10-29 2009-04-30 Sony Ericsson Mobile Communications Ab Method, apparatus, and computer program for text input
TWI355598B (en) * 2007-11-23 2012-01-01 Compal Communications Inc Input device and operating method thereof
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 シャープ株式会社 文字入力装置、システム、及び文字入力制御方法
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
CN101910238B (zh) * 2008-01-08 2013-03-27 陶氏环球技术公司 用于复合材料应用的高Tg环氧体系
US8462119B2 (en) * 2008-01-09 2013-06-11 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8316035B2 (en) * 2008-01-16 2012-11-20 International Business Machines Corporation Systems and arrangements of text type-ahead
US8756527B2 (en) * 2008-01-18 2014-06-17 Rpx Corporation Method, apparatus and computer program product for providing a word input mechanism
KR20090084065A (ko) * 2008-01-31 2009-08-05 엠텍비젼 주식회사 컬러 그라디언트 생성 방법 및 장치
US8010465B2 (en) * 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US20090249198A1 (en) * 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8359532B2 (en) * 2008-04-28 2013-01-22 International Business Machines Corporation Text type-ahead
JP4655109B2 (ja) * 2008-05-12 2011-03-23 オムロン株式会社 文字入力用のプログラムおよび文字入力装置ならびに文字入力方法
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
ATE501478T1 (de) * 2008-06-11 2011-03-15 Exb Asset Man Gmbh Vorrichtung und verfahren mit verbessertem texteingabemechanismus
US9086775B1 (en) 2008-07-10 2015-07-21 Google Inc. Minimizing software based keyboard
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US7848756B2 (en) * 2008-09-22 2010-12-07 Telefonaktiebolaget L M Ericsson (Publ) Radio access technology selection
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8671357B2 (en) 2008-11-25 2014-03-11 Jeffrey R. Spetalnick Methods and systems for improved data input, compression, recognition, correction, and translation through frequency-based language analysis
US20100130236A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Location assisted word completion
US20100131447A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8677236B2 (en) * 2008-12-19 2014-03-18 Microsoft Corporation Contact-specific and location-aware lexicon prediction
KR20100084037A (ko) * 2009-01-15 2010-07-23 삼성전자주식회사 Ui 제공 장치 및 방법
US8326358B2 (en) 2009-01-30 2012-12-04 Research In Motion Limited System and method for access control in a portable electronic device
US10176162B2 (en) * 2009-02-27 2019-01-08 Blackberry Limited System and method for improved address entry
US8605039B2 (en) * 2009-03-06 2013-12-10 Zimpl Ab Text input
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited 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
KR101542136B1 (ko) 2009-03-31 2015-08-05 삼성전자 주식회사 문자 메시지 작성 방법 및 이를 이용한 휴대 단말기
JP5236575B2 (ja) * 2009-05-22 2013-07-17 シャープ株式会社 文字入力装置、システム、及び文字入力制御方法
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
KR101562792B1 (ko) * 2009-06-10 2015-10-23 삼성전자주식회사 목표 예측 인터페이스 제공 장치 및 그 방법
US20100321299A1 (en) * 2009-06-22 2010-12-23 Research In Motion Limited System and method for key layout aware spell check
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
TWI480765B (zh) * 2009-09-04 2015-04-11 Chi Mei Comm Systems Inc 移動裝置及其常用文本插入方法
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
EP2317730B1 (en) * 2009-10-29 2015-08-12 Unify GmbH & Co. KG Method and system to automatically change or update the configuration or setting of a communication system
JP5434586B2 (ja) 2009-12-29 2014-03-05 オムロン株式会社 単語認識方法および単語認識用のプログラムならびに情報処理装置
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
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
DE112011100329T5 (de) 2010-01-25 2012-10-31 Andrew Peter Nelson Jerram Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform
US9267030B2 (en) 2010-01-29 2016-02-23 Blue Cube Ip Llc Compositions having phosphorus-containing compounds
US9703779B2 (en) * 2010-02-04 2017-07-11 Veveo, Inc. Method of and system for enhanced local-device content discovery
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
US8527530B2 (en) * 2010-03-22 2013-09-03 Sony Corporation Destination prediction using text analysis
CN102244818B (zh) * 2010-05-11 2016-04-13 北京四达时代软件技术股份有限公司 一种响应按键操作的方法、装置及数字机顶盒
JP5587119B2 (ja) * 2010-09-30 2014-09-10 キヤノン株式会社 文字入力装置、その制御方法、及びプログラム
US8448089B2 (en) * 2010-10-26 2013-05-21 Microsoft Corporation Context-aware user input prediction
US8516205B2 (en) * 2010-10-29 2013-08-20 Nokia Corporation Method and apparatus for providing efficient context classification
WO2012059854A1 (en) * 2010-11-01 2012-05-10 Koninklijke Philips Electronics N.V. Suggesting relevant terms during text entry
US9626429B2 (en) * 2010-11-10 2017-04-18 Nuance Communications, Inc. Text entry with word prediction, completion, or correction supplemented by search of shared corpus
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
WO2012090027A1 (en) * 2010-12-30 2012-07-05 Nokia Corporation Language models for input text prediction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9237224B2 (en) * 2011-05-03 2016-01-12 Padmanabhan Mahalingam Text interface device and method in voice communication
CN102810095B (zh) * 2011-06-02 2016-01-13 北京搜狗科技发展有限公司 一种学词方法和装置
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
TWI423048B (zh) * 2011-07-28 2014-01-11 Iq Technology Inc A system for inputting in the form of a complement code and a method thereof
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
EP2592566A1 (en) * 2011-11-10 2013-05-15 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
GB2497935A (en) * 2011-12-22 2013-07-03 Ibm Predicting actions input to a user interface
US9189252B2 (en) * 2011-12-30 2015-11-17 Microsoft Technology Licensing, Llc Context-based device action prediction
US20130189654A1 (en) * 2012-01-16 2013-07-25 Adjelia Learning, Inc. Vocabulary learning system and method
CA2789827C (en) 2012-01-19 2017-06-13 Research In Motion Limited Virtual keyboard providing an indication of received input
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
EP2631758B1 (en) 2012-02-24 2016-11-02 BlackBerry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US20130222255A1 (en) 2012-02-24 2013-08-29 Research In Motion Limited Portable electronic device including touch-sensitive display and method of controlling same
CN103298115B (zh) * 2012-02-27 2015-10-14 电信科学技术研究院 一种基站及进行tdd基站上下行子帧配置的方法
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
CN102629160B (zh) * 2012-03-16 2016-08-03 华为终端有限公司 一种输入法、输入装置及终端
US20130253908A1 (en) * 2012-03-23 2013-09-26 Google Inc. Method and System For Predicting Words In A Message
CN103365833B (zh) * 2012-03-28 2016-06-08 百度在线网络技术(北京)有限公司 一种基于上下文场景的输入候选词提示方法及系统
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
CN102708862B (zh) * 2012-04-27 2014-09-24 苏州思必驰信息科技有限公司 触控辅助的实时语音识别系统及其同步解码方法
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US10025487B2 (en) 2012-04-30 2018-07-17 Blackberry Limited Method and apparatus for text selection
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
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
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US8972318B2 (en) * 2012-05-31 2015-03-03 Qualcomm Incorporated Predicting user behavior using feedback on previously run predictive searches
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US8972323B2 (en) 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
US10354650B2 (en) 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US8990143B2 (en) * 2012-06-29 2015-03-24 Intel Corporation Application-provided context for potential action prediction
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
KR20140011073A (ko) * 2012-07-17 2014-01-28 삼성전자주식회사 텍스트 추천 방법 및 장치
US20140025367A1 (en) * 2012-07-18 2014-01-23 Htc Corporation Predictive text engine systems and related methods
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
US9195645B2 (en) * 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
TWI468987B (zh) * 2012-08-16 2015-01-11 Chih Lung Yang 字符輸入軟體產品及配置該軟體產品的電子設備
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9251237B2 (en) * 2012-09-11 2016-02-02 International Business Machines Corporation User-specific synthetic context object matching
US9619580B2 (en) 2012-09-11 2017-04-11 International Business Machines Corporation Generation of synthetic context objects
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9741138B2 (en) 2012-10-10 2017-08-22 International Business Machines Corporation Node cluster relationships in a graph database
US9570076B2 (en) * 2012-10-30 2017-02-14 Google Technology Holdings LLC Method and system for voice recognition employing multiple voice-recognition techniques
US8931109B2 (en) 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US8965754B2 (en) 2012-11-20 2015-02-24 International Business Machines Corporation Text prediction using environment hints
US8930181B2 (en) 2012-12-06 2015-01-06 Prashant Parikh Automatic dynamic contextual data entry completion
GB201223450D0 (en) 2012-12-27 2013-02-13 Touchtype Ltd Search and corresponding method
GB201322037D0 (en) * 2013-12-12 2014-01-29 Touchtype Ltd System and method for inputting images/labels into electronic devices
US10664657B2 (en) 2012-12-27 2020-05-26 Touchtype Limited System and method for inputting images or labels into electronic devices
KR101448855B1 (ko) * 2013-01-15 2014-10-17 노경원 가상 키보드를 이용한 검색어 기반의 사용자 맞춤형 광고 제공 방법 및 시스템
CN105027040B (zh) 2013-01-21 2018-09-21 要点科技印度私人有限公司 文本输入系统及方法
IN2013CH00469A (es) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
KR102057284B1 (ko) * 2013-01-23 2020-01-22 엘지전자 주식회사 전자 기기 및 전자 기기의 제어 방법
US9053102B2 (en) 2013-01-31 2015-06-09 International Business Machines Corporation Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US9069752B2 (en) 2013-01-31 2015-06-30 International Business Machines Corporation Measuring and displaying facets in context-based conformed dimensional data gravity wells
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9542947B2 (en) 2013-03-12 2017-01-10 Google Technology Holdings LLC Method and apparatus including parallell processes for voice recognition
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
US20150261399A1 (en) * 2013-03-15 2015-09-17 Yury Puzis Method and system for predicting and automating user interaction with computer program user interface
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014144949A2 (en) 2013-03-15 2014-09-18 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
US9418354B2 (en) * 2013-03-27 2016-08-16 International Business Machines Corporation Facilitating user incident reports
US10152526B2 (en) 2013-04-11 2018-12-11 International Business Machines Corporation Generation of synthetic context objects using bounded context objects
US9672818B2 (en) 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters
US9923849B2 (en) 2013-05-09 2018-03-20 Ebay Inc. System and method for suggesting a phrase based on a context
US9058805B2 (en) 2013-05-13 2015-06-16 Google Inc. Multiple recognizer speech recognition
US9348794B2 (en) 2013-05-17 2016-05-24 International Business Machines Corporation Population of context-based data gravity wells
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
DE112014002747T5 (de) 2013-06-09 2016-03-03 Apple Inc. Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN105265005B (zh) 2013-06-13 2019-09-17 苹果公司 用于由语音命令发起的紧急呼叫的系统和方法
AU2014306221B2 (en) 2013-08-06 2017-04-06 Apple Inc. Auto-activating smart responses based on activities from remote devices
US9201592B2 (en) * 2013-08-09 2015-12-01 Blackberry Limited Methods and devices for providing intelligent predictive input for handwritten text
US9697240B2 (en) 2013-10-11 2017-07-04 International Business Machines Corporation Contextual state of changed data structures
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US20150169537A1 (en) * 2013-12-13 2015-06-18 Nuance Communications, Inc. Using statistical language models to improve text input
JP6270565B2 (ja) * 2014-03-18 2018-01-31 株式会社東芝 電子機器および方法
US9672202B2 (en) 2014-03-20 2017-06-06 Microsoft Technology Licensing, Llc Context-aware re-formating of an input
US20150277683A1 (en) * 2014-03-28 2015-10-01 Foneclay Inc. Adaptive user experience
EP2933796B1 (en) * 2014-04-17 2018-10-03 Softbank Robotics Europe Executing software applications on a robot
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
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
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
US10255267B2 (en) 2014-05-30 2019-04-09 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
CN104111738A (zh) * 2014-06-06 2014-10-22 珠海市魅族科技有限公司 一种字符关联方法及终端
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
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
CN104484057B (zh) * 2014-12-04 2018-04-13 百度在线网络技术(北京)有限公司 联想结果的提供方法和装置
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
CN105869631B (zh) * 2015-01-21 2019-08-23 上海羽扇智信息科技有限公司 语音预测的方法和装置
US9767091B2 (en) * 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
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
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
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
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
EP3093759B1 (en) 2015-05-11 2019-12-04 Samsung Electronics Co., Ltd. Electronic device and method for managing applications on an electronic device
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
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
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
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US9734000B2 (en) * 2015-06-18 2017-08-15 Microsoft Technology Licensing, Llc Seamless transitions between applications and devices
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US20170011303A1 (en) * 2015-07-09 2017-01-12 Qualcomm Incorporated Contact-Based Predictive Response
US20170031575A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital 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
US10148808B2 (en) 2015-10-09 2018-12-04 Microsoft Technology Licensing, Llc Directed personal communication for speech generating devices
US9679497B2 (en) 2015-10-09 2017-06-13 Microsoft Technology Licensing, Llc Proxies for speech generating devices
US10262555B2 (en) 2015-10-09 2019-04-16 Microsoft Technology Licensing, Llc Facilitating awareness and conversation throughput in an augmentative and alternative communication system
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
US10467888B2 (en) * 2015-12-18 2019-11-05 International Business Machines Corporation System and method for dynamically adjusting an emergency coordination simulation 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
CN105975540A (zh) 2016-04-29 2016-09-28 北京小米移动软件有限公司 信息显示方法及装置
US9760627B1 (en) * 2016-05-13 2017-09-12 International Business Machines Corporation Private-public context analysis for natural language content disambiguation
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
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
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
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
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
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
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
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
JP6727610B2 (ja) * 2016-09-05 2020-07-22 国立研究開発法人情報通信研究機構 文脈解析装置及びそのためのコンピュータプログラム
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
GB201620235D0 (en) * 2016-11-29 2017-01-11 Microsoft Technology Licensing Llc Neural network data entry system
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
WO2018204400A1 (en) * 2017-05-02 2018-11-08 Centaur Analytics, Inc. Systems and methods for post-harvest crop quality and pest management
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
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
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED 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
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION 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
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
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
CN110321012A (zh) * 2018-03-30 2019-10-11 北京金山安全软件有限公司 一种空上文词预测方法、装置及电子设备
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
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11763821B1 (en) * 2018-06-27 2023-09-19 Cerner Innovation, Inc. Tool for assisting people with speech disorder
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109597876B (zh) * 2018-11-07 2023-04-11 中山大学 一种基于强化学习的多轮对话答复选择模型及其方法
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
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
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
CN110187780B (zh) * 2019-06-10 2023-07-21 北京百度网讯科技有限公司 长文本预测方法、装置、设备和存储介质
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11181988B1 (en) 2020-08-31 2021-11-23 Apple Inc. Incorporating user feedback into text prediction models via joint reward planning

Family Cites Families (198)

* 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
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
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
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
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
US5031206A (en) 1987-11-30 1991-07-09 Fon-Ex, Inc. Method and apparatus for identifying words entered on DTMF pushbuttons
US4866759A (en) 1987-11-30 1989-09-12 Riskin Bernard N Packet network telecommunication system having access nodes with word guessing capability
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
JPH02117218A (ja) * 1988-10-27 1990-05-01 Toshiba Corp 命令指示装置
JPH02150899A (ja) 1988-12-02 1990-06-11 Toshiba Corp 音声認識方式
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
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
AU650210B2 (en) 1990-06-29 1994-06-09 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
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
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 ユーザへの情報提供方法
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
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
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
US6734881B1 (en) 1995-04-18 2004-05-11 Craig Alexander Will Efficient entry of words by disambiguation
US6392640B1 (en) 1995-04-18 2002-05-21 Cognitive Research & Design Corp. Entry of words with thumbwheel by disambiguation
US5825353A (en) 1995-04-18 1998-10-20 Will; Craig Alexander Control of miniature personal digital assistant using menu and thumbwheel
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
CN1154910C (zh) * 1995-07-26 2004-06-23 蒂吉通信系统公司 压缩键盘的明义系统
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
DE69625793T2 (de) 1995-09-29 2003-10-02 At & T Corp Telefonnetz-dienst zur umwandlung von sprache in wahltöne
US5726688A (en) * 1995-09-29 1998-03-10 Ncr Corporation Predictive, adaptive computer interface
JPH09114817A (ja) * 1995-10-13 1997-05-02 Matsushita Electric Ind Co Ltd 文字入力装置
US5917890A (en) 1995-12-29 1999-06-29 At&T Corp Disambiguation of alphabetic characters in an automated call processing environment
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
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
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
US5937380A (en) 1997-06-27 1999-08-10 M.H. Segan Limited Partenship Keypad-assisted speech recognition for text or command input to concurrently-running computer application
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
US6098086A (en) 1997-08-11 2000-08-01 Webtv Networks, Inc. Japanese text input method using a limited roman character set
US5999950A (en) 1997-08-11 1999-12-07 Webtv Networks, Inc. Japanese text input method using a keyboard with only base kana characters
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
DE69806780T2 (de) * 1997-09-25 2003-03-13 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
US7257528B1 (en) 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6574597B1 (en) 1998-05-08 2003-06-03 At&T Corp. Fully expanded context-dependent networks for speech recognition
US6121968A (en) * 1998-06-17 2000-09-19 Microsoft Corporation Adaptive menus
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
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US6646573B1 (en) * 1998-12-04 2003-11-11 America Online, Inc. Reduced keyboard text input system for the Japanese language
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
JP2002532792A (ja) 1998-12-10 2002-10-02 イートニ エルゴノミックス インコーポレイテッド 曖昧コードを基礎とするタッチタイプ装置およびそのような装置を設計する方法
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
US6204848B1 (en) 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
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
US6424743B1 (en) 1999-11-05 2002-07-23 Motorola, Inc. Graphical handwriting recognition user interface
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
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
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
JP4105841B2 (ja) 2000-07-11 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識方法、音声認識装置、コンピュータ・システムおよび記憶媒体
US6686852B1 (en) 2000-09-15 2004-02-03 Motorola, Inc. Keypad layout for alphabetic character input
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
US7027976B1 (en) 2001-01-29 2006-04-11 Adobe Systems Incorporated Document based character ambiguity resolution
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
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
US7103534B2 (en) 2001-03-31 2006-09-05 Microsoft Corporation Machine learning contextual approach to word determination for text input via reduced keypad keys
US7117144B2 (en) 2001-03-31 2006-10-03 Microsoft Corporation Spell checking 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
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
CN1554082A (zh) 2001-07-12 2004-12-08 通过小型数据输入单元增强数据输入的特征
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 通信装置、その制御方法、情報機器、その制御方法、通信システム、及び制御プログラム
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
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
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
GB2383459B (en) 2001-12-20 2005-05-18 Hewlett Packard Co Speech recognition system and method
US6934564B2 (en) 2001-12-20 2005-08-23 Nokia Corporation Method and apparatus for providing Hindi input to a device using a numeric keypad
US20030119561A1 (en) 2001-12-21 2003-06-26 Richard Hatch Electronic device
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
US6807529B2 (en) 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication
US6912581B2 (en) 2002-02-27 2005-06-28 Motorola, Inc. System and method for concurrent multimodal communication session persistence
US6864809B2 (en) 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
FI112999B (fi) * 2002-03-04 2004-02-13 Nokia Corp Menetelmä kannettavan elektronisen laitteen kontekstin määrittämiseen ja kannettava elektroninen laite
EP1347361A1 (en) 2002-03-22 2003-09-24 Sony Ericsson Mobile Communications AB Entering text into an electronic communications device
US7272564B2 (en) 2002-03-22 2007-09-18 Motorola, Inc. Method and apparatus for multimodal communication with user control of delivery modality
ATE295567T1 (de) 2002-03-22 2005-05-15 Sony Ericsson Mobile Comm Ab Texteingabe in ein elektronisches kommunikationsgerät
SG125895A1 (en) 2002-04-04 2006-10-30 Xrgomics Pte Ltd Reduced keyboard system that emulates qwerty-type mapping and typing
US7020849B1 (en) 2002-05-31 2006-03-28 Openwave Systems Inc. Dynamic display for communication devices
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
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
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
US20040127198A1 (en) * 2002-12-30 2004-07-01 Roskind James A. Automatically changing a mobile device configuration based on environmental condition
US20040127197A1 (en) 2002-12-30 2004-07-01 Roskind James A. Automatically changing a mobile device configuration
US6927763B2 (en) 2002-12-30 2005-08-09 Motorola, Inc. Method and system for providing a disambiguated keypad
US20040153975A1 (en) 2003-02-05 2004-08-05 Williams Roland E. Text entry mechanism for small keypads
US20040153963A1 (en) 2003-02-05 2004-08-05 Simpson Todd G. Information 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
WO2004111812A2 (en) 2003-06-18 2004-12-23 Zi Corporation Text entry system and method
WO2004111871A1 (en) 2003-06-18 2004-12-23 Zi Corporation Configurable information identification 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
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
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
US8161020B2 (en) 2004-11-15 2012-04-17 Zi Corporation Of Canada, Inc. Searching for and providing objects using byte-by-byte comparison
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
JP5071914B2 (ja) 2005-02-28 2012-11-14 ザイ デクマ アクチボラゲット 認識グラフ
CN101128837A (zh) 2005-02-28 2008-02-20 Zi德库玛股份公司 基于分割的辨认方法
WO2007056863A1 (en) 2005-11-21 2007-05-24 Zi Corporation Of Canada, Inc. Information delivery system and method for mobile appliances
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
CN101611417B (zh) 2006-12-01 2012-07-04 Zi德库玛股份公司 用于字符识别的方法

Also Published As

Publication number Publication date
EP1665078A4 (en) 2009-10-28
WO2005036413A1 (en) 2005-04-21
CA2537934A1 (en) 2005-04-21
EP2498190A3 (en) 2018-01-03
JP5305592B2 (ja) 2013-10-02
CA2537934C (en) 2010-12-07
TWI263163B (en) 2006-10-01
KR20070067646A (ko) 2007-06-28
US20050017954A1 (en) 2005-01-27
CN1707409B (zh) 2010-12-08
EP2498190A2 (en) 2012-09-12
CN1707409A (zh) 2005-12-14
US7679534B2 (en) 2010-03-16
EP1665078A1 (en) 2006-06-07
WO2005036413A8 (en) 2007-03-29
TW200513955A (en) 2005-04-16
KR100893447B1 (ko) 2009-04-17
JP2007506184A (ja) 2007-03-15

Similar Documents

Publication Publication Date Title
US7679534B2 (en) Contextual prediction of user words and user actions
US20100122164A1 (en) Contextual prediction of user words and user actions
US11614862B2 (en) System and method for inputting text into electronic devices
US9626355B2 (en) Contextual prediction of user words and user actions
RU2206118C2 (ru) Система устранения неоднозначности с уменьшенной клавиатурой
US8990738B2 (en) Explicit character filtering of ambiguous text entry
CN100361052C (zh) 在电子装置的用户界面中输入单词的方法及装置
US9026428B2 (en) Text/character input system, such as for use with touch screens on mobile phones
US20130002553A1 (en) Character entry apparatus and associated methods
US20050114770A1 (en) Electronic device and user interface and input method therefor
US20100131900A1 (en) Methods and Systems for Improved Data Input, Compression, Recognition, Correction, and Translation through Frequency-Based Language Analysis
WO1998033111A9 (en) Reduced keyboard disambiguating system
JP2004534425A6 (ja) 迅速テキストタイピングをサポートするハンドヘルド装置
US20110258551A1 (en) Inquiry-oriented user input apparatus and method
US7395512B2 (en) Character input system and communication terminal
WO2009027772A1 (en) Disambiguation of keypad text entry
JPH10187748A (ja) 情報検索方法及び装置及びコンピュータ可読メモリ