ES2318245T3 - Dispositivo electronico portatil con desambiguacion de texto. - Google Patents

Dispositivo electronico portatil con desambiguacion de texto. Download PDF

Info

Publication number
ES2318245T3
ES2318245T3 ES04253268T ES04253268T ES2318245T3 ES 2318245 T3 ES2318245 T3 ES 2318245T3 ES 04253268 T ES04253268 T ES 04253268T ES 04253268 T ES04253268 T ES 04253268T ES 2318245 T3 ES2318245 T3 ES 2318245T3
Authority
ES
Spain
Prior art keywords
objects
prefix
output
frequency
introduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04253268T
Other languages
English (en)
Inventor
Vadim Fux
Michael G. Elizarov
Sergey V. Kolomiets
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Application granted granted Critical
Publication of ES2318245T3 publication Critical patent/ES2318245T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/02Details
    • H03M11/04Coding of multifunction keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Electrotherapy Devices (AREA)
  • Saccharide Compounds (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

Un método de desambiguación de una entrada en un dispositivo electrónico portátil (4) que tiene un aparato de introducción (8), un aparato de salida (12) y una memoria (20) que tiene, almacenados en ella, una pluralidad de objetos de idioma y una pluralidad de objetos de frecuencia, de tal modo que cada objeto de idioma está asociado con un objeto de frecuencia asociado que tiene un valor de frecuencia que es indicativo de la frecuencia relativa del objeto de idioma dentro de un idioma dado, de manera que el aparato de introducción incluye una pluralidad de miembros de introducción, de tal modo que al menos algunos de los miembros de introducción tienen, cada uno de ellos, una pluralidad de caracteres asociados a los mismos, comprendiendo el método: detectar una entrada ambigua de un cierto número de accionamientos de miembro de introducción que comprenden al menos un primer accionamiento de miembro de introducción y un segundo accionamiento de miembro de introducción; generar un cierto número de objetos de prefijo, cada uno de los cuales tiene un cierto número de caracteres de los miembros de introducción de la entrada ambigua; generar un resultado al identificar, para cada uno de al menos algunos de los objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo; generar, para al menos algunos de los objetos de prefijo del resultado, un conjunto de salida de los objetos de prefijo del resultado, clasificados u ordenados de acuerdo con los valores de frecuencia asociado con ellos, de tal modo que uno de los objetos de prefijo del conjunto de salida es un resultado por defecto; determinar que un periodo de tiempo transcurrido entre el primer accionamiento de miembro de introducción y el segundo accionamiento de miembro de introducción es menor que un intervalo de tiempo predeterminado; en respuesta a dicha determinación, suministrar como salida el resultado por defecto y suprimir de la salida los otros objetos de prefijo del conjunto de salida.

Description

Dispositivo electrónico portátil con desambiguación de texto.
Antecedentes de la invención Campo de la invención
La invención se refiere generalmente a dispositivos electrónicos portátiles o de mano y, más particularmente, a un dispositivo electrónico portátil o de mano que tiene un teclado reducido y una función de desambiguación de entrada, y se refiere, también a un método asociado.
Información de antecedentes
Se conocen numerosos tipos de dispositivos electrónicos portátiles. Ejemplos de tales dispositivos electrónicos portátiles incluyen, por ejemplo, las asistentes de datos personales (PDAs -"personal data assistants"), las computadoras portátiles, los dispositivos buscadores o "buscas" de dos vías o en ambos sentidos, los teléfonos celulares y dispositivos similares. Muchos dispositivos electrónicos portátiles también presentan la capacidad de comunicación inalámbrica, si bien muchos de tales dispositivos electrónicos portátiles son dispositivos autónomos que pueden funcionar sin comunicarse con otros dispositivos.
Semejantes dispositivos electrónicos portátiles están, generalmente, destinados a ser portátiles y, en consecuencia, son de una configuración relativamente compacta en la que las teclas y otras estructuras de entrada a menudo llevan a cabo múltiples funciones en ciertas circunstancias, o bien pueden, de otro modo, presentar múltiples aspectos o características asignadas a las mismas. Con los avances en la tecnología, los dispositivos electrónicos portátiles se construyen de tal manera que tengan, progresivamente, factores de forma cada vez más pequeños y que, con todo, tengan números progresivamente mayores de aplicaciones y de características residentes o radicadas en ellos. Atendiendo a un aspecto práctico, las teclas de un cuadro o placa de teclas únicamente pueden reducirse hasta un cierto tamaño pequeño antes de que las teclas se hagan relativamente inutilizables. Sin embargo, con el fin de permitir la entrada de texto, una placa de teclas ha de ser capaz de introducir la totalidad de las veintiséis letras del alfabeto romano, por ejemplo, así como la puntuación apropiada y otros símbolos.
Una forma de proporcionar numerosas letras en un espacio pequeño ha venido consistiendo en un "teclado reducido" en el que se asignan a una tecla dada cualquiera múltiples letras, símbolos y/o dígitos, y elementos similares. Por ejemplo, un teléfono de tonos por pulsación incluye una placa de teclas que se ha reducido al proporcionar doce teclas, de las cuales diez tienen dígitos en ellas y, de estas diez teclas, ocho tienen letras romanas a ellas asignadas. Una de las teclas, póngase por caso, incluye el dígito "2" así como las letras "A", "B" y "C". Otros teclados reducidos conocidos han incluido otras disposiciones de teclas, letras, símbolos, dígitos y elementos similares. Puesto que un único accionamiento de dicha tecla podría tener potencialmente como intención, por parte del usuario, referirse a cualquiera de las letras "A", "B" y "C", y podría también, potencialmente, estar destinado a referirse al dígito "2", la entrada es, generalmente, una entrada ambigua y requiere algún tipo de desambiguación para que sea útil para propósitos de introducción de texto.
Con el fin de permitir a un usuario hacer uso de las múltiples letras, dígitos y elementos similares, se han proporcionado numerosos sistemas de interpretación de las pulsaciones de teclas. Por ejemplo, un sistema "de múltiples toques o pulsaciones" permite a un usuario especificar de una forma sustancialmente no ambigua o inequívoca un carácter concreto de una tecla, al apretar la misma tecla un número de veces equivalente a la posición del carácter deseado en la tecla. Por ejemplo, en la tecla de teléfono anteriormente mencionada que incluye las letras "ABC", y si el usuario desea especificar la letra "C", el usuario pulsará la tecla tres veces. Si bien dichos sistemas de múltiples toques han venido siendo, en general, efectivos para sus propósitos pretendidos, pueden requerir, sin embargo, un número relativamente grande de entradas de tecla en comparación con el número de caracteres que se suministran finalmente como salida.
Otro sistema de interpretación de pulsaciones de teclas proporcionado a modo de ejemplo incluirá la combinación o concurrencia de teclas, de la cual existen varios tipos. Por ejemplo, un carácter concreto puede ser introducido presionando dos teclas en sucesión, o bien presionando o manteniendo apretada una primera tecla al tiempo que se aprieta una segunda tecla. Aún otro sistema de interpretación de pulsaciones de teclas proporcionado a modo de ejemplo sería una función de interpretación de "apretar y mantener/apretar y soltar", en la que una tecla dada proporciona una primer resultado si la tecla es pulsada e inmediatamente liberada, y proporciona un segundo resultado si la tecla es apretada de muevo y mantenida así durante un corto periodo de tiempo. Si bien estos sistemas han venido siendo, de la misma manera, generalmente eficaces para los propósitos a los que están destinados, tales sistemas tienen también sus propias desventajas específicas.
Otro sistema de interpretación de pulsaciones de teclas que se ha venido empleando es una función de desambiguación de texto basada en software o programación. En tal sistema, un usuario aprieta, típicamente, teclas a las que se han asignado uno o más caracteres, presionando generalmente cada tecla una vez para cada letra deseada, y el software de desambiguación trata de predecir la entrada deseada. Se ha propuesto un gran número de tales sistemas y, si bien muchos han resultado generalmente eficaces para los propósitos a los que se han destinado, aún existen deficiencias.
Sería deseable proporcionar un dispositivo electrónico portátil mejorado que tenga un teclado reducido y que se proponga imitar o reproducir la experiencia con un teclado QWERTY o la experiencia con otro teclado particular. Semejante dispositivo electrónico portátil mejorado podría también, deseablemente, estar configurado con las suficientes características como para hacer posible la introducción de texto y otras tareas con relativa facilidad.
Compendio de la invención
A la vista de lo anterior, un dispositivo electrónico portátil mejorado incluye un cuadro o placa de teclas en forma de un teclado QWERTY reducido, y se ha capacitado de un software o programación de desambiguación. Al introducir el usuario pulsaciones de teclas, el dispositivo proporciona una salida en forma de una salida por defecto y diversas variantes entre las que el usuario puede escoger. La salida está basada, en gran medida, en la frecuencia, es decir, en la probabilidad de que un usuario pretenda una salida concreta, pero diversas características del dispositivo proporcionan variantes adicionales que no están únicamente basadas en la frecuencia y que, antes bien, se proporcionan por diversas estructuras lógicas radicadas en el dispositivo. El dispositivo permite editar durante la introducción de texto y también proporciona una función de aprendizaje que permite a la función de desambiguación adaptarse para proporcionar una experiencia personalizada para el usuario. En ciertas circunstancias predefinidas, la función de desambiguación puede ser inhabilitada selectivamente y proporcionarse un sistema alternativo de interpretación de pulsaciones de teclas. Adicionalmente, el dispositivo puede facilitar la selección de variantes al presentar visualmente un gráfico de una tecla especial <SIGUIENTE> ("<NEXT>") de la placa de teclas, y permite a un usuario seleccionar progresivamente variantes, generalmente, sin cambiar la posición de las manos del usuario en el dispositivo.
De acuerdo con ello, un aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil y un método asociado, de tal manera que el dispositivo electrónico portátil incluye un teclado reducido cuyo propósito es imitar o reproducir la experiencia con un teclado QWERTY o la experiencia con otro teclado particular.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que proporcionan una función de desambiguación en la entrada de texto.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que emplean una función de desambiguación que, en respuesta a una entrada ambigua, proporciona diversas salidas propuestas, de acuerdo con su frecuencia relativa.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que proporcionan diversas salidas propuestas que pueden estar basadas en la frecuencia relativa y/o pueden resultar de diversas estructuras lógicas residentes o radicadas en el dispositivo.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que permiten una experiencia personalizada por parte de un usuario basándose en diversas características de aprendizaje y otras características.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que emplean una función de desambiguación que puede ser selectivamente inhabilitada o desactivada en ciertas circunstancias predefinidas.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado, de tal manera que el dispositivo electrónico portátil incluye un aparato de introducción que facilita la selección de variantes con relativa facilidad.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado y un método asociado que emplean una función de desambiguación para eliminar la ambigüedad en el texto introducido en un teclado QWERTY o en otro teclado, y que permiten la edición de la entrada de texto.
De acuerdo con ello, un aspecto de la invención consiste en proporcionar un método mejorado de desambiguación de una entrada en un dispositivo electrónico portátil que incluye un aparato de introducción, un aparato de salida y una memoria que tiene una pluralidad de objetos almacenados en ella. La pluralidad de objetos incluye una pluralidad de objetos de idioma y una pluralidad de objetos de frecuencia, de tal modo que cada uno de al menos una parte de los objetos de idioma de la pluralidad de objetos de idioma está asociado con un objeto de frecuencia asociado de la pluralidad de objetos de frecuencia. La pluralidad de objetos de idioma incluye una pluralidad de objetos de palabra y una pluralidad de objetos de grafía de orden n o n-grafía, de tal modo que sustancialmente cada objeto de n-grafía de la pluralidad de objetos de n-grafía incluye al menos un primer carácter. El aparato de introducción incluye una pluralidad de miembros de introducción, de tal manera que cada uno de al menos una parte de los miembros de introducción de la pluralidad de miembros de introducción tiene una pluralidad de caracteres asignados a él. La naturaleza general del método puede establecerse, generalmente, de modo que incluye detectar una entrada ambigua que incluye un cierto número de accionamientos de miembro de introducción de un cierto número de miembros de introducción de la pluralidad de miembros de introducción, de tal modo que el número de accionamientos de miembro de introducción incluye al menos un primer accionamiento de miembro de introducción y un segundo accionamiento de miembro de introducción, de manera que cada uno de al menos una parte de los miembros de introducción del número de miembros de introducción incluye un cierto número de caracteres asignados a él, y de modo que al menos uno de los miembros de introducción del número de miembros de introducción tiene una pluralidad de caracteres asignados a él. El método incluye adicionalmente generar un cierto número de objetos de prefijo correspondientes a la entrada ambigua, de tal forma que cada objeto de prefijo del número de objetos de prefijo incluye un cierto número de los caracteres del número de los miembros de introducción de la entrada ambigua. El método incluye, adicionalmente, para cada objeto de prefijo de al menos una parte del número de objetos de prefijo, buscar un objeto de idioma correspondiente de la pluralidad de objetos de idioma, que se corresponda con el objeto de prefijo. El método incluye, adicionalmente, generar un resultado, para cada objeto de prefijo de al menos una parte del número de objetos de prefijo, de manera que la al menos una parte es una cantidad de una de entre las opciones cero y mayor que cero, al identificar un objeto de palabra de la pluralidad de objetos de palabra, de tal modo que el objeto de palabra identificado se corresponda con el objeto de prefijo, obtener un objeto de frecuencia asociado de entre la pluralidad de objetos de frecuencia, de forma que el objeto de frecuencia asociado esté asociado con el objeto de palabra identificado y tenga un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado con el objeto de prefijo. El método incluye, adicionalmente, generar, para al menos una parte de los objetos de prefijo del resultado, un conjunto de salida de los objetos de prefijo, clasificados de acuerdo con los valores de frecuencia asociados con ellos, de tal modo que uno de los objetos de prefijo del conjunto de salida es el objeto de prefijo del conjunto de salida con el que está asociado un valor de frecuencia relativamente más alto de entre los valores de frecuencia del conjunto de salida. El método incluye, adicionalmente, determinar un periodo o duración del tiempo transcurrido entre el primer accionamiento de miembro de introducción y el segundo accionamiento de miembro de introducción, determinar si el periodo de tiempo transcurrido es menor que un intervalo de tiempo predeterminado, y suministrar como salida una salida por defecto que incluye ese uno de los objetos de prefijo del conjunto de salida.
Otro aspecto de la invención consiste en proporcionar un dispositivo electrónico portátil mejorado, cuya naturaleza general puede establecerse de modo que incluye una unidad de procesamiento o tratamiento que incluye un procesador, un aparato de introducción, un aparato de salida y una memoria que tiene una pluralidad de objetos y una rutina almacenadas en ella. La pluralidad de objetos incluye una pluralidad de objetos de idioma y una pluralidad de objetos de frecuencia, de tal modo que cada uno de al menos una parte de los objetos de idioma de la pluralidad de objetos de idioma está asociado con un objeto de frecuencia asociado de la pluralidad de objetos de frecuencia. La pluralidad de objetos de idioma incluye una pluralidad de objetos de palabra y una pluralidad de objetos de grafía de orden n o n-grafía, de tal forma que sustancialmente cada objeto de n-grafía de la pluralidad de objetos de n-grafía incluye al menos un primer carácter. El aparato de introducción incluye una pluralidad de miembros de introducción, de tal modo que cada uno de al menos una parte de los miembros de introducción de la pluralidad de miembros de introducción tiene una pluralidad de caracteres a él asignados. La rutina está concebida para detectar una entrada ambigua que incluye un cierto número de accionamientos de miembro de introducción de un cierto número de los miembros de introducción de la pluralidad de miembros de introducción, de tal modo que el número de accionamientos de miembro de introducción incluye al menos un primer accionamiento de miembro de introducción y un segundo accionamiento de miembro de introducción, de manera que cada uno de al menos una parte de los miembros de introducción del número de miembros de introducción incluye un cierto número de caracteres asignados a él, y de forma tal, que al menos uno de los miembros de introducción del número de miembros de introducción tiene una pluralidad de caracteres asignados a él. La rutina está concebida para generar un cierto número de objetos de prefijo correspondientes a la entrada ambigua, de tal modo que cada objeto de prefijo del número de objetos de prefijo incluye un cierto número de los caracteres del número de miembros de introducción de la entrada ambigua. Para cada objeto de prefijo de al menos una parte del número de objetos de prefijo, la rutina está concebida para buscar un objeto de idioma correspondiente de la pluralidad de objetos de idioma que se corresponde con el objeto de prefijo. La rutina está concebida para generar un resultado, para cada objeto de prefijo de al menos una parte del número de objetos de prefijo, siendo la al menos una parte una cantidad de una de entre las opciones cero y mayor que cero, al identificar un objeto de palabra de la pluralidad de objetos de palabra, de tal modo que el objeto de palabra identificado se corresponda con el objeto de prefijo, obtener un objeto de frecuencia asociado de entre la pluralidad de objetos de frecuencia, de forma que el objeto de frecuencia asociado esté asociado con el objeto de palabra identificado y tenga un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado con el objeto de prefijo. Para al menos una parte de los objetos de prefijo del resultado, la rutina está concebida para generar un conjunto de salida de los objetos de prefijo, clasificados de acuerdo con los valores de frecuencia asociados con ellos, de tal modo que uno de los objetos de prefijo del conjunto de salida es el objeto de prefijo del conjunto de salida con el que está asociado un valor de frecuencia relativamente más alto de entre los valores de frecuencia del conjunto de salida. La rutina está concebida para determinar un periodo o duración del tiempo transcurrido entre el primer accionamiento de miembro de introducción y el segundo accionamiento de miembro de introducción. La rutina está concebida para determinar si el periodo de tiempo transcurrido es menor que un intervalo de tiempo predeterminado, y está concebida para suministrar como salida una salida por defecto que incluye ese uno de los objetos de prefijo del conjunto de salida.
Breve descripción de los dibujos
Puede llegarse a una comprensión completa de la invención a partir de la siguiente descripción de la realización preferida, cuando se lee en combinación con los dibujos que se acompañan, en los cuales:
La Figura 1 es una vista en planta superior de un dispositivo electrónico portátil mejorado, de acuerdo con la invención;
La Figura 2 es una ilustración esquemática del dispositivo electrónico portátil mejorado de la Figura 1;
La Figura 2a es una ilustración esquemática de una parte del dispositivo electrónico portátil de la Figura 2;
Las Figuras 3a y 3b son un diagrama de flujo a modo de ejemplo que ilustra ciertos aspectos de una función de desambiguación que puede ser llevada a cabo en el dispositivo electrónico portátil de la Figura 1;
La Figura 4 es otro diagrama de flujo proporcionado a modo de ejemplo y que ilustra ciertos aspectos de una función de desambiguación que puede ser llevada a cabo en el dispositivo electrónico portátil y por la cual pueden ser proporcionadas al usuario ciertas variantes de salida;
Las Figuras 5a y 5b son otro diagrama de flujo proporcionado a modo de ejemplo y que ilustra ciertos aspectos del método de aprendizaje que pueden ser llevados a cabo en el dispositivo electrónico portátil;
La Figura 6 es otro diagrama de flujo proporcionado a modo de ejemplo y que ilustra ciertos aspectos de un método por el cual pueden proporcionarse diversos formatos de presentación visual en el dispositivo electrónico portátil;
La Figura 7 es una salida proporcionada a modo de ejemplo, durante una operación de introducción de texto;
La Figura 8 es otra salida proporcionada a modo de ejemplo, durante otra parte de la operación de introducción de texto;
La Figura 9 es otra salida proporcionada a modo de ejemplo, durante otra parte de la operación de introducción de texto;
La Figura 10 es otra salida proporcionada a modo de ejemplo, durante otra parte de la operación de introducción de texto;
La Figura 11 es una salida proporcionada a modo de ejemplo, en el dispositivo electrónico portátil, durante otra operación de introducción de texto; y
La Figura 12 es una salida proporcionada a modo de ejemplo y que puede ser aportada en un caso en el que se haya inhabilitado o desactivado la función de desambiguación del dispositivo electrónico portátil.
Los mismos números de referencia se refieren a partes similares a lo largo de la descripción.
Descripción de la realización preferida
Un dispositivo electrónico portátil mejorado 4 se indica generalmente en la Figura 1 y se ilustra esquemáticamente en la Figura 2. El dispositivo electrónico portátil 4 proporcionado a modo de ejemplo incluye un alojamiento 6 en el que se disponen una unidad procesadora que incluye un aparato de introducción 8, un aparato de salida 12, un procesador 16, una memoria 20 y al menos una primera rutina. El procesador 16 puede ser, por ejemplo, y sin limitación, un microprocesador (\mup) y es sensible a entradas desde el aparato de introducción 8, y proporciona señales de salida al aparato de salida 12. El procesador 16 también actúa como elemento intermedio o interfaz con la memoria 20. Ejemplos de dispositivos electrónicos portátiles se incluyen en las Patentes Nos. 6.452.588 y 6.489.950, que se incorporan aquí como referencia.
Como puede comprenderse por la Figura 1, el aparato de salida 8 incluye un cuadro o placa 24 de teclas y una ruedecilla de accionamiento manual 32. Como se describirá con mayor detalle más adelante, la placa 24 de teclas se da en la forma ejemplar de un teclado QWERTY reducido que incluye una pluralidad de teclas 28 que sirven como miembros de introducción. Se aprecia, sin embargo, que la placa 24 de teclas puede ser de otras configuraciones, tales como un teclado AZERTY, un teclado QWERTZ u otra disposición de teclado, ya sea presentemente conocido o desconocido, y ya sea reducido o no reducido. A este respecto, la expresión "reducido" y las variaciones de la misma, en el contexto de un teclado, una placa de teclas u otra disposición de miembros de introducción, se referirá en sentido amplio a una disposición en la que al menos uno de los miembros de introducción tenga, asignada a él, una pluralidad de caracteres dentro de un conjunto dado, tal como una pluralidad de letras, por ejemplo, del conjunto de las letras romanas, por ejemplo, por lo que se hace ambiguo un resultado pretendido de un accionamiento del al menos uno de los miembros de introducción.
A este respecto, tal y como se expondrá más adelante con mayor detalle, la arquitectura o estructura de sistema del dispositivo electrónico portátil 4 está organizada, ventajosamente, de manera que pueda hacerse funcionar independientemente de la disposición específica de la placa 24 de teclas. De acuerdo con ello, la arquitectura de sistema del dispositivo electrónico portátil 4 puede ser empleada en combinación con, prácticamente, cualquier disposición de placa de teclas sin que se requiera, sustancialmente, ningún cambio significativo en la arquitectura de sistema. Se aprecia, además, que ciertas de las características que aquí se exponen son susceptibles de utilizarse en uno o en ambos de un teclado reducido y un teclado no reducido.
Las teclas 28 están dispuestas en una cara anterior o frontal del alojamiento 6, y la ruedecilla de accionamiento manual 32 está dispuesta en un lado del alojamiento 6. La ruedecilla de accionamiento manual 34 puede servir como otro miembro de introducción y es tanto rotativa, según se indica por la flecha 34, a fin de proporcionar entradas de selección para el procesador 16, como también susceptible de ser apretada en un sentido generalmente hacia el alojamiento 6, tal y como se indica por la flecha 38, a fin de proporcionar otra entrada de selección para el procesador 16.
Entre las teclas 28 de la placa 24 de teclas existe una tecla <SIGUIENTE> ("<NEXT>") 40 y una tecla
<INTRODUCIR> ("<ENTER>") 44. La tecla <SIGUIENTE> 40 puede ser apretada para proporcionar una entrada de selección para el procesador 16 y proporciona sustancialmente la misma entrada de selección que es proporcionada por una entrada rotacional de la ruedecilla de accionamiento manual 32. Como la tecla <SIGUIENTE> 40 está dispuesta adyacente a un cierto número de las otras teclas 28 de la placa 24 de teclas, el usuario puede proporcionar una entrada de selección para el procesador 16 sustancialmente sin mover las manos del usuario lejos de la placa 24 de teclas durante una operación de introducción de texto. Como se describirá con mayor detalle más adelante, la tecla <SIGUIENTE> 40 incluye, de manera adicional y ventajosa, un gráfico 42 dispuesto en ella, y, en ciertas circunstancias, el aparato de salida 12 presenta también visualmente un gráfico 46 visualmente presentado en el mismo para identificar la tecla <SIGUIENTE> 40 como capaz de proporcionar una entrada de selección para el procesador 16. A este respecto, el gráfico 46 visualmente presentado del aparato de salida 12 es sustancialmente similar al gráfico 42 de la tecla <SIGUIENTE> y, por tanto, identifica la tecla <SIGUIENTE> 40 como capaz de proporcionar una entrada de selección deseable para el procesador 16.
Como puede observarse adicionalmente en la Figura 1, muchas de las teclas 28 incluyen un cierto número de caracteres 48 dispuestos en ellas. Tal y como se emplea aquí, la expresión "un cierto número de" y las variaciones de la misma harán referencia en un sentido amplio a cualquier cantidad, incluyendo una cantidad de uno, y, en ciertas circunstancias, pueden referirse aquí también a una cantidad de cero. En la exposición proporcionada a modo de ejemplo de la placa 24 de teclas, muchas de las teclas 28 incluyen dos caracteres, como son la inclusión de un primer carácter 52 y de un segundo carácter 56, asignados a ella. Se comprende que la expresión "caracteres" será interpretada en un sentido amplio, de manera que incluya letras, dígitos, símbolos y elementos similares, y pueda incluir, adicionalmente, caracteres ideográficos, componentes de los mismos y otros elementos similares.
Una de las teclas 28 de la placa 24 de teclas incluye como caracteres 48 de la misma las letras "Q" y "W", y una tecla 28 adyacente incluye como caracteres 48 de la misma las letras "E" y "R". Puede observarse que la disposición de los caracteres 48 en las teclas 28 de la placa 24 de teclas es, generalmente, una disposición QWERTY, aunque en ella muchas de las teclas 28 incluyen dos de los caracteres 28.
El aparato de salida 12 incluye un dispositivo de presentación visual 60 en el que puede proporcionarse una salida 64. Una salida 64 proporcionada a modo de ejemplo se ha representado en el dispositivo de presentación visual 60 de la Figura 1. La salida 64 incluye un componente de texto 68 y un componente de variante 72. El componente de variante 72 incluye una porción por defecto 76 y una porción de variante 80. La presentación visual también incluye un símbolo de intercalación 84 que representa generalmente el lugar en el que se recibirá la siguiente entrada desde el aparato de introducción 8.
El componente de texto 68 de la salida 64 proporciona una representación de la porción por defecto 76 de la salida 64 en la posición del dispositivo de presentación visual 60 en el que el texto está siendo introducido. El componente de variante 72 está dispuesto generalmente en las proximidades del componente de texto 68 y proporciona, además de la salida propuesta por defecto 76, una representación de las diversas alternativas de elección de texto, es decir, alternativas de la salida propuesta por defecto 76, que son propuestas por una función de desambiguación de entrada en respuesta a una secuencia de entrada de los accionamientos de tecla de las teclas 28.
Como se describirá con mayor detalle más adelante, la porción por defecto 76 es propuesta por la función de desambiguación por ser la interpretación sin ambigüedad o inequívoca más probable de la entrada ambigua proporcionada por el usuario. La porción de variante 80 incluye una cantidad predeterminada de interpretaciones alternativas propuestas de la misma entrada ambigua, de entre las cuales puede seleccionar el usuario puede seleccionar si lo desea. El gráfico visualmente presentado 46 se proporciona, típicamente, dentro del componte de variante 72 situado cerca de la porción de variante 80, si bien se comprende que el gráfico visualmente presentado 46 puede proporcionarse en otras ubicaciones y con otras formas sin apartarse del concepto de la invención. Se aprecia también que la porción de variante 80 proporcionada a modo de ejemplo se ilustra aquí de modo que se extiende verticalmente por debajo de la porción por defecto 76, si bien se comprende que es posible proporcionar otras muchas disposiciones sin apartarse del concepto de la invención.
Entre las teclas 28 de la placa 24 de teclas existe, adicionalmente, una tecla <BORRAR> ("<DELETE>") 86 que puede proporcionarse para borrar una entrada de texto. Como se describirá con mayor detalle más adelante, la tecla <BORRAR> 86 puede también emplearse a la hora de proporcionar una entrada alternativa para el procesador 16 para su uso por parte de la función de desambiguación.
La memoria 20 se ha ilustrado esquemáticamente en la Figura 2A. La memoria 20 puede ser de cualquiera de una variedad de tipos de medio de almacenamiento interno y/o externo, tales como, y sin estar limitada por éstos, RAM [memoria de acceso aleatorio ("random access memory")], ROM [memoria de sólo lectura ("read-only memory")], EPROM(s) [memoria de sólo lectura programable y borrable ("erasable programmable read-only memory")], EEPROM(s) [memoria de sólo lectura programable y borrable eléctricamente ("electrically erasable programmable read-only memory")] y similares, que proporciona un registro de almacenamiento para el almacenamientos de datos que se da en una forma tal como una zona de almacenamiento interno de una computadora, y puede ser una memoria volátil o una memoria no volátil. La memoria 20 incluye, adicionalmente, un cierto número de rutinas ilustradas generalmente con el número de referencia 22, para el procesamiento o tratamiento de los datos. Las rutinas 22 pueden darse en cualquiera de una variedad de formas, tales como software o programación, firmware o programas instalados de forma permanente en el hardware, y similares, sin estar limitadas por éstas. Tal y como se explicará con mayor detalle más adelante, las rutinas 22 incluyen la función de desambiguación anteriormente mencionada como una aplicación, así como otras rutinas.
Como puede comprenderse por la Figura 2A, la memoria 22 incluye, adicionalmente, datos almacenados y/o organizados en un cierto número de tablas, conjuntos, listas, y/o de otra manera. Específicamente, la memoria 20 incluye una lista 88 de palabras genéricas, una base de datos 92 de palabras nuevas y una base de datos 96 de aprendizaje de frecuencia. Almacenado dentro de las diversas zonas de la memoria 20, se encuentra un cierto número de objetos 100 de idioma y objetos 104 de frecuencia. Los objetos 100 de idioma incluyen una pluralidad de objetos 108 de palabra y una pluralidad de objetos 112 de grafía de orden N o N-grafía. Los objetos 108 de palabra son, generalmente, representativos de palabras completas dentro del idioma o palabras personalizadas que están almacenadas en la memoria 22. Por ejemplo, si el idioma almacenado en la memoria es, póngase por caso, el inglés, generalmente cada objeto 108 de palabra representará una palabra en el idioma inglés o representará una palabra personalizada.
Asociado con, sustancialmente, cada objeto 108 de palabra, se encuentra un objeto 104 de frecuencia que tiene un valor de frecuencia que es indicativo de la frecuencia relativa, dentro del idioma en cuestión, de la palabra dada, representada por el objeto 108 de palabra. A este respecto, la lista 88 de palabras genéricas incluye un cuerpo de objetos 108 de palabra y de objetos 104 de frecuencia asociados que, conjuntamente, son representativos de una amplia variedad de palabras y de su frecuencia relativa dentro de una lengua vernácula de, por ejemplo, un idioma dado. La lista 88 de palabras genéricas puede ser obtenida de cualquiera de una amplia variedad de formas, tal como mediante el análisis de numerosos textos y otras fuentes idiomáticas con el fin de determinar las diversas palabras dentro de las fuentes idiomáticas y sus probabilidades relativas, esto es, las frecuencias relativas de las apariciones de las diversas palabras dentro de las fuentes idiomáticas.
Los objetos 112 de N-grafía almacenados dentro de la lista 88 de palabras genéricas consisten en cadenas cortas de caracteres dentro del idioma considerado, típicamente, por ejemplo, de uno a tres caracteres de longitud, y que representan, típicamente, fragmentos de palabras dentro del idioma del que se trate, si bien ciertos de los objetos 112 de N-grafía pueden, adicionalmente, consistir por sí mismos en palabras. Sin embargo, en la medida en que un objeto 112 de N-grafía sea también una palabra perteneciente al idioma en cuestión, es probable que esa misma palabra se encuentre almacenada por separado como un objeto 108 de palabra dentro de la lista 88 de palabras genéricas. Tal y como se emplea aquí, la expresión "cadena" y las variaciones de la misma harán referencia en un sentido amplio a un objeto que tiene uno o más caracteres o componentes, y puede referirse a cualquiera de entre una palabra completa, un fragmento de palabra, una palabra o expresión personalizada y elementos similares.
En la presente realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4, los objetos 112 de N-grafía incluyen objetos de grafía de orden 1 ó 1-grafía, es decir, objetos de cadena que tienen una longitud de un carácter, objetos de grafía de orden 2 ó 2-grafía, esto es, objetos de cadena que tienen dos caracteres de longitud, y objetos de grafía de orden 3 ó 3-grafía, es decir, objetos de cadena que tienen tres caracteres de longitud, a todos los cuales se hace referencia colectivamente o en conjunto como N-grafías 112. Sustancialmente, cada objeto 112 de N-grafía de la lista 88 de palabras genéricas está similarmente asociado con un objeto 104 de frecuencia asociado, almacenado dentro de la lista 88 de palabras genéricas, pero el objeto 104 de frecuencia asociado con un objeto 112 de N-grafía dado tiene un valor de frecuencia que indica la probabilidad relativa de que la cadena de caracteres representada por el objeto 112 de N-grafía particular exista en cualquier posición dentro de cualquier palabra del idioma de que se trate. Los objetos 112 de N-grafía y los objetos 104 de frecuencia asociados constituyen una parte del cuerpo de la lista 88 de palabras genéricas y se obtienen de una forma similar al modo como son obtenidos el objeto 108 de palabra y los objetos 104 de frecuencia asociados, si bien el análisis llevado a cabo a la hora de obtener los objetos 112 de N-grafía será ligeramente diferente debido a que éste implicará el análisis de las diversas cadenas de caracteres dentro de las diversas palabras, en lugar de basarse fundamentalmente en la aparición relativa de una palabra dada.
La presente realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4, en la que el idioma a modo de ejemplo es el idioma inglés, incluye veintiséis objetos 112 de N-grafía de 1-grafía, es decir, un objeto de 1-grafía para cada de una de las veintiséis letras del alfabeto romano en las que está basado el idioma inglés, e incluye adicionalmente 672 objetos 112 de N-grafía de 2-grafía, esto es, veintiséis al cuadrado, que representan cada una de las permutaciones de dos letras de las veintiséis letras contenidas en el alfabeto romano.
Los objetos 112 de N-grafía incluyen también una cierta cantidad de objetos 112 de N-grafía de 3-grafía, fundamentalmente los que tienen una frecuencia relativamente alta dentro del idioma en cuestión. La realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4 incluye un número menor que la totalidad de las permutaciones de tres letras de las veintiséis letras del alfabeto romano, debido a consideraciones relativas al tamaño de almacenamiento de datos y también debido a que los objetos 112 de N-grafía de grafía de orden 2 ó 2-grafía pueden ya proporcionar una cantidad significativa de información referente al idioma considerado. Tal y como se expondrá con mayor detalle más adelante, los objetos 112 de N-grafía y sus objetos 104 de frecuencia asociados proporcionan datos de frecuencia que pueden ser atribuidos a cadenas de caracteres para las que no puede ser identificado o no se ha identificado ningún objeto 108 de palabra correspondiente, y que se emplean, típicamente, como fuentes de datos de reserva, si bien esta necesidad no es exclusivamente el caso.
En la presente realización proporcionada a modo de ejemplo, los objetos 100 de idioma y los objetos 104 de frecuencia se mantienen sustancialmente intactos en la lista 88 de palabras genéricas, lo que significa que el cuerpo idiomático básico permanece sustancialmente inalterado dentro de la lista 88 de palabras genéricas, y que las funciones de aprendizaje que se proporcionan por el dispositivo electrónico portátil 4 y que se describen más adelante, operan en conjunción con otros objetos que se almacenan generalmente en algún otro lugar de la memoria 20, tal como, por ejemplo, en la base de datos 92 de palabras nuevas y en la base de datos 96 de aprendizaje de frecuencia.
La base de datos 92 de palabras nuevas y la base de datos 96 de aprendizaje de frecuencia almacenan objetos 108 de palabra y objetos 104 de frecuencia asociados, a fin de proporcionar a un usuario una experiencia particularizada o personalizada en la que las palabras y los elementos similares que se utilicen de forma relativamente más frecuente por parte de un usuario, se asocien con valores de frecuencia relativamente más altos que lo que podría, de otra manera, verse reflejado en la lista 88 de palabras genéricas. Más concretamente, la base de datos 92 de palabras nuevas incluye objetos 108 de palabra que se han definido por el usuario y que, generalmente, no se encuentran entre los objetos 108 de palabra de la lista 88 de palabras genéricas. Cada objeto 108 de la base de datos 92 de palabras nuevas tiene, asociado con él, un objeto 104 de frecuencia asociado que está también almacenado en la base de datos 92 de palabras nuevas. La base de datos 96 de aprendizaje de frecuencia almacena objetos 108 de palabra y sus objetos 104 de frecuencia asociados que son indicativos de un uso de dichas palabras por parte de un usuario relativamente más frecuente que lo que se vería reflejado en la lista 88 de palabras genéricas. Como tales, la base de datos 92 de palabras nuevas y la base de datos 96 de aprendizaje de frecuencia proporcionan dos funciones de aprendizaje, es decir, proporcionan conjuntamente la facultad de aprender nuevas palabras así como la facultad de aprender valores de frecuencia alterados para palabras conocidas.
Las Figuras 3a y 3b ilustran de un modo proporcionado como ejemplo el funcionamiento general de ciertos aspectos de la función de desambiguación del dispositivo electrónico portátil 4. Características, funciones y otros elementos similares adicionales se ilustran y describen en otros lugares.
Según se indica por la referencia 204, se detecta una entrada, entrada que puede ser cualquier tipo de accionamiento u otra operación concerniente a cualquier parte del aparato de introducción 8. Una entrada típica incluirá, por ejemplo, un accionamiento de una tecla 28 que tiene un cierto número de caracteres 48 en ella, o bien cualquier otro tipo de accionamiento o manipulación del aparato de entrada 8.
Al detectarse una entrada según se indica por la referencia 204, se restablece un temporizador, de acuerdo con la referencia 208. El uso del temporizador se describirá con mayor detalle más adelante.
La función de desambiguación determina entonces, según se indica en la referencia 212, si la entrada en curso es una entrada operacional, tal como una entrada de selección, una entrada delimitadora, una entrada de movimiento, una entrada alternancia o, por ejemplo, cualquier otra entrada que no constituya un accionamiento de una tecla 28 que tenga un cierto número de caracteres 48 en ella. Si se determina, según se indica con la referencia 212, que no es una entrada operacional, el tratamiento prosigue de acuerdo con la referencia 216, añadiendo la entrada a la secuencia de entrada en curso, que puede o no incluir ya una entrada.
Muchas de las entradas detectadas según se indica con la referencia 204 se emplean para generar secuencias de entrada de acuerdo con las cuales se llevará a cabo la función de desambiguación. En cada "sesión" se construye una secuencia de entrada con cada accionamiento de una tecla 28 que tenga un cierto número de caracteres 48 en ella. Puesto que una secuencia de entrada estará, típicamente, constituida por al menos un accionamiento de una tecla 28 que tiene una pluralidad de caracteres 48 en ella, la secuencia de entrada será ambigua. Cuando se completa, por ejemplo, una palabra, se pone fin a la sesión en curso y se inicia una nueva sesión.
Se construye gradualmente una secuencia de entrada en el dispositivo electrónico portátil 4 con cada accionamiento sucesivo de una tecla 28 durante cualquier sesión dada. Concretamente, una vez detectada una entrada delimitadora durante cualquier sesión dada, se pone fin a la sesión y se inicia una nueva sesión. Cada entrada resultante de un accionamiento de una de las teclas 28 que tiene un cierto número de los caracteres 48 asociado con ella, se añade secuencialmente a la secuencia de entrada en curso. A medida que crece la secuencia de entrada en el curso de una sesión dada, se ejecuta o lleva a cabo, generalmente, la función de desambiguación con cada accionamiento de una tecla 28, es decir, una entrada, y por lo que respecta a toda la secuencia de entrada. Dicho de otra manera, dentro de una sesión dada, se intenta desambiguar la secuencia de entrada creciente, como una unidad por parte de la función de desambiguación, con cada accionamiento sucesivo de las diversas teclas 28.
Una vez que una entrada en curso que representa el accionamiento más reciente de esa una de las teclas 28 que tienen un cierto número de los caracteres 48 asignados a ella, ha sido añadida a la secuencia de entrada en curso dentro de la sesión en curso, según se indica por la referencia 216 de la Figura 3a, la función de desambiguación genera, de acuerdo con la referencia 220, sustancialmente todas las permutaciones de los caracteres 48 asignados a las diversas teclas 28 que fueron accionadas para la generación de la secuencia de entrada. A este respecto, las "permutaciones" hacen referencia a las diversas cadenas que pueden resultar de los caracteres 48 de cada tecla accionada 28, limitadas por el orden en que las teclas 28 fueron accionadas. Las diversas permutaciones de los caracteres de la secuencia de entrada se emplean como objetos de prefijo.
Por ejemplo, si la secuencia de entrada en curso dentro de la sesión en curso es la entrada ambigua de las teclas "AS" y "OP", las diversas permutaciones del primer carácter 52 y del segundo carácter 56 de cada una de las dos teclas 28, cuando se consideran en la secuencia en la que fueron accionadas las teclas 28, serán "SO", "SP", "AP" y "AO", y cada una de estas constituye un objeto de prefijo que es generado, según se indica por la referencia 220, con respecto a la secuencia de entrada en curso. Como se explicará con mayor detalle más adelante, la función de desambiguación tiene como objetivo identificar, para cada objeto de prefijo, uno de los objetos 108 de palabra para el que el objeto de prefijo sería un prefijo.
Para cada objeto de prefijo generado se consulta la memoria 20, tal y como se indica por la referencia 224, y a fin de identificar, si es posible, para cada objeto de prefijo uno de los objetos 108 de palabra de la memoria 20 que se corresponde con el objeto de prefijo, lo que significa que la secuencia de letras representada por el objeto de prefijo, bien será un prefijo del objeto 108 de palabra identificado o bien será sustancialmente idéntica a la totalidad del objeto 108 de palabra. Continuando en relación con esto, el objeto 108 de palabra que se busca para ser identificado es el objeto 108 de palabra de frecuencia más alta. Es decir, la función de desambiguación se propone identificar el objeto 108 de palabra que se corresponde con el objeto de prefijo y que también está asociado con un objeto 104 de frecuencia que tiene un valor de frecuencia relativamente más alto que cualquiera de los otros objetos 104 de frecuencia asociados con los otros objetos 108 de palabra que se corresponden con el objeto de prefijo.
Se aprecia, a este respecto, que los objetos 108 de palabra de la lista 88 de palabras genéricas están organizados, generalmente, en tablas de datos que se corresponden con las dos primeras letras de las diversas palabras. Por ejemplo, la tabla de datos asociada con el prefijo "CO" incluirá todas las palabras tales como "CODE" ("CÓDIGO"), "COIN" ("MONEDA"), "COMMUNICATION" ("COMUNICACIÓN") y similares. Dependiendo de la cantidad de objetos 108 de palabra contenidos en cualquier tabla de datos dada, la tabla de datos puede incluir, adicionalmente, sub-tablas o tablas de datos subordinadas dentro de las cuales los objetos 108 de palabras están organizados por prefijos que tienen tres caracteres o más de longitud. Prosiguiendo adicionalmente con el ejemplo anterior, si la tabla de datos de "CO" incluyera, por ejemplo, más de 256 objetos 108 de palabra, la tabla de datos de "CO" incluiría adicionalmente una o más tablas subordinadas o sub-tablas de datos de objetos 108 de palabra correspondientes a los prefijos de tres letras que aparecieran más frecuentemente. A modo de ejemplo, por lo tanto, la tabla de datos de "CO" puede también incluir una tabla de datos subordinada de "COM" y una tabla de datos subordinada de "CON". Si una tabla de datos subordinada incluye más del número predeterminado de objetos 108 de palabra, por ejemplo, una cantidad de 256, la tabla subordinada de datos puede incluir tablas de datos subordinadas adicionales, tal como las que podrían organizarse de acuerdo con prefijos de cuatro letras. Se aprecia que la cantidad anteriormente mencionada de 256 para los objetos 108 de palabra se corresponde con el valor numérico más alto que puede ser almacenado dentro de un byte de la memoria 20.
De acuerdo con ello, cuando, según se indica en la referencia 224, cada objeto de prefijo es buscado con el propósito de ser utilizado para identificar un objeto 108 de palabra correspondiente, y, por ejemplo, el objeto de prefijo en ese instante es "AP", se consultará la tabla de datos de "AP". Como todos los objetos 108 de palabra contenidos en la tabla de datos de "AP" corresponderán al objeto de prefijo "AP", se identifica el objeto 108 de palabra de la tabla de datos de "AP" con el que está asociado un objeto 104 de frecuencia que tiene un valor de frecuencia relativamente más alto que cualquiera de los otros objetos 104 de frecuencia de la tabla de datos de "AP". El objeto 108 de palabra identificado y el objeto 104 de frecuencia asociado son entonces almacenados en un registro de resultado que sirve como resultado de las diversas comparaciones de los objetos de prefijo generados con el contenido de la memoria 20.
Se aprecia que uno o más de los objetos de prefijo, o, posiblemente, todos ellos, serán objetos de prefijo para los que no se ha identificado un objeto 108 de palabra correspondiente en la memoria 20. Tales objetos de prefijo se consideran como objetos de prefijo huérfanos y son almacenados por separado o se retienen de otra manera para su posible uso futuro. A este respecto, se aprecia que muchos de los objetos de prefijo o todos ellos pueden llegar a ser objetos huérfanos si, por ejemplo, el usuario está tratando de introducir una nueva palabra o si, por ejemplo, el usuario se ha equivocado al teclear y ninguna palabra se corresponde con la entrada tecleada por error.
Una vez que se ha obtenido el resultado según se indica por la referencia 224, la función de desambiguación determina, según se indica por la referencia 228, si se han de generar variantes artificiales. Para determinar la necesidad de variantes artificiales, el procedimiento se ramifica en la referencia 228, según se indica por la referencia 230, hacia el procedimiento de variante artificial ilustrado generalmente en la Figura 4 y que comienza con la referencia numérica 304. La función de desambiguación determina entonces, de acuerdo con la referencia 308, si cualquiera de los objetos de prefijo del resultado se corresponde con la que había sido la salida por defecto 76 antes de la detección de la entrada de tecla en curso en ese momento. En el caso de que un objeto de prefijo del resultado se corresponda con la salida previa por defecto, ello significa que la secuencia de entrada en curso se corresponde con un objeto 108 de palabra y que, necesariamente, la salida por defecto previa también se correspondía con un objeto 108 de palabra durante el ciclo previo de desambiguación dentro de la sesión en curso.
El siguiente punto de análisis consiste en determinar, según se indica por la referencia 310, si la salida por defecto previa se hizo la salida por defecto debido a una entrada de selección, lo que habría provocado el establecimiento o aparición de un indicador, de acuerdo con lo señalado por la referencia 254 de la Figura 3b, según se explica con mayor detalle más adelante. En el caso de que la salida por defecto previa no haya sido el resultado de una entrada de selección, no se necesitará ninguna variante artificial y el procedimiento retornará, conforme a la referencia 312, al procedimiento principal en la referencia 232. Sin embargo, si se determina, según se indica por la referencia 310, que la salida por defecto previa fue el resultado de una entrada de selección, se generan entonces variantes artificiales, según se indica por la referencia 316.
Más específicamente, cada una de las variantes artificiales generadas conforme a la referencia 316 incluye la salida por defecto previa más uno de los caracteres 48 asignados a la tecla 28 de la entrada en curso en ese momento. Así pues, si la tecla 28 de la entrada en curso tiene dos caracteres, es decir, un primer carácter 52 y un segundo carácter 56, se generarán dos variantes artificiales según se indica por la referencia 316. Una de las variantes artificiales incluirá la salida por defecto previa más el primer carácter 52. La otra variante artificial incluirá la salida por defecto previa más el segundo carácter 56.
Sin embargo, si se determina conforme a la referencia 308 que ninguno de los objetos de prefijo del resultado se corresponde con la salida por defecto previa, es necesario, a continuación, determinar, según se indica por la referencia 314, si la salida por defecto previa se correspondía con un objeto 108 de palabra durante el ciclo de desambiguación previo dentro de la sesión en curso. Si la respuesta a la pregunta indicada por la referencia 314 es no, aún es necesario determinar, según se indica por la referencia 318, si la salida por defecto previa se hizo la salida por defecto debido a una entrada de selección, lo cual habría provocado el establecimiento o aparición del indicador. En el caso de que la salida por defecto previa no fuera el resultado de una entrada de selección, no se necesita ninguna variante artificial y el procedimiento retorna, según se indica por la referencia 312, al procedimiento principal en la referencia 232. Sin embargo, en el caso de que se determine, conforme a lo indicado por la referencia 318, que la salida por defecto previa fue el resultado de una entrada de selección, se generan entonces las variantes artificiales, según se indica por la referencia 316.
Por otra parte, si se determina que la respuesta a la pregunta indicada por la referencia 314 es sí, lo que significa que la salida por defecto previa se había correspondido con un objeto de palabra pero, con la entrada en curso, la salida por defecto previa, combinada con la entrada en curso, se ha dejado de corresponder con cualquier objeto 108 de palabra, entonces se generan variantes artificiales, de nuevo según lo indicado por la referencia 316.
Una vez que se han generado las variantes artificiales según se indica por la referencia 316, el método determina entonces, conforme a lo indicado en la referencia 320, si el resultado incluye cualesquiera objetos de prefijo en absoluto. Si no, el tratamiento retorna, conforme a la referencia 312, al procedimiento principal en la referencia 232. Sin embargo, si se determina, según se indica en la referencia 320, que el resultado incluye al menos un primer objeto de prefijo, lo que significa que la secuencia de entrada en curso en ese momento se corresponde con un objeto 108 de palabra, el tratamiento de transfiere a la referencia 324, donde se crea una variante artificial adicional. Específicamente, se identifica el objeto de prefijo del resultado con el que está asociado el objeto 104 de frecuencia que tiene el valor de frecuencia relativamente más alto de entre los demás objetos 104 de frecuencia del resultado, y se crea la variante artificial borrando el carácter final del objeto de prefijo identificado y reemplazándola por un carácter opuesto 48 de la misma tecla 28 de la entrada en curso que generó el carácter final 48 del objeto de prefijo identificado. En el caso de que la tecla concreta 28 tenga más de dos caracteres 48 a ella asignados, cada uno de tales caracteres opuestos 48 se utilizará para generar una variante artificial adicional.
Una vez que se ha identificado la necesidad de variantes artificiales, según se indica por la referencia 228, y se han generado dichas variantes artificiales, como en la Figura 4 y según se ha descrito anteriormente, el tratamiento continúa, conforme a lo indicado por la referencia 232, donde los objetos 108 de palabra duplicados asociados con los valores de frecuencia relativamente más bajos son borrados del resultado. Dicho objeto 108 de palabra duplicado podría ser generado, por ejemplo, por la base de datos 96 de aprendizaje de frecuencia, tal y como se expondrá con mayor detalle más adelante. Si un objeto 108 de palabra del resultado coincide con una de las variantes artificiales, el objeto 108 de palabra y su objeto de frecuencia asociado 104 se suprimirán, generalmente, del resultado debido a que a la variante artificial se le asignará un estatus preferido en la salida 64, probablemente en una posición preferida respecto a cualquier objeto 108 de palabra que pudiera haber sido identificado.
Una vez que se han suprimido, según se indica por la referencia 232, los objetos de palabra duplicados 108 y los objetos de frecuencia asociados 104, los objetos de prefijo restantes se disponen, conforme a lo indicado por la referencia 236, en un conjunto de salida, en orden decreciente de valor de frecuencia. Los objetos de prefijo huérfanos anteriormente mencionados pueden ser también añadidos al conjunto de salida, aunque en posiciones de un valor de frecuencia relativamente más bajo que el de cualquier objeto de prefijo para el que se haya encontrado un objeto 108 de palabra correspondiente. Es también necesario garantizar que las variantes artificiales, si es que éstas se han creado, se colocan en una posición preferida en el conjunto de salida. Se comprende que puede darse a las variantes artificiales, aunque no necesariamente sea así, una posición de preferencia, es decir, asignárseles una prioridad o frecuencia relativamente más alta que la de los objetos de prefijo del resultado.
Si se determina, conforme a lo indicado en la referencia 240, que se ha activado o hecho aparecer el indicador, lo que significa que un usuario ha efectuado una introducción de selección, ya sea a través de una entrada de selección expresa, ya sea a través de una entrada de alternancia de una entrada de movimiento, se considera entonces que la salida por defecto 76 está bloqueada o "cerrada", lo que significa que la variante seleccionada será el prefijo por defecto hasta el final de la sesión. Si se determina, según se indica por la referencia 240, que se ha hecho aparecer el indicador, el tratamiento proseguirá por la referencia 244, en la que el contenido del conjunto de salida será alterado, en caso necesario, con el fin de proporcionar como salida por defecto 76 una salida que incluye el objeto de prefijo seleccionado, ya se corresponda éste con un objeto 108 de palabra, ya sea una variante artificial. A este respecto, se comprende que el indicador puede activarse en ocasiones adicionales durante una sesión, en cuyo caso el prefijo seleccionado asociado con el restablecimiento del indicador tras ello, se convierte en la salida por defecto 76 "cerrada", hasta el final de la sesión o hasta que se detecte otra entrada de selección.
El tratamiento continúa seguidamente, según se indica por la referencia 248, hasta una etapa de salida tras la cual se genera una salida 64 según se ha descrito anteriormente. Más específicamente, el tratamiento prosigue, según se indica por la referencia 250, hasta el subsistema ilustrado generalmente en la Figura 6 y que se describe más adelante. El tratamiento continúa tras ello en la referencia 204, en la que se detecta una entrada adicional. Por otra parte, si se ha determinado, de acuerdo con lo indicado en la referencia 240, que el indicador no se había hecho aparecer, el tratamiento prosigue entonces directamente por la referencia 248, sin la alteración del contenido del conjunto de salida de acuerdo con lo indicado por la referencia 244.
El dispositivo electrónico portátil 4 puede estar configurado de tal modo que cualquier objeto de prefijo huérfano que esté incluido en una salida 64 pero que no se haya seleccionado con siguiente entrada, sea suspendido. Esto puede estar limitado a objetos de prefijo huérfanos que aparezcan en la porción de variante 80, ó bien puede aplicarse a objetos de prefijo huérfanos situados en cualquier lugar de la salida 64. El dispositivo electrónico portátil 4 puede también estar configurado para suspender de manera similar variantes artificiales en circunstancias análogas. Una razón para tal suspensión es que cada uno de dichos objetos de prefijo huérfanos y/o variantes artificiales, según convenga, puede engendrar una cierta cantidad de objetos de prefijo huérfanos descendientes igual a la cantidad de caracteres 48 de una tecla 28 de la siguiente entrada. Es decir, cada descendiente incluirá un objeto de prefijo huérfano progenitor o una variante artificial más uno de los caracteres 48 de la tecla 28 de la siguiente entrada. Puesto que los objetos de prefijo huérfanos y las variantes artificiales no guardan, sustancialmente, correspondencia con un objeto 108 de palabra, los objetos descendientes engendrados de objetos de prefijo huérfanos progenitores y de variantes artificiales no guardarán, de la misma manera, correspondencia con un objeto 108 de palabra. Tales objetos de prefijo huérfanos y/o variantes artificiales suspendidos pueden considerarse como suspendidos, en comparación con el hecho de ser completamente eliminados, puesto que dichos objetos de prefijo huérfanos y/o variantes artificiales suspendidos pueden reaparecer más adelante como progenitores de objetos de prefijo huérfanos y/o variantes artificiales engendrados, tal y como se explicará más adelante.
Si se determina la entrada detectada, según se indica por la referencia 212, como una entrada operacional, el tratamiento prosigue entonces con la determinación de la naturaleza específica de la entrada operacional. Por ejemplo, si se determina, según lo indicado por la referencia 252, que la entrada en curso en ese momento es una entrada de selección, el tratamiento prosigue por la referencia 254. Según se indica por la referencia 254, el objeto 108 de palabra y el objeto 104 de frecuencia asociado de la porción por defecto 76 de la salida 64, así como el objeto 108 de palabra y el objeto 104 de frecuencia asociado de la porción de la salida de variante 80 que fue seleccionada por la entrada de selección, se almacenan en un registro temporal de datos de aprendizaje. De manera adicional, se hace aparecer el indicador. El tratamiento retorna entonces a la detección de entradas adicionales según se indica por la referencia 204.
Si se determina, conforme a lo indicado por la referencia 260, que la entrada es una entrada delimitadora, el tratamiento prosigue en la referencia 264, en la que se determina la sesión en curso y se transfiere el tratamiento, de acuerdo con la referencia 266, al subsistema de función de aprendizaje, tal como se indica por la referencia 404 de la Figura 5a. Una entrada delimitadora incluirá, por ejemplo, el accionamiento de una tecla <ESPACIO> ("<SPACE>") 116, que tanto introducirá un símbolo delimitador como añadirá un espacio al final de la palabra, accionamiento de la tecla <ESPACIO> 44 que podría introducir, similarmente, una entrada delimitadora e introducir un espacio, y que, mediante una traslación de la ruedecilla de accionamiento manual 32, tal como se indica por la flecha 38, podría introducir una entrada delimitadora sin introducir adicionalmente un espacio.
Se determina en primer lugar, según se indica por la referencia 408, si la salida por defecto en el instante de la detección de la entrada delimitadora, conforme a lo indicado por la referencia 260, coincide con un objeto 108 de palabra contenido en la memoria 20. Si no es así, ello significa que la salida por defecto es una salida creada por el usuario que deberá ser añadida a la base de datos 92 de palabras nuevas para su uso futuro. En tal circunstancia, el tratamiento prosigue entonces por la referencia 412, en la que la salida por defecto es almacenada en la base de datos 92 de palabras nuevas como un nuevo objeto 108 de palabra. Adicionalmente, se almacena un objeto 104 de frecuencia en la base de datos 92 de palabras nuevas y se asocia con el nuevo objeto 108 de palabra anteriormente mencionado. Al nuevo objeto 104 de frecuencia se le da un valor de frecuencia relativamente alto, típicamente dentro del cuarto o tercio superior de un intervalo predeterminado de valores de frecuencia posibles.
A este respecto, a los objetos 104 de frecuencia se les da un valor de frecuencia absoluto comprendido generalmente en el intervalo entre cero y 65,535. El valor máximo representa el número mayor que puede ser almacenado en dos bytes de la memoria 20. Al nuevo objeto 104 de frecuencia que se almacena en la base de datos 92 de palabras nuevas se le asigna un valor de frecuencia absoluto comprendido dentro del cuarto o tercio superior de este intervalo, particularmente puesto que la nueva palabra fue utilizada por un usuario y es probable que vuelva a ser utilizada.
Haciendo referencia, adicionalmente, al objeto 104 de frecuencia, se aprecia que dentro de una tabla de datos dada, tal como la tabla de datos de "CO" anteriormente mencionada, el valor de frecuencia absoluto se almacena únicamente para el objeto 104 de frecuencia que tiene el valor de frecuencia más alto dentro de la tabla de datos. Todos los demás objetos 104 de frecuencia de la misma tabla de datos tienen los valores de frecuencia almacenados en forma de valores porcentuales normalizados al valor de frecuencia máximo absoluto anteriormente mencionado. Es decir, tras la identificación del objeto 104 de frecuencia que tiene el valor de frecuencia más alto dentro de una tabla de datos dada, a todos los demás objetos 104 de frecuencia contenidos en la misma tabla de datos se les asigna un porcentaje del valor máximo absoluto, que representa la relación entre el valor de frecuencia absoluto comparativamente más pequeño, perteneciente a un objeto 104 de frecuencia concreto, y el valor de frecuencia absoluto del objeto 104 de frecuencia del valor más alto, anteriormente mencionado. Ventajosamente, dichos valores porcentuales pueden ser almacenados dentro de un único byte de memoria, con lo que se ahorra espacio de almacenamiento dentro del dispositivo electrónico portátil 4.
Con la creación del nuevo objeto 108 de palabra y del nuevo objeto 104 de frecuencia, y con el almacenamiento de los mismos dentro de la base de datos 92 de palabras nuevas, el tratamiento se transfiere a la referencia 420, en la que se pone fin al procedimiento de aprendizaje. El tratamiento se devuelve entonces al procedimiento principal, según se indica por la referencia 204.
Si, de acuerdo con lo indicado por la referencia 408, se ha determinado que el objeto 108 de palabra de la salida por defecto 76 coincide con un objeto 108 de palabra contenido en la memoria 20, el tratamiento prosigue entonces por la referencia 416, donde se determina si se ha hecho aparecer el indicador anteriormente mencionado, tal y como ocurre, a modo de ejemplo, con la detección de una entrada de selección y una entrada de alternancia, o una entrada de movimiento. Si resulta que no se ha hecho aparecer el indicador, ello significa que el usuario no ha expresado una preferencia por un objeto de prefijo de variante con respecto al un objeto de prefijo por defecto, y no ha surgido la necesidad del aprendizaje de frecuencia. En tal circunstancia, el tratamiento prosigue según se indica por la referencia 420, en la que se pone fin al procedimiento de aprendizaje. El tratamiento regresa entonces al procedimiento principal en la referencia 254.
Sin embargo, si se determina, según lo indicado en la referencia 416, que se ha activado o hecho aparecer el indicador, el procesador 20 recupera del registro temporal de datos de aprendizaje los objetos 108 de palabra por defecto y de variante recientemente salvados, conjuntamente con sus objetos 104 de frecuencia asociados. Se determina entonces, según se indica por la referencia 428, si los objetos 108 de palabra por defecto y de variante se habían sometido previamente a una operación de aprendizaje de frecuencia. Esto podría determinarse, por ejemplo, mediante la determinación de si el objeto 108 de palabra de variante y el objeto 104 de frecuencia asociado se obtuvieron de la base de datos 96 de aprendizaje de frecuencia. Si los objetos 108 y de palabra por defecto y de variante no habían sido anteriormente el sujeto de una operación de aprendizaje de frecuencia, el tratamiento prosigue, según se indica por la referencia 432, en la que el objeto 108 de palabra de variante se almacena en la base de datos 96 de aprendizaje de frecuencia, y se genera un objeto 104 de frecuencia revisado que tiene un valor de frecuencia que es mayor que el del objeto 104 de frecuencia que había sido previamente asociado con el objeto 108 de palabra de variante. En la presente circunstancia proporcionada a modo de ejemplo, es decir, en la que el objeto 108 de palabra por defecto y el objeto 108 de palabra de variante están experimentando su primera operación de aprendizaje de frecuencia, puede darse al objeto 104 de frecuencia revisado, póngase por caso, un valor de frecuencia igual a la suma del valor de frecuencia del objeto 104 de frecuencia previamente asociado con el objeto 108 de palabra de variante, más la mitad de la diferencia entre el valor de frecuencia del objeto 104 de frecuencia asociado con el objeto 108 de palabra por defecto y el valor de frecuencia del objeto 104 de frecuencia previamente asociado con el objeto 108 de palabra de variante. Con el almacenamiento del objeto 108 de palabra de variante y el objeto 104 de frecuencia revisado en la base de datos 96 de aprendizaje de frecuencia, el tratamiento prosigue por la referencia 420, en la que se pone fin al procedimiento de aprendizaje y el tratamiento retorna al procedimiento principal, de acuerdo con lo indicado en la referencia 254.
Si se determina, según se indica en la referencia 428, que el objeto 108 de palabra por defecto y el objeto 108 de palabra de variante habían sido previamente el sujeto de una operación de aprendizaje de frecuencia, el tratamiento prosigue por la referencia 436, en la que al valor de frecuencia 104 revisado se le da, en su lugar, un valor de frecuencia más alto que el valor de frecuencia del objeto 104 de frecuencia asociado con el objeto 108 de palabra por defecto. Tras el almacenamiento del objeto 108 de palabra de variante y del objeto 104 de frecuencia revisado en la base de datos 96 de aprendizaje de frecuencia, el tratamiento continúa en la referencia 420, en la que se pone fin al procedimiento de aprendizaje y el tratamiento retorna entonces al procedimiento principal, según se indica por la referencia 254.
Continuando con referencia a la función de aprendizaje, se aprecia que la función de aprendizaje detecta adicionalmente si tanto el objeto 108 de palabra por defecto como el objeto 104 de palabra de variante se obtuvieron de la base de datos 96 de aprendizaje de frecuencia. A este respecto, cuando se identifican objetos 108 de palabra, según se indica por la referencia 224, para su correspondencia con objetos de prefijo generados, todas las fuentes de datos de la memoria son inquiridas acerca de dichos objetos 108 de palabra correspondientes y objetos 104 de frecuencia correspondientes. Como la base de datos 96 de aprendizaje de frecuencia almacena objetos 108 de palabra que están también almacenados ya sea en la lista 88 de palabras genéricas, ya sea en la base de datos 96 de palabras nuevas, el objeto 108 de palabra y el objeto 104 de frecuencia asociado que se obtienen de la base de datos 96 de aprendizaje de frecuencia son, típicamente, duplicados de objetos 108 de palabra que ya han sido obtenidos de la lista 88 de palabras genéricas o de la base de datos 96 de palabras nuevas. Sin embargo, el objeto 104 de frecuencia asociado obtenido de la base de datos 96 de aprendizaje de frecuencia tiene, típicamente, un valor de frecuencia que es de una magnitud mayor que la del objeto 104 de frecuencia asociado que había sido obtenido de la lista 88 de palabras genéricas. Esto refleja la naturaleza de la base de datos 96 de aprendizaje de frecuencia en cuanto al hecho de que imparte a un objeto 108 de palabra frecuentemente utilizado un valor de frecuencia relativamente mayor que el que tendría, de otro modo, en la lista 88 de palabras genéricas.
Puede observarse, por lo tanto, que la función de aprendizaje indicada en las Figuras 5a y 5b y que se ha descrito anteriormente no se inicia, generalmente, hasta que se detecta una entrada delimitadora, lo que significa que el aprendizaje se produce una sola vez por cada sesión. Adicionalmente, si la salida por defecto final no es una nueva palabra definida por el usuario, los objetos 108 de palabra que constituyen el sujeto de la función de aprendizaje de frecuencia son los objetos 108 de palabra que fueron asociados con la salida por defecto 76 y con la salida de variante seleccionada 80 en el momento en que se produjo la selección, en lugar de estar necesariamente relacionados con el objeto que resultó en último término como salida por defecto al final de la sesión. También, si se produjeron numerosos sucesos susceptibles de ser aprendidos durante una única sesión, la función de aprendizaje de frecuencia opera únicamente sobre los objetos 108 de palabra que fueron asociados con el suceso final susceptible de aprenderse, es decir, un
suceso de selección, un suceso de alternancia o un suceso de movimiento, antes de la finalización de la sesión en curso.
Haciendo referencia, adicionalmente, a la identificación de diversos objetos 108 de palabra para su correspondencia con objetos de prefijo generados, se aprecia que la memoria 22 puede incluir un cierto número de fuentes de datos adicionales 99 además de la lista 88 de palabras genéricas, de la base de datos 92 de palabras nuevas y de la base de datos 96 de aprendizaje de frecuencia, todas las cuales pueden ser consideradas como fuentes lingüísticas. Un ejemplo de otras dos fuentes de datos 99 se ilustra en la Figura 2a, en la que se entiende que la memoria 22 puede incluir cualquier número de otras fuentes de datos 99. Las otras fuentes de datos 99 pueden incluir, por ejemplo, una base de datos de direcciones, una base de datos de texto rápido o cualquier otra fuente de datos, sin limitación. Un ejemplo de base de datos de texto rápido puede incluir, por ejemplo, conjuntos de palabras o de expresiones u otros datos, cada uno de los cuales está asociado con, por ejemplo, una cadena de caracteres que puede estar abreviada. Por ejemplo, una base de datos de texto rápido puede asociar la cadena "br" con el conjunto de palabras "Best Regards" ("Mis mejores recuerdos"), con la intención de que un usuario pueda teclear la cadena "br" y recibir la salida "Best Regards".
En el empeño de identificar objetos 108 de palabra que se correspondan con un objeto de prefijo dado, el dispositivo electrónico portátil 4 puede inquirir a todas las fuentes de datos contenidas en la memoria 22. Por ejemplo, el dispositivo electrónico portátil 4 puede interrogar a la lista 88 de palabras genéricas, a la base de datos 92 de palabras nuevas, a la base de datos 96 de aprendizaje de frecuencia y a otras fuentes de datos 99 con el fin de identificar objetos 108 de palabra que se corresponden con el objeto de prefijo. El contenido de las otras fuentes de datos 99 puede ser tratado como objetos 108 de palabra, y el procesador 20 puede generar objetos 104 de frecuencia que serán asociados con tales objetos 108 de palabra y a los que puede ser asignado un valor de frecuencia comprendido, por ejemplo, en el tercio o el cuarto superior del intervalo de frecuencias anteriormente mencionado. Suponiendo que el valor de frecuencia asignado es lo suficientemente alto, la cadena "br", por ejemplo, será, típicamente, la salida para el dispositivo de presentación visual 60. Si se detecta una entrada delimitadora con respecto a la parte de la salida que tiene la asociación con el objeto 108 de palabra en la base de datos de texto rápido, por ejemplo, "br", el usuario recibirá la salida "Best Regards", quedando entendido que el usuario podría también haber introducido una entrada de selección con relación a la cadena "br" proporcionada a modo de ejemplo.
El contenido de cualquiera de las otras fuentes de datos 99 puede ser tratado como objetos 108 de palabra y puede ser asociado con objetos 104 de frecuencia generados que tengan el valor de frecuencia asignado en la porción superior anteriormente mencionada del intervalo de frecuencias. Una vez que tales objetos 108 de palabra son identificados, la función de aprendizaje de nuevas palabras puede, en caso de que sea apropiado, actuar sobre dichos objetos 108 de la forma anteriormente expuesta.
De nuevo con respecto a la Figura 3a, cuando el tratamiento prosigue hasta la etapa de filtración, según se indica por la referencia 232, y los objetos 108 de palabra duplicados y los objetos 104 de frecuencia asociados que tienen los valores de frecuencia relativamente más bajos son filtrados, los resultados que quedan pueden incluir un objeto 108 de palabra de variante y un objeto 108 de palabra por defecto, ambos de los cuales fueron obtenidos de la base de datos 96 de aprendizaje de frecuencia. En tal situación, puede contemplarse que, si un usuario utiliza repetida y alternadamente una palabra y, a continuación, la otra palabra, con el tiempo los objetos 104 de frecuencia asociados con dichas palabras se incrementarán mucho más allá del valor máximo de frecuencia absoluto anteriormente mencionado para un objeto 104 de frecuencia. De acuerdo con ello, si se determina que tanto el objeto 108 de palabra por defecto como el objeto 108 de palabra de variante de la función de aprendizaje se obtuvieron de la base de datos 96 de aprendizaje de frecuencia, en vez de almacenar el objeto 108 de palabra de variante en la base de datos 96 de aprendizaje de frecuencia y asociarlo con un objeto 104 de frecuencia que tenga un valor de frecuencia relativamente incrementado, la función de aprendizaje almacena, en lugar de ello, el objeto 108 de palabra por defecto y lo asocia con un objeto 104 de frecuencia revisado que tiene un valor de frecuencia que es relativamente más bajo que el del objeto 104 de frecuencia que está asociado con el objeto 108 de palabra de variante. Dicho esquema evita, ventajosamente, incrementos excesivos e innecesarios del valor de frecuencia.
Si se determina, de acuerdo con lo indicado por la referencia 268, que la entrada en curso en ese momento es una entrada de movimiento, tal como la que se empleará cuando un usuario pretende editar un objeto, ya sea una palabra completada o un objeto de prefijo dentro de la sesión en curso, el símbolo de intercalación 84 es desplazado, según se indica por la referencia 272, a la posición deseada, y se activa el indicador conforme se indica por la referencia 276. El tratamiento regresa entonces a la ubicación donde pueden detectarse entradas adicionales, según se indica por la referencia 204.
A este respecto, se comprende que pueden detectarse diversos tipos de entradas de movimiento desde el dispositivo de introducción 8. Por ejemplo, una rotación de la ruedecilla de accionamiento manual 32, tal y como se indica por la flecha 34 de la Figura 1, puede proporcionar una entrada de movimiento, como podría hacerlo el accionamiento de la tecla <SIGUIENTE> 40, u otra entrada semejante, potencialmente en combinación con otros dispositivos del aparato de introducción 8. En el caso de que se detecte tal entrada de movimiento, tal como en la circunstancia de una entrada de edición, la entrada de movimiento es detectada, adicionalmente, como una entrada de selección. De acuerdo con ello, y como en el caso de una entrada de selección detectada de conformidad con lo indicado por la referencia 252, la variante seleccionada es bloqueada o cerrada efectivamente en relación con la porción por defecto 76 de la salida 64. Cualquier salida por defecto 76 durante la misma sesión incluirá, necesariamente, la variante previamente seleccionada.
En el contexto de la edición, sin embargo, el objeto concreto visualmente presentado que está siendo editado es cerrado, efectivamente, excepto en lo que se refiere al carácter que está siendo editado. A este respecto, por lo tanto, los demás caracteres del objeto que está siendo editado, es decir, los caracteres que no se están editando, se conservan y son empleados como contexto para identificar objetos 108 de palabra adicionales y elementos similares que se corresponden con el objeto que se está editando. Cuando no sea éste el caso, un usuario que se propone editar una letra en el medio de una palabra observará probablemente, a diferencia de antes, como nueva salida 64 numerosos objetos que guardan muy poco parecido o ninguno en absoluto con los caracteres del objeto que está siendo editado, ya que, en ausencia de la conservación de tal contexto, se habrá generado un conjunto completamente nuevo de objetos de prefijo que incluyen todas las permutaciones de los caracteres de las diversas pulsaciones de teclas del objeto que se está editando. Se habrán identificado nuevos objetos 108 de palabra como correspondientes a los nuevos objetos de prefijo, todos los cuales pueden cambiar significativamente la salida 64 con la sola edición de un único carácter. Con la conservación de los otros caracteres en curso en ese momento en el objeto que se está editando, y al emplear dichos otros caracteres como información de contexto, el usuario puede editar con mucha mayor facilidad una palabra que se representa en el dispositivo de presentación visual 60.
En la presente realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4, si se determina, conforme a lo indicado por la referencia 252, que la entrada no es una entrada de selección, y si se determina, según se indica por la referencia 260, que la entrada no es una entrada delimitadora, y se determina, además, según se indica por la referencia 268, que la entrada no es una entrada de movimiento, en la presente realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4, la única entrada operacional que resta es, generalmente, una detección de la tecla <BORRAR> 86 de las teclas 28 de la placa 24 de teclas. Con la detección de la tecla <BORRAR> 86, se borra el carácter final de la salida por defecto, según se indica por la referencia 280. Llegado a este punto, el tratamiento generalmente aguarda a que se detecte otra entrada, conforme a lo indicado por la referencia 284. Se determina entonces, de acuerdo con lo indicado por la referencia 288, si la nueva entrada detectada según la referencia 284 es la misma que la entrada más reciente que fue relacionada con el carácter final que se acabada de detectar conforme a lo indicado por la referencia 280. Si es así, la salida por defecto 76 es la misma que la salida por defecto previa, a excepción de que el último carácter es el carácter opuesto del accionamiento de tecla que generó el último carácter. El tratamiento prosigue entonces por lo indicado por la referencia 292, en la que los datos de aprendizaje, es decir, el objeto 108 de palabra y el objeto 104 de frecuencia asociado, que se asociaron a la salida por defecto 76 previa, así como el objeto 108 de palabra y el objeto 104 de frecuencia asociados con la nueva salida por defecto 76, se almacenan en el registro temporal de datos de aprendizaje y se hace aparecer el indicador. Dicha secuencia de teclas, es decir, una entrada, la tecla <BORRAR> 86 y la misma entrada que antes, constituye una entrada de alternancia. Tal entrada de alternancia reemplaza el carácter final por defecto por un carácter final opuesto de la tecla 28 que generó el carácter final 48 de la salida por defecto 76. La entrada de alternancia es tratada como una entrada de selección para los propósitos de cerrar la salida por defecto 76 de la sesión en curso, y también desencadena o dispara el indicador que iniciará la función de aprendizaje con la detección de una entrada delimitadora, según se indica por la referencia 260.
Si resulta, sin embargo, que el sistema detecta conforme a lo indicado por la referencia 288 que la nueva entrada detectada de acuerdo con la referencia 284 es diferente de la entrada inmediatamente anterior a la detección de la tecla <BORRAR> 86, el tratamiento prosigue por la referencia 212, en la que se determinada que la entrada es, bien una entrada operacional o bien una entrada de una tecla que tiene uno o más caracteres 48, y el tratamiento prosigue tras ello.
Se aprecia también que, cuando el procedimiento principal llega a la etapa de salida de acuerdo con lo indicado por la referencia 248, se inicia un procedimiento adicional que determina si se ha de iniciar el componente de variante 72 de la salida 64. El tratamiento de la función adicional se inicia partiendo de la referencia 248, en el elemento 504 de la Figura 6. Inicialmente, el método según se indica por la referencia 508 suministra como salida para el dispositivo de presentación visual 60 el componente de texto 68 de la salida 64. Un tratamiento adicional determina si se ha de presentar visualmente o no el componente de variante 72.
Específicamente, se determina, de conformidad con lo indicado por la referencia 512, si el componente de variante 72 ha sido ya visualmente presentado durante la sesión en curso. Si el componente de variante 72 se ha presentado ya visualmente, el tratamiento prosigue conforme a lo indicado por al referencia 516, en la que se presenta visualmente el nuevo componente de variante 72 que resulta del ciclo de desambiguación en curso dentro de la sesión en curso en ese momento. El tratamiento regresa, a continuación, a un punto de finalización según se indica por la referencia 520, tras lo cual el tratamiento retorna al procedimiento principal en la referencia 204. No obstante, si se determina, conforme a lo indicado por la referencia 512, que el componente de variante 72 no se ha presentado aún visualmente durante la sesión en curso, el tratamiento prosigue, según se indica por la referencia 524, para determinar si el tiempo transcurrido entre la entrada en curso y la entrada inmediatamente anterior es más largo que una duración predeterminada. Si es más largo, el tratamiento prosigue entonces conforme a lo indicado por la referencia 516, en la que el componente de variante 72 es presentado visualmente, y el tratamiento regresa, a través de la referencia 520, al procedimiento principal, según se indica por la referencia 204. Sin embargo, si se determina conforme a lo indicado por la referencia 524 que el tiempo transcurrido entre la entrada en curso en ese momento y la entrada inmediatamente anterior es menor que la duración predeterminada, la componente de variante 72 no se presenta visualmente y el tratamiento retorna al punto de finalización en la referencia 520, tras lo cual el tratamiento retorna al procedimiento principal, conforme se indica por la referencia 204.
Ventajosamente, por lo tanto, si un usuario está introduciendo pulsaciones de teclas de una forma relativamente rápida, el componente de variante 72 no se suministrará como salida para el dispositivo de presentación visual 60, donde ocasionaría probablemente, en caso contrario, una distracción visual para un usuario que pretende introducir pulsaciones de teclas con rapidez. Si en cualquier momento durante una sesión dada se suministra como salida el componente de variante 72 al dispositivo de presentación visual 60, tal como en el caso de que el tiempo entre entradas sucesivas supere la duración predeterminada, el componente 72 de variante continuará siendo visualmente presentado a todo lo largo de esa sesión. Sin embargo, con el inicio de una nueva sesión, el componente de variante 72 será retenido o aplazado en su presentación visual si el usuario está introduciendo consistentemente pulsaciones de teclas de una forma relativamente rápida.
En las Figuras 1 y 7-11 se ilustra una secuencia de entrada proporcionada a modo de ejemplo. En este ejemplo, el usuario se propone introducir la palabra "APPLOADER", y esta palabra no se encuentra en ese momento almacenada en la memoria 20. En la Figura 1, el usuario ya ha tecleado la tecla "AS" 28. Como las tablas de datos de la memoria 20 están organizadas de acuerdo con prefijos de dos letras, el contenido de la salida 64 con la primera pulsación de tecla se obtiene de los objetos 112 de grafía de orden N o N-grafía contenidos en la memoria. La primera pulsación de tecla "AS" se corresponde con un primer objeto 112 de N-grafía "S" y con un objeto 104 de frecuencia asociado, así como con otro objeto 112 de N-grafía "A" y con un objeto 104 de frecuencia asociado. Si bien el objeto 104 de frecuencia asociado con "S" tiene un valor de frecuencia que es mayor que el del objeto 104 de frecuencia asociado con "A", se aprecia que "A" es, en sí mismo, una palabra completa. Se proporciona siempre una palabra completa como la salida por defecto 76 con preferencia a otros objetos de prefijo que no coinciden con palabras completas, independientemente de su valor de frecuencia asociado. Así pues, en la Figura 1, la porción por defecto 76 de la salida 64 es "A".
En la Figura 7, el usuario ha presionado adicionalmente la tecla "OP" 28. Las variantes se ilustran en la Figura 7. Puesto que el objeto de prefijo "SO" es también una palabra, se proporciona como la salida por defecto 76. En la Figura 8, el usuario ha presionado de nuevo la tecla "OP" 28 y ha presionado también la tecla "L" 28. Se aprecia que la tecla "L" 28 mostrada aquí a modo de ejemplo incluye tan sólo el carácter único "L" 48.
Se supone en el presente ejemplo que no se ha detectado, por tanto, hasta ese momento ninguna entrada operacional. La salida por defecto 76 es "APPL", tal como corresponde a la palabra "APPLE" ("MANZANA"). El prefijo "APPL" se representa tanto en el componente de texto 68 como en la porción por defecto 76 del componente de variante 72. Los objetos de prefijo de variante de la porción de variante 80 incluyen "APOL", tal como corresponde a la palabra "APOLOGIZE" ("DISCULPARSE"), y el prefijo "SPOL", tal como corresponde a la palabra "SPOLIATION" ("EXPOLIACIÓN").
Se aprecia, en particular, que las variantes adicionales "AOOL", "AOPL", "SOPL" y "SOOL" se representan también como variantes 80 en el componente de variante 72. Como ningún objeto 108 de palabra se corresponde [en inglés] con estos objetos de prefijo, los objetos de prefijo se consideran como objetos de prefijo huérfanos para los que no se ha identificado ningún objeto 108 de palabra correspondiente. A este respecto, puede ser deseable que el componente 72 de variante incluya una cantidad de entradas específica, y, en el caso de la presente realización proporcionada a modo de ejemplo, la cantidad es siete entradas. Al obtener el resultado según se indica por la referencia 224, si la cantidad de objetos de prefijo del resultado es menos numerosa que la cantidad predeterminada, la función de desambiguación buscará proporcionar salidas adicionales hasta que se haya proporcionado el número de salidas predeterminado. En ausencia de creación de variantes artificiales, las entradas de variante adicionales son proporcionadas por objetos de prefijo huérfanos. Se aprecia, sin embargo, que si se han generado variantes artificiales, éstas ocuparán, probablemente, un lugar de preferencia en detrimento de dichos objetos de prefijo huérfanos y, posiblemente, también en detrimento de los objetos de prefijo del resultado.
Se aprecia, adicionalmente, que dichos objetos de prefijo huérfanos pueden ser, en realidad, objetos de prefijo huérfanos engendrados a partir de objetos de prefijo huérfanos progenitores suspendidos y/o por variantes artificiales. Tales objetos de prefijo huérfanos engendrados pueden ser de nuevo suministrados como salida, dependiendo de la clasificación de frecuencia, según se ha explicado anteriormente, o bien conforme estén de otro modo clasificados.
Los objetos de prefijo huérfanos se clasifican en orden de frecuencia descendente con el uso de objetos 112 de grafía de orden N o N-grafía y de los objetos 104 de frecuencia asociados. Puesto que los objetos de prefijo huérfanos no tienen ningún objeto 108 de palabra correspondiente con un objeto 104 de frecuencia asociado, deben emplearse como reserva los objetos 104 de frecuencia asociados con los diversos objetos 112 de N-grafía.
Utilizando los objetos 112 de N-grafía, la función de desambiguación trata primeramente de determinar si algún objeto 112 de N-grafía que tiene, por ejemplo, tres caracteres constituye una coincidencia para, por ejemplo, tres caracteres finales de algún objeto de prefijo huérfano. Se da el ejemplo de tres caracteres debido a que la realización proporcionada a modo de ejemplo del dispositivo electrónico portátil 4 incluye objetos 112 de N-grafía que constituyen un máximo ejemplar de los tres caracteres de longitud, pero se comprende que, si la memoria 22 incluyera objetos de N-grafía de cuatro caracteres de longitud o más largos, la función de desambiguación típicamente trataría, en primer lugar, de determinar si un objeto de N-grafía que tuviese la mayor longitud dentro de la memoria 22 coincide con la misma cantidad de caracteres del final de un objeto de prefijo huérfano.
Si tan sólo uno de los objetos de prefijo se corresponde de esa manera con un objeto 112 de N-grafía de tres caracteres, dicho objeto de prefijo huérfano se lista en el primer lugar entre los diversos objetos de prefijo huérfanos de la salida de variante 80. Si se hacen coincidir objetos de prefijo huérfanos adicionales con objetos 112 de N-grafía que tienen tres caracteres, entonces se analizan los objetos 104 de frecuencia asociados con tales objetos 112 de N-grafía identificados, y los objetos de prefijo huérfanos que presentan coincidencia se clasifican u ordenan entre ellos en orden de frecuencia decreciente.
Si se determina que no es posible obtener una coincidencia con un objeto 112 de N-grafía que tiene tres caracteres, se emplean entonces los objetos 112 de N-grafía de dos caracteres. Como la memoria 20 incluye todas las permutaciones de objetos 112 de N-grafía de dos caracteres, pueden hacerse coincidir los dos últimos caracteres de cada objeto de prefijo huérfano con una objeto 112 de N-grafía de dos caracteres correspondiente. Una vez que se han conseguido dichas coincidencias, se analizan los objetos de frecuencia 104 asociados con tales objetos 112 de N-grafía identificados, y los objetos de prefijo huérfanos se clasifican u ordenan entre sí en orden descendente de valores de frecuencia de los objetos 104 de frecuencia que fueron asociados con los objetos 112 de N-grafía identificados. Se aprecia adicionalmente que pueden clasificarse similarmente variantes artificiales, ordenándose entre sí con el uso de los objetos 112 de N-grafía y de los objetos 104 de frecuencia asociados.
En la Figura 9, el usuario ha presionado adicionalmente la tecla "OP" 28. En esta circunstancia, y como puede observarse en la Figura 9, la porción por defecto 76 de la salida 64 se ha convertido en el objeto de prefijo "APOLO", tal como corresponde a la palabra "APOLOGIZE" ("DISCULPARSE"), en tanto que, inmediatamente antes de la entrada en curso en ese momento, la porción por defecto 76 de la salida 64 de la Figura 8 era "APPL", tal y como corresponde a la palabra "APPLE" ("MANZANA"). De nuevo suponiendo que no se han detectado entradas operacionales, el objeto de prefijo por defecto de la Figura 9 no se corresponde con el objeto de prefijo por defecto previo de la Figura 8. Así pues, se ha generado la primera variante artificial "APOLP" y, en el presente ejemplo, se ha dado a ésta una posición preferida. La variante artificial anteriormente mencionada "APOLP" se genera borrando el carácter final del objeto de prefijo por defecto "APOLO" y suministrando en su lugar una carácter opuesto 48 de la tecla 28 que generó el carácter final de la porción por defecto 76 de la salida 64, el cual, en el presente ejemplo de la Figura 9, es "P", de tal manera que la variante artificial anteriormente mencionada es "APOLP".
Por otra parte, puesto que la salida por defecto previa "APPL" se corresponde con un objeto 108 de palabra, tal como el objeto 108 de palabra correspondiente a la palabra "APPLE", y como, con la adición de la entrada en curso, la salida por defecto previa "APPL" ya no se corresponde con un objeto 108 de palabra, se generan dos variantes artificiales adicionales. Una de las variantes artificiales es "APPL" y la otra variante artificial es "APPLO", y éstas se corresponden con la salida por defecto previa "APPL" más los caracteres 48 de la tecla 28 que fue accionada para generar la entrada en curso en ese momento. Estas variantes artificiales son suministradas similarmente como salida formando parte de la porción de variante 80 dela salida 64.
Como puede observarse en la Figura 9, la porción por defecto 76 de la salida 64 "APOLO" ya no parece coincidir lo que sería necesario como prefijo para "APPLOADER", y el usuario anticipa, probablemente, que la palabra deseada "APPLOADER" no se encuentra almacenada todavía en la memoria 20. Así pues, el usuario proporciona una entrada de selección, tal como mediante un despliegue con la ruedecilla de accionamiento manual 32, ó accionando la tecla <SIGUIENTE> 40, hasta que se resalta la cadena de variante "APPLO". El usuario continúa entonces tecleando y presiona la tecla "AS".
La salida 64 de dicha acción se ilustra en la Figura 10. Aquí, la cadena "APPLOA" es la porción por defecto 76 de la salida 64. Puesto que la cadena de variante "APPLO" se ha convertido en la porción por defecto 76 de la salida 64 (no representada expresamente aquí) como resultado de la entrada de selección por lo que respecta a la cadena de variante "APPLO", y puesto que la cadena de variante "APPLO" no se corresponde con un objeto 108 de palabra, se han creado como variantes artificiales las cadenas de caracteres "APPLOA" y "APPLOS". De manera adicional, puesto que la cadena por defecto previa de la Figura 9, "APOLO", previamente había correspondido a un objeto 108 de palabra pero ya no se encuentra en correspondencia con la porción por defecto 76 de la salida 64 de la Figura 10, se han generado también las variantes artificiales adicionales de "APOLOA" y "APOLOS". Se da a tales variantes artificiales una posición preferida, en detrimento de los tres objetos de prefijo huérfanos presentados
visualmente.
Puesto que la secuencia de entrada en curso en el ejemplo ya no se corresponde con ningún objeto 108 de palabra, las partes del método relacionadas con el intento de encontrar objetos 108 de palabra correspondientes, no se llevan a cabo con entradas adicionales para la sesión en curso. Es decir, como ningún objeto 108 de palabra se corresponde con la secuencia de entrada en curso en ese momento, entradas adicionales no se corresponderán, de la misma manera, con ningún objeto 108 de palabra. El hecho de evitar la búsqueda en la memoria 20 de tales objetos 108 de palabra inexistentes ahorra tiempo y evita un esfuerzo de tratamiento desperdiciado.
A medida que el usuario continúa tecleando, el usuario introducirá, en última instancia, satisfactoriamente la palabra "APPLOADER" e introducirá una entrada delimitadora. Con la detección de la entrada delimitadora tras la introducción de la palabra "APPLOADER", se inicia la función de aprendizaje. Como la palabra "APPLOADER" no se corresponde con ningún objeto 108 de palabra de la memoria 20, se genera un nuevo objeto 108 de palabra correspondiente a "APPLOADER", el cual se almacena en la base de datos 92 de palabras nuevas conjuntamente con un nuevo objeto de frecuencia 104 correspondiente, al que se le da una frecuencia absoluta comprendida en, póngase por caso, el tercio o el cuarto superior del intervalo de frecuencias posible. A este respecto, se aprecia que base de datos 92 de palabras nuevas y la base de datos 96 de aprendizaje de frecuencia están, generalmente, organizadas en dos tablas de datos de prefijos de carácter similares a las que se encuentran en la lista 88 de palabras genéricas. Así pues, al nuevo objeto 104 de frecuencia se le asigna inicialmente un valor de frecuencia absoluto pero, al almacenar el valor de frecuencia absoluto, si éste no es el valor máximo dentro de la tabla de datos, será cambiado de manera que incluya un porcentaje de valor de frecuencia normalizado a lo que constituya el valor de frecuencia máximo dentro de la tabla de datos, cualquiera que sea.
Como ejemplo subsiguiente, en la Figura 11, el usuario está tratando de introducir la palabra "APOLOGIZE" ("DISCULPARSE"). El usuario ha introducido la secuencia de teclas "AS", "OP", "OP", "L" y "OP". Como ya se ha añadido ahora "APPLOADER" como objeto 108 de palabra a la base de datos 92 de palabras nuevas y se ha asociado con un objeto 104 de frecuencia que tiene un valor de frecuencia relativamente elevado, se ha presentado visualmente el objeto de prefijo "APPLO" que se corresponde con "APPLOADER" como porción por defecto 76 de la salida 64, en detrimento del objeto de prefijo de variante "APOLO", que se corresponde con la palabra deseada "APOLOGIZE". Puesto que la palabra "APOLOGIZE" se corresponde con un objeto 108 de palabra que está almacenado al menos en la lista 88 de palabras genéricas, el usuario puede simplemente continuar efectuando pulsaciones de teclas correspondientes a las letras adicionales "GIZE", que son las letras de la palabra "APOLOGIZE" que siguen al prefijo "APOLO", a fin de obtener la palabra "APOLOGIZE". Alternativamente, el usuario puede, al ver la salida 64 ilustrada en la Figura 11, introducir una entrada de selección para seleccionar positiva o afirmativamente el objeto de prefijo de variante "APOLO". En tal circunstancia, la función de aprendizaje será desencadenada o activada al detectarse un símbolo delimitador, y el objeto 108 de palabra que había correspondido a la cadena de caracteres "APOLO" en el momento en que se hizo la entrada de selección, será almacenado en la base de datos 92 de aprendizaje de frecuencia y se asociará con un objeto 104 de frecuencia revisado que tiene un valor de frecuencia relativamente elevado y que se almacena, similarmente, en la base de datos 92 de aprendizaje de frecuencia.
Una característica adicional del dispositivo electrónico portátil 4 se ilustra generalmente en la Figura 12. En algunas circunstancias, es deseable que se inhabilite o desactive la función de desambiguación. Por ejemplo, cuando se desea introducir una palabra de paso, la desambiguación resulta relativamente más enrevesada que durante la introducción ordinaria de texto. Así pues, cuando el foco del sistema se centra en el componente correspondiente al campo de palabra de paso, el componente indica a la API [interfaz de programación de aplicaciones ("Application Programming Interface")] que se ha solicitado un tratamiento especial y la API inhabilita la función de desambiguación y habilita, en su lugar, por ejemplo, un sistema de interpretación de entradas de múltiples toques o pulsaciones. Alternativamente, otros sistemas de interpretación de entradas pueden incluir un sistema de combinación o concurrencia o un sistema de interpretación basado en apretar y mantener/apretar y soltar. Así pues, si bien una entrada introducida con la función de desambiguación activa es una entrada ambigua, al habilitar el sistema de interpretación alternativo, tal como el sistema de
múltiples toques proporcionado a modo de ejemplo, cada entrada puede ser limitada en gran medida en su ambigüedad.
Como puede comprenderse por la Figura 12, cada entrada no ambigua o inequívoca se presenta visualmente durante un periodo de tiempo muy corto dentro del campo 120 de palabra de paso, y es entonces reemplazada por otra salida, tal como el asterisco. El carácter "R" se muestra visualmente presentado, entendiéndose que dicha presentación visual es tan sólo durante un periodo de tiempo muy corto.
Como puede observarse en las Figuras 1 y 7-11, la salida 64 incluye el gráfico 46 visualmente presentado, cerca del extremo inferior de la componente de variante 72, y el gráfico 46 visualmente presentado es en gran medida similar al gráfico 42 de la tecla <SIGUIENTE> 40. Dicha representación proporciona una indicación al usuario acerca de cuál de las teclas 28 de la placa 24 de letras puede accionarse para seleccionar una salida de variante. La representación del gráfico 46 visualmente presentado proporciona una asociación en la mente del usuario entre la salida 64 y la tecla <SIGUIENTE> 40. De manera adicional, si el usuario emplea la tecla <SIGUIENTE> 40 para proporcionar una entrada de selección, el usuario será capaz de accionar la tecla <SIGUIENTE> 40 sin desplazar las manos del usuario lejos de la posición en que estaban las manos con respecto al alojamiento 6 durante la introducción de texto, lo que reduce los movimientos innecesarios de las manos, como sería necesario si un usuario necesitase mover una mano para accionar una ruedecilla de accionamiento manual 32. Esto ahorra tiempo y esfuerzo.
Se aprecia también que el sistema es capaz de detectar la existencia de ciertos símbolos predefinidos como constitutivos de señales delimitadoras, en el caso de que ningún objeto 108 de palabra se corresponda con la introducción de texto que incluye el símbolo. Por ejemplo, si el usuario desea introducir la entrada "one-off" ("uno fuera"), el usuario puede comenzar presionando la secuencia de teclas "OP", "BN", "ER", "ZX", "OP", de tal modo que el accionamiento de "ZX" pretende hacer referencia al símbolo de guión dispuesto en el mismo. Alternativamente, en lugar de pulsar la tecla "ZX", el usuario puede accionar una entrada <ALT> para indicar inequívocamente un guión.
Suponiendo que la memoria 20 no incluye ya un objeto 108 de palabra de "one-off", la función de desambiguación detectará el guión considerándolo como una entrada delimitadora. De esta forma, las introducciones o pulsaciones de tecla que preceden a la entrada delimitadora serán delimitadas con respecto a las pulsaciones de tecla subsiguientes a la entrada delimitadora. Así pues, la entrada deseada se buscará como dos palabras independientes, es decir, "ONE" y "OFF", con el guión entre ellas. Esto facilita el tratamiento al identificar más estrechamente lo que se desea que se busque.
Si bien se han descrito en detalle realizaciones específicas de la invención, se apreciará por parte de los expertos de la técnica que es posible desarrollar diversas modificaciones y alternativas de esos detalles a la luz de las enseñanzas globales de la descripción. De acuerdo con ello, las disposiciones particulares expuestas pretenden ser únicamente ilustrativas y no limitativas con respecto al ámbito de la invención, a la que se ha de dar todo el alcance de las reivindicaciones que se acompañan y de cualquiera de los equivalentes de las mismas.

Claims (6)

1. Un método de desambiguación de una entrada en un dispositivo electrónico portátil (4) que tiene un aparato de introducción (8), un aparato de salida (12) y una memoria (20) que tiene, almacenados en ella, una pluralidad de objetos de idioma y una pluralidad de objetos de frecuencia, de tal modo que cada objeto de idioma está asociado con un objeto de frecuencia asociado que tiene un valor de frecuencia que es indicativo de la frecuencia relativa del objeto de idioma dentro de un idioma dado, de manera que el aparato de introducción incluye una pluralidad de miembros de introducción, de tal modo que al menos algunos de los miembros de introducción tienen, cada uno de ellos, una pluralidad de caracteres asociados a los mismos, comprendiendo el método:
detectar una entrada ambigua de un cierto número de accionamientos de miembro de introducción que comprenden al menos un primer accionamiento de miembro de introducción y un segundo accionamiento de miembro de introducción;
generar un cierto número de objetos de prefijo, cada uno de los cuales tiene un cierto número de caracteres de los miembros de introducción de la entrada ambigua;
generar un resultado al identificar, para cada uno de al menos algunos de los objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de
prefijo;
generar, para al menos algunos de los objetos de prefijo del resultado, un conjunto de salida de los objetos de prefijo del resultado, clasificados u ordenados de acuerdo con los valores de frecuencia asociado con ellos, de tal modo que uno de los objetos de prefijo del conjunto de salida es un resultado por defecto;
determinar que un periodo de tiempo transcurrido entre el primer accionamiento de miembro de introducción y el segundo accionamiento de miembro de introducción es menor que un intervalo de tiempo predeterminado;
en respuesta a dicha determinación, suministrar como salida el resultado por defecto y suprimir de la salida los otros objetos de prefijo del conjunto de salida.
2. El método de acuerdo con la reivindicación 1, que comprende adicionalmente:
detectar un tercer accionamiento de miembro de introducción;
generar otro número de objetos de prefijo correspondientes a la entrada ambigua y al tercer accionamiento de miembro de introducción;
generar otro resultado al identificar, para cada uno de al menos algunos del otro número de objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado y que tiene un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo;
generar, para al menos algunos de los objetos de prefijo del otro resultado, otro conjunto de salida de los objetos de prefijo clasificados de acuerdo con los valores de frecuencia asociados con los mismos, de tal modo que uno de los objetos de prefijo del otro conjunto de salida es otro resultado por defecto;
determinar que otro periodo de tiempo transcurrido entre el segundo accionamiento de miembro de introducción y el tercer accionamiento de miembro de introducción no es menor que el intervalo de tiempo predeterminado; y
suministrar como salida otra salida que incluye una salida por defecto y una salida de variante, suministrar como salida por defecto el otro resultado por defecto, y suministrar como al menos una porción de la salida de variante al menos algunos de los objetos de prefijo del otro conjunto de salida.
3. El método de acuerdo con la reivindicación 2, que comprende adicionalmente:
detectar un cuarto accionamiento de miembro de introducción;
determinar que un periodo adicional de tiempo transcurrido entre el tercer accionamiento de miembro de introducción y el cuarto accionamiento de miembro de introducción es menor que el intervalo de tiempo predeterminado;
generar un número adicional de objetos de prefijo correspondientes a la entrada ambigua y al tercer accionamiento de miembro de introducción;
generar un resultado adicional al identificar, para cada uno de al menos algunos del número adicional de objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado y tiene un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo;
generar, para al menos algunos de los objetos de prefijo del resultado adicional, un conjunto de salida adicional de los objetos de prefijo clasificados de acuerdo con los valores de frecuencia asociados a los mismos, de tal modo que uno de los objetos de prefijo del conjunto de salida adicional es un resultado por defecto adicional; y
suministrar como salida una salida adicional que incluye una salida por defecto adicional y una salida de variante adicional, suministrar como la salida por defecto adicional el resultado por defecto adicional, y suministrar como al menos una porción de la salida de variante adicional, al menos algunos de los objetos de prefijo del conjunto de salida adicional.
4. Un dispositivo electrónico portátil (4) que comprende:
una unidad de procesamiento o tratamiento (16), un aparato de introducción (8), un aparato de salida (12) y una memoria que tiene una pluralidad de objetos y una rutina almacenados en ella; de manera que
la pluralidad de objetos incluye una pluralidad de objetos de idioma y una pluralidad de objetos de frecuencia, de tal modo que cada uno de los objetos de idioma está asociado con un objeto de frecuencia asociado que tiene un valor de frecuencia que es indicativo de la frecuencia relativa del objeto de idioma dentro de un idioma dado;
el aparato de introducción incluye una pluralidad de miembros de introducción, de tal modo que al menos algunos de los miembros de introducción tienen, cada uno de ellos, una pluralidad de caracteres asignados a los mismos;
la rutina está concebida para detectar una entrada ambigua de un cierto número de accionamientos de miembro de introducción que comprende al menos un primer accionamiento de miembro de introducción y un segundo accionamiento de miembro de introducción;
la rutina está concebida para generar un cierto número de objetos de prefijo, cada uno de los cuales tiene un cierto número de caracteres de los miembros de introducción de la entrada ambigua;
la rutina está concebida para generar un resultado al identificar, para cada uno de al menos algunos de los objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo;
la rutina está concebida para generar, para al menos algunos de los objetos de prefijo del resultado, un conjunto de salida de los objetos de prefijo del resultado, clasificados u ordenados de acuerdo con los valores de frecuencia asociado con ellos, de tal modo que uno de los objetos de prefijo del conjunto de salida es un resultado por defecto;
la rutina está concebida para determinar que un periodo de tiempo transcurrido entre el primer accionamiento de miembro de introducción y el segundo accionamiento de miembro de introducción es menor que un intervalo de tiempo predeterminado;
la rutina está concebida para suministrar como salida el resultado por defecto; y,
en respuesta a dicha determinación, la rutina está concebida para suministrar como salida el resultado por defecto y suprimir de la salida los otros objetos de prefijo del conjunto de salida.
5. El dispositivo electrónico portátil (4) de acuerdo con la reivindicación 4, en el cual la rutina está concebida para:
detectar un tercer accionamiento de miembro de introducción;
generar otro número de objetos de prefijo correspondientes a la entrada ambigua y al tercer accionamiento de miembro de introducción;
generar otro resultado al identificar, para cada uno de al menos algunos del otro número de objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado y que tiene un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo;
generar, para al menos algunos de los objetos de prefijo del otro resultado, otro conjunto de salida de los objetos de prefijo clasificados de acuerdo con los valores de frecuencia asociados con los mismos, de tal modo que uno de los objetos de prefijo del otro conjunto de salida es otro resultado por defecto;
determinar que otro periodo de tiempo transcurrido entre el segundo accionamiento de miembro de introducción y el tercer accionamiento de miembro de introducción no es menor que el intervalo de tiempo predeterminado; y
suministrar como salida otra salida que incluye una salida por defecto y una salida de variante, suministrar como salida por defecto el otro resultado por defecto, y suministrar como al menos una porción de la salida de variante al menos algunos de los objetos de prefijo del otro conjunto de salida.
6. El dispositivo electrónico portátil (4) de acuerdo con la reivindicación 5, en el cual la rutina está concebida para:
detectar un cuarto accionamiento de miembro de introducción;
determinar que un periodo adicional de tiempo transcurrido entre el tercer accionamiento de miembro de introducción y el cuarto accionamiento de miembro de introducción es menor que el intervalo de tiempo predeterminado;
generar un número adicional de objetos de prefijo correspondientes a la entrada ambigua y al tercer accionamiento de miembro de introducción;
generar un resultado adicional al identificar, para cada uno de al menos algunos del número adicional de objetos de prefijo, un objeto de idioma que se corresponde con el objeto de prefijo, obtener un objeto de frecuencia asociado, que está asociado con el objeto de idioma identificado y tiene un valor de frecuencia, y asociar el valor de frecuencia del objeto de frecuencia asociado, con el objeto de prefijo;
generar, para al menos algunos de los objetos de prefijo del resultado adicional, un conjunto de salida adicional de los objetos de prefijo clasificados de acuerdo con los valores de frecuencia asociados a los mismos, de tal modo que uno de los objetos de prefijo del conjunto de salida adicional es un resultado por defecto adicional; y
suministrar como salida una salida adicional que incluye una salida por defecto adicional y una salida de variante adicional, suministrar como la salida por defecto adicional el resultado por defecto adicional, y suministrar como al menos una porción de la salida de variante adicional, al menos algunos de los objetos de prefijo del conjunto de salida adicional.
ES04253268T 2004-06-02 2004-06-02 Dispositivo electronico portatil con desambiguacion de texto. Expired - Lifetime ES2318245T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04253268A EP1603014B1 (en) 2004-06-02 2004-06-02 Handheld electronic device with text disambiguation

Publications (1)

Publication Number Publication Date
ES2318245T3 true ES2318245T3 (es) 2009-05-01

Family

ID=34930355

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04253268T Expired - Lifetime ES2318245T3 (es) 2004-06-02 2004-06-02 Dispositivo electronico portatil con desambiguacion de texto.

Country Status (8)

Country Link
EP (2) EP2017696A1 (es)
AT (1) ATE418756T1 (es)
CA (1) CA2509010C (es)
DE (2) DE602004018620D1 (es)
ES (1) ES2318245T3 (es)
GB (1) GB2431029B (es)
HK (1) HK1103139A1 (es)
WO (1) WO2005119511A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027167B1 (ko) * 2005-12-13 2011-04-05 인터내셔널 비지네스 머신즈 코포레이션 자동완성 방법 및 시스템
US8237659B2 (en) 2006-04-06 2012-08-07 Research In Motion Limited Word completion in a handheld electronic device
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
EP1843238A1 (en) * 2006-04-06 2007-10-10 Research In Motion Limited Word completion in a handheld electronic device
US8606562B2 (en) * 2007-10-25 2013-12-10 Blackberry Limited Disambiguated text message retype function
DE102009058640B4 (de) * 2009-12-16 2013-08-29 Sartorius Weighing Technology Gmbh Bedieneinheit und Verfahren zum Bedienen einer Bedieneinheit
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8914751B2 (en) 2012-10-16 2014-12-16 Google Inc. Character deletion during keyboard gesture
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3490147B2 (ja) * 1994-07-05 2004-01-26 株式会社半導体エネルギー研究所 情報処理装置
WO1997005541A1 (en) * 1995-07-26 1997-02-13 King Martin T Reduced keyboard disambiguating system
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
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US6489950B1 (en) 1998-06-26 2002-12-03 Research In Motion Limited Hand-held electronic device with auxiliary input device
US6278442B1 (en) 1998-06-26 2001-08-21 Research In Motion Limited Hand-held electronic device with a keyboard optimized for use with the thumbs
US6204848B1 (en) * 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
CA2323856A1 (en) * 2000-10-18 2002-04-18 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method

Also Published As

Publication number Publication date
WO2005119511A1 (en) 2005-12-15
EP1603014B1 (en) 2008-12-24
HK1103139A1 (en) 2007-12-14
CA2509010A1 (en) 2005-12-02
DE112005001283T5 (de) 2007-10-31
DE602004018620D1 (de) 2009-02-05
EP1603014A1 (en) 2005-12-07
CA2509010C (en) 2011-05-10
GB2431029A (en) 2007-04-11
GB2431029B (en) 2008-10-15
GB0625977D0 (en) 2007-02-07
EP2017696A1 (en) 2009-01-21
ATE418756T1 (de) 2009-01-15

Similar Documents

Publication Publication Date Title
ES2318245T3 (es) Dispositivo electronico portatil con desambiguacion de texto.
US9621691B2 (en) Handheld electronic device with text disambiguation
US9588596B2 (en) Handheld electronic device with text disambiguation
US7893850B2 (en) Handheld electronic device with text disambiguation
US7477238B2 (en) Handheld electronic device with text disambiguation
US8179289B2 (en) Handheld electronic device with text disambiguation
US7969415B2 (en) Handheld electronic device with text disambiguation
US8984187B2 (en) Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations
US8854301B2 (en) Handheld electronic device with text disambiguation
US20070290892A1 (en) Handheld electronic device with text disambiguation
CA2509012C (en) Handheld electronic device with text disambiguation
US9189080B2 (en) Handheld electronic device with text disambiguation
US7352296B2 (en) Handheld electronic device with text disambiguation
CA2579051C (en) Handheld electronic device with text disambiguation
ES2327774T3 (es) Dispositivo electronico portatil que incluye la seleccion preferida automatica de una puntuacion, y metodo asociado.
CA2517652C (en) Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations
CA2589126A1 (en) Handheld electronic device with text disambiguation
GB2451143A (en) Handheld electronic device with text disambiguation with orphan prefix objects and artifical variants
EP1760570A1 (en) Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations