BRPI0615596A2 - desambigüização de texto permitindo uma expansão dinámica de associações de tecla - Google Patents

desambigüização de texto permitindo uma expansão dinámica de associações de tecla Download PDF

Info

Publication number
BRPI0615596A2
BRPI0615596A2 BRPI0615596-0A BRPI0615596A BRPI0615596A2 BR PI0615596 A2 BRPI0615596 A2 BR PI0615596A2 BR PI0615596 A BRPI0615596 A BR PI0615596A BR PI0615596 A2 BRPI0615596 A2 BR PI0615596A2
Authority
BR
Brazil
Prior art keywords
input
linguistic
objects
prefix
alphabet
Prior art date
Application number
BRPI0615596-0A
Other languages
English (en)
Inventor
Michael G Elizarov
Vadim Fux
Daniel Rubanovich
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
Publication of BRPI0615596A2 publication Critical patent/BRPI0615596A2/pt
Publication of BRPI0615596B1 publication Critical patent/BRPI0615596B1/pt

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
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • 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)
  • Telephone Function (AREA)

Abstract

DESAMBIGUIZAçãO DE TEXTO PERMITINDO UMA EXPANSãO DINáMICA DE ASSOCIAçõES DE TECLA Um dispositivo eletrónico portátil inclui um teclado QWERTY reduzido habilitado com um software de desambigúização. O dispositivo provê uma saída como uma saída default e várias variantes. A saída é baseada largamente na freqúência, isto é, na probabilidade de um usuário pretender uma saída em particular, mas os recursos do dispositivo provêem variantes adicionais que não são baseados unicamente na frequência e são providos pelas estruturas lógicas residentes no dispositivo, O dispositivo permite a edição durante uma introdução de texto e provê uma função de aprendizado. A função de desambigúizaçáo pode ser seletivamente desabilitada e um sistema de interpretação de aperto de tecla alternativo provido, O dispositivo pode facilitar a seleção de variantes pela exibição de um item gráfico de uma tecla <NEXT> especial, que permite que um usuário progressivamente selecione variantes, sem mudar a posição das mãos do usuário no dispositivo. Se for determinado que um campo é um campo de entrada especial, um resultado desambigúizado poderá ser buscado a partir de uma fonte de dados predeterminada, antes de se buscarem resultados a partir de outras fontes de dados no dispositivo.

Description

DESAMBIGÜIZAÇÃO DE TEXTO PERMITINDO UMA EXPANSÃO DINÂMICADE ASSOCIAÇÕES DE TECLA
ANTECEDENTES
Campo
A invenção se refere geralmente a dispositivoseletrônicos portáteis e, mais particularmente, a umdispositivo eletrônico portátil que tem um teclado reduzidoe uma função de desambigüização de entrada e também serefere a um método associado.
Descrição da Técnica Relacionada
Numerosos tipos de dispositivos eletrônicos portáteissão conhecidos. Os exemplos desses dispositivos eletrônicosportáteis incluem, por exemplo, assistentes de dadospessoais (PDAs), computadores portáteis, equipamentos deradiochamada de duas vias, telefones celulares, esimilares. Muitos dispositivos eletrônicos portáteis tambémcaracterizam uma capacidade de comunicação sem fio, emboramuitos destes dispositivos eletrônicos portáteis sejamdispositivos independentes que são funcionais sem umacomunicação com outros dispositivos.
Esses dispositivos eletrônicos portáteis geralmentesão pretendidos para serem portáteis e, assim, são deconfiguração relativamente compacta, na qual as teclas eoutras estruturas de entrada freqüentemente realizammúltiplas funções sob certas circunstâncias, ou podem terde outra forma múltiplos aspectos ou recursos atribuídos aelas. Com os avanços na tecnologia, os dispositivoseletrônicos portáteis são construídos para terem fatores deforma progressivamente menores e ainda terem númerosprogressivamente maiores de aplicativos e recursosresidentes neles. Como uma matéria prática, as teclas de umteclado podem ser reduzidas apenas até um certo tamanhoantes de as teclas se tornarem inutilizáveis. De modo a sepermitir uma entrada de texto, contudo, um teclado deve sercapaz de permitir a entrada de vinte e seis letras doalfabeto latino, por exemplo, bem como uma pontuaçãoapropriada e outros símbolos.
Uma forma de provisão de numerosas letras em um espaçopequeno tem sido prover um "teclado reduzido" no qualmúltiplas letras, símbolos e/ou dígitos e similares sãoatribuídos a qualquer dada tecla. Por exemplo, um telefonede touch-tone (discagem por tom) inclui um teclado reduzidopela provisão de doze teclas, das quais dez têm dígitosnela e destas dez teclas oito têm letras latinas atribuídasa elas. Por exemplo, uma das teclas inclui o dígito "2",bem como as letras "A", "B" e "C" . Outros tecladosreduzidos conhecidos incluíam outros arranjos de teclas,letras, símbolos, dígitos e similares. Uma vez que umaatuação única de uma tecla como essa potencialmente poderiaser pretendida pelo usuário para se referir a qualquer umadas letras "A", "B" e "C" e potencialmente poderia serpretendida também para se referir ao dígito "2", a entradageralmente é uma entrada ambígua e tem necessidade de algumtipo de desambigüização de modo a ser útil para fins deentrada de texto.
De modo a se permitir que o usuário faça uso dasmúltiplas letras, dígitos e similares em qualquer dadatecla, numerosos sistemas de interpretação de aperto detecla foram providos. Por exemplo, um sistema de "toquemúltiplo" permite que um usuário especifique de formasubstancialmente não ambígua um caractere em particular emuma tecla ao pressionar a mesma tecla um número de vezesequivalente à posição do caractere desejado na tecla. Porexemplo, na tecla de telefone mencionada anteriormente queinclui as letras "ABC", e o usuário deseja especificar aletra "C" , o usuário então pressionará a tecla três vezes.Embora esses sistemas de toque múltiplo tenham sidogeralmente efetivos para suas finalidades pretendidas, nãoobstante, eles podem requerer um número relativamentegrande de entradas de tecla, se comparado com o número decaracteres que finalmente são extraídos.
Um outro exemplo de sistema de interpretação de apertode tecla incluiria uma associação de teclas, da qualexistem vários tipos. Por exemplo, um caractere emparticular pode ser introduzido ao se pressionarem duasteclas em sucessão ou ao se pressionar e manter umaprimeira tecla enquanto se pressiona uma segunda tecla.Ainda um outro sistema de interpretação de aperto de teclaseria uma função de interpretação de "pressionar e manter /pressionar e soltar", na qual uma dada tecla prove umprimeiro resultado se a tecla for pressionada eimediatamente solta, e provê um segundo resultado se atecla for pressionada e mantida por um período de tempocurto. Embora seus sistemas tenham sido em geral efetivosda mesma forma para suas finalidades pretendidas, essessistemas também têm seus próprios inconvenientes únicos.
Um outro sistema de interpretação de aperto de teclaque tem sido empregado é uma função de desambigüização detexto baseada em software. Em um sistema como esse, umusuário tipicamente pressiona teclas às quais um ou maiscaracteres foram atribuídos, geralmente pressionando cadatecla uma vez para cada letra desejada, e o software dedesambigüização tenta predizer a entrada pretendida.Numerosos sistemas como esse foram propostos, e, emboramuitos tenham sido efetivos em geral para suas finalidadespretendidas, ainda existem inconvenientes.
Seria desejável prover um dispositivo eletrônicoportátil melhorado com um teclado reduzido que buscasseimitar uma experiência de teclado QWERTY ou uma outraexperiência de teclado em particular. Um dispositivoeletrônico portátil melhorado como esse também poderia serconfigurado, desejavelmente, com recursos suficientes parase permitir uma entrada de texto e outras tarefas comrelativa facilidade.
SUMÁRIO
Tendo em vista o precedente, um dispositivo eletrônicoportátil melhorado inclui um teclado na forma de um tecladoQWERTY reduzido e é habilitado com um software dedesambigüização. Conforme um usuário introduzir apertos detecla, o dispositivo produz uma saída na forma de uma saídadefault e várias variantes a partir das quais um usuáriopode escolher. A saída é baseada largamente na freqüência,isto é, na probabilidade de um usuário pretender uma saídaem particular, mas vários recursos do dispositivo provêemvariantes adicionais que não são baseadas unicamente nafreqüência e, ao invés disso, são providas por váriasestruturas lógicas residentes no dispositivo. O dispositivopermite uma edição durante uma entrada de texto e tambémprovê uma função de aprendizado que permite que a função dedesambigüização se adapte para a provisão de umaexperiência personalizada para o usuário. 0 dispositivotambém é configurado para permitir a entrada e oaprendizado de novos caracteres, bem como novas palavrasque compreendam os novos caracteres.
Assim sendo, um aspecto é prover um dispositivoeletrônico portátil melhorado e um método associado, com odispositivo eletrônico portátil incluindo um tecladoreduzido que busca simular uma experiência de tecladoQWERTY ou uma outra experiência de teclado em particular.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que proveja umafunção de desambigüização de entrada de texto.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que empreguem umafunção de desambigüização, a qual, em resposta a umaentrada ambígua, proveja várias saídas propostas de acordocom uma freqüência relativa.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que provejamvárias saídas propostas que possam ser baseadas em umafreqüência relativa e/ou possam resultar de váriasestruturas lógicas residentes no dispositivo.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que permitam umaexperiência personalizada por um usuário, com base emvários recursos de aprendizado e outros recursos.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que empreguem umafunção de desambigüização e que permitam a entrada e oaprendizado de novas palavras que compreendam os novoscaracteres.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado, onde odispositivo eletrônico portátil inclui um aparelho deentrada, o qual facilita a seleção de variantes comfacilidade relativa.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado e um método associado que empreguem umafunção de desambigüização para desambigüização de umaentrada de texto a partir de um teclado QWERTY reduzido oude um outro teclado e que permitam a edição de uma entradade texto.
Assim sendo, um aspecto é prover um método melhoradode permitir uma entrada em um dispositivo eletrônicoportátil de um tipo que inclui um aparelho de entrada, umaparelho de saída e uma memória. A memória tem armazenadosali vários elementos lingüísticos, um alfabeto e váriosobjetos, com pelo menos alguns dos elementos lingüísticos,cada um, estando no alfabeto. Os vários objetos compreendemvários objetos de linguagem, e pelo menos alguns dosobjetos de linguagem compreendem, cada um, vários elementoslingüísticos no alfabeto. 0 aparelho de entrada inclui umapluralidade de membros de entrada, com pelo menos algunsdos membros de entrada tendo, cada um, vários elementoslingüísticos atribuídos a ele. A natureza geral do métodopode ser declarada como incluindo a detecção como umaprimeira entrada de uma entrada de um novo objeto delinguagem compreendendo pelo menos um novo elementolingüístico diferente dos elementos lingüísticos noalfabeto, e o armazenamento de pelo menos um primeiro novoelemento lingüístico. 0 método ainda inclui a detecção comouma segunda entrada de uma entrada ambígua compreendendovárias atuações de vários membros de entrada, a geração devários objetos de prefixo, cada um tendo vários elementoslingüísticos dos membros de entrada da entrada ambígua, compelo menos um dos objetos de prefixo incluindo pelo menosum primeiro novo elemento lingüístico e, para cada objetode prefixo de pelo menos alguns dos objetos de prefixo,buscar um objeto de linguagem correspondente quecorresponda ao objeto de prefixo.
Um outro aspecto é prover um dispositivo eletrônicoportátil melhorado, cuja natureza geral pode ser declaradacomo incluindo um aparelho processador e um aparelho deentrada. O aparelho processador compreende um processador euma memória. A memória tem armazenados nela várioselementos lingüísticos, um alfabeto, e vários objetos. Pelomenos alguns dos elementos lingüísticos estão, cada um, noalfabeto. Os vários objetos compreendem vários objetos delinguagem. Pelo menos alguns dos objetos de linguagemcompreendem, cada um, vários elementos lingüísticos noalfabeto. 0 aparelho de entrada inclui uma pluralidade demembros de entrada. Pelo menos alguns dos membros deentrada incluem, cada um, vários elementos lingüísticosatribuídos a eles. 0 alfabeto é expansível para teradicionados a ele vários elementos lingüísticos adicionaismediante uma entrada de um novo objeto de linguagem tendopelo menos um primeiro elemento lingüístico ainda não noalfabeto.
BREVE DESCRIÇÃO DOS DESENHOS
Um entendimento pleno pode ser obtido a partir daDescrição a seguir da Modalidade Preferida, quando lida emconjunto com os desenhos associados, nos quais:
a Fig. 1 é uma vista em plano de topo de umdispositivo eletrônico portátil melhorado de acordo com ainvenção;
a Fig. 2 é uma descrição esquemática do dispositivoeletrônico portátil melhorado da Fig. 1;
a Fig. 2A é uma descrição esquemática de uma porção dodispositivo eletrônico portátil da Fig. 2;
as Fig. 3A e 3B descrevem um fluxograma de exemplo quedescreve certos aspectos de uma função de desambigüizaçãoque pode ser executada no dispositivo eletrônico portátilda Fig. 1;
a Fig. 4 é um outro fluxograma de exemplo que descrevecertos aspectos de uma função de desambigüização que podeser executada no dispositivo eletrônico portátil por meioda qual certas variantes de saída podem ser providas para ousuário;
as Fig. 5A e 5B descrevem um outro fluxograma deexemplo descrevendo certos aspectos do método deaprendizado que pode ser executado no dispositivoeletrônico portátil;
a Fig. 6 é um outro fluxograma de exemplo descrevendocertos aspectos de um método pelo qual vários formatos deexibição podem ser providos no dispositivo eletrônicoportátil;
a Fig. 6A é um outro fluxograma de exemplo descrevendocertos aspectos do método que pode ser executado nodispositivo eletrônico portátil;
a Fig. 7 é uma saída de exemplo durante uma operaçãode entrada de texto;
a Fig. 8 é uma outra saída de exemplo durante umaoutra parte da operação de entrada de texto;
a Fig. 9 é uma outra saída de exemplo durante umaoutra parte da operação de entrada de texto;
a Fig. 10 é uma outra saída de exemplo durante umaoutra parte da operação de entrada de texto;
a Fig. 11 é uma saída de exemplo do dispositivoeletrônico portátil durante uma outra operação de entradade texto;
a Fig. 12 é uma saída de exemplo que pode ser providaem um caso em que a função de desambigüização dodispositivo eletrônico portátil foi desabilitada;
a Fig. 13 é uma descrição de exemplo de um arquivo demapa armazenado no dispositivo eletrônico portátil;
a Fig. 14 é uma descrição de exemplo de um alfabetoarmazenado no dispositivo eletrônico portátil;
a Fig. 15A é uma saída de exemplo durante uma outraoperação de entrada de texto;
a Fig. 15B é uma outra saída de exemplo durante umaoutra parte de uma outra operação de entrada de texto;
a Fig. 15C é um outro exemplo de saída durante umaoutra parte da outra operação de entrada de texto;
a Fig. 15D é uma outra saída de exemplo durante umaoutra parte da outra operação de entrada de texto; e
a Fig. 16 é uma descrição de exemplo de um alfabetoarmazenado no dispositivo eletrônico portátil.
Numerais similares se referem a partes similares portodo o relatório descritivo.
DESCRIÇÃO DA MODALIDADE PREFERIDAUm dispositivo eletrônico portátil melhorado 4 éindicado geralmente na Fig. 1 e é descrito esquematicamentena Fig. 2. 0 dispositivo eletrônico portátil de exemplo 4inclui um alojamento 6 no qual são dispostos um aparelho deentrada 8, um aparelho de saída 12 e um aparelhoprocessador 14. 0 aparelho processador 14 inclui umprocessador 16 e uma memória 20 e, adicionalmente, incluivárias rotinas descritas geralmente com o número 22 para oprocessamento de dados. 0 processador 16 pode ser, porexemplo, e sem limitação, um microprocessador (μΡ) eresponde a entradas a partir do aparelho de entrada 8 eprovê sinais de saída para o aparelho de saída 12. 0processador 16 também tem uma interface com a memória 20.
Os exemplos de dispositivos eletrônicos portáteis sãoincluídos nas Patentes U.S. N0 6.452.588 e 6.489.950.
Conforme pode ser entendido a partir da Fig. 1, oaparelho de entrada 8 inclui um teclado 24 e uma roda descroll (thumbwheel) 32. Conforme será descrito em maioresdetalhes abaixo, o teclado 24 é na forma de exemplo de umteclado QWERTY reduzido incluindo uma pluralidade de teclas28 que servem como membros de entrada. É notado, contudo,que o teclado 24 pode ser de outras configurações, taiscomo um teclado AZERTY, um teclado QWERTZ ou um outroarranjo de teclado, presentemente conhecido oudesconhecido, e reduzido ou não reduzido. Conformeempregada aqui, a expressão "reduzido" e variações da mesmano contexto de um teclado, um miniteclado ou outro arranjode membros de entrada devem se referir amplamente a umarranjo no qual pelo menos um dos membros de entrada tematribuída a ele uma pluralidade de elementos lingüísticostais como, por exemplo, caracteres no conjunto de letraslatinas, por meio do que uma atuação de pelo menos um dosmembros de entrada, sem uma outra entrada em combinação comela é uma entrada ambígua, uma vez que poderia se referir amais de um da pluralidade de elementos lingüísticosatribuídos a ela. Conforme empregada aqui, a expressão"elemento lingüístico" e variações da mesma devem sereferir amplamente a qualquer elemento que em si possa serum objeto de linguagem ou a partir do qual um objeto delinguagem possa ser construído, identificado ou obtido deoutra forma, e assim incluiria, por exemplo, e semlimitação, caracteres, letras, traços, ideogramas, fonemas,morfemas, dígitos e similares. Conforme empregada aqui, aexpressão "objeto de linguagem" e variações da mesma devemse referir amplamente a qualquer tipo de objeto que possaser construído, identificado ou obtido de outra forma apartir de um ou mais elementos lingüísticos, que possa serusado sozinho ou em combinação para a geração de texto eque incluiria, por exemplo, e sem limitação, palavras,"abreviações", símbolos, ideogramas e similares. Um exemplode um tipo de abreviação poderia ser o uso da expressão"BTW" para se referir como uma abreviação à frase "by theway" (a propósito), sendo a intenção que a pessoa lendo amensagem entenda que a abreviação "BTW" significa "by theway".
A arquitetura de sistema do dispositivo eletrônicoportátil 4 vantajosamente é organizada para ser operávelindependentemente do layout específico do teclado 24. Assimsendo, a arquitetura de sistema do dispositivo eletrônicoportátil 4 pode ser empregada em conjunto com virtualmentequalquer layout de teclado substancialmente ser requererqualquer mudança significativa na arquitetura do sistema. Éadicionalmente notado que alguns dos recursos estabelecidosaqui são usáveis em um ou ambos um teclado reduzido e umteclado não reduzido.
As teclas 2 8 são dispostas em uma face dianteira doalojamento 6, e a roda de scroll (thumbwheel) 32 é dispostaem um lado do alojamento 6. A roda de scroll (thumbwheel)32 pode servir como um outro membro de entrada e érotativa, conforme é indicado pela seta 34, para a provisãode entradas de seleção e/ou de navegação para o processador16, e também pode ser pressionada em uma direção geralmentepara o alojamento 6, conforme é indicado pela seta 38, paraa provisão de uma outra entrada de seleção para oprocessador 16.
Dentre as teclas 28 do teclado 24 estão uma tecla<NEXT> 40 e uma tecla <ENTER> 44. A tecla <NEXT> 40 podeser pressionada para a provisão de uma entrada de seleçãopara o processador 16 e provê substancialmente a mesmaentrada de seleção que é provida por uma entrada rotativada roda de scroll (thumbwheel) 32, quando certas rotinasestão ativas no dispositivo eletrônico portátil 4. Uma vezque a tecla <NEXT> 40 é provida adjacente a várias outrasteclas 28 do teclado 24, o usuário pode prover uma entradade seleção para o processador 16 substancialmente sem moveras mãos do usuário do teclado 24 durante uma operação deentrada de texto. Conforme será descrito em maioresdetalhes abaixo, a tecla <NEXT> 4 0 de forma adicional evantajosa inclui um item gráfico 42 disposto nele e, emcertas circunstâncias, o aparelho de saída 12 também exibeum item gráfico exibido 4 6 nele para a identificação datecla <NEXT> 4 0 como sendo capaz de prover uma entrada deseleção para o processador 16. Nesse sentido, o itemgráfico exibido 46 do aparelho de saída 12 ésubstancialmente similar ao item gráfico 42 na tecla <NEXT>e, assim, identifica a tecla <NEXT> 40 como sendo capaz deprover uma entrada de seleção desejável para o processador-16 .
Conforme pode ser visto na Fig. 1, muitas das teclasincluem vários elementos lingüísticos 48 dispostosnelas. Conforme empregada aqui, a expressão "vários" evariações da mesma devem se referir amplamente a qualquerquantidade, incluindo uma quantidade de um. Na descrição deexemplo do teclado 24, muitas das teclas 28 incluem doiselementos lingüísticos 48 dispostos nelas, tal comoincluindo um primeiro elemento lingüístico 52 e um segundoelemento lingüístico 56 nelas.
Uma das teclas 28 do teclado 24 inclui como oscaracteres 4 8 e como os primeiro e segundo elementoslingüísticos 52 e 56 das mesmas as letras "Q" e "W", e umatecla 28 adjacente inclui como os caracteres 48 e como osprimeiro e segundo elementos lingüísticos 52 e 56 dasmesmas as letras "E" e "R" . Pode ser visto que o arranjodos caracteres 48 nas teclas 28 do teclado 24 é geralmentede um arranjo QWERTY, embora com muitas das teclas 28incluindo dois dos caracteres 28.
O aparelho de saída 12 inclui um visor 60 sobre o qualpode ser provida uma saída 64. Uma saída de exemplo 64 édescrita no visor 60 na Fig. 1. A saída 64 inclui umcomponente de texto 68 e um componente de variante 72. 0componente de variante 72 inclui uma porção default 76 euma porção de variante 80. O visor também inclui um sinalde intercalação 84 que descreve geralmente onde a próximaentrada a partir do aparelho de entrada 8 será recebida.
O componente de texto 68 da saída 64 provê umadescrição da porção default 76 da saída 64 em umalocalização no visor 60 em que o texto está sendointroduzido. O componente de variante 72 é dispostogeralmente nas vizinhanças do componente de texto 68 eprovê, além da saída proposta default 76, uma descrição dasvárias escolhas alternativas de texto, isto é, alternativaspara a saída proposta default 76, que são propostas por umafunção de desambigüização de entrada em resposta a umaseqüência de entrada de atuações de tecla das teclas 28.
Conforme será descrito em maiores detalhes abaixo, aporção default 76 é proposta pela função de desambigüizaçãocomo sendo a interpretação desambigüizada mais provável daentrada ambígua provida pelo usuário. A porção de variante80 inclui uma quantidade predeterminada de interpretaçõespropostas da mesma entrada ambígua a partir da qual ousuário pode selecionar, se desejado. O item gráficoexibido 46 tipicamente é provido no componente de variante72 nas vizinhanças da porção de variante 80, embora sejaentendido que o item gráfico exibido 46 poderia ser providoem outras localizações e de outras formas, sem se desviardo presente conceito. Também é notado que a porção devariante de exemplo 80 é descrita aqui como se estendendoverticalmente abaixo da porção default 76, mas é entendidoque numerosos outros arranjos poderiam ser providos, sem sedesviar do conceito da invenção.Dentre as teclas 28 do teclado 24, adicionalmente, háuma tecla <DELETE> 86 que pode ser provida para oapagamento de uma entrada de texto. Conforme será descritoem maiores detalhes abaixo, a tecla <DELETE> 86 também podeser empregada na provisão de uma entrada de alternação parao processador 16 para uso pela função de desambigüização.
A memória 20 é descrita esquematicamente na Fig. 2A. Amemória 20 pode ser de qualquer um de uma variedade detipos de meios de armazenamento internos e/ou externos,tais como, sem limitação, uma RAM, uma ROM, EPROM(s),EEPROM(s) e similares, que provejam um registrador dearmazenamento para armazenamento de dados, tal como naforma de uma área de armazenamento interna de umcomputador, e pode ser uma memória volátil e uma memórianão volátil. As rotinas 22 podem ser de qualquer uma de umavariedade de formas, tais como, sem limitação, software,firmware e similares. Conforme será explicado em maioresdetalhes abaixo, as rotinas 22 incluem uma rotina dedesambigüização que provê a função de desambigüizaçãomencionada anteriormente como um aplicativo, bem comooutras rotinas.
Conforme será entendido a partir da Fig. 2A, a memória20 adicionalmente inclui dados armazenados e/ou organizadosem várias tabelas, conjuntos, listas e/ou de outra forma.
Especificamente, a memória 20 inclui uma lista de palavragenérica 88, um banco de dados de palavras novas 92 e umbanco de dados de aprendizado de freqüência 96. A memóriaadicionalmente tem armazenados ali uma outra fonte dedados 99 e um arquivo de mapa 49, ambos os quais sendodescritos em outro lugar aqui em maiores detalhes.São armazenados nas várias áreas da memória 20 váriosobjetos de linguagem 100 e objetos de freqüência 104. Osobjetos de linguagem 100 geralmente estão associados, cadaum, a um objeto de freqüência associado 104. Os objetos delinguagem 100 incluem, na presente modalidade de exemplo,uma pluralidade de objetos de palavra 108 e uma pluralidadede objetos de N-grama 112. Os objetos de palavra 108geralmente são representativos de palavras completas nalinguagem ou palavras personalizadas armazenadas na memória22. Por exemplo, se a linguagem armazenada na memóriafosse, por exemplo, Inglês, geralmente cada objeto depalavra 108 representaria uma palavra na linguagem inglesaou representaria uma palavra personalizada.
Está associado substancialmente a cada objeto depalavra 108 um objeto de freqüência 104 tendo um valor defreqüência que é indicativo da freqüência relativa dentroda linguagem relevante da dada palavra representada peloobjeto de palavra 108. Nesse sentido, a lista de palavragenérica 88 inclui um corpus de objetos de palavra 108 eobjetos de freqüência associados 104 que, em conjunto, sãorepresentativos de uma ampla variedade de palavras e suafreqüência relativa em um dado vernáculo de, por exemplo,uma dada linguagem. A lista de palavra genérica 88 pode serderivada de qualquer uma de uma ampla variedade de formas,tal como pela análise de numerosos textos e outras fontesde linguagem para a determinação das várias palavras nasfontes de linguagem, bem como suas probabilidadesrelativas, isto é, freqüências relativas, das ocorrênciasdas várias palavras nas fontes de linguagem.
Os objetos de N-grama 112 armazenados na lista depalavra genérica 88 são cadeias curtas de caracteres nalinguagem relevante, tipicamente, de um a três caracteresde comprimento, e tipicamente representam fragmentos depalavra na linguagem relevante, embora certos objetos de N-grama 112 adicionalmente possam ser palavras eles mesmos.Contudo, até a extensão em que o objeto de N-grama 112também é uma palavra na linguagem relevante, a mesmapalavra probabilidade será armazenada separadamente como umobjeto de palavra 108 na lista de palavra genérica 88.Conforme empregada aqui, a expressão "cadeia" e variaçõesda mesma devem se referir a qualquer um dentre uma palavracompleta, um fragmento de uma palavra, uma palavrapersonalizada ou expressão e similares.
Na presente modalidade de exemplo do dispositivoeletrônico portátil 4, os objetos de N-grama 112 incluemobjetos de 1-grama, isto é, objetos de cadeia que têm umcaractere de comprimento, objetos de 2-grama, isto é,objetos de cadeia que têm dois caracteres de comprimento, eobjetos de 3-grama, isto é, objetos de cadeia que têm trêscaracteres de comprimento, todos os quais sendocoletivamente referidos como objetos de N-grama 112.Substancialmente cada objeto de N-grama 112 na lista depalavra genérica 88 é associado de forma similar a umobjeto de freqüência associado 104 armazenado na lista depalavra genérica 88, mas o objeto de freqüência 104associado a um dado objeto de N-grama 112 tem um valor defreqüência que indica a probabilidade relativa de a cadeiade caractere representada pelo objeto de N-grama 112 emparticular existir em qualquer localização dentro dequalquer palavra da linguagem relevante. Os objetos de N-grama 112 e os objetos de freqüência associados 104 fazemparte do corpus da lista de palavra genérica 8 8 e sãoobtidos de uma forma similar à forma pela qual o objeto depalavra 108 e os objetos de freqüência associados 104 sãoobtidos, embora a análise realizada na obtenção dos objetosde N-grama 112 seja ligeiramente diferente, porqueenvolverá uma análise das várias cadeias de caracteredentro das várias palavras, ao invés de se basearprimariamente na ocorrência relativa de uma dada palavra.
A presente modalidade de exemplo do dispositivoeletrônico portátil 4, com sua linguagem de exemplo sendo alinguagem inglesa, inclui vinte e seis objetos de N-grama112 de 1-grama, isto é, um objeto de 1-grama para cada umadas vinte e seis letras no alfabeto latino no qual alinguagem inglesa é baseada, e ainda inclui 676 objetos deN-grama 112 de 2-grama, isto é, vinte e seis ao quadrado,representando cada permutação de duas letras das vinte eseis letras do alfabeto latino.
Os objetos de N-grama 112 também incluem uma certaquantidade de objetos de N-grama 112 de 3-grama,primariamente aqueles que têm uma freqüência relativamentealta na linguagem relevante. A modalidade de exemplo dodispositivo eletrônico portátil 4 inclui menos do que todasas permutações de três letras das vinte e seis letras doalfabeto latino, devido a considerações de tamanho dearmazenamento de dados e, também, porque os objetos de N-grama 112 de 2-grama já podem prover uma quantidadesignificativa de informação referente à linguagemrelevante. Conforme será estabelecido em maiores detalhesabaixo, os objetos de N-grama 112 e seus objetos defreqüência associados 104 provêem dados de freqüência quepodem ser atribuídos a cadeias de caractere para as quaisum objeto de palavra 108 correspondente não pode seridentificado ou não foi identificado e, tipicamente, sãoempregados como uma fonte de dados de restauração deemergência, embora esta necessidade não seja exclusivamenteo caso.
Na presente modalidade de exemplo, os objetos delinguagem 100 e os objetos de freqüência 104 são mantidossubstancialmente inviolados na lista de palavra genérica88, significando que o corpus de linguagem básica permanecesubstancialmente inalterado na lista de palavra genérica88, e as funções de aprendizado que são providas pelodispositivo eletrônico portátil 4 e que são descritasabaixo operam em conjunto com um outro b que são geralmentearmazenados em outro lugar na memória 20, tal como, porexemplo, no banco de dados de palavras novas 92 e no bancode dados de aprendizado de freqüência 96.
O banco de dados de palavras novas 92 e o banco dedados de aprendizado de freqüência 96 armazenam objetos delinguagem adicionais 100 e objetos de freqüência associados104, de modo a proverem para um usuário uma experiênciapersonalizada, na qual palavras e similares que são usadasde forma relativamente mais freqüente por um usuário serãoassociadas a valores de freqüência relativamente mais altosdo que poderia ser refletido de outra forma na lista depalavra genérica 88. Mais particularmente, o banco de dadosde palavras novas 92 inclui objetos de palavra 108 que sãodefinidos por usuário e que geralmente não são encontradosdentre os objetos de palavra 108 da lista de palavragenérica 88. Cada objeto de palavra 108 no banco de dadosde palavras novas 92 tem associado a ele um objeto defreqüência associado 104 que também é armazenado no bancode dados de palavras novas 92. O banco de dados deaprendizado de freqüência 96 armazena objetos de palavra108 e objetos de freqüência associados 104 que sãoindicativos de um uso relativamente mais freqüente dessaspalavras por um usuário do que seria refletido na lista depalavra genérica 88. Como tal, o banco de dados de palavrasnovas 92 e o banco de dados de aprendizado de freqüência 96provêem duas funções de aprendizado, isto é, eles emconjunto provêem a capacidade de aprendizado de novaspalavras, bem como a capacidade de aprendizado de valoresde freqüência alterados para palavras conhecidas.
Além dos objetos de palavra 108 e dos objetos defreqüência associados 104 armazenados no banco de dados depalavras novas 92, o banco de dados de palavras novas 92tem um alfabeto 47 armazenado ali. O alfabeto 47 inclui umalistagem de todos os caracteres que são compreendidos pelosobjetos de palavra 108 no banco de dados de palavras novas 92.
As Figuras 3A e 3B descrevem em uma forma de exemplo aoperação geral de certos aspectos da função dedesambigüização do dispositivo eletrônico portátil 4.
Recursos adicionais, funções e similares são representadose descritos em outro lugar.
Uma entrada é detectada, como em 204, e a entrada podeser qualquer tipo de atuação ou outra operação quanto aqualquer porção do aparelho de entrada 8. Uma entradatipicamente incluiria, por exemplo, uma atuação de umatecla 28 tendo vários caracteres 48 nela, ou qualquer outrotipo de atuação ou manipulação do aparelho de entrada 8.
Mediante a detecção em 2 04 de uma entrada, umtemporizador é reinicializado em 208. 0 uso do temporizadorserá descrito em maiores detalhes abaixo.
A função de desambigüização então determina, como em212, se a entrada atual é uma entrada operacional, tal comouma entrada de seleção, uma entrada de delimitador, umaentrada de movimento, uma entrada de alternância, ou, porexemplo, qualquer outra entrada que não constitua umaatuação de uma tecla 28 tendo vários caracteres 48 nela. Sea entrada for determinada em 212 como não sendo uma entradaoperacional, o processamento continuará em 216 pela adiçãoda entrada à seqüência de entrada atual, a qual pode ou nãohá incluir uma entrada.
Muitas das entradas detectadas em 2 04 são empregadasna geração de seqüências de entrada quanto às quais afunção de desambigüização será executada. Uma seqüência deentrada é construída em cada "sessão" com cada atuação deuma tecla 28 tendo vários caracteres 48 nela. Uma vez que aseqüência de entrada tipicamente será constituída por pelomenos uma atuação de uma tecla 2 8 tendo uma pluralidade decaracteres 4 8 nela, a seqüência de entrada será ambígua.Quando uma palavra, por exemplo, é completada, a sessãoatual é terminada e uma nova sessão é iniciada.Uma seqüência de entrada é gradualmente acumulada nodispositivo eletrônico portátil 4 com cada atuaçãosucessiva de uma tecla 2 8 durante qualquer dada sessão.Especificamente, uma vez que uma entrada de delimitadorseja detectada durante qualquer dada sessão, a sessão éterminada e uma nova sessão é iniciada. Cada entradaresultante de uma atuação de uma das teclas 28 tendo várioscaracteres 48 associados a ela é seqüencialmente adicionadaà seqüência de entrada atual. Conforme a seqüência deentrada cresce durante uma dada sessão, a função dedesambigüização geralmente é executada com cada atuação deuma tecla 28, isto é, uma entrada e quanto à seqüência deentrada inteira. Dito de outra forma, em uma dada sessão,tenta-se desambigüizar a seqüência de entrada crescentecomo uma unidade pela função de desambigüização com cadaatuação sucessiva das várias teclas 28.
Uma vez que uma entrada atual representando umaatuação mais recente de uma das teclas 28 tendo várioscaracteres 48 atribuídos a ela foi adicionada à seqüênciade entrada atual na sessão atual, como em 216 na Fig. 3A, afunção de desambigüização gera, como em 22 0,substancialmente todas as permutações dos caracteres 48atribuídos às várias teclas 28 que foram atuadas na geraçãoda seqüência de entrada. Nesse sentido, as "permutações" sereferem às várias cadeias que podem resultar dos caracteres48 de cada tecla atuada 28 limitadas pela ordem na qual asteclas 28 foram atuadas. As várias permutações doscaracteres na seqüência de entrada são empregadas comoobjetos de prefixo.
Por exemplo, se a seqüência de entrada atual na sessãoatual for a entrada ambígua das telas "AS" e "OP" , asvárias permutações do primeiro caractere 52 e do segundocaractere 56 de cada uma das duas teclas 28, quandoconsideradas na seqüência na qual as teclas 28 foramatuadas, seriam "SO" , "SP", "AP" e "AO", e cada uma destasé um objeto de prefixo que é gerado, como em 220, comrespeito à seqüência de entrada atual. Conforme seráexplicado em maiores detalhes abaixo, a função dedesambigüização busca identificar para cada objeto deprefixo um dos objetos de palavra 108 para o qual o objetode prefixo seria um prefixo.
0 método da invenção também determina, como em 222, seo campo de entrada no qual a linguagem está sendointroduzida é um campo de entrada "especial". Nessesentido, um campo de entrada especial é um no qual dadosarmazenados em particular podem ser de relevância emparticular, e esses dados armazenados em particular e,portanto, busca-se obtê-los primeiramente, antes daobtenção de outros dados. Com efeito, portanto, o métodopode prover, por exemplo, resultados de saída propostos quesão particularmente adequados para o campo de entrada. Comotal, os resultados de saída têm maior probabilidade deserem os resultados desejados pelo usuário do que poderiaser de outra forma o caso se todas as fontes de dadosfossem buscadas da forma usual para a provisão dosresultados de desambigüização propostos. Se o campo deentrada for determinado pelo método como sendo especial, umindicador especial será regulado e o processamento serátransferido, como em 226, para processamento adicional,como em 604 na Fig. 6A, conforme será discutido em maioresdetalhes abaixo.
Se, contudo, o campo de entrada for determinado comoem 222 como não sendo especial, o processamento continua em224. Para cada objeto de prefixo gerado, a memória 20 éconsultada, como em 224, para identificar, se possível,para cada objeto de prefixo, significando que a seqüênciade letras representada pelo objeto de prefixo seria umprefixo do objeto de palavra identificado 108 ou seriasubstancialmente idêntico à totalidade do objeto de palavra108. Ainda, nesse sentido, o objeto de palavra 108 que ébuscado para ser identificado é o objeto de palavra 108 demaior freqüência. Isto é, a função de desambigüização buscaidentificar o objeto de palavra 108 que corresponde aoobjeto de prefixo e que também está associado a um objetode freqüência 104 tendo um valor de freqüênciarelativamente mais alta do que qualquer um dos outrosobjetos de freqüência 104 associados a outros objetos depalavra 108 que correspondem ao objeto de prefixo.
É notado nesse sentido que os objetos de palavra 108na lista de palavra genérica 88 são geralmente organizadasem tabelas de dados que correspondem às duas primeirasletras de várias palavras. Por exemplo, a tabela de dadosassociada ao prefixo "CO" poderia incluir todas as palavrastais como "CODE", "COIN", "COMMUNICATION" e similares.Dependendo da quantidade de objetos de palavra 108 emqualquer dada tabela de dados, a tabela de dadosadicionalmente pode incluir tabelas de subdados dentro dasquais os objetos de palavra 108 são organizados porprefixos que são de três caracteres ou mais de comprimento.Continuando com o exemplo precedente, se a tabela de dadosde "CO" incluísse, por exemplo, mais de 256 objetos depalavra 108, a tabela de dados de "CO" adicionalmenteincluiria uma ou mais tabelas de subdados de objetos depalavra 108 correspondendo aos prefixos de três letrasaparecendo mais freqüentemente. A título de exemplo,portanto, a tabela de dados de "CO" também pode incluir umatabela de subdados de "COM" e uma tabela de subdados de"CON" . Se uma tabela de subdados incluir mais do que onúmero predeterminado de objetos de palavra 108, porexemplo, uma quantidade de 256, a tabela de subdados poderáincluir tabelas de subdados adicionais, tal como poderiaser organizado de acordo com prefixos de quatro letras. Enotado que a quantidade mencionada anteriormente de 256 dosobjetos de palavra 108 corresponde ao maior valor numéricoque pode ser armazenado em um byte da memória 20.
Assim sendo, quando, em 224, cada objeto de prefixo ébuscado para ser usado para a identificação de um objeto depalavra correspondente 108 e, por exemplo, o presenteobjeto de prefixo é "AP", a tabela de dados de "AP" seráconsultada. Uma vez que todos os objetos de palavra 108 natabela de dados de "AP" corresponderão ao objeto de prefixo"AP", o objeto de palavra 108 na tabela de dados de "AP"com a qual um objeto de freqüência associado 104 tendo umvalor de freqüência relativamente mais alto do que qualquerum dos outros objetos de freqüência 104 na tabela de dadosde "AP" é identificado. O objeto de palavra 108identificado e o objeto de freqüência associado 104 entãosão armazenados em um registrador de resultado que servecomo um resultado das várias comparações dos objetos deprefixo gerados com os conteúdos da memória 20.
É notado que um ou mais ou possivelmente todos osobjetos de prefixo serão objetos de prefixo para os quaisum objeto de palavra 108 correspondente não é identificadona memória 20. Esses objetos de prefixo são consideradoscomo sendo objetos de prefixo órfãos e são separadamentearmazenados ou retidos de outra forma para um possível usofuturo. Nesse sentido, é notado que muitos ou todos osobjetos de prefixo podem se tornar um objeto órfão, se, porexemplo, o usuário estiver tentando introduzir uma novapalavra ou, por exemplo, se o usuário tiver errado nadigitação ou nenhuma palavra corresponder a esta entradamal digitada.
Uma vez que o resultado tenha sido obtido em 224, afunção de desambigüização determina, como em 228, sevariantes artificiais devem ser geradas. De modo a sedeterminar a necessidade de variantes artificiais, oprocesso em 228 se ramifica, como em 230, para o processode variante artificial descrito geralmente na Fig. 4 ecomeçando com o número 304. A função de desambigüizaçãoentão determina, como em 3 08, se qualquer um dos objetos deprefixo no resultado corresponde ao que tinha sido a saídadefault 76, antes de uma detecção da entrada de teclaatual. Se um objeto de prefixo no resultado corresponder àsaída default prévia, isto significará que a seqüência deentrada tubo de alimentação corresponderá a um objeto depalavra 108 e necessariamente a saída default prévia tambémcorrespondia a um objeto de palavra 108 durante o ciclo dedesambigüização prévio dentro da sessão atual.
0 próximo ponto de análise é determinar, como em 310,se a saída default prévia foi tornada a saída default porcausa de uma entrada de seleção, tal como ter causado aregulagem de um indicador, tal como em 2 54 da Fig. 3B,discutido em maiores detalhes abaixo. No caso de a saídadefault prévia não ter sido o resultado de uma entrada deseleção, nenhuma variante artificial é necessária, e oprocesso retorna, como em 312, para o processo principal em232. Contudo, se for determinado em 310 que a saída defaultprévia fora o resultado de uma entrada de seleção, então,variantes artificiais serão geradas, como em 316.
Mais especificamente, cada uma das variantesartificiais geradas em 316 inclui a saída default préviamais um dos caracteres 48 atribuídos à tecla 28 da entradaatual. Como tal, se a tecla 28 da entrada atual tiver doiscaracteres, isto é, um primeiro caractere 52 e um segundocaractere 56, duas variantes artificiais serão geradas em316. Uma das variantes artificiais incluirá a saída defaultprévia mais o primeiro caractere 52. A outra varianteartificial incluirá a saída default prévia mais o segundocaractere 56.
Contudo, se for determinado em 3 08 que nenhum dosobjetos de prefixo no resultado corresponde à saída defaultprévia, será necessário, em seguida, determinar, como em314, se a saída default prévia tinha correspondido a umobjeto de palavra 108 durante o ciclo de desambigüizaçãoprévio na sessão atual. Se a resposta à inquisição em 314for não, ainda é necessário determinar, como em 318, se asaída default prévia foi tornada a saída default por causade uma seleção de entrada, tal como teria causado aregulagem do indicador. No caso de a saída default prévianão ter sido o resultado de uma entrada de seleção, nenhumavariante artificial será necessária, e o processoretornará, como em 312, para o processo principal em 232.
Por outro lado, se for determinado que a resposta àinquisição em 314 é sim, significando que a saída defaultprévia tinha correspondido a um objeto de palavra, mas coma entrada atual a saída default prévia combinada com aentrada atual cessou de corresponder a qualquer objeto depalavra 108, então, variantes artificiais serão geradas denovo, como em 316.
Após as variantes artificiais serem geradas em 316, ométodo então determina, como em 320, se o resultado incluiquaisquer objetos de prefixo de todo. Caso não, oprocessamento retorna, como em 312, para o processoprincipal em 232. Contudo, se for determinado em 320 que oresultado inclui pelo menos um primeiro objeto de prefixo,significando que a seqüência de entrada atual corresponde aum objeto de palavra 108, o processamento será transferidopara 324, onde uma variante artificial adicional é criada.
Especificamente, o objeto de prefixo do resultado com oqual está associado o objeto de freqüência 104 tendo ovalor de freqüência relativamente mais alto dentre osoutros objetos de freqüência 104 no resultado éidentificado, e a variante artificial é criada peloapagamento do caractere final do objeto de prefixoidentificado e substituindo-o por um caractere oposto 48 namesma tecla 28 da entrada atual que gerou o caractere final48 do objeto de prefixo identificado. No caso de a teclaespecífica 28 ter mais de dois caracteres 48 atribuídos aela, cada um desses caracteres opostos 48 será usado para ageração de uma variante artificial adicional.
Uma vez que a necessidade de variantes artificiaistenha sido identificada, como em 228, e tais variantesartificiais tenham sido geradas, como na Fig. 4, e conformedescrito acima, o processamento continua, como em 232, ondeobjetos de palavra 108 duplicados associados a valores defreqüência relativamente mais baixa são apagados doresultado. Um objeto de palavra 108 como esse em duplicatapoderia ser gerado, por exemplo, pelo banco de dados deaprendizado de freqüência 96, conforme será estabelecido emmaiores detalhes abaixo. Se um objeto de palavra 108 noresultado combinar com uma das variantes artificiais, oobjeto de palavra 108 e seu objeto de freqüência associado104 geralmente serão removidos do resultado, porque àvariante artificial será atribuído um status preferido nasaída 64, provavelmente em uma posição preferida paraqualquer objeto de palavra 10 8 que pudesse ter sidoidentificado.
Uma vez que os objetos de palavra 108 em duplicata eos objetos de freqüência associados 104 tenham sido15 removidos em 232, os objetos de prefixo remanescentes sãoarranjados, como em 23 6, em um conjunto de saída em ordemdecrescente de valor de freqüência. Os objetos de prefixoórfãos mencionados acima também podem ser adicionados aoconjunto de saída, embora em posições de valor defreqüência relativamente mais baixo do que qualquer objetode prefixo para o qual um objeto de palavra 108correspondente foi encontrado. Também é necessárioassegurar que as variantes artificiais, se elas tiveremsido criadas, estejam posicionadas em uma posição preferidano conjunto de saída. É entendido que às variantesartificiais pode ser, mas não necessariamente precisa serdada uma posição de preferência, isto é, ser atribuída umaprioridade ou freqüência relativamente mais alta do queobjetos de prefixo do resultado.
Se for determinado, como em 24 0, que o indicador foiregulado, significando que um usuário fez uma entrada deseleção, através de uma entrada de seleção expressa ouatravés de uma entrada de alternância de uma entrada demovimento, então, a saída default 76 será considerada comosendo "travada", significando que a variante selecionadaserá o prefixo default até o fim da sessão. Se fordeterminado em 240 que o indicador foi regulado, oprocessamento prosseguirá para 244, onde o conteúdo doconjunto de saída será alterado, se necessário, para aprovisão como a saída default 76 de uma saída que inclui oobjeto de prefixo selecionado, independentemente de elecorresponder a um objeto de palavra 108 ou ser uma varianteartificial. Nesse sentido, é entendido que o indicador podeser regulado vezes adicionais durante uma sessão, em cujocaso o prefixo selecionado associado à reinicialização doindicador, depois disso, torna-se a saída default «travada»76, até o fim da sessão ou até uma outra entrada de seleçãoser detectada.
O processamento então continua, como em 248, para umaetapa de saída após a qual uma saída 64 é gerada, conformedescrito acima. Mais especificamente, o' processamentoprossegue, como em 250, para o subsistema descritogeralmente na Fig. 6 e descrito abaixo. Um processamentodepois disso continua em 204, em que uma entrada adicionalé detectada. Por outro lado, se for determinado em 240 queo indicador não foi regulado, então, o processamento vaidiretamente para o 248, sem a alteração do conteúdo doconjunto de saída em 244.
O dispositivo eletrônico portátil 4 pode serconfigurado de modo que qualquer objeto de prefixo órfãoque esteja incluído em uma saída 64, mas que não sejaselecionado com a próxima entrada seja suspenso. Isto podeser limitado aos objetos de prefixo órfãos aparecendo naporção de variante 80, ou pode se aplicar a objetos deprefixo órfãos em qualquer lugar na saída 64. 0 dispositivoeletrônico portátil 4 também pode ser configurado parasuspender de forma similar variantes artificiais emcircunstâncias similares. Uma razão para essa suspensão éque cada objeto de prefixo órfão e/ou variante artificial,conforme apropriado, pode gerar uma quantidade de objetosde prefixo de prole igual à quantidade de caracteres 48 emuma tecla 2 8 da próxima entrada. Isto é, cada proleincluirá o objeto de prefixo órfão pai ou varianteartificial mais um dos caracteres 48 da tecla 28 da próximaentrada. Uma vez que os objetos de prefixo órfãos evariantes artificiais substancialmente não têm umacorrespondência com um objeto de palavra 108, os objetos deprole gerados a partir dos objetos de prefixo órfãos pais evariantes artificiais da mesma forma não terãocorrespondência com um objeto de palavra 108. Esses objetosde prefixo órfãos suspensos e/ou variantes artificiaispodem ser considerados como sendo suspensos, se comparadocom serem inteiramente eliminados, uma vez que essesobjetos de prefixo órfãos suspensos e/ou variantesartificiais podem reaparecer mais tarde como pais deobjetos de prefixo órfãos gerados e/ou variantesartificiais, conforme será explicado abaixo.
Se a entrada detectada for determinada, como em 212,como sendo uma entrada operacional, um processamento entãocontinua para a determinação da natureza específica daentrada operacional. Por exemplo, se for determinado, comoem 252, que a entrada atual é uma entrada de seleção, oprocessamento continuará em 254. Em 254, o objeto depalavra 108 e o objeto de freqüência associado 104 daporção default 76 da saída 64, bem como o objeto de palavra108 e o objeto de freqüência associado 104 da porção dasaída de variante 8 0 que foi selecionada pela entrada deseleção são armazenados em um registrador de dados deaprendizado temporários. Adicionalmente, o indicador éregulado. 0 processamento então retorna para a detecção deentradas adicionais como em 204.
Se for determinado, como em 260, que a entrada é umaentrada de delimitador, o por continuará em 264, onde asessão atual é terminada e um processamento é transferido,como em 266, para o subsistema de função de aprendizado,como em 4 04 da Fig. 5A. Uma entrada de delimitadorincluiria, por exemplo, a atuação de uma tela <SPACE> 116,a qual introduziria um símbolo delimitador e adicionaria umespaço no fim da palavra, uma atuação da tecla <ENTER> 44,a qual, de modo similar, introduz uma entrada dedelimitador e introduz um espaço, e por uma translação daroda de scroll 32, tal como é indicado pela seta 38, a qualpoderia introduzir uma entrada de delimitador sem aintrodução adicional de um espaço.
É primeiramente determinado, como em 408, se a saídadefault da detecção da entrada de delimitador em 260combina com um objeto de palavra 108 na memória 20. Casonão, isto significa que a saída default é uma saída criadapor usuário que deve ser adicionada ao banco de dados depalavras novas 92 para uso futuro. Em uma circunstânciacomo essa, o processamento então prossegue para 412, onde asaída default é armazenada no banco de dados de palavrasnovas 92 como um novo objeto de palavra 108.
Adicionalmente, um objeto de freqüência 104 é armazenado nobanco de dados de palavras novas 92 e é associado ao novoobjeto de palavra 108 mencionado anteriormente. Ao novoobjeto de freqüência 104 é dado um valor de freqüênciarelativamente alto, tipicamente dentro do quarto ou terçosuperior de uma faixa predeterminada de valores defreqüência possíveis.
Nesse sentido, aos objetos de freqüência 104 é dado umvalor de freqüência absoluto geralmente na faixa de 0 a65.535. 0 valor máximo representa o maior número que podeser armazenado em dois bytes da memória 20. Ao novo objetode freqüência 104 que é armazenado no banco de dados depalavras novas 92 é atribuído um valor de freqüênciaabsoluto no quarto ou terço superior desta faixa,particularmente, uma vez que a nova palavra foi usada porum usuário e tem probabilidade de ser usada de novo.
Com respeito ainda ao objeto de freqüência 104, énotado que em uma dada tabela de dados, tal como a tabelade dados de "CO" mencionada acima, o valor de freqüênciaabsoluto é armazenado apenas para o objeto de freqüência104 tendo o valor de freqüência mais alto na tabela dedados. Todos os outros objetos de freqüência 104 na mesmatabela de dados têm valores de freqüência armazenados comovalores de percentagem normalizados para o valor defreqüência absoluto máximo mencionado anteriormente. Istoé, após uma identificação do objeto de freqüência 104 tendoo valor de freqüência mais alto em uma dada tabela dedados, a todos os outros objetos de freqüência 104 na mesmatabela de dados é atribuída uma percentagem do valor máximoabsoluto, o que representa a relação do valor de freqüênciaabsoluto relativamente menor de um objeto de freqüência 104em particular para o valor de freqüência absoluto do objetode freqüência 104 de valor mais alto mencionadoanteriormente. Vantajosamente, esses valores de percentagempodem ser armazenados em um byte único de memória, dessemodo se economizando espaço de armazenamento dentro dodispositivo eletrônico portátil 4.
Mediante a criação do novo objeto de palavra 108 e donovo objeto de freqüência 104, e o armazenamento dos mesmosno banco de dados de palavras novas 92, o processamento étransferido para 420, onde o processo de aprendizado éterminado. O processamento então é retornado para oprocesso principal, como em 204.
Se em 408 for determinado que o objeto de palavra 108na saída default 7 6 combina com um objeto de palavra 108 namemória 20, o processamento então continuará em 416, onde édeterminado se o indicador mencionado anteriormente foiregulado, tal como ocorre mediante a detecção de umaentrada de seleção, e uma entrada de alternância, ou umaentrada de movimento, a título de exemplo. Se forconfirmado que o indicador não foi regulado, istosignificará que o usuário não expressou uma preferência porum objeto de prefixo variante em relação a um objeto deprefixo default, e nenhuma necessidade de aprendizado defreqüência surgiu. Em uma circunstância como essa, oprocessamento continua em 420, onde o processo deaprendizado é terminado. O processamento então retorna parao processo principal em 254.
Contudo, se for determinado em 416 que o indicador foiregulado, o processador 20 recupera a partir do registradorde dados de aprendizado temporários os objetos de palavra108 default e variante mais recentemente salvos, juntamentecom seus objetos de freqüência associados 104. Então, édeterminado, como em 428, se os objetos de palavra 108default e variante tinham sido previamente o objeto de umaoperação de aprendizado de freqüência. Isto poderia serdeterminado, por exemplo, ao se determinar se o objeto depalavra 108 variante e o objeto de freqüência associado 104foram obtidos a partir do banco de dados de aprendizado defreqüência 96. Se os objetos de palavra 108 variante edefault não tiverem sido previamente o objeto de umaoperação de aprendizado de freqüência, o processamentocontinuará, como em 432, onde o objeto de palavra 108 devariante é armazenado no banco de dados de aprendizado defreqüência 96, e um objeto de freqüência 104 revisado égerado tendo um valor de freqüência maior do que aquele doobjeto de freqüência 104 que previamente tinha sidoassociado ao objeto de palavra 108 variante. Na presentecircunstância de exemplo, isto é, onde o objeto de palavra108 default e o objeto de palavra 108 variante estãoexperimentando sua primeira operação de aprendizado defreqüência, ao objeto de freqüência 104 revisado pode serdado, por exemplo, um valor de freqüência igual à soma dovalor de freqüência do objeto de freqüência 104 previamenteassociado ao objeto de palavra 108 variante mais metade dadiferença entre o valor de freqüência do objeto defreqüência 104 associado ao objeto de palavra 108 default eo valor de freqüência do objeto de freqüência 104previamente associado ao objeto de palavra 108 variante.Mediante o armazenamento do objeto de palavra 108 variantee do objeto de freqüência 104 revisado no banco de dados deaprendizado de freqüência 96, o processamento continua em420, onde o processo de aprendizado é terminado e oprocessamento retorna para o processo principal, como em 254.
Se for determinado em 428 que o objeto de palavra 108default e o objeto de palavra 108 variante tinham sidopreviamente o objeto de uma operação de aprendizado defreqüência, o processamento continuará para 436, onde aoobjeto de freqüência 104 revisado ao invés disso é dado umvalor de freqüência mais alto do que o valor de freqüênciado objeto de freqüência 104 associado ao objeto de palavra108 default. Após o armazenamento do objeto de palavra 108variante e do objeto de freqüência 104 revisado no banco dedados de aprendizado de freqüência 96, o processamentocontinua para 420, onde o processo de aprendizado éterminado, e o processamento então retorna para o processoprincipal, como em 254.
Com respeito ainda à função de aprendizado, é notadoque a função de aprendizado adicionalmente detecta se oobjeto de palavra 108 default e o objeto de palavra 104variante foram obtidos a partir do banco de dados deaprendizado de freqüência 96. Nesse sentido, quando osobjetos de palavra 108 são identificados, como em 224, paracorrespondência com objetos de prefixo gerados, todas asfontes de dados na memória são interrogadas quanto a taisobjetos de palavra 108 correspondentes e objetos defreqüência 104 correspondentes. Uma vez que o banco dedados de aprendizado de freqüência 96 armazena objetos depalavra 108 que também são armazenados na lista de palavragenérica 88 ou no banco de dados de aprendizado defreqüência 96, o objeto de palavra 108 e o objeto defreqüência associado 104 que são obtidos a partir do bancode dados de aprendizado de freqüência 96 tipicamente sãoduplicatas de objetos de palavra 108 que já tinham sidoobtidos a partir da lista de palavra genérica 88 ou dobanco de dados de aprendizado de freqüência 96. Contudo, oobjeto de freqüência associado 104 obtido a partir do bancode dados de aprendizado de freqüência 96 tipicamente tem umvalor de freqüência que é de uma magnitude maior do queaquela do objeto de freqüência associado 104 que tinha sidoobtido a partir da lista de palavra genérica 88. Istoreflete a natureza do banco de dados de aprendizado defreqüência 96 como transmitindo para um objeto de palavra108 freqüentemente usado um valor de freqüênciarelativamente maior do que teria de outra forma na lista depalavra genérica 88.
Assim, pode ser visto que a função de aprendizadoindicada nas Fig. 5A e 5B e descrita acima geralmente não éiniciada até uma entrada de delimitador ser detectada,significando que um aprendizado ocorre apenas uma vez paracada sessão. Adicionalmente, se a saída default final nãofor uma nova palavra definida por usuário, os objetos depalavra 108 que são o objeto da função de aprendizado defreqüência serão os objetos de palavra 108 os quais foramassociados à saída default 76 e a saída de variante 80selecionada no momento em que a seleção ocorreu, ao invésde necessariamente estarem relacionados ao objeto quefinalmente resultou como a saída default no fim da sessão.Também, se numerosos eventos passíveis de aprendizadotiverem ocorrido durante uma única sessão, a função deaprendizado de freqüência operará apenas sobre os objetosde palavra 108 que tiverem sido associados ao eventopassível de aprendizado final, isto é, um evento deseleção, um evento de alternância, ou um evento demovimento, antes da terminação da sessão atual.
Com respeito ainda à identificação de vários objetosde palavra 108 para correspondência com objetos de prefixogerados, é notado que a memória 22 pode incluir váriasfontes de dados adicionais 99, além da lista de palavragenérica 88, do banco de dados de palavras novas 92 e dobanco de dados de aprendizado de freqüência 96, todos osquais podendo ser considerados fontes lingüísticas. Umaoutra fonte de dados 99 de exemplo é descrita na Fig. 2A,sendo entendido que a memória 22 poderia incluir qualquernúmero de outras fontes de dados 99. As outras fontes dedados 99 poderiam incluir, por exemplo, um banco de dadosde endereço, um banco de dados de texto rápido ou qualqueroutra fonte de dados, sem limitação. Um banco de dados detexto rápido de exemplo poderia incluir, por exemplo, umacadeia de caracteres que pode ser abreviada. Por exemplo,um banco de dados de texto rápido poderia associar a cadeia"br" ao conjunto de palavras "Best Regards", com a intençãode que um usuário possa digitar a cadeia "br" e receber asaída "Best Regards".
Ao buscar identificar objetos de palavra 108 quecorrespondam a um dado objeto de prefixo, o dispositivoeletrônico portátil 4 pode interrogar todas as fontes dedados na memória 22. Por exemplo, o dispositivo eletrônicoportátil 4 pode interrogar a lista de palavra genérica 88,o banco de dados de palavras novas 92, o banco de dados deaprendizado de freqüência 96 e as outras fontes de dados 99para a identificação de objetos de palavra 108 quecorrespondam ao objeto de prefixo. Os conteúdos de outrasfontes de dados 99 podem ser tratados como objetos depalavra 108, e o processador 20 pode gerar objetos defreqüência 104 que serão associados a tais objetos depalavra 108 e aos quais pode ser atribuído um valor defreqüência, por exemplo, no terço ou quarto superior dafaixa de freqüência mencionada anteriormente. Assumindo queo valor de freqüência atribuído seja suficientemente alto,a cadeia "br", por exemplo, tipicamente seria extraída parao visor 60. Se uma entrada de delimitador for detectada comrespeito à porção da saída tendo a associação com o objetode palavra 108 no banco de dados de texto rápido, porexemplo, "br", o usuário receberá a saída "Best Regards",sendo entendido que o usuário também poderia terintroduzido uma entrada de seleção quanto à cadeia deexemplo "br".
Os conteúdos de qualquer uma das outras fontes dedados 99 podem ser tratados como objetos de palavra 108 epodem ser associados aos objetos de freqüência 104 geradostendo o valor de freqüência atribuído na porção superiormencionada anteriormente da faixa de freqüência. Após essesobjetos de palavra 108 serem identificados, a função deaprendizado de nova palavra pode atuar, se apropriado,sobre tais objetos de palavra 108, da forma estabelecidaacima.
De novo com referência à Fig. 3A, quando oprocessamento prossegue para a etapa de filtração, como em232, e os objetos de palavra 108 e os objetos de freqüênciaassociados 104 em duplicata tendo valores de freqüênciarelativamente mais baixos são filtrados, os resultadosremanescentes podem incluir um objeto de palavra 108variante e um objeto de palavra 108 default, ambos os quaistendo sido obtidos a partir do banco de dados deaprendizado de freqüência 96. Em uma situação como essa,pode ser divisado que, se um usuário usar repetida ealternadamente uma palavra, então, a outra palavra, aolongo do tempo, os objetos de freqüência 104 associados aessas palavras aumentarão bem além do valor de freqüênciaabsoluto máximo mencionado anteriormente para um objeto defreqüência 104. Assim sendo, se for determinado que ambos oobjeto de palavra 108 default e o objeto de palavra 108variante na função de aprendizado foram obtidos a partir dobanco de dados de aprendizado de freqüência 96, ao invés doarmazenamento do objeto de palavra 108 variante no banco dedados de aprendizado de freqüência 96 e a associação delecom um objeto de freqüência 104 tendo um valor defreqüência relativamente aumentado, ao invés de a função deaprendizado armazenar o objeto de palavra 108 default eassociá-lo a um objeto de freqüência 104 revisado tendo umvalor de freqüência que é relativamente mais baixo do queaquele do objeto de freqüência 104 que está associado aoobjeto de palavra 108 variante. Um esquema como essevantajosamente evita aumentos excessivos e desnecessáriosno valor de freqüência.Se for determinado, tal como em 268, que a entradaatual é uma entrada de movimento, tal como seria empregadoquando um usuário estivesse buscando editar um objeto, umapalavra completada ou um objeto de prefixo na sessão atual,o sinal de intercalação 84 será movido, como em 272, para alocalização desejada, e o indicador será regulado, como em276. 0 processamento então retorna para onde entradasadicionais podem ser detectadas, como em 204.
Nesse sentido, é entendido que vários tipos deentradas de movimento podem ser detectados a partir dodispositivo de entrada 8. Por exemplo, uma rotação da rodade scroll (thumbwheel) 32, tal como é indicado pela seta 34da Fig. 1, poderia prover uma entrada de movimento, comopoderia a atuação da tecla <NEXT> 40, ou uma outra entradacomo essa, potencialmente em combinação com outrosdispositivos no aparelho de entrada 8. No caso em que umaentrada de movimento como essa é detectada, tal como nacircunstância de uma entrada de edição, a entrada demovimento é adicionalmente detectada como uma entrada deseleção. Assim sendo, e como é o caso com uma entrada deseleção tal como é detectado em 252, a variante selecionadaé efetivamente travada com respeito à porção default 76 dasaída 64. Qualquer saída default 76 durante a mesma sessãonecessariamente incluirá a variante previamenteselecionada.
No contexto de edição, contudo, o objeto exibido emparticular que está sendo editado é efetivamente travado,exceto quanto ao caractere que estiver sendo editado. Nessesentido, portanto, os outros caracteres do objeto sendoeditado, isto é, os caracteres que não estão sendoeditados, são mantidos e são empregados como um contextopara a identificação de objetos de palavra 108 adicionais esimilares que correspondam ao objeto sendo editado. Casoeste não seja o caso, um usuário buscando editar uma letrana metade de uma palavra de outra forma provavelmente veriacomo uma nova saída 64 numerosos objetos que portariampouca ou nenhuma semelhança com os caracteres do objetosendo editado, uma vez que, na ausência da manutenção dessecontexto, um conjunto inteiramente novo de objetosincluindo todas as permutações dos caracteres dos váriosapertos de tecla do objeto sendo editado teria sido gerado.
Novos objetos de palavra 108 teriam sido identificados comocorrespondendo aos novos objetos de prefixo, todos os quaispodendo mudar significativamente a saída 64 meramentequando da edição de um único caractere. Pela manutenção dosoutros caracteres atualmente no objeto sendo editado, eempregando esses outros caracteres como uma informação decontexto, o usuário pode editar muito mais facilmente umapalavra que seja descrita no visor 60.
Na presente modalidade de exemplo do dispositivoeletrônico portátil 4, se for determinado, como em 252, quea entrada não é uma entrada de seleção, e for determinado,como em 260, que a entrada não é uma entrada dedelimitador, e ainda for determinado, como em 268, que aentrada não é uma entrada de movimento, na presentemodalidade de exemplo do dispositivo eletrônico portátil 4,a única entrada operacional remanescente geralmente é umadetecção da tecla <DELETE> 86 das teclas 28 do teclado 24.
Mediante a detecção da tecla <DELETE> 86, o caractere finalda saída default é apagado, como em 280. Neste ponto, oprocessamento geralmente espera até uma outra entrada serdetectada, como em 284. Então, é determinado, como em 288,se a nova entrada detectada em 284 é a mesma que a entradamais recente que foi relacionada ao caractere final quetinha recém sido apagado em 280. Se assim for, a saídadefault 76 é a mesma que a saída default prévia, excetopelo fato de o último caractere ser o caractere oposto daatuação de tecla que gerou o último caractere. Oprocessamento então continua para 292, onde dados deaprendizado, isto é, o objeto de palavra 108 e o objeto defreqüência associado 104 associados à saída default prévia76, bem como o objeto de palavra 108 e o objeto defreqüência associado 104 associados à nova saída default 76são armazenados no registrador de dados de aprendizadotemporários e o indicador é regulado. Uma seqüência detecla como essa, isto é, uma entrada, a tecla <DELETE> 86 ea mesma entrada que antes, é uma entrada de alternância.
Uma entrada de alternância como essa substitui o caracterefinal default por um caractere final oposto da tecla 28 aqual gerou o caractere final 48 da saída default 76. Aentrada de alternância é tratada como uma entrada deseleção para fins de travamento da saída default 76 para asessão atual, e também dispara o indicador o qual iniciaráa função de aprendizado mediante a detecção de uma entradade delimitador em 260.
Se for confirmado, contudo, que o sistema detecta em288 que a nova entrada detectada em 284 é diferente daentrada imediatamente antes da detecção da tecla <DELETE>86, o processamento continuará em 212, onde a entrada édeterminada como sendo uma entrada operacional ou umaentrada de uma tecla tendo ura ou mais caracteres 48, e oprocessamento continuará depois disso.
Também é notado que, quando o processo principalatinge o estágio de saída em 24 8, um processo adicional éiniciado, o qual determina se a componente de variante 72da saída 64 deve ser iniciada. 0 processamento da funçãoadicional é iniciado a partir de 248 no elemento 504 daFig. 6. Inicialmente, o método em 508 extrai a componentede texto 68 da saída 64 para o visor 60. Um processamentoadicional determina se a componente de variante 72 deve ounão ser exibida.
Especificamente, é determinado, como em 512, se acomponente de variante 72 já foi exibida durante a sessãoatual. Se a componente de variante 72 já tiver sidoexibida, o processamento continuará em 516, onde a novacomponente de variante 72 resultante do ciclo dedesambigüização resultante do ciclo de 1 atual na sessãoatual é exibida. O processamento então resulta para umponto de terminação em 52 0, após o que o processamentoretorna para o processo principal em 204. Se, contudo, fordeterminado em 512 que a componente de variante 72 aindanão foi exibida durante a sessão atual, o processamentocontinuará, como em 524, para determinar se o tempodecorrido entre a entrada atual e a entrada imediatamenteprévia é mais longo do que uma duração predeterminada. Seele for mais longo, então, o processamento continuará em516, onde a componente de variante 72 é exibida e oprocessamento retornará, através de 52 0, para o processoprincipal, como em 204. Contudo, se for determinado em 524que o tempo decorrido entre a entrada atual e a entradaimediatamente prévia é menor do que a duraçaopredeterminada, a componente de variante 72 não seráexibida, e o processamento retornará para o ponto determinação em 520, após o que o processamento retornarápara o processo principal, como em 204.
Vantajosamente, portanto, se um usuário estiverintroduzindo apertos de tecla de forma relativamenterápida, a componente de variante 7 2 não será extraída parao visor 60, onde ela criaria provavelmente, de outra forma,uma distração visual para um usuário buscando introduzirapertos de tecla rapidamente. Se em qualquer momentodurante uma dada sessão a componente de variante 72 forextraída para o visor 60, tal como se o tempo entreentradas sucessivas exceder à duração predeterminada, acomponente de variante 72 continuará a ser exibida por todaaquela sessão. Contudo, mediante a iniciação de uma novasessão, a componente de variante 72 será impedida de serexibida, se o usuário consistentemente estiver introduzindoapertos de tecla de forma relativamente rápida.
Conforme mencionado acima, em certas circunstâncias,certas fontes de dados podem ser buscadas antes de outrasfontes de dados, se o campo de entrada for determinado,como em 222, como sendo especial. Por exemplo, se o campode entrada for para ter um tipo em particular de entrada dedados ali, e este tipo em particular de dados puder seridentificado e obtido, os resultados desambigüizados serãode um grau maior de relevância para o campo e terão um graumaior de correspondência com a intenção do usuário. Porexemplo, um bloco de receitas de médico tipicamente incluiespaços em branco nos quais são inseridos, por exemplo, umnome de paciente, um nome de remédio e instruções para aadministração do remédio. O bloco de receitas de médicopotencialmente poderia ser automatizado como um aplicativono dispositivo 4. Durante uma entrada do nome do paciente,a fonte de dados 99 que mais desejavelmente seria buscadaprimeiramente seria, por exemplo, uma fonte de dados 99listando os nomes e, por exemplo, a informação de contatodos pacientes do doutor. De modo similar, durante umaentrada do nome de remédio, a fonte de dados 99 que maisdesejavelmente seria buscada primeiramente seria a fonte dedados 99 listando, por exemplo, os nomes de remédios. Pelabusca nestas fontes de dados especiais primeiramente, arelevância dos resultados desambigüizados propostos é maisalta, uma vez que os resultados têm maior probabilidade deserem o que é pretendido pelo usuário. Se o método obtiveruma quantidade insuficiente de resultados de uma forma,contudo, resultados adicionais poderão ser obtidos da formausual a partir de outras fontes de dados.
Conforme pode ser visto na Fig. 6A, após oprocessamento ser transferido para 604 a partir do processoprincipal, o método busca, como em 608, por objetos depalavra 108 e objetos de freqüência 104 em qualquer queseja a fonte de dados 99 determinada para corresponder a outer alguma relevância com o campo de entrada especial. Ocampo de entrada tipicamente informará ao sistemaoperacional do dispositivo 4 que ele tipicamente recebe umtipo em particular de entrada, e o sistema operacionaldeterminará qual fonte de dados 99 será buscadaprimeiramente visando resultados de desambigüização.
Os resultados de desambigüização obtidos a partir dafonte de dados especiais 99, isto é, predeterminada, entãosão filtrados, como em 612, para eliminação de resultadosem duplicata, e a quantidade dos resultados remanescentesentão é contada, como em 616, para se determinar se aquantidade é menor do que um número predeterminado. Se aresposta a esta inquisição for "não", significando que umaquantidade suficiente de resultados foi obtida a partir dafonte de dados 99 em particular, o processamento serátransferido, como em 620, para o processo principal em 236.
Por outro lado, se for determinado em 616 queresultados de desambigüização insuficientes foram obtidos apartir da fonte de dados 99 predeterminada, resultados deadição tipicamente serão obtidos, desejavelmente. Porexemplo, em uma circunstância como essa, o processamentocontinua, como em 624, para um processamento no qual osresultados de prefixo são dispostos em ordem de valor defreqüência decrescente em um conjunto de saída especial. Umindicador especial é regulado, como em 628, que indica parao método que os resultados de desambigüização adicionaisque estão para serem obtidos a partir das outras fontes dedados do dispositivo 4 devem ser anexados ao final doconjunto de saída especial. O processamento é transferido,como em 630, de volta para o processo principal em 224,após o que resultados de desambigüização adicionais serãobuscados a partir das outras fontes de dados no dispositivo4. Com o indicador especial sendo regulado, como em 628, osresultados que foram obtidos a partir das fontes de dadosremanescentes devem ser listados à frente dos resultadosadicionais obtidos a partir das fontes de dadosremanescentes, mesmo se os resultados adicionais estiveremassociados a valores de freqüência relativamente mais altosdo que alguns dos resultados a partir da fonte de dadospredeterminada. O método poderia ser aplicado, contudo, deformas diferentes, sem se desviar do conceito da invenção.
Uma seqüência de entrada de exemplo é descrita nasFig. 1 e 7 a 11. Neste exemplo, o usuário está tentandointroduzir a palavra "APPLOADER", e esta palavrapresentemente não está armazenada na memória 20. Na Fig. 1,o usuário já digitou a tecla 28 "AS". Uma vez que astabelas de dados na memória 20 estão organizadas de acordocom prefixos de duas letras, os conteúdos da saída 64mediante o primeiro aperto de tecla são obtidos a partirdos objetos de N-grama 112 dentro da memória. O primeiroaperto de tecla "AS" corresponde a um primeiro objeto de N-grama 112 "S" e um objeto de freqüência associado 104, bemcomo um outro objeto de N-grama 112 "A" e um objeto defreqüência associado 104. Embora o objeto de freqüência 104associado a "S" tenha um valor de freqüência maior do queaquele do objeto de freqüência 104 associado ao "A", énotado que "A" em si é uma palavra completa. Uma palavracompleta sempre é provida como a saída default 76 em favorde outros objetos de prefixo que não se combinem empalavras completas, independentemente do valor defreqüência associado. Como tal, na Fig. 1, a saída default76 da saída 64 é "A".
Na Fig. 7, o usuário introduziu adicionalmente a tecla28 "OP". As variantes são descritas na Fig. 7. Uma vez queo objet de prefixo "SO" também é uma palavra, ele éprovido como a saída default 76. Na Fig. 8, o usuário denovo introduziu a tecla 28 "OP" e também introduziu a tecla28 "L" . É notado que a tecla 28 "L" de exemplo descritaaqui inclui apenas o único caractere 48 "L".
É assumido no presente exemplo que nenhuma entradaoperacional até agora tenha sido detectada. A saída default76 é "APPL", tal como corresponderia à palavra "APPLE". 0prefixo "APPL" é descrito na componente de texto 68, bemcomo na saída default 76 da componente de variante 72. Osobjetos de prefixo de variante na porção de variante 8 0incluem "APOL", tal como corresponderia à palavra"APOLOGIZE", e o prefixo "SPOL", tal como corresponderia àpalavra "SPOLIATION".
É particularmente notado que as variantes adicionais"AOOL", "AOPL", "SOPL" e "SOOL" também são descritas comovariantes 80 na componente de variante 72. Uma vez quenenhum objeto de palavra 108 corresponde a estes objetos deprefixo, os objetos de prefixo são considerados como sendoobjetos de prefixo órfãos para os quais um objeto depalavra 108 correspondente não foi identificado. Nessesentido, pode ser desejável que a componente de variante 7 2inclua uma quantidade específica de entradas, e no caso dapresente modalidade de exemplo, a quantidade é de seteentradas. Mediante a obtenção do resultado em 224, se aquantidade de objetos de prefixo no resultado for menor doque a quantidade predeterminada, a função dedesambigüização buscará prover saídas adicionais até onúmero predeterminado de saídas ser provido. Na ausência devariantes artificiais tendo sido criadas, as entradasvariantes adicionais serão providas por objetos de prefixoórfãos. É notado, contudo, que se variantes artificiaistivessem sido geradas, elas provavelmente teriam ocupado umlugar de preferência em favor desses objetos de prefixoórfãos e, possivelmente, também em favor dos objetos deprefixo do resultado.
É adicionalmente notado que seções de secador objetosde prefixo órfãos realmente podem ser objetos de prefixoórfãos de prole de objetos de prefixo órfãos pais suspensose/ou variantes artificiais. Esses objetos de prefixo deprole podem ser de novo extraídos, dependendo daclassificação de freqüência, conforme explicado abaixo, ouclassificados de outra forma.
Os objetos de prefixo órfãos são classificados emordem de freqüência descendente com o uso dos objetos de N-grama 112 e dos objetos de freqüência associados 104. Umavez que os objetos de prefixo órfãos não têm um objeto depalavra 108 correspondente com um objeto de freqüênciaassociado 104, os objetos de freqüência 104 associados aosvários objetos de N-grama 112 devem ser empregados como umarestauração de emergência.
Usando-se os objetos de N-grama 112, a função dedesambigüização,primeiramente busca determinar se qualquerobjeto de N-grama 112 tendo, por exemplo, três caracteres éuma combinação, por exemplo, para três caracteres finais dequalquer objeto de prefixo órfão. O exemplo de trêscaracteres é dado, uma vez que a modalidade de exemplo dodispositivo eletrônico portátil 4 inclui objetos de N-grama112 que são um máximo de exemplo dos três caracteres decomprimento, mas é entendido que se a memória 22 incluísseobjetos de N-grama de quatro caracteres de comprimento oumais longos, a função de desambigüização tipicamentebuscaria primeiramente determinar se um objeto de N-gramatendo o maior comprimento na memória 22 combina com a mesmaquantidade de caracteres no fim de um objeto de prefixoórfão.
Se apenas um objeto de prefixo corresponder dessaforma a um objeto de N-grama 112 de três caracteres, esseobjeto de prefixo órfão será listado primeiramente dentreos vários objetos de prefixo órfãos na saída de variante80. Se objetos de prefixo órfãos adicionais foremcombinados com objetos de N-grama 112 tendo trêscaracteres, então, os objetos de freqüência 104 associadosa esses objetos de N-grama 112 identificados serãoanalisados, e os objetos de prefixo órfãos combinados serãoclassificados dentre eles em ordem de freqüênciadecrescente.
se for determinado que uma combinação não pode serobtida com um objeto de N-grama 112 tendo três caracteres,então, objetos de N-grama 112 de dois caracteres serãoempregados. Uma vez que a memória 20 inclui todas aspermutações de objetos de N-grama 112 de dois caracteres,os dois últimos caracteres de cada objeto de prefixo órfãopodem ser combinados com um objeto de N-grama 112 de doiscaracteres correspondente. Após essas combinações seremobtidas, os objetos de freqüência 104 associados a essesobjetos de N-grama 112 identificados são analisados, e osobjetos de prefixo órfãos são classificados dentre elesmesmos em ordem descendente de valor de freqüência dosobjetos de freqüência 104 que foram associados aos objetosde N-grama 112 identificados. É notado, ainda, quevariantes artificiais podem ser classificadas ordenadasentre elas, de forma similar, usando-se os objetos de N-grama 112 e os objetos de freqüência associados 104.
Na Fig. 9, o usuário adicionalmente introduziu a tecla28 "OP". Nesta circunstância, e conforme pode ser visto naFig. 9, a porção default 76 da saída 64 se tornou o objetode prefixo "APOLO", tal como corresponderia à palavra"APOLOGIZE", ao passo que imediatamente antes da entradaatual a porção default 76 da saída 64 da Fig. 8 era "APPL",tal como corresponderia à palavra "APPLE". De novo,assumindo que nenhuma entrada operacional tenha sidodetectada, o objeto de prefixo default na Fig. 9 nãocorresponde ao objeto de prefixo default prévio da Fig. 8.Como tal, a primeira variante artificial "APOLP" é geradae, no exemplo atual, recebe uma posição preferida. Avariante artificial "APOLP" mencionada anteriormente égerada pelo apagamento do caractere final do objeto deprefixo default "APOLO" e pelo suprimento no seu lugar deum caractere oposto 48 da tecla 28, a qual gerou ocaractere final da porção default 76 da saída 64, o qual noexemplo atual da Fig. 9 é "Ρ" , de modo que a variantesartificiais mencionada anteriormente seja "APOLP".
Mais ainda, uma vez que a saída default prévia "APPL"correspondia a um objeto de palavra 108, tal como o objetode palavra 108 correspondente à palavra "APPLE", e uma vezque a com a adição da entrada atual a saída default prévia"APPL" não mais corresponde a um objeto de palavra 108,duas variantes artificiais adicionais são geradas. Umavariante artificial é "APPLP" e a outra variante artificialé "APPLO", e estas correspondem à saída default prévia"APPL" mais os caracteres 4 8 da tecla 2 8 que foi atuadapara a geração da entrada atual. Estas variantesartificiais são extraídas de forma similar como parte dasaída de variante 80 da saída 64.
Conforme pode ser visto na Fig. 9, a porção default 76da saída 64 "APOLO" não mais parece combinar com o queseria necessário como um prefixo para "APPLOADER", e ousuário provavelmente antecipará que a palavra desejada"APPLOADER" não está mais armazenada na memória 20. Comotal, o usuário provê uma entrada de seleção, tal como pelarolagem com a roda de scroll (thumbwheel) 32, ou pelaatuação da tecla <NEXT> 40, até a cadeia de variante"APPLO" ser destacada. O usuário então continua a digitar e
introduz a tecla "AS".
A saída 64 dessa ação é descrita na Fig. 10. Aqui, acadeia "APPLOA" é a porção default 76 da saída 64. Uma vezque a cadeia de variante "APPLO" se tornou a porção default76 da saída 64 (não descrita expressamente aqui) comoresultado da entrada de seleção quanto à cadeia de variante"APPLO" , e uma vez que a cadeia de variante "APPLO" nãocorresponde a um objeto de palavra 108, as cadeias decaractere "APPLOA" e "APPLOS" foram criadas como variantesartificiais. Adicionalmente, uma vez que o default prévioda Fig. 9, "APOLO" previamente tinha correspondido a umobjeto de palavra 108, mas agora não há mais umacorrespondência com a porção default 76 da saída 64 da Fig.
10, as variantes artificiais adicionais de "APOLOA" e"APOLOS" também foram geradas. A essas variantesartificiais adicionais é dada uma posição preferida emfavor dos três objetos de prefixo órfãos exibidos.
Uma vez que a seqüência de entrada atual no exemplonão mais corresponde a qualquer objeto de palavra 108, asporções do método relacionadas a tentar encontrar objetosde palavra 108 correspondentes não são executadas comentradas adicionais para a sessão atual. Isto é, uma vezque nenhum objeto de palavra 108 corresponde à seqüência deentrada atual, entradas adicionais da mesma forma nãocorresponderão a qualquer objeto de palavra 108. Evitar abusca na memória 20 por tais objetos de palavra 108 nãoexistentes poupa tempo e evita um esforço de processamentoperdido.
Conforme o usuário continua a digitar, o usuáriofinalmente introduzirá sucessivamente a palavra "APPLOADER"e introduzirá uma entrada de delimitador. Mediante adetecção da entrada de delimitador após a introdução de"APPLOADER", a função de aprendizado é iniciada. Uma vezque a palavra "APPLOADER" não corresponde a um objeto depalavra 108 na memória 20, um novo objeto de palavra 108correspondente à "APPLOADER" é gerado e é armazenado nobanco de dados de palavras novas 92, juntamente com um novoobjeto de freqüência 104 correspondente, ao qual é dada umafreqüência absoluta, digamos, no terço ou quarto superiorda faixa de freqüência possível. Nesse sentido, é notadoque o banco de dados de palavras novas 92 e o banco dedados de aprendizado de freqüência 96 são geralmenteorganizados em tabelas de dados de prefixo de doiscaracteres similares àquelas encontradas na lista depalavra genérica 88. Como tal, ao novo objeto de freqüência104 inicialmente é atribuído um valor de freqüênciaabsoluto, mas mediante o armazenamento do valor defreqüência absoluto, se ele não for o valor máximo naquelatabela de dados, será mudado para incluir uma percentagemde valor de freqüência normalizado que é normalizada paraqualquer que seja o valor de freqüência máximo dentrodaquela tabela de dados.
Como um exemplo subseqüente, na Fig. 11, o usuárioestá tentando introduzir a palavra "APOLOGIZE". 0 usuáriointroduziu a seqüência de teclas "AS" "OP" "OP" "L" "OP" .Uma vez que "APPLOADER" agora foi adicionado como um objetode palavra 108 ao banco de dados de palavras novas 92 e foiassociado ao objeto de freqüência 104 tendo um valor defreqüência relativamente alto, o objeto de prefixo "APPLO",o qual corresponde a "APPLOADER" foi exibido como a porçãodefault 7 6 da saída 64 em favor do objeto de prefixo devariante "APOLO", o qual corresponde à palavra desejada"APOLOGIZE". Uma vez que a palavra "APOLOGIZE" correspondea um objeto de palavra 108 que é armazenado pelo menos nalista de palavra genérica 88, o usuário pode simplesmentecontinuar a introduzir apertos de tecla correspondentes àsletras adicionais "GIZE", as quais seriam as letras napalavra "APOLOGIZE" seguintes ao objeto de prefixo "APOLO",de modo a obter a palavra "APOLOGIZE". Alternativamente, ousuário pode, mediante ver a saída 64 descrita na Fig. 11,introduzir uma entrada de seleção para afirmativamenteselecionar o objeto de prefixo de variante "APOLO". Em umacircunstância como essa, a função de aprendizado serádisparada mediante a detecção de um símbolo delimitador, eo objeto de palavra 108 que tinha correspondido à cadeia decaracteres "APOLO" no momento em que a entrada de seleçãofoi feita será armazenado no banco de dados de palavrasnovas 92 e será associado a um objeto de freqüência 104revisado tendo um valor de freqüência relativamente maisalto que é armazenado de forma similar no banco de dados depalavras novas 92.
Um recurso adicional do dispositivo eletrônicoportátil 4 é descrito na Fig. 12. Em algumascircunstâncias, é desejável que a função de desambigüizaçãoseja desabilitada. Por exemplo, quando for desejadointroduzir uma senha, uma desambigüização tipicamente érelativamente mais trabalhosa do que durante uma entrada detexto comum. Como tal, quando o foco do sistema está nocomponente correspondente ao campo de senha, o componenteindica para o API que um processamento especial érequisitado, e o API desabilita a função de desambigüizaçãoe, ao invés disso, habilita, por exemplo, um sistema deinterpretação de entrada de toque múltiplo.
Alternativamente, outros sistemas de interpretação deentrada poderiam incluir um sistema associação de teclas ouum sistema de interpretação de pressionar e manter /pressionar e liberar. Como tal, embora uma entradaintroduzida com a função de desambigüização ativa seja umaentrada ambígua, pela habilitação do sistema deinterpretação alternativo, tal como o sistema de toquemúltiplo de exemplo, cada entrada pode ser largamente nãoambígua.
Conforme pode ser entendido a partir da Fig. 12, cadaentrada não ambígua é exibida por um período de tempo muitocurto dentro do campo de senha 120 e, então, é substituídapor uma outra saída, tal como o asterisco. O caractere "R"é mostrado exibido, sendo entendido que essa exibição é aúnica por um período de tempo muito curto.
Conforme pode ser visto nas Fig. 1 e 7 a 11, a saída64 inclui o item gráfico exibido 46 próximo da extremidadeinferior da componente de variante 72, e que o item gráficoexibido 46 é altamente similar ao item gráfico 42 da tecla<NEXT> 40. Uma descrição como essa provê uma indicação parao usuário de qual das teclas 28 do teclado 24 pode seratuada para a seleção de uma saída de variante. A descriçãodo item gráfico exibido 46 provê uma associação entre asaída 64 e a tecla <NEXT> 40 na mente do usuário.Adicionalmente, se o usuário empregar a tecla <NEXT> 4 0para prover uma entrada de seleção, o usuário será capaz deatuar a tecla <NEXT> 40 sem mover as mãos do usuário paralonge da posição em que as mãos estavam com respeito aoalojamento 6 durante uma entrada de texto, o que reduzmovimentos de mão desnecessários, tal como seria requeridose um usuário precisasse mover uma das mãos para atuar aroda de scroll (thumbwheel) 32. Isto poupa tempo e esforço.
Também é notado que o sistema pode detectar aexistência de certos símbolos pré-definidos como sendosinais de delimitador, se nenhum objeto de palavra 108corresponder à entrada de texto que incluir o símbolo. Porexemplo,, se o usuário desejou introduzir a entrada "one-of f", o usuário poderia começar pela introdução daseqüência de teclas "OP" "BN" "ER" "ZX" "OP" com a atuaçãode "ZX" sendo pretendida para referenciar um símbolo dehífen disposto nela. Alternativamente, ao invés de apertara tecla "ZX", o usuário poderia atuar uma entrada <ALT>para indicar de forma não ambígua o hífen.
Assumindo que a memória 20 não inclua já um objeto depalavra 108 de "one-off", a função de desambigüizaçãodetectará o hífen como sendo uma entrada de delimitador.Como tal, as entradas de tecla precedendo à entrada dedelimitador serão delimitadas a partir das entradas detecla subseqüentes à entrada de delimitador. Como tal, aentrada desejada será buscada como duas palavras separadas,isto é, "ONE" e "OFF" com o hífen entre elas. Isto facilitaprocessamento pela identificação de forma mais estreitado que é desejado ser buscado.
É notado que o layout dos caracteres 4 8 dispostos nasteclas 28 na Fig. 1 é um layout de caractere de exemplo queseria empregado quando a linguagem primária pretendidausada no dispositivo eletrônico portátil 4 fosse, porexemplo, Inglês. Outros layouts envolvendo estes caracteres48 e/ou outros podem ser usados, dependendo da linguagemprimária pretendida e de qualquer orientação de linguagemna constituição dos objetos de linguagem 100.
0 arquivo de mapa 49 descrito na Fig. 2A é descrito emmaiores detalhes na Fig. 13. 0 arquivo de mapa 49 é umatabela que inclui uma indicação das teclas 28 e doscaracteres 48 atribuídos a ela. Conforme pode ser visto naFig. 13, muitas das teclas 28 têm teclas 28 atribuídos aelas, além daqueles caracteres 48 que são descritos na Fig.1 como sendo dispostos nas teclas 28. Por exemplo, oarquivo de mapa 4 9 indica que a tecla 28 <UI> teveatribuídas a elas as letras "U" e "I", e tais letras sãoindicadas na Fig. 1 como sendo os caracteres 48 dispostosna tecla 28 <UI>. A Fig. 13 ainda indica que a tecla 28<UI> adicionalmente teve atribuídos a ela os caracteres 48UvÜ<=>Ú<=UeÜ. É notado que em nome da simplicidade,os caracteres 48 são descritos nas Fig. 13 a 16 como sendocaracteres em letras maiúsculas. É notado ainda, contudo,que os caracteres 48 poderiam incluir adicionalmentecaracteres em letras minúsculas ou outros caracteres, semse desviar do presente conceito.
Embora as teclas 28 tenham atribuídos a ela oscaracteres 48 descritos no arquivo de mapa 49, nem todos oscaracteres 48 necessariamente estão ativos no dispositivoeletrônico portátil 4. Isto é, embora os caracteres 48 U νU <=> U <= Ü e Ü sejam atribuídos à tecla 28 <UI>, nem todosestes caracteres 4 8 serão automaticamente empregados, porexemplo, na geração de objetos de prefixo para fins dedesambigüização de uma entrada ambígua. Um caractere ativo48 é um caractere 48 que é atribuído a uma tecla 28 e que éautomaticamente considerado pelo aparelho processador 14como sendo um resultado pretendido possível de atuação datecla 28 durante um procedimento de entrada de texto.
Os caracteres 48 que estão ativos no dispositivoeletrônico portátil 4 são incluídos em um alfabeto 45, talcomo descrito na Fig. 14, que é armazenado na memória 20.Na presente modalidade de exemplo, o alfabeto 45 inclui umaporção estática 51 que é armazenada como parte da lista depalavra genérica 8 8 e uma porção modificável 4 7 que éarmazenada como uma parte do banco de dados de palavrasnovas 92. A porção modificável 47 do alfabeto 45 éconfigurada vantajosamente para permitir a adição aoalfabeto de caracteres 48 a partir do arquivo de mapa 49que não estejam ainda incluídos, por exemplo, na porçãoestática 51 do alfabeto 45.
Pode ser visto que pelo menos alguns dos caracteres 4 8no arquivo de mapa 49 estão no alfabeto 45. Como umaquestão geral, os objetos de linguagem 100 armazenados namemória 20 são compreendidos por caracteres 48 no alfabeto45 .
Mediante a detecção de uma entrada ambígua, o aparelhoprocessador 14 consulta o arquivo de mapa 4 9 para aidentificação do conjunto de caracteres 48 que sãoatribuídos às teclas 28 da entrada ambígua. 0 conjunto decaracteres 4 8 a partir do arquivo de mapa 4 9 então écomparado com o alfabeto 4 5 para a identificação doscaracteres 48 no conjunto que também estão no alfabeto 45.Dito de outra forma, o arquivo de mapa 4 9 provê umalistagem de todos os caracteres 48 atribuídos as tecla 28da entrada ambígua, e o alfabeto 45 permite a identificaçãodos caracteres 48 que estão ativos no dispositivoeletrônico portátil 4. Em uma comparação do conjunto decaracteres 48 a partir do arquivo de mapa 4 9 com aqueles doalfabeto 45, o conjunto de caracteres 48 tipicamente serácomparado com a porção estática 51 e a porção modificável47 do alfabeto 4 5 para a obtenção de todos os caracteresativos 48.
Como uma questão geral, a porção estática 51 é nãomodificável e reflete os vários caracteres 48 pelos quaisos objetos de linguagem 100 na lista de palavra genérica 88são compreendidos. A porção estática 51 assim é indicativados vários caracteres 4 8 que tipicamente seriamconsiderados como sendo caracteres válidos na linguagem dalista de palavra genérica 88. Por exemplo, a linguagem dalista de palavra genérica 88 pode ser o Inglês, tal comopoderia ser indicado por uma proporção relativamente grandede palavras em Inglês ser refletida como objetos delinguagem 100 armazenados na lista de palavra genérica 88.A porção estática 51 resultante do alfabeto 45 assimpoderia compreender as vinte e seis letras latinas.
A porção modificável 47 do alfabeto 45 geralmentereflete os caracteres adicionais 4 8 que ainda não fazemparte da porção estática 51 e que, por exemplo, compreendemos caracteres 4 8 em um ou mais dos objetos de linguagem100, por exemplo, no banco de dados de palavras novas 92.No alfabeto 4 5 de exemplo descrito na Fig. 14, a porçãomodificável 47 do mesmo é indicada como incluindo ocaractere 48 "É" . Por exemplo, o usuário pode terintroduzido previamente o novo objeto de linguagem 100"SOUFFLÉ". Mediante a introdução do novo objeto delinguagem 100 "SOUFFLÉ", o caractere 48 "É" teria sidoadicionado à porção modificável 47 do alfabeto 45. De umaforma como essa, o caractere 4 8 "É" foi tornado umcaractere ativo 48 no dispositivo eletrônico portátil 4.
Um procedimento de introdução de texto de exemplo éindicado nas Fig. 15A a 15D. Se for assumido que o alfabeto4 5 é aquele descrito geralmente na Fig. 14, uma atuaçãocostumeira, isto é, uma atuação de pressionar e liberar datecla 28 <UI> resultará em uma saída tal como aqueladescrita geralmente na Fig. 15A. Isto é, o caractere 48 "I"será exibido como uma componente de texto 68 e como umaporção default 76 de uma componente de variante 72. 0caractere 4 8 "U" é descrito como sendo a saída de variante80 da componente de variante 72.
Se o usuário estiver buscando introduzir o objeto delinguagem 100 "ÜBER", nem os caracteres 48 "I" e "U" nacomponente de variante 72 da Fig. 15A serão um primeirocaractere aceitável. 0 usuário pode exibir, contudo, oconjunto de caracteres 48 a partir do arquivo de mapa 49que são atribuídos à tecla 28 <UI> pela atuação da tecla 28<UI> com uma atuação de pressionar e manter e pelarealização de uma operação de rolagem com a roda de scroll(thumbwheel) 32. Uma saída como essa é descrita geralmentena Fig. 15B, sendo notado que apenas uma porção do conjuntode caracteres 4 8 é descrita na componente de variante 72,com o item gráfico 4 6 sendo descrito na componente devariante 72 como indicando a existência de variantesadicionais nas formas de outros caracteres 48 a partir doarquivo de mapa 49 que são atribuídos à tecla 28 <UI>.
Na Fig. 15B, o caractere 48 "Ϊ" é descrito com sendo aporção default 76 do componente de variante 72, e éadicionalmente descrito como sendo a componente de texto68. A Fig. 15C descreve que o usuário introduziu umaentrada de navegação, tal como pela rolagem da roda descroll (thumbwheel) 32 ou pela atuação da tecla <NEXT> 40suficientemente para que o caractere 4 8 "Ü" seja destacadoe seja exibido como a componente de texto 68.
De modo a completar a introdução do novo objeto delinguagem 100 "ÜBER", o usuário depois disso precisaráatuar as teclas 2 8 <BN>, <ER> e <ER>, contudo, uma vez queo objeto de linguagem 100 para a palavra "ÜBER" ainda nãoestá armazenado na memória 20, o usuário provavelmenteintroduzirá expressamente os caracteres 4 8 adicionais de"ÜBER" , tal como com o uso de uma rolagem dentre asvariantes 80 após alguns dos apertos de tecla. Mediante aintrodução, por exemplo, do novo objeto de linguagem"ÜBER", o caractere 48 "Ü" é adicionado à porçãomodificável 47 do alfabeto 45, conforme é descritogeralmente na Fig. 16, e um objeto de linguagem 100 para"ÜBER" foi adicionado ao banco de dados de palavras novas-92 .
O caractere 4 8 "Ü" assim foi tornado um caractereativo 48 no dispositivo eletrônico portátil 4. Assim sendo,a introdução futura da palavra "ÜBER" vantajosamente serámuito mais fácil para o usuário, uma vez que "Ü" foitornado um caractere ativo 48 no dispositivo eletrônicoportátil 4 e, assim, automaticamente será empregado peloaparelho processador 14 ao buscar a desambigüização de umaentrada ambígua, e uma vez que o objeto de linguagem 100para "ÜBER" foi armazenado na memória 20.
Se depois disso for decidida pelo usuário a introduçãode um outro novo objeto de linguagem 100 compreendendo ocaractere 48 "Ü" , tal como se o usuário desejasseintroduzir a palavra "MÜNCHEN", o usuário começaria aintrodução pela atuação das teclas 28 <M>, <UI>. A saída emresposta a essa entrada ambígua seria aquela descritageralmente na Fig. 15D, sendo assumido que o alfabeto 45está na condição descrita na Fig. 16. Isto é, a rotina dedesambigüização terá empregado o caractere 4 8 "M" que estáativo na tecla 28 <M> e os caracteres 48 "I", "U" e "Ü" queestão ativos na tecla 28 <UI> para a geração dos objetos deprefixo "MI", "MU" e "MÜ" . Uma vez que o caractere 48 "Ü"está ativo na tecla 28 <UI>, o caractere "Ü"automaticamente foi empregado pela rotina dedesambigüização na geração de objetos de prefixo emresposta à entrada ambígua representada na Fig. 15D.
Na geração da saída descrita geralmente na Fig. 15D, arotina de desambigüização pode ter determinado, porexemplo, que o prefixo "MI" correspondia ao objeto delinguagem 100 para "MINE" e que o objeto "MU" correspondiaao objeto de linguagem 100 para a palavra "MUCH". Os váriosobjetos de prefixo são extraídos na componente de variante72 em ordem de valor de freqüência descendente. Se nenhumobjeto de linguagem 100 tiver sido identificado com oobjeto de prefixo "MÜ", o objeto de prefixo "MÜ" aindapoderá ser extraído, como o é na Fig. 15D, como umavariante artificial em uma posição de prioridaderelativamente mais baixa do que os objetos de prefixo paraos quais o objeto de linguagem 100 correspondente foiidentificado. Se for assumido que o objeto de linguagem 100para "ÜBER" é o único objeto de linguagem 100 no banco dedados de palavras novas 92 que compreende o caractere "Ü",a variante "MÜ" terá sido extraída na Fig. 15D como sendouma variante artificial.
Assim, pode ser visto que o dispositivo eletrônicoportátil 4 é configurado para permitir uma expansãodinâmica do conjunto de caracteres 4 8 que estiverem ativosnele, para permitir a introdução de novos objetos delinguagem 100 tendo caracteres 48 que não estejam aindaativos no dispositivo eletrônico portátil 4. Isto permiteuma utilidade melhorada e uma capacidade de personalizaçãopara as necessidades do usuário.
Embora as modalidades específicas da invenção tenhamsido descritas em detalhes, será apreciado por aquelesversados na técnica que várias modificações e alternativasnaqueles detalhes poderiam ser desenvolvidas, à luz dosensinamentos gerais da exposição. Assim sendo, os arranjosem particular mostrados têm por significado seremilustrativos apenas e não limitativos quanto ao escopo dainvenção, ao qual deve ser dado o pleno alcance dasreivindicações em apenso e todos e quaisquer equivalentesdas mesmas.

Claims (18)

1. Método de permitir a introdução em um dispositivoeletrônico portátil de um tipo que inclui um aparelho deentrada, um aparelho de saída e uma memória que temarmazenada nela vários caracteres lingüísticos, um alfabetoe vários objetos, pelo menos alguns dos caractereslingüísticos estando, cada um, no alfabeto e outros doscaracteres lingüísticos não estando, cada um, inicialmente,no alfabeto, o número de objetos compreendendo um nível deobjetos de linguagem, pelo menos alguns dos objetos delinguagem, cada um, compreendendo vários dos caractereslingüísticos no alfabeto, o aparelho de entrada incluindouma pluralidade de membros de entrada, pelo menos algunsdos membros de entrada, cada um, tendo vários doscaracteres lingüísticos atribuídos a eles, pelo menosalguns dos caracteres lingüísticos atribuídos a pelo menosalguns dos membros de entrada inicialmente estandoinativos, enquanto outros dos caracteres lingüísticosatribuídos a pelo menos alguns dos membros de entrada estãoativos, o alfabeto incluindo apenas os caractereslingüísticos ativos, o método caracterizado pelo fato decompreender:a detecção como uma primeira entrada de uma entrada deum novo objeto de linguagem, o novo objeto de linguagemcompreendendo um primeiro novo caractere lingüísticodiferente dos caracteres lingüísticos no alfabeto;a detecção como uma segunda entrada de uma entradaambígua compreendendo várias das atuações de vários dosmembros de entrada, pelo menos alguns dos membros deentrada tendo mais de um caractere lingüístico atribuído aeles ;a geração de vários objetos de prefixo, cada um tendovários dos caracteres lingüísticos dos membros de entradada entrada ambígua, pelo menos um dos objetos de prefixoincluindo um novo caractere lingüístico;para cada objeto de prefixo de pelo menos alguns dosobjetos de prefixo, buscar um objeto de linguagemcorrespondente que corresponda ao objeto de prefixo;a detecção de uma entrada de seleção selecionando pelomenos um dos objetos de prefixo incluindo o novo caracterelingüístico; eo armazenamento do novo caractere lingüístico dentrodo alfabeto.
2. Método, de acordo com a reivindicação 1,caracterizado pelo fato de compreender o armazenamento donovo objeto de linguagem na memória.
3. Método, de acordo com a reivindicação 1,caracterizado pelo fato da memória ter armazenado nela umarquivo de mapa compreendendo uma atribuição de cadacaractere lingüístico a um membro de entradacorrespondente, e pelo fato da referida geração de váriosobjetos de prefixo compreender a obtenção a partir doarquivo de mapa de um conjunto de caracteres lingüísticosatribuídos a um membro de entrada da entrada ambígua, aidentificação dos caracteres lingüísticos no conjunto decaracteres lingüísticos que também estejam no alfabeto, e oemprego de pelo menos alguns dos caracteres lingüísticosidentificados que estiverem no alfabeto em pelo menosalguns dos objetos de prefixo.
4. Método, de acordo com a reivindicação 3,caracterizado pelo fato do alfabeto compreender uma porçãoestática e uma porção modificável, e pelo fato do referidoarmazenamento do primeiro novo caractere lingüísticocompreender a adição do primeiro novo caractere lingüístico ã porção modificável do alfabeto.
5. Método, de acordo com a reivindicação 1,caracterizado pelo fato da memória ter armazenado nela umarquivo de mapa compreendendo uma atribuição de cadacaractere lingüístico a um membro de entradacorrespondente, pelo menos alguns dos caractereslingüísticos no arquivo de mapa estando no alfabeto, aindacompreendendo a detecção de uma entrada predeterminadacompreendendo uma atuação de um membro de entrada emparticular e a extração de pelo menos uma porção doconjunto de caracteres lingüísticos a partir do arquivo demapa que são atribuídos ao membro de entrada em particular.
6. Método, de acordo com a reivindicação 5,caracterizado pelo fato de ainda compreender a detecçãocomo pelo menos uma porção da entrada predeterminada de umaatuação de pressionar e manter do membro de entrada emparticular.
7. Método, de acordo com a reivindicação 5,caracterizado pelo fato de ainda compreender a detecçãocomo uma entrada do primeiro novo caractere lingüístico depelo menos uma dentre uma entrada de navegação e umaentrada de seleção com respeito a um caractere lingüísticodo conjunto de caracteres lingüísticos.
8. Método, de acordo com a reivindicação 1,caracterizado pelo fato da memória ter armazenado nela umarquivo de mapa que compreende uma atribuição de cadacaractere lingüístico a um membro de entradacorrespondente, pelo menos alguns dos caractereslingüísticos no arquivo de mapa estando no alfabeto, aindacompreendendo a detecção como uma entrada do primeiro novocaractere lingüístico como uma entrada de um caracterelingüístico a partir do arquivo de mapa que não está noalfabeto.
9. Método, de acordo com a reivindicação 1,caracterizado pelo fato dos vários objetos aindacompreenderem vários objetos de freqüência, pelo menosalguns dos objetos de linguagem estando, cada um,associados a um objeto de freqüência associado, e aindacompreendendo:a geração de um resultado, para cada objeto de prefixode pelo menos uma porção dos vários objetos de prefixo,pela identificação de um objeto de linguagem correspondenteao objeto de prefixo, a obtenção de um objeto de freqüênciaassociado que é associado ao objeto de linguagemidentificado e tendo um valor de freqüência, e a associaçãodo valor de freqüência ao objeto de prefixo; ea extração como uma primeira saída de pelo menos umdos objetos de prefixo do resultado organizado em ordemdescendente de valor de freqüência.
10. Método, de acordo com a reivindicação 9,caracterizado pelo fato de ainda compreender:determinar que um objeto de linguagem correspondente apelo menos um dos objetos de prefixo poderia não seridentificado; ea extração como uma variante artificial de pelo menosum dos objetos de prefixo em uma localização de prioridaderelativamente mais baixa do que a primeira saída.
11. Dispositivo eletrônico portátil, caracterizadopelo fato de compreender:um aparelho processador que compreende um processadore uma memória;a memória tendo armazenados ali vários dos caractereslingüísticos, um alfabeto e vários objetos;pelo menos alguns dos caracteres lingüísticos, cadaum, estando no alfabeto e outros dos caractereslingüísticos, cada um, não estando inicialmente noalfabeto;vários objetos compreendendo vários objetos delinguagem;pelo menos alguns dos objetos de linguagem, cada um,compreendendo vários dos caracteres lingüísticos noalfabeto;o aparelho de entrada compreendendo uma pluralidade demembros de entrada;pelo menos alguns dos membros de entrada, cada um,tendo vários dos caracteres lingüísticos atribuídos a eles,pelo menos alguns dos caracteres lingüísticos atribuídos apelo menos alguns dos membros de entrada inicialmenteestando inativos, enquanto outros dos caractereslingüísticos atribuídos a pelo menos alguns dos membros deentrada estão ativos, o alfabeto incluindo apenas oscaracteres lingüísticos ativos; eo alfabeto sendo expansível para ter adicionado a eleum caractere lingüístico adicional mediante uma seleção deum novo objeto de linguagem tendo um primeiro caracterelingüístico não ainda no alfabeto.
12. Dispositivo eletrônico portátil, de acordo com areivindicação 11, caracterizado pelo fato da memória terarmazenado nela um arquivo de mapa que compreende umaatribuição de cada caractere lingüístico a um membro deentrada correspondente, pelo menos alguns dos caractereslingüísticos no arquivo de mapa estando no alfabeto.
13. Dispositivo eletrônico portátil, de acordo com areivindicação 12, caracterizado pelo fato de, em resposta ãdetecção de uma entrada predeterminada compreendendo umaatuação de um membro de entrada particular, o aparelhoprocessador ser adaptado para extrair pelo menos uma porçãode um conjunto de caracteres lingüísticos a partir doarquivo de mapa que são atribuídos ao membro de entrada emparticular.
14. Dispositivo eletrônico portátil, de acordo com areivindicação 12, caracterizado pelo fato do aparelhoprocessador ser adaptado para detectar como uma entrada doprimeiro novo caractere lingüístico de uma entrada de umcaractere lingüístico a partir do arquivo de mapa que nãoestá no alfabeto.
15. Dispositivo eletrônico portátil, de acordo com areivindicação 11, caracterizado pelo fato do alfabetocompreender uma porção estática e uma porção modificável, oprimeiro novo caractere lingüístico sendo adicionado àporção modificável do alfabeto.
16. Dispositivo eletrônico portátil, de acordo com areivindicação 11, caracterizado pelo fato da memória terarmazenada ali uma rotina de desambigüização estruturadapara a desambigüização de uma entrada ambígua, o aparelhoprocessador sendo estruturado para detectar como umaprimeira entrada uma entrada de um novo objeto delinguagem, o novo objeto de linguagem compreendendo umprimeiro caractere lingüístico ainda não no alfabeto e paraadicionar o primeiro novo caractere lingüístico aoalfabeto, quando um objeto de prefixo correspondente aonovo objeto de linguagem, que inclui o primeiro novocaractere lingüístico, for selecionado, o aparelhoprocessador sendo estruturado para detectar como umasegunda entrada uma entrada ambígua compreendendo váriasatuações de vários dos membros de entrada, pelo menosalguns dos vários membros de entrada tendo mais de umcaractere lingüístico atribuídos a eles e, em resposta àsegunda entrada, o aparelho processador sendo estruturadopara gerar vários objetos de prefixo tendo vários doscaracteres lingüísticos dos membros de entrada da entradaambígua, pelo menos um dos objetos de prefixo incluindo oprimeiro caractere lingüístico e, para cada objeto deprefixo de pelo menos alguns dos objetos de prefixo, oaparelho processador sendo estruturado para buscar umobjeto de linguagem correspondente que corresponda aoobjeto de prefixo.
17. Dispositivo eletrônico portátil, de acordo com areivindicação 16, caracterizado pelo fato do aparelhoprocessador ser estruturado para gerar um resultado, paracada objeto de prefixo de pelo menos uma porção dos váriosobjetos de prefixo, pela identificação de um objeto delinguagem correspondente ao objeto de prefixo, a obtençãode um objeto de freqüência associado que está associado aoobjeto de linguagem identificado e que tem um valor defreqüência, e a associação do valor de freqüência ao objetode prefixo, o aparelho processador ainda sendo estruturadopara extrair como uma primeira saída pelo menos alguns dosobjetos de prefixo do resultado organizados em ordemdescendente de valor de freqüência.
18. Dispositivo eletrônico portátil, de acordo com areivindicação 17, caracterizado pelo fato do aparelhoprocessador ser estruturado para determinar que um objetode linguagem correspondente a pelo menos um dos objetos deprefixo não poderia ser identificado, o aparelhoprocessador ainda sendo estruturado para extrair como umavariante artificial pelo menos um dos objetos de prefixo emuma localização de prioridade relativamente mais baixa doque a primeira saída.
BRPI0615596-0A 2005-08-31 2006-08-28 Desambigüização de texto permitindo uma expansão dinâmica de associações de tecla BRPI0615596B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/216,523 2005-08-31
US11/216,523 US7644209B2 (en) 2005-08-31 2005-08-31 Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations
PCT/CA2006/001411 WO2007025371A1 (en) 2005-08-31 2006-08-28 Text disambiguation allowing dynamic expansion of key associations

Publications (2)

Publication Number Publication Date
BRPI0615596A2 true BRPI0615596A2 (pt) 2011-05-24
BRPI0615596B1 BRPI0615596B1 (pt) 2018-07-10

Family

ID=37808431

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0615596-0A BRPI0615596B1 (pt) 2005-08-31 2006-08-28 Desambigüização de texto permitindo uma expansão dinâmica de associações de tecla

Country Status (5)

Country Link
US (3) US7644209B2 (pt)
BR (1) BRPI0615596B1 (pt)
DE (1) DE112006002315B4 (pt)
GB (1) GB2445490B (pt)
WO (1) WO2007025371A1 (pt)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333085B2 (en) 2004-06-02 2008-02-19 Research In Motion Limited Handheld electronic device with text disambiguation
US8542132B2 (en) * 2004-06-02 2013-09-24 Blackberry Limited Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation
US7324083B2 (en) 2004-06-02 2008-01-29 Research In Motion Limited Handheld electronic device with text disambiguation
US7389124B2 (en) * 2004-06-02 2008-06-17 Research In Motion Limited Handheld electronic device with text disambiguation
US7312726B2 (en) * 2004-06-02 2007-12-25 Research In Motion Limited Handheld electronic device with text disambiguation
US7091885B2 (en) 2004-06-02 2006-08-15 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7956843B2 (en) * 2005-04-04 2011-06-07 Research In Motion Limited Handheld electronic device with text disambiguation employing advanced editing features
US7786979B2 (en) * 2006-01-13 2010-08-31 Research In Motion Limited Handheld electronic device and method for disambiguation of text input and providing spelling substitution
EP1986080B1 (en) * 2007-04-25 2009-12-16 Research In Motion Limited Keystroke error correction method
EP2397971A1 (en) 2010-03-31 2011-12-21 Research In Motion Limited Method for receiving input on an electronic device and outputting characters based on sound stroke patterns
JP2011238129A (ja) * 2010-05-12 2011-11-24 Sony Corp 端末装置、電子機器、アクセスキーの割り当て方法及びプログラム
EP2410405A3 (en) * 2010-07-23 2015-03-18 David Caine Allan Methods and apparatuses for statistically sorting characters for multi-tap keyboards
EP2447806A1 (en) 2010-08-12 2012-05-02 Research In Motion Limited Method and electronic device with motion compensation
EP2418565A1 (en) 2010-08-12 2012-02-15 Research In Motion Limited Method and electronic device with motion compensation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69330615T2 (de) * 1992-09-14 2002-06-13 Sony Corp Informationsverarbeitungsgerät
US5818437A (en) * 1995-07-26 1998-10-06 Tegic Communications, Inc. Reduced keyboard disambiguating computer
CN1154910C (zh) * 1995-07-26 2004-06-23 蒂吉通信系统公司 压缩键盘的明义系统
US5950160A (en) * 1996-10-31 1999-09-07 Microsoft Corporation Method and system for displaying a variable number of alternative words during speech recognition
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
EP1248183B1 (en) 1997-09-25 2012-07-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
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
US6489950B1 (en) 1998-06-26 2002-12-03 Research In Motion Limited Hand-held electronic device with auxiliary input device
US6684185B1 (en) * 1998-09-04 2004-01-27 Matsushita Electric Industrial Co., Ltd. Small footprint language and vocabulary independent word recognizer using registration by word spelling
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US6204848B1 (en) 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
EP1093058A1 (en) 1999-09-28 2001-04-18 Cloanto Corporation Method and apparatus for processing text and character data
US6868280B2 (en) * 2001-03-02 2005-03-15 Nokia Corporation Method and apparatus for entering information in a mobile device with special characters
US20020126097A1 (en) * 2001-03-07 2002-09-12 Savolainen Sampo Jussi Pellervo Alphanumeric data entry method and apparatus using reduced keyboard and context related dictionaries
US8583440B2 (en) * 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
JP4252955B2 (ja) 2002-07-01 2009-04-08 ソニー エリクソン モバイル コミュニケーションズ, エービー 電子通信装置に対してテキストを入力する方法
US7395203B2 (en) * 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
US7091885B2 (en) * 2004-06-02 2006-08-15 2012244 Ontario Inc. Handheld electronic device with text disambiguation
JP2007285319A (ja) 2006-04-12 2007-11-01 Daiwa Kasei Ind Co Ltd クリップ、及びクリップとカバー体の取付構造
JP5384786B2 (ja) 2006-11-14 2014-01-08 株式会社日立ハイテクノロジーズ 荷電ビーム装置、及びその鏡体

Also Published As

Publication number Publication date
US20100138741A1 (en) 2010-06-03
GB2445490A (en) 2008-07-09
BRPI0615596B1 (pt) 2018-07-10
GB0805696D0 (en) 2008-04-30
GB2445490B (en) 2010-12-22
US7644209B2 (en) 2010-01-05
WO2007025371A1 (en) 2007-03-08
DE112006002315T5 (de) 2008-07-10
US20070168588A1 (en) 2007-07-19
US8239593B2 (en) 2012-08-07
DE112006002315B4 (de) 2012-04-26
US8984187B2 (en) 2015-03-17
US20120299834A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
BRPI0615596A2 (pt) desambigüização de texto permitindo uma expansão dinámica de associações de tecla
US9442573B2 (en) Handheld electronic device and method for disambiguation of text input and providing spelling substitution
US9588596B2 (en) Handheld electronic device with text disambiguation
US7477238B2 (en) Handheld electronic device with text disambiguation
US7525452B2 (en) Handheld electronic device and method for disambiguation of text input providing suppression of low probability artificial variants
US8577667B2 (en) Handheld electronic device and method for disambiguation of text input providing artificial variants comprised of characters in a core alphabet
CA2579048C (en) Handheld electronic device with text disambiguation
EP1808749A1 (en) Handheld electronic device and method for disambiguation of text input providing suppression of low probability artificial variants
CA2517652C (en) Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations
EP1760570A1 (en) Handheld electronic device with text disambiguation allowing dynamic expansion of input key associations

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: BLACKBERRY LIMITED (CA)

B25G Requested change of headquarter approved

Owner name: BLACKBERRY LIMITED (CA)

B06A Notification to applicant to reply to the report for non-patentability or inadequacy of the application according art. 36 industrial patent law
B15K Others concerning applications: alteration of classification

Ipc: G06F 3/023 (2006.01), G06F 17/27 (2006.01), G06F 3

B09A Decision: intention to grant
B16A Patent or certificate of addition of invention granted