BRPI0719303A2 - primeiro dispositivo de comunicaÇço, mÉtodo para armazenar um primeiro banco de dados associados com prediÇço de palavras em um primeiro terminal màvel, e, meio legÍvel por computador - Google Patents

primeiro dispositivo de comunicaÇço, mÉtodo para armazenar um primeiro banco de dados associados com prediÇço de palavras em um primeiro terminal màvel, e, meio legÍvel por computador Download PDF

Info

Publication number
BRPI0719303A2
BRPI0719303A2 BRPI0719303-3A BRPI0719303A BRPI0719303A2 BR PI0719303 A2 BRPI0719303 A2 BR PI0719303A2 BR PI0719303 A BRPI0719303 A BR PI0719303A BR PI0719303 A2 BRPI0719303 A2 BR PI0719303A2
Authority
BR
Brazil
Prior art keywords
database
mobile terminal
word prediction
word
communication device
Prior art date
Application number
BRPI0719303-3A
Other languages
English (en)
Inventor
Ola Karl Thoern
Original Assignee
Sony Ericsson Mobile Comm Ab
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 Sony Ericsson Mobile Comm Ab filed Critical Sony Ericsson Mobile Comm Ab
Publication of BRPI0719303A2 publication Critical patent/BRPI0719303A2/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

Abstract

PRIMEIRO DISPOSITIVO DE COMUNICAÇçO, METODO PARA ARMAZENAR UM PRIMEIRO BANCO DE DADOS ASSOCIADO COM PREDIÇçO DE PALAVRA EM UM PRIMEIRO TERMINAL MOVEL, E, MEIO LEGÍVEL POR COMPUTADOR. Um dispositivo de comunicação inclui um dispositivo de entrada que é configurado para receber entrada de um usuário e uma memória configurada para armazenar um primeiro banco de dados associado com predição de palavra. O dispositivo de comunicação também pode incluir lógica configurada para formar uma conexão com um segundo dispositivo de comunicação, onde o segundo dispositivo de comunicação inclui um segundo banco de dados associado com predição de palavra. A lógica também pode ser configurada para obter pelo menos parte do segundo banco de dados, armazenar a parte obtida do segundo banco de dados e executar predição de palavra na entrada recebida usando a parte obtida do segundo banco de dados.

Description

"PRIMEIRO DISPOSITIVO DE COMUNICAÇÃO, MÉTODO PARA ARMAZENAR UM PRIMEIRO BANCO DE DADOS ASSOCIADO COM PREDIÇÃO DE PALAVRA EM UM PRIMEIRO TERMINAL MÓVEL, E, MEIO LEGÍVEL POR COMPUTADOR" CAMPO TÉCNICO DA INVENÇÃO
A invenção relaciona-se geralmente a comunicações e, mais particularmente, a trocar informação entre dispositivos de comunicação. DESCRIÇÃO DA TÉCNICA RELACIONADA
Dispositivos de comunicação, tais como terminais móveis, podem ser usados por indivíduos para se comunicarem com usuários de outros dispositivos de comunicação. Por exemplo, um dispositivo de comunicação pode ser usado para fazer/receber chamadas e enviar/receber mensagens de texto para/de outros dispositivos de comunicação. Dispositivos de comunicação tipicamente permitem ao usuário entrar com texto, tais como mensagens de texto, por um teclado alfa-numérico. SUMÁRIO
De acordo com um aspecto, um primeiro dispositivo de comunicação é provido. O primeiro dispositivo de comunicação inclui um dispositivo de entrada configurado para receber entrada de um usuário e uma memória configurada para armazenar um primeiro banco de dados associado com predição de palavra. O primeiro dispositivo de comunicação também inclui lógica configurada para: formar uma conexão com um segundo dispositivo de comunicação, o segundo dispositivo de comunicação incluindo um segundo banco de dados associado com predição de palavra, obter pelo menos uma porção do segundo banco de dados, armazenar pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação, e executar predição de palavra na entrada recebida usando pelo menos a porção do segundo banco de dados.
Adicionalmente, ao armazenar pelo menos a porção do segundo banco de dados, a lógica pode ser configurada para fundir a porção do segundo banco de dados com o primeiro banco de dados, e armazenar os bancos de dados fundidos na memória.
Adicionalmente, a lógica pode ser ademais configurada para analisar o segundo banco de dados, e identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados.
Adicionalmente, a lógica pode ser ademais configurada para determinar se armazenar pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação baseado na identificação. Adicionalmente, ao identificar pelo menos uma de
semelhanças ou diferenças entre o primeiro e segundo bancos de dados, a lógica pode ser configurada para: identificar semelhanças baseadas na inclusão de pelo menos uma palavra usada raramente em ambos o primeiro e segundo bancos de dados. Adicionalmente, a lógica pode ser ademais configurada para
identificar se uma lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo dispositivos de comunicação inclui pelo menos um mesmo contato, e armazenar pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação quando a lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo dispositivos de comunicação inclui pelo menos um mesmo contato.
Adicionalmente, ao executar predição de palavra, a lógica pode ser configurada para executar predição de palavra baseado em uma hora ou um período de tempo.
Adicionalmente, ao executar predição de palavra baseado na hora ou no período de tempo, a lógica pode ser configurada para ponderar uma palavra entrada mais freqüentemente durante uma hora como um candidato de palavra mais provável correspondendo à entrada recebida quando a entrada foi recebida durante a primeira hora.
Adicionalmente, ao obter pelo menos a porção do segundo banco de dados, a lógica pode ser configurada para se comunicar com o segundo dispositivo de comunicação através de uma rede sem fio, e recobrar pelo menos a porção do segundo banco de dados sem entrada do usuário.
Adicionalmente, o primeiro dispositivo de comunicação pode incluir um terminal móvel.
De acordo com outro aspecto, um método pode ser executado em um primeiro terminal móvel armazenando um primeiro banco de dados associado com predição de palavra. O método inclui formar uma conexão com um segundo terminal móvel por uma rede sem fio, onde o segundo terminal móvel inclui um segundo banco de dados associado com predição de palavra. O método também pode incluir pelo menos obter uma porção do segundo banco de dados e armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel. O método pode ademais incluir receber entrada de um usuário por um teclado alfa-numérico e executar predição de palavra na entrada recebida usando a porção do segundo banco de dados e do primeiro banco de dados.
Adicionalmente, armazenar pelo menos uma porção do segundo banco de dados pode incluir fundir o segundo banco de dados com o primeiro banco de dados.
Adicionalmente, o método pode ademais incluir analisar o segundo banco de dados; identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados; e determinar se armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel baseado na identificação.
Adicionalmente, identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados pode incluir identificar semelhanças baseadas na inclusão de pelo menos uma palavra usada raramente em ambos o primeiro e segundo bancos de dados. Adicionalmente, o método pode ademais incluir identificar se uma lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo terminais móveis inclui pelo menos um mesmo contato; e armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel quando a lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo terminais móveis inclui pelo menos um mesmo contato.
Adicionalmente, executar predição de palavra pode incluir ponderar uma palavra entrada mais freqüentemente pelo usuário do primeiro terminal móvel durante uma primeira hora como um candidato de palavra mais provável correspondendo à entrada recebida quando a entrada foi recebida durante a primeira hora.
Adicionalmente, a obtenção pode incluir se comunicar com o segundo terminal móvel através de uma rede sem fio, e recobrar pelo menos a porção do segundo banco de dados sem entrada do usuário.
De acordo com um aspecto adicional, um meio legível por computador tendo seqüências de instruções armazenadas pode ser provido. As instruções, quando executadas por pelo menos um processador, fazem o pelo menos um processador: formar uma conexão com um primeiro terminal móvel por uma rede sem fio; acessar um primeiro banco de dados do primeiro terminal móvel, o primeiro banco de dados estando associado com predição de palavra; analisar o primeiro banco de dados; obter pelo menos uma porção do primeiro banco de dados; e armazenar pelo menos a porção do primeiro banco de dados em uma memória.
Adicionalmente, o pelo menos um processador pode ser incluído em um segundo terminal móvel incluindo um segundo banco de dados. As instruções para analisar o primeiro banco de dados podem fazer o pelo menos um processador: identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados, e determinar se armazenar pelo menos a porção do primeiro banco de dados no segundo terminal móvel baseado na identificação.
Adicionalmente, as instruções para identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados podem fazer o pelo menos um processador identificar semelhanças baseadas na inclusão de pelo menos uma palavra usada raramente em ambos o primeiro e segundo bancos de dados.
Adicionalmente, as instruções para identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados podem fazer o pelo menos um processador identificar semelhanças baseadas em informação comum armazenada em uma lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo terminais móveis.
Adicionalmente, o meio legível por computador pode ademais incluir instruções para fazer o pelo menos um processador receber entrada de usuário associada com uma mensagem de texto, e executar reconhecimento de palavra na entrada de usuário usando a porção armazenada do primeiro banco de dados.
Adicionalmente, o pelo menos um processador pode ser incluído em um segundo terminal móvel e as instruções para fazer o pelo menos um processador executar reconhecimento de palavra pode fazer o pelo menos um processador ponderar uma palavra entrada mais freqüentemente pelo usuário do segundo terminal móvel durante uma primeira hora como um candidato de palavra mais provável correspondendo à entrada recebida quando a entrada foi recebida durante a primeira hora. BREVE DESCRIÇÃO DOS DESENHOS
Referência é feita aos desenhos anexos, em que elementos tendo a mesma designação de número de referência podem representar mesmos elementos em toda parte. Figura 1 é um diagrama de um sistema exemplar no qual métodos e sistemas descritos aqui podem ser implementados;
Figura 2 é um diagrama de um terminal móvel da Figura 1 de acordo com uma implementação exemplar;
Figura 3 é um diagrama de bloco funcional exemplar de componentes implementados no terminal móvel da Figura 2 de acordo com uma implementação exemplar;
Figura 4 é um diagrama de bloco funcional de componentes implementados no terminal móvel da Figura 3; e
Figuras 5-7 são fluxogramas ilustrando processamento exemplar através de terminais móveis em uma implementação exemplar. DESCRIÇÃO DETALHADA
A descrição detalhada seguinte da invenção se refere aos desenhos acompanhantes. Os mesmos números de referência em desenhos diferentes identificam os mesmos ou elementos semelhantes. Também, a descrição detalhada seguinte não limita a invenção. Ao invés, o escopo da invenção está definido pelas reivindicações anexas e equivalentes. SISTEMA EXEMPLAR
Figura 1 é um diagrama de um sistema 100 exemplar no qual métodos e sistemas descritos aqui podem ser implementados. Sistema 100 pode incluir terminais móveis 110, 120 e 130 conectados por rede 140. A configuração exemplar ilustrada na Figura 1 é provida para simplicidade. Deveria ser entendido que um sistema típico pode incluir mais ou menos dispositivos que ilustrado na Figura 1. Além disso, também outros dispositivos que facilitam comunicações entre as várias entidades ilustrados na Figura 1 podem ser incluídos em sistema 100.
Aspectos da invenção são descritos aqui no contexto de um terminal móvel, tal como um de terminais móveis 110-130. Como usado aqui, o termo "terminal móvel" pode incluir um radiotelefone celular com ou sem um visor de multilinha; um terminal de Sistema de Comunicação Pessoal (PC), que pode combinar um radiotelefone celular com capacidades de processamento de dados, fac-símile e comunicações de dados; um assistente digital pessoal (PDA) que pode incluir um radiotelefone, radiolocalizador, acesso à Internet/Intranet, navegador da Web, organizador, calendário e/ou um receptor de sistema de posicionamento global (GPS); e um receptor de laptop e/ou palmtop convencional ou outro dispositivo que inclui um transceptor de radiotelefone. Terminais móveis também podem ser chamados dispositivos de "computação penetrante".
Rede 140 pode incluir uma ou mais redes incluindo uma rede celular, uma rede de satélite, a Internet, uma rede de telefone, tal como a Rede de Telefone Comutada Pública (PSTN), uma rede de área metropolitana (MAN), uma rede de área extensa (WAN), uma rede local (LAN) ou outro tipo de rede. Terminais móveis 110, 120 e 130 podem se comunicar entre si através de rede 140 por fios, sem fio ou conexões ópticas.
Em uma implementação exemplar, a rede 140 inclui uma rede celular que usa componentes para transmitir dados para e de terminais móveis 110, 120 e 130. Tais componentes podem incluir antenas de estação base (não mostradas) que transmitem e recebem dados de terminais móveis dentro da sua vizinhança. Tais componentes também podem incluir estações base (não mostradas) que se conectam às antenas de estação base e se comunicam com outros dispositivos, tais como chaves e roteadores (não mostrados) de acordo com técnicas conhecidas. Sistema 100 também pode incluir uma rede ad hoc que permite
a terminais móveis em sistema 100 se localizarem e se comunicarem entre si. Por exemplo, o sistema 100 pode incluir uma rede ad hoc 150, mostrada pelo círculo tracejado na Figura 1. Rede ad hoc 150 pode incluir terminais móveis 110 e 120. Deveria ser entendido que a rede ad hoc 150 pode incluir componentes adicionais e terminais móveis adicionais (não mostrados).
Em uma implementação exemplar, os terminais móveis 11 Ο- Ι 30 podem empregar "balizas" como um modo no qual o terminal móvel pode localizar outro terminal móvel em rede ad hoc 150. Uma baliza é uma transmissão que pode ser gerada por um terminal móvel e pode ser recebida por alguns ou todos os terminais móveis dentro de um alcance de transmissão. Quer dizer, a baliza pode ser uma transmissão radiodifundida em lugar de uma transmissão para qualquer terminal/nó móvel particular. A baliza pode ser usada para iniciar comunicações entre dois terminais móveis, como descrito em mais detalhe abaixo.
Figura 2 é um diagrama de um terminal móvel exemplar 110 no qual métodos e sistemas descritos aqui podem ser implementados. Deveria ser entendido que os terminais móveis 120 e 130 podem incluir os mesmos ou elementos semelhantes e podem ser configurados da mesma ou maneira semelhante.
Referindo-se à Figura 2, o terminal móvel 110 pode incluir um alojamento 210, um alto-falante 220, um visor 230, botões de controle 240, um teclado 250, e um microfone 260. Alojamento 210 pode proteger os componentes de terminal móvel 110 de elementos externos. Alto-falante 220 pode prover informação audível a um usuário de terminal móvel 110.
Visor 230 pode prover informação visual ao usuário. Por exemplo, visor 230 pode prover informação relativa a chamadas telefônicas de chegada ou de partida e/ou correio eletrônico de chegada ou de partida (e- mail), mensagens imediatas (IMs), mensagens de serviço de mensagem curta (SMS), etc. Visor 230 também pode exibir informação relativa a várias aplicações, tais como uma lista telefônica/lista de contatos armazenada em terminal móvel 110, a hora atual, videogames sendo jogados por um usuário, conteúdo carregado (por exemplo, notícias ou outra informação), etc.
Botões de controle 240 podem permitir ao usuário interagir com terminal móvel 110 para fazer o terminal móvel 110 executar uma ou mais operações, tal como fazer uma chamada telefônica, tocar várias mídias, etc. Por exemplo, botões de controle 240 podem incluir um botão de dial, botão de retenção, botão de tocar, etc. Em uma implementação exemplar, os botões de controle 240 podem incluir um ou mais botões que controlam vários aplicativos executados por terminal móvel 110. Por exemplo, um de botões de controle 240 pode ser usado para executar um programa aplicativo para compartilhar informação com outros terminais móveis, tal como compartilhar bancos de dados de predição de palavra. Teclado 250 pode incluir um teclado de telefone padrão. Como
ilustrado, muitas das teclas em teclado 250 podem incluir valores numéricos e várias letras. Por exemplo, a tecla com o número 2 inclui as letras A, B e C. Estas letras podem ser usadas por um usuário ao introduzir texto a terminal móvel 110. Outros tipos de dispositivos de entrada também podem ser providos. Por exemplo, em outras implementações, uma tela de toque pode ser provida para entrar com informação. Em outras implementações imóveis, um teclado QWERTY ou um teclado de Dvorak pode ser usado. Além disso, um dispositivo de entrada baseado em gesto, um dispositivo de entrada baseado em reconhecimento óptico de caracteres (OCR), um 'joystick', um teclado virtual, um utilitário de fala para texto, etc., pode ser usado para introduzir informação a terminal móvel 110. Microfone 260 pode receber informação audível do usuário.
Figura 3 é um diagrama ilustrando componentes de terminal móvel 110 de acordo com uma implementação exemplar. Referindo-se à Figura 3, o terminal móvel 110 pode incluir barramento 310, lógica de processamento 320, memória 330, dispositivo de entrada 340, dispositivo de saída 350, interface de comunicação 360 e antena 370. Barramento 310 permite comunicação entre os componentes de terminal móvel 110. Alguém qualificado na técnica reconheceria que terminal móvel 110 pode ser configurado de vários outros modos e pode incluir outros ou elementos diferentes. Por exemplo, o terminal móvel 110 pode incluir um ou mais moduladores, demoduladores, codificadores, decodificadores, etc., para processar dados e uma ou mais fontes de energia para energizar o terminal móvel 110.
Lógica de processamento 320 pode incluir um processador, microprocessador, um circuito integrado específico de aplicação (ASIC), arranjo de portas programáveis em campo (FPGA) ou similar. Lógica de processamento 320 pode executar instruções/programas de software ou estruturas de dados para controlar a operação de dispositivo de comunicação 110.
Memória 330 pode incluir uma memória de acesso aleatório (RAM) ou outro tipo de dispositivo de armazenamento dinâmico que armazena informação e instruções para execução por lógica de processamento 320; uma memória só de leitura (ROM) ou outro tipo de dispositivo de armazenamento estático que armazena informação estática e instruções para uso lógica de processamento 320; uma memória flash (por exemplo, um dispositivo de memória só de leitura eletricamente programável e apagável (EEPROM)) para armazenar informação e instruções; e/ou algum outro tipo de meio de gravação magnética ou óptica e seu acionamento correspondente. Memória 330 também pode ser usada para armazenar variáveis temporárias ou outra informação intermediária durante execução de instruções por lógica de processamento 320. Instruções usadas por lógica de processamento 320 também podem, ou alternativamente, ser armazenadas em outro tipo de meio legível por computador acessível por lógica de processamento 320. Um meio legível por computador pode incluir um ou mais dispositivos de memória e/ou ondas de portador.
Dispositivo de entrada 340 pode incluir mecanismos que permitem a um operador introduzir informação a terminal móvel 110, tal como microfone 260, teclado 250, botões de controle 240, um teclado (por exemplo, um teclado QWERTY ou um teclado de Dvorak), um dispositivo de entrada baseado em gesto, um dispositivo de entrada baseado em OCR, um 'joystick', um teclado virtual, um utilitário de fala para texto, um mouse, uma caneta, reconhecimento de voz e/ou mecanismos biométricos, etc., pode ser usado para introduzir informação a terminal móvel 110. Microfone 260 pode receber informação audível do usuário.
Dispositivo de saída 350 pode incluir um ou mais mecanismos que produzem informação ao usuário, incluindo um visor, tal como visor 230, uma impressora, um ou mais alto-falantes, tal como alto-falante 220, etc.
Interface de comunicação 360 pode incluir qualquer mecanismo como transceptor que permite a terminal móvel 110 a se comunicar com outros sistemas e/ou dispositivos. Por exemplo, a interface de comunicação 360 pode incluir um modem ou uma interface de Ethernet para uma LAN. Interface de comunicação 360 também pode incluir mecanismos para se comunicar por uma rede, tal como uma rede sem fio. Por exemplo, a interface de comunicação 360 pode incluir um ou mais transmissores, transceptores e/ou receptores de radiofreqüência (RF) para transmitir e receber dados de RF por rede 140. Antena 370 pode incluir uma ou mais antenas para transmitir e receber sinais de RF.
Terminal móvel 110 pode prover uma plataforma para um usuário fazer e receber chamadas telefônicas, enviar e receber correio eletrônico, mensagens de texto, mensagens de multimídia, mensagens de serviço de mensagem curta (SMS), etc., e executar vários outros aplicativos. Terminal móvel 110 também pode executar processamento associado com trocar informação com outros terminais móveis, tais como bancos de dados associados com predição de palavra, como descrito em detalhes abaixo. Terminal móvel 110 pode executar estas operações em resposta à lógica de processamento 320 executar seqüências de instruções contidas em um meio legível por computador, tal como memória 330. Tais instruções podem ser lidas em memória 330 de outro meio legível por computador, por exemplo, por interface de comunicação 360. Um meio legível por computador pode incluir um ou mais dispositivos de memória e/ou ondas de portador. Em concretizações alternativas, circuitos conectados por fios podem ser usados em lugar de ou em combinação com instruções de software para implementar processos consistentes com a invenção. Assim, implementações descritas aqui não estão limitadas a qualquer combinação específica de circuitos de hardware e software.
Aspectos da invenção são descritos aqui no contexto de um
terminal móvel. Também deveria ser entendido que sistemas e métodos descritos aqui também podem ser implementados em outros dispositivos que incluem várias funcionalidades de predição de palavra sem várias outras funcionalidades de comunicação. Por exemplo, aspectos da invenção podem ser implementados em um computador pessoal (PC), um laptop, um PDA, um dispositivo reprodutor de mídia (por exemplo, um reprodutor de áudio de camada 3 de MPEG (MP3), um dispositivo executor de videogame), etc.
Figura 4 é um diagrama de bloco funcional exemplar de componentes implementados em terminal móvel 110 da Figura 3, tal como em memória 330. Referindo-se à Figura 4, a memória 330 pode incluir um programa de transmissão de mensagem 410 incluindo lógica de predição de palavra 420 e banco de dados de predição de palavra 430. Lógica de predição de palavra 420 e banco de dados de predição de palavra 430 são ilustrados como sendo incluídos em programa de transmissão de mensagem 410. Em outras implementações, um ou mais destes componentes podem ser localizados externamente com respeito a programa de transmissão de mensagem 410.
Programa de transmissão de mensagem 410 pode incluir qualquer tipo de programa de transmissão de mensagem para transmitir e receber mensagens para/de outros dispositivos, tais como terminais móveis 120 e 130. Por exemplo, o programa de transmissão de mensagem 410 pode incluir um programa baseado em serviço de mensagem de multimídia (MMS), um programa baseado em serviço de mensagem curta (SMS), um programa baseado em transmissão de mensagem imediata (IM), um programa de e-mail, ou outro programa aplicativo baseado em texto que permite a terminal móvel 110 se comunicar com outros dispositivos.
Lógica de predição de palavra 420 pode incluir lógica usada para predizer palavras sendo entradas por um usuário quando elas estão sendo entradas ou digitadas. Lógica de predição de palavra 420 pode prover caracteres de candidato, próximos caracteres, palavras, próximas palavras e/ou frases ao usuário, por exemplo, por visor 230 quando o usuário está entrando com o texto por teclado 250. Os termos "caractere de candidato", "próximo caractere de candidato", "palavra de candidato", "próxima palavra de candidato" ou "frase de candidato" como usado aqui se referem a um caractere, próximo caractere, palavra, próxima palavra ou frase, respectivamente, que casa potencialmente com o caractere/palavra/frase que o usuário pretende introduzir por teclado 250. Em uma implementação exemplar, a lógica de predição de palavra 420 pode usar banco de dados de predição de palavra 430 para executar predição de palavra, como descrito em detalhes abaixo.
Banco de dados de predição de palavra 430 pode incluir um banco de dados de frases e/ou palavras comuns. Em algumas implementações, banco de dados de predição de palavra 430 pode ser atualizado dinamicamente quando o usuário de terminal móvel 110 introduz mensagens e/ou recebe mensagens. Por exemplo, o banco de dados de predição de palavra 430 pode ser pré-carregado com várias palavras e frases usadas geralmente que são usadas freqüentemente em um idioma particular. Quando programa de transmissão de mensagem 410 gera e recebe mensagens, palavras/frases já não armazenadas em banco de dados de predição de palavra 430 podem ser adicionadas a banco de dados de predição de palavra 430. Desta maneira, o banco de dados de predição de palavra 430 é mais provável de incluir palavras que podem ser usadas no futuro pelo usuário de terminal móvel 110.
Como descrito brevemente acima, em sistemas convencionais, cada botão alfanumérico em teclado 250 (Figura 2) pode corresponder a uma de três letras diferentes. Por exemplo, quando um usuário introduz o número "2" por um teclado convencional, o texto correspondente pode ser quaisquer das letras A, B ou C. Em um esquema de entrada preditivo do tipo T9/Zi convencional, um programa de transmissão de mensagem adivinha ou prediz qual letra o usuário pretendeu digitar. Por exemplo, se o usuário entrar com "843", um programa de transmissão de mensagem convencional pode assumir que o usuário pretendeu entrar com a palavra "the". Em tais sistemas, o programa de transmissão de mensagem pode usar um dicionário de palavras comuns para predizer o que um usuário deseja introduzir. Porém, tais sistemas convencionais são incapazes de achar freqüentemente a palavra correta em vários cenários.
PROCESSAMENTO EXEMPLAR
Em uma implementação exemplar, o terminal móvel 110 pode se conectar com outros dispositivos, tais como outros terminais móveis, para trocar informação nos bancos de dados de predição de palavra respectivos. Figura 5 é um fluxograma ilustrando processamento exemplar por terminais móveis, tal como um ou mais de terminais móveis 110-130, para conectar uma informação de troca com outro terminal móvel. Processamento pode começar quando um terminal móvel, tal como terminal móvel 110, se energiza (ato 510). Assuma que o usuário de terminal móvel 110 deseja trocar/receber informação associada com seu banco de dados de predição de palavra 430 com outras partes. Por exemplo, o usuário de terminal móvel 110 pode desejar receber informação relativa a banco de dados de predição de palavra 430 armazenado em outro terminal móvel em sua vizinhança. O usuário de terminal móvel 110 também pode desejar permitir a outros terminais móveis receberem seu banco de dados de predição de palavra 430.
Neste caso, usuários de terminais móveis, tais como terminais móveis 11 Ο- Ι 30 podem se conectar um ao outro (ato 520). Por exemplo, terminais móveis 110-130 podem formar uma rede ad hoc local ou se conectarem a uma rede ad hoc existente, tal como a rede ad hoc 150.
Por exemplo, em uma implementação, depois que terminal móvel 110 se energiza, o usuário de terminal móvel 110 pode iniciar um programa aplicativo associado com compartilhar banco de dados de predição de palavra 430 com outros terminais móveis. O usuário pode iniciar o aplicativo, por exemplo, por dispositivo de entrada 340 (Figura 7), que pode incluir apertar um ou mais botões de controle 240 ou uma entrada de teclado em terminal móvel 110. Depois de iniciar o programa, o terminal móvel 110 pode enviar uma transmissão de baliza, como descrito acima. Em outras implementações, o terminal móvel 110 pode iniciar automaticamente o processo de se comunicar com outros terminais móveis em sua vizinhança sem requerer entrada humana. Quer dizer, o terminal móvel 110 pode trocar automaticamente informação e estabelecer conexões com outros terminais móveis como um processo de fundo associado com o programa aplicativo para compartilhar bancos de dados de predição de palavra sem requerer entrada do usuário de terminal móvel 110.
Em cada caso, outros terminais móveis na vizinhança de terminal móvel 110 podem receber o sinal de baliza e trocar informação com terminal móvel 110, tais como identificadores que podem ser usados para facilitar comunicações entre terminal móvel 110 e os outros terminais móveis que recebem a baliza. Assuma que terminal móvel 120 está na vizinhança de terminal móvel 110 e recebe o sinal de baliza de terminal móvel 110. Ademais assuma que terminal móvel 110 e terminal móvel 120 podem se comunicar entre si e fazer parte de rede ad hoc 150.
Em implementações alternativas, o terminal móvel 110 pode ser configurado para se comunicar com outro terminais móveis usando sinalização predeterminada ao se energizar. Por exemplo, o terminal móvel 110 pode ser configurado para se comunicar com outros terminais móveis 110 por técnicas de Bluetooth, WiFi, infravermelho (IR) ou alguma outra técnica
de comunicação.
Em cada caso, assuma que o terminal móvel 110 está na vizinhança ou está relativamente perto do local de terminal móvel 120 e que o terminal móvel 110 é capaz de formar uma conexão/ligação com terminal móvel 120. Ademais assuma que o usuário de terminal móvel 110 deseja recobrar informação de terminal móvel 120 associada com o banco de dados de predição de palavra 430 do terminal móvel 120. Neste caso, o terminal móvel 110 pode enviar um pedido para terminal móvel 120 indicando que gostaria de acessar o banco de dados de predição de palavra do terminal móvel 120 (referido aqui como banco de dados de predição de palavra 430B) (ato 530).
Assuma que terminal móvel 120 recebe o pedido e concede acesso a terminal móvel 110 a banco de dados de predição de palavra 430B (ato 540). Terminal móvel 110 pode então analisar banco de dados de predição de palavra 43OB para determinar se gostaria de transferir ou fundir uma porção de banco de dados de predição de palavra 43OB com seu banco de dados de predição de palavra 430. Deveria ser notado em algumas implementações, o terminal móvel 110 pode fundir banco de dados de predição de palavra 43OB com seu próprio banco de dados de predição de palavra 430 para criar um único banco de dados de predição de palavra sem analisar o conteúdo ou pode transferir banco de dados de predição de palavra 43 OB para terminal móvel 110 para análise posterior. Figura 6 ilustra processamento exemplar associado com analisar banco de dados de predição de palavra 43 OB. Processamento pode começar com lógica de processamento 320 comparando banco de dados de predição de palavra 430 com banco de dados de predição de palavra 43OB (ato 610). Por exemplo, a lógica de processamento 320 pode identificar quão freqüentemente os usuários de terminais móveis 110 e 120 usaram palavras diferentes. Por exemplo, bancos de dados de predição de palavra 430 e 43 OB podem incluir palavras usadas em várias mensagens e também podem incluir informação identificando a freqüência ou quantas vezes cada uma das palavras foi usada em uma mensagem. Lógica de processamento 320 também pode identificar a ordem de várias palavras providas ao usuário de terminal móvel 120 em uma lista de candidato. Por exemplo, a lógica de processamento 320 pode identificar a ordem com a qual o terminal móvel 120 listou que várias palavras de candidato ao usuário de terminal móvel 120.
Lógica de processamento 320 também pode determinar até que ponto o banco de dados de predição de palavra 430 e 43 OB diferem em conteúdo. Por exemplo, a lógica de processamento 320 pode comparar bancos de dados 430 e 43 OB para determinar se os bancos de dados de predição de palavra 430 e 430B incluem muito poucas das mesmas palavras, diferente de palavras usadas muito geralmente. Tal falta de correspondência pode indicar que os usuários de terminais móveis 110 e 120 são improváveis de usar palavras semelhantes ao gerar mensagens de texto. Isto pode indicar que banco de dados 43 OB não é um bom candidato para se fundir com banco de dados de predição de palavra 430 desde que pode ser improvável que os usuários de terminais móveis 110 usariam palavras semelhantes ao gerar mensagens baseadas em texto.
Lógica de processamento 320 também podem verificar palavras ou expressões incomuns ou palavras/expressões que são únicas ou distintas em banco de dados 430B. Tais palavras podem corresponder a palavras/termos que não são usados freqüentemente no idioma particular ou são palavras que estão associadas com um campo particular de empenho. Para identificar estas palavras incomuns/palavras distintas, a lógica de processamento 320 pode varrer o banco de dados de predição de palavra 430B para identificar palavras que foram entradas raramente ou usadas pelo usuário de terminal móvel 120 ao gerar mensagens de texto e/ou palavras que foram encontradas raramente por lógica de processamento 320, tais como em mensagens de texto recebidas ou em acessar bancos de dados de predição de palavra de outros terminais móveis. A determinação do caractere único/distinto também pode ser feita relativa a outros terminais móveis que o terminal móvel 110 encontrou. Como um exemplo, assuma que banco de dados de predição de palavra 430B inclui a palavra "brontossauro" e que o terminal móvel 110 não encontrou a palavra "brontossauro" em outro terminal móvel, mas que terminal móvel 110 já tem a palavra "brontossauro" armazenada em banco de dados de predição de palavra 430. Como ambos os terminais móveis 110 e 120 partilham esta palavra única, a lógica de processamento 320 pode determinar que os usuários de terminais móveis 110 e 120 são mais prováveis de ter bancos de dados de predição de palavra semelhantes e são mais prováveis de usar palavras semelhantes ao gerar mensagens baseadas em texto. Quer dizer, uso de palavras incomuns ou usadas raramente pode indicar interesses semelhantes, profissões, etc. Além disso, uso palavras ou expressões de gíria semelhantes pode indicar semelhança em idade e/ou interesses, que também pode indicar que os usuários usariam palavras/frases semelhantes ao gerar mensagens baseadas em texto.
Lógica de processamento 320 também pode identificar palavras em banco de dados de predição de palavra 430B que são usadas mais freqüentemente a várias horas ou intervalos/períodos de tempo durante o dia. Por exemplo, palavras como "táxi", "filme" e "bebidas" podem ser usadas mais freqüentemente pelo usuário de terminal móvel 120 ao entardecer. Outras palavras, tais como "trabalho" e "café da manhã" podem ser usadas freqüentemente mais pela manhã. Lógica de processamento 320 pode comparar esta hora de uso de dia à hora de uso de dia por palavras/termos em banco de dados 43OB a hora de informação de uso para palavras em banco de dados de predição de palavra 430. Se o uso de hora for semelhante, isto pode indicar que os usuários de terminais móveis IlOe 120 são mais prováveis de ter interesses semelhantes e podem usar palavras semelhantes ao gerar mensagens baseadas em texto. Lógica de processamento 320 também pode determinar se os
usuários de terminais móveis 110 e 120 se conhecem e/ou compartilham contatos. Por exemplo, a lógica de processamento 320 pode verificar uma lista de contatos ou agenda de endereços armazenada em terminal móvel 120 e compará-la a sua própria lista de contatos/agenda de endereços. Se os usuários de terminais móveis 110 e 120 se conhecerem (por exemplo, a informação de contato associada com o usuário de terminal móvel 120 está armazenada na lista de contatos de terminal móvel 110 ou vice-versa) ou se a lista de contatos/agenda de endereços compartilham vários contatos (por exemplo, um ou mais dos contatos armazenados em terminal móvel 120 também está armazenado na lista de contatos de terminal móvel 110), isto pode indicar que os usuários são mais prováveis de terem interesses comuns e podem usar palavras semelhantes ao gerar mensagens baseadas em texto.
Lógica de processamento 320 pode então analisar os dados coletados para determinar se fundir bancos de dados 430 e 430B. Por exemplo, em uma implementação, a lógica de processamento 320 pode determinar que se terminais móveis 110 e 120 compartilham um número predeterminado de palavras únicas/distintas, que banco de dados 43OB deveria ser fundido com banco de dados 430. Em outras implementações, a lógica de processamento 320 pode determinar que se terminal móvel 120 incluir um número predeterminado de palavras usadas a certas horas que casam com as palavras usadas por terminal móvel 110 nas mesmas horas, que banco de dados 430B deveria ser fundido com banco de dados 430.
Em cada caso, a lógica de processamento 320 pode determinar se fundir o banco de dados 43OB inteiro com banco de dados 430 ou uma porção de banco de dados 430B com 430. Por exemplo, a lógica de processamento 320 pode determinar fundir só porções de banco de dados 43OB (por exemplo, palavras usadas freqüentemente pelo usuário de terminal móvel 120 a certas horas). Baseado em sua determinação, a lógica de processamento 320 pode fundir a porção desejada (ou todo) de banco de dados 430B com banco de dados 430 (ato 630). Os bancos de dados fundidos podem então ser armazenados em terminal móvel 110 (por exemplo, em banco de dados de predição de palavra 430) e podem ser usados para gerar palavras de candidato em resposta à entrada de usuário. Em algumas implementações, o terminal móvel 110 pode gerar
um limiar ou linha base antes de determinar se fundir o banco de dados de predição de palavra do outro usuário com seu banco de dados de predição de palavra 430. Por exemplo, o terminal móvel 110 inicialmente pode iniciar sem índice ou escore sobre como várias palavras comuns são e pode "aprender" e refinar esta qualidade comum/incomum cada vez que encontra o banco de dados de predição de palavra do outro terminal móvel. O limiar pode ser baseado em quantos terminais móveis o terminal móvel 110 encontra. Quer dizer, um número predeterminado de terminais móveis pode ser encontrado antes de estabelecer a linha base ou limiar. Em algumas implementações, o limiar pode estar baseado em
variância estatística com respeito à informação armazenada nos vários bancos de dados de predição de palavra. Por exemplo, o limiar pode ser baseado não só no número de outros terminais móveis encontrados, mas uma certa quantidade de variação que foi encontrada. Isto pode habilitar a lógica de processamento 320 receber informação bastante para prover uma boa linha base/limiar antes de determinar se fundir outro banco de dados com seu banco de dados de predição de palavra 430.
Figura 7 ilustra processamento exemplar associado com usar o banco de dados fundido por programa de transmissão de mensagem 410. Processamento pode começar com um usuário lançando programa de transmissão de mensagem 410 para gerar e/ou responder a uma mensagem recebida de outro dispositivo de comunicação (por exemplo, terminal móvel 130). Assuma que o usuário está compondo uma mensagem, e o usuário entrou com as letras "897" (ato 710). Lógica de predição de palavra 420 pode pesquisar banco de dados de predição de palavra 430 e identificar "tiranossauro" como uma palavra de candidato correspondendo à entrada "897" e prover a palavra de candidato por visor 230 (ato 720). Esta palavra (isto é, tiranossauro) pode ter sido recebida de banco de dados 43OB e armazenada em terminal móvel 110 durante o processamento descrito acima com respeito à Figura 6. Assuma que esta palavra é a palavra que o usuário de terminal móvel 110 deseja introduzir. O usuário de terminal móvel 110 pode então selecionar esta entrada usando, por exemplo, um de botões de controle 240 sem requerer o usuário entrar com mais das letras da palavra usando teclado 250. Desta maneira, banco de dados de predição de palavra 430 pode usar uma ou mais palavras recebidas de outro banco de dados de predição de palavra (por exemplo, banco de dados de predição de palavra 43 OB neste exemplo) para identificar palavras de candidato em uma mensagem baseada em texto.
Em cada caso, acessar bancos de dados de predição de palavra
do outros usuários pode permitir à lógica de predição de palavra 420 identificar palavras de candidato que caso contrário não teriam podido identificar, identificar palavras de candidato com menos caracteres de entrada que foi precisado previamente, classificar várias palavras de candidato diferentemente, etc., para aumentar a funcionalidade de lógica de predição de palavra 420.
Em algumas implementações, bancos de dados obtidos de outros terminais móveis podem, tais como banco de dados 430B, ser armazenados separadamente de banco de dados de predição de palavra 430. Nestas implementações, a lógica de predição de palavra 420 pode pesquisar ambos banco de dados de predição de palavra 430 e os bancos de dados de predição de palavra recobrados (por exemplo, banco de dados de predição de palavra 43 0B) ao executar predição de palavra. Se nenhuma palavra ou termo do banco de dados de predição de palavra recobrado, tal como banco de dados de predição de palavra 430B, for identificado de fato e selecionado pelo usuário durante entrada de uma mensagem de texto dentro de um período de tempo predeterminado, a lógica de processamento 320 pode apagar o banco de dados de predição de palavra recobrado (isto é, banco de dados de predição de palavra 430B, neste exemplo) desde que nenhuma palavra/termo foi realmente identificado e/ou selecionado para entrada pelo usuário. Porém, se uma palavra/termo provido de banco de dados de predição de palavra 43OB foi selecionado de fato pelo usuário dentro do período de tempo predeterminado, a lógica de processamento 320 pode indicar que banco de dados de predição de palavra 43OB não é para ser apagado. Lógica de processamento 320 também pode fundir o banco de dados de predição de palavra recobrado 43OB com banco de dados de predição de palavra 430 se um ou mais termos identificados de banco de dados de predição de palavra 43 OB foram selecionados pelo usuário durante entrada de uma mensagem de texto.
Embora não descrito acima, outros terminais móveis (por exemplo, terminal móvel 130) pode acessar o banco de dados de predição de palavra 430 do terminal móvel 110 e/ou carregar uma porção de banco de dados de predição de palavra 430 para fundir com seu banco de dados de predição de palavra. Em alguns casos, se terminal móvel 110 armazenar dados de vários outros terminais móveis, o outro terminal móvel (por exemplo, terminal móvel 130) pode então carregar informação de todos ou alguns destes outros terminais móveis encontrados por terminal móvel 110, baseado em, por exemplo, semelhanças ou coerência entre os bancos de dados (por exemplo, coerência entre o banco de dados de predição de palavra do terminal móvel 130 e banco de dados de predição de palavra 430). Desta maneira, povoar um banco de dados de predição de palavra em um terminal móvel pode ocorrer muito rapidamente. Em algumas implementações, informação diferente de bancos
de dados de predição de palavra especificamente designados pode ser usada por terminais móveis para ajudar em predição de palavra. Por exemplo, terminal móvel 110 pode acessar vários documentos, tais como páginas da web em 'cache' armazenadas em outros terminais móveis, tal como terminal móvel 120. A informação armazenada em terminal móvel 120 pode então ser comparada à informação armazenada em terminal móvel 110 de uma maneira semelhante àquela descrita acima com respeito a bancos de dados de predição de palavra 430 e 43OB para determinar se armazenar uma porção, toda ou nenhuma da informação acessada de terminal móvel 120 em terminal móvel 110. Como um exemplo, assuma que o usuário de terminal móvel 110 pesquisou a Internet por informação associada com a palavra brontossauro (por exemplo, pesquisou na web usando o termo brontossauro). Se o usuário de terminal móvel 120 também pesquisou este termo na Internet e a memória de terminal móvel 120 inclui uma página da web em 'cache' ou URL em 'cache' associado com a palavra brontossauro, o terminal móvel 110 pode determinar que esta informação (por exemplo, a página da web em 'cache' e/ou URL em 'cache'), como também outra informação de terminal móvel 120, pode ser pertinente ou provável para ajudar em predição de palavra ou para outros propósitos pelo usuário de terminal móvel 110. Terminal móvel 110 pode então armazenar esta informação de terminal móvel 120 em terminal móvel 110 e usar esta informação para propósitos relacionados à predição de palavra futura. Desta maneira, se os usuários de terminais móveis IlOe 120 tiverem histórias de navegação semelhantes, o terminal móvel 110 pode armazenar informação de terminal móvel 120 em seu próprio armazenamento.
De uma maneira semelhante, o terminal móvel 120 (por exemplo, lógica de processamento 320) pode analisar imagens armazenadas em terminal móvel 120 e comparar estas imagens a imagens armazenadas em terminal móvel 110. Se as imagens estiverem suficientemente relacionadas, o terminal móvel 110 pode armazenar estas imagens e outra informação de terminal móvel 120 em terminal móvel 110. Terminal móvel 110 pode então usar esta informação para ajudar em predição de palavra.
Em ainda outras implementações, o terminal móvel 110 pode determinar se os usuários de terminais móveis IlOe 120 visitaram os mesmos locais físicos, tais como várias cidades, estados, países, para determinar se os usuários de terminais móveis 110 e 120 compartilham prováveis interesses comuns. Por exemplo, terminais móveis 110 e 120 podem cada um incluir um receptor de GPS ou algum outro dispositivo que habilita cada um de terminais móveis IlOe 120 determinar seus locais respectivos e armazenar uma história de informação de local. Terminal móvel 110 pode então comparar a história de locais físicos associados com terminal móvel 120 a sua própria história de locais físicos (por exemplo, nomes de cidade, nomes de estado, nomes de países, etc.). Por exemplo, se o usuário de terminal móvel 120 usou terminal móvel 120 em Washington, D.C. e Lund, Suécia (ou esteve nestes lugares com terminal móvel 120) e terminal móvel 110 também tiver estes locais armazenados, o terminal móvel 110 pode determinar que vários conteúdos em terminal móvel 120 (que podem incluir banco de dados de predição de palavra 43OB e outra informação (por exemplo, vários arquivos, dados em 'cache', etc.) pode ser útil para terminal móvel 110 ao executar a predição de palavra ou para outros propósitos. Outra informação de local armazenada por terminais móveis 110 e 120 pode incluir nomes de restaurantes particulares, parques públicos, estádios, etc., e a freqüência à qual estes lugares foram visitados. Esta informação também pode ser usada para determinar se informação em terminal móvel 120 pode ser útil para o usuário de terminal móvel 110. Desta maneira, se os usuários de terminais móveis 110 e 120 visitaram os mesmos locais, o terminal móvel 110 pode armazenar informação de terminal móvel 120 em seu próprio armazenamento. CONCLUSÃO
Implementações consistentes com os aspectos descritos aqui habilitam os usuários compartilharem toda ou uma porção de bancos de dados usada para executar predição de palavra. Tal processamento aumenta uma experiência de transmissão de mensagem tornando mais provável que o banco de dados de predição de palavra incluirá palavras, expressões e/ou termos pertinentes.
A descrição precedente das concretizações da invenção provê ilustração e descrição, mas não é pretendida ser exaustiva ou limitar a invenção à forma precisa exposta. Modificações e variações são possíveis à luz dos ensinos anteriores ou podem ser adquiridas de prática da invenção.
Por exemplo, a descrição acima se focalizou em fundir bancos de dados incluindo palavras. Deveria ser entendido que os bancos de dados de predição de palavra também podem incluir frases, expressões, localizadores de recurso uniforme (URLs) que são difíceis de introduzir por um teclado alfa-numérico, ou outros tipos de informação que pode ser entrada por um usuário. Além disso, os bancos de dados de predição de palavra também podem ser usados por lógica de predição de palavra 420 para executar predição de próxima palavra baseada em frases ou expressões armazenadas nos bancos de dados de predição de palavra. Por exemplo, se a frase "jogar futebol" foi armazenada no banco de dados de predição de palavra e o usuário entrou com a palavra "jogo", a lógica de predição de palavra 420 pode prover uma próxima palavra de candidato "futebol" depois da palavra jogo.
Além disso, a descrição acima se focalizou em formar, por exemplo, conexões sem fio ou através do ar entre terminais móveis. Em outras implementações, os terminais móveis podem trocar bancos de dados de predição de palavra armazenados, por exemplo, em um disco de computador, cartão de memória ou algum outro meio legível por computador.
Ainda ademais, em algumas implementações, um servidor acessível a um grande número de terminais móveis pode ser provido e o servidor pode incluir uso de palavra associada com vários terminais móveis. O servidor pode ser provido com esta informação de uso de palavra cada vez que um aplicativo de entrada de texto executado por um dos terminais móveis (por exemplo, terminais móveis 110-130) envia uma mensagem ou em uma base intermitente por vários terminais móveis. Um terminal móvel particular (por exemplo, terminal móvel 110) pode então acessar o servidor em uma base de tempo real, a intervalos regulares ou a intervalos irregulares e receber e/ou comparar este depósito de palavras usado por usuários associados com um grande número de terminais móveis com seu banco de dados de predição de palavra e podem fundir uma porção do banco de dados do servidor com seu próprio banco de dados de predição de palavra. O banco de dados de servidor também pode levar em conta fatores geográficos, tais como certas palavras são mais comuns em certos locais (por exemplo, cidades, estados, países, etc.). Neste caso, o servidor pode armazenar informação de identificação geográfica associada com os termos armazenados. Um terminal móvel acessando o servidor pode então recobrar só palavras, frases e/ou termos que são pertinentes à região geográfica associada com onde o terminal móvel está localizado e/ou foi usado.
Além disso, como descrito acima, hora de uso pode ser usada para determinar se recobrar uma porção de outro banco de dados de predição de palavra, tal como banco de dados de predição de palavra 43 OB. Em algumas implementações, informação de hora também pode ser usada por lógica de predição de palavra 420 ao identificar palavras de candidato correspondendo à entrada de dados. Por exemplo, a lógica de predição de palavra 420 pode classificar um palavra/frase de candidato correspondendo à entrada de dados por teclado 250 como uma palavra/frase mais provável que um usuário pretende introduzir quando essa palavra/frase foi entrada previamente pelo usuário de terminal móvel 110 ao entrar com texto durante essa hora particular que uma palavra/frase que não foi entrada pelo usuário durante essa hora. Como um exemplo, uma palavra de candidato que foi entrada freqüentemente por um usuário pela manhã, tal como a palavra "trabalho" ou "café da manhã" pode ser classificada mais alta em uma lista de candidato (por exemplo, mostrada de uma maneira mais proeminente, tal como mostrada mais alta em uma lista de várias palavras providas por visor 230, mostrada em uma fonte em negrito ou maior, etc.) quando em entrada que casa potencialmente com esta palavra de candidato é entrada por teclado 250 às 9:00 que outra palavra (ou frase) que não é usada tipicamente pela manhã pelo usuário de terminal móvel 110. Em ainda outras implementações, informação de local pode ser
usada para determinar se compartilhar bancos de dados. Por exemplo, se os usuários de terminais móveis 110 e 120 entraram com palavras semelhantes enquanto o usuário estava em locais físicos particulares, isto pode indicar que usuários de terminais móveis 110 compartilham vários interesses. Neste caso, o terminal móvel 110 pode fundir ou armazenar o banco de dados de predição de palavra 43 OB com banco de dados de predição de palavra 430 e/ou armazenar uma porção de banco de dados de predição de palavra 43 OB em terminal móvel 110. Outros fatores que podem ajudar a determinar se fundir bancos de dados pode ser se a palavra compartilhada (isto é, palavras escritas no mesmo local por usuários de terminais móveis 110 e 120) foi usada raramente por outros.
Ademais, enquanto série de atos foi descrita com respeito às Figuras 5-7, a ordem dos atos pode ser variada em outras implementações consistentes com a invenção. Além disso, atos não dependentes podem ser executados em paralelo.
Também será aparente a alguém de habilidade ordinária na técnica que aspectos da invenção, como descritos acima, podem ser implementados, por exemplo, em dispositivos de computador, dispositivos/sistemas de comunicação celulares, métodos, e/ou produtos de programa de computação. Por conseguinte, a presente invenção pode ser concretizada em hardware e/ou em software (incluindo firmware, software residente, micro-código, etc.). Além disso, aspectos da invenção podem levar a forma de um produto de programa de computação em um meio de armazenamento utilizável por computador ou legível por computador tendo código de programa utilizável por computador ou legível por computador concretizado no meio para uso ou com relação a um sistema de execução de instrução. O código de software atual ou hardware de controle especializado usado para implementar aspectos consistentes com os princípios da invenção não é limitante da invenção. Assim, a operação e comportamento dos aspectos foram descritos sem referência ao código de software específico - sendo compreendido que alguém de habilidade ordinária na técnica seria capaz de projetar software e hardware de controle para implementar os aspectos baseado na descrição aqui. Ademais, certas porções da invenção podem ser
implementadas como "lógica" que executa uma ou mais funções. Esta lógica pode incluir hardware, tal como um processador, um microprocessador, um circuito integrado específico de aplicação ou um arranjo de portas programáveis em campo, software, ou uma combinação de hardware e software.
Deveria ser enfatizado que o termo "inclui/incluindo" quando usado nesta especificação é tomado para especificar a presença de características declaradas, inteiros, etapas, ou componentes, mas não impede a presença ou adição de um ou mais outras características, inteiros, etapas, componentes, ou grupos disso.
Nenhum elemento, ato, ou instrução usada na descrição do presente pedido deveriam ser interpretada como crítica ou essencial para a invenção, a menos que descrito explicitamente como tal. Também, como usado aqui, o artigo "um" é pretendido incluir um ou mais itens. Onde só um item é planejado, o termo "um" ou linguagem semelhante é usada. Ademais, a frase "baseado em", como usada aqui é pretendida significar "baseado, pelo menos em parte, em", a menos que explicitamente declarado caso contrário.
O escopo da invenção está definido pelas reivindicações e seus
equivalentes.

Claims (10)

1. Primeiro dispositivo de comunicação (110), caracterizado pelo fato de compreender: um dispositivo de entrada (340) para receber entrada de um usuário; uma memória (330) para armazenar um primeiro banco de dados associado com predição de palavra; e lógica (420) configurada para: formar uma conexão com um segundo dispositivo de comunicação (120, 130), o segundo dispositivo de comunicação incluindo um segundo banco de dados associado com predição de palavra; obter pelo menos uma porção do segundo banco de dados; analisar pelo menos uma porção do segundo banco de dados, identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados, determinar se armazena pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação baseado na identificação, armazenar pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação; e executar predição de palavra na entrada recebida usando pelo menos a porção do segundo banco de dados.
2. Primeiro dispositivo de comunicação (110) de acordo com a reivindicação 1, caracterizado pelo fato de que ao armazenar a pelo menos porção do segundo banco de dados, a lógica (420) adicionalmente: funde a porção do segundo banco de dados com o primeiro banco de dados; e armazena os bancos de dados fundidos na memória.
3. Primeiro dispositivo de comunicação (110) de acordo com a reivindicação 1, caracterizado pelo fato de que ao o identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados, a lógica (420) adicionalmente: identifica semelhanças baseada na inclusão de pelo menos uma palavra usada raramente em ambos o primeiro e segundo bancos de dados.
4. Primeiro dispositivo de comunicação (110) de acordo com a reivindicação 1, caracterizado pelo fato de que a lógica (420) adicionalmente: identifica se uma lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo dispositivos de comunicação inclui pelo menos um mesmo contato; e armazena pelo menos a porção do segundo banco de dados no primeiro dispositivo de comunicação quando a lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo dispositivos de comunicação inclui pelo menos um mesmo contato.
5. Primeiro dispositivo de comunicação (110) de acordo com a reivindicação 1, caracterizado pelo fato de que ao executar predição de palavra, a lógica (420) é configurada para: executa predição de palavra baseada em uma hora ou um período de tempo.
6. Primeiro dispositivo de comunicação (110) de acordo com a reivindicação 5, caracterizado pelo fato de que ao executar predição de palavra baseada na hora ou no período de tempo, a lógica (420) adicionalmente: pondera uma palavra entrada mais freqüentemente durante uma primeira hora como uma candidata de palavra mais provável correspondendo à entrada recebida quando a entrada foi recebida durante a primeira hora.
7. Método para armazenar um primeiro banco de dados associado com predição de palavra em um primeiro terminal móvel (110), caracterizado pelo fato de compreender: formar uma conexão com um segundo terminal móvel (120, 130) por uma rede sem fio (140), o segundo terminal móvel (120, 130) incluindo um segundo banco de dados associado com predição de palavra; obter pelo menos uma porção do segundo banco de dados; analisar pelo menos uma porção do segundo banco de dados; identificar pelo menos uma de semelhanças ou diferenças entre o primeiro banco de dados e pelo menos uma porção do segundo bancos de dados; determinar se armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel (110) baseado na identificação; armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel (110); receber entrada de um usuário por um teclado alfa-numérico (250); e executar predição de palavra na entrada recebida usando a porção do segundo banco de dados e o primeiro banco de dados.
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que armazenar pelo menos uma porção do segundo banco de dados compreende: fundir o segundo banco de dados com o primeiro banco de dados.
9. Método de acordo com a reivindicação 7, caracterizado pelo fato de que identificar pelo menos uma de semelhanças ou diferenças entre o primeiro e segundo bancos de dados compreende: identificar semelhanças baseadas na inclusão de pelo menos uma palavra usada raramente em ambos o primeiro e segundo bancos de dados.
10. Método de acordo com a reivindicação 7, caracterizado pelo fato de compreender ainda: identificar se uma lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro (110) e segundo (120, 130) terminais móveis inclui pelo menos um mesmo contato; e armazenar pelo menos a porção do segundo banco de dados no primeiro terminal móvel quando a lista de contatos ou agenda de endereços armazenada em cada um dos respectivos primeiro e segundo terminais móveis inclui pelo menos um mesmo contato.
BRPI0719303-3A 2006-11-27 2007-05-29 primeiro dispositivo de comunicaÇço, mÉtodo para armazenar um primeiro banco de dados associados com prediÇço de palavras em um primeiro terminal màvel, e, meio legÍvel por computador BRPI0719303A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86730506P 2006-11-27 2006-11-27
US60/867305 2006-11-27
US11/627,509 US7774334B2 (en) 2006-11-27 2007-01-26 Adaptive databases
US11/627509 2007-01-26
PCT/IB2007/052018 WO2008065547A1 (en) 2006-11-27 2007-05-29 Adaptive databases

Publications (1)

Publication Number Publication Date
BRPI0719303A2 true BRPI0719303A2 (pt) 2013-02-26

Family

ID=38578595

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0719303-3A BRPI0719303A2 (pt) 2006-11-27 2007-05-29 primeiro dispositivo de comunicaÇço, mÉtodo para armazenar um primeiro banco de dados associados com prediÇço de palavras em um primeiro terminal màvel, e, meio legÍvel por computador

Country Status (6)

Country Link
US (1) US7774334B2 (pt)
EP (1) EP2087446B1 (pt)
JP (1) JP5116772B2 (pt)
CN (1) CN101595478B (pt)
BR (1) BRPI0719303A2 (pt)
WO (1) WO2008065547A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813917B2 (en) * 2004-06-22 2010-10-12 Gary Stephen Shuster Candidate matching using algorithmic analysis of candidate-authored narrative information
IL184178A0 (en) * 2007-06-24 2008-03-20 Rdc Rafael Dev Corp Ltd A method and apparatus for connecting a cellular telephone user to the internet
TW200924774A (en) * 2007-10-26 2009-06-16 Astrazeneca Ab Fused pyrrolidine 1,2,4-triazole derivatives as modulators of mGluR5
US8170987B2 (en) * 2007-10-31 2012-05-01 At&T Intellectual Property I, L.P. Methods, systems and computer program products for automatically identifying and backing up user device content
US20100015926A1 (en) * 2008-07-18 2010-01-21 Luff Robert A System and methods to monitor and analyze events on wireless devices to predict wireless network resource usage
US8572110B2 (en) * 2008-12-04 2013-10-29 Microsoft Corporation Textual search for numerical properties
US8677236B2 (en) 2008-12-19 2014-03-18 Microsoft Corporation Contact-specific and location-aware lexicon prediction
EP2280332A1 (en) * 2009-07-30 2011-02-02 Research In Motion Limited A system and method for context based predictive text entry assistance
US20110029862A1 (en) * 2009-07-30 2011-02-03 Research In Motion Limited System and method for context based predictive text entry assistance
JP5564919B2 (ja) * 2009-12-07 2014-08-06 ソニー株式会社 情報処理装置、予測変換方法およびプログラム
US20120290291A1 (en) * 2011-05-13 2012-11-15 Gabriel Lee Gilbert Shelley Input processing for character matching and predicted word matching
US8756052B2 (en) 2012-04-30 2014-06-17 Blackberry Limited Methods and systems for a locally and temporally adaptive text prediction
JP2014137639A (ja) * 2013-01-15 2014-07-28 Nec Casio Mobile Communications Ltd 携帯端末、及びプログラム
JP6028658B2 (ja) * 2013-03-28 2016-11-16 富士通株式会社 端末装置、変換文字候補同期方法及び変換文字候補同期プログラム
US20140354448A1 (en) * 2013-05-30 2014-12-04 Cartasite, Inc. Automatic remote instrumentation communication
US9626432B2 (en) * 2013-09-09 2017-04-18 International Business Machines Corporation Defect record classification
US20150113072A1 (en) * 2013-10-17 2015-04-23 International Business Machines Corporation Messaging auto-correction using recipient feedback
EP2911075A1 (de) * 2014-02-25 2015-08-26 LTS LOHMANN Therapie-Systeme AG System zur Bestimmung einer Eignung eines Wirkstoffs für die transdermale oder transmukosale Applikation sowie entsprechendes Verfahren
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
US20150347357A1 (en) * 2014-05-30 2015-12-03 Rovi Guides, Inc. Systems and methods for automatic text recognition and linking
CN108733787A (zh) * 2018-05-11 2018-11-02 中国平安人寿保险股份有限公司 数据库操作方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282203A (ja) * 1994-04-07 1995-10-27 Hitachi Ltd 文字入力装置
JPH10254857A (ja) * 1997-03-10 1998-09-25 Hitachi Ltd 用語辞書管理装置
US20030125063A1 (en) * 2001-12-31 2003-07-03 Bo Svensson Peer-to-peer communications within a mobile network
JP2003303186A (ja) * 2002-04-09 2003-10-24 Seiko Epson Corp 文字入力支援システム、文字入力支援方法、端末装置、サーバおよび文字入力支援プログラム
JP4226862B2 (ja) * 2002-08-29 2009-02-18 株式会社リコー 文書検索装置
JP2005032111A (ja) * 2003-07-09 2005-02-03 Sharp Corp 文字列処理装置、文字列処理方法、プログラム及び記録媒体
CN1293480C (zh) * 2003-08-11 2007-01-03 摩托罗拉公司 用于文本输入预测的存储器和用户词典
US20050188330A1 (en) * 2004-02-20 2005-08-25 Griffin Jason T. Predictive text input system for a mobile communication device
JP2006107143A (ja) * 2004-10-05 2006-04-20 Infocom Corp 学習型辞書管理システム
JP2006313435A (ja) * 2005-05-06 2006-11-16 Canon Inc 情報処理装置、情報処理システム、制御方法、及びプログラム
US20070027931A1 (en) * 2005-07-29 2007-02-01 Indra Heckenbach System and method for organizing repositories of information and publishing in a personalized manner

Also Published As

Publication number Publication date
US20080126436A1 (en) 2008-05-29
JP2010511216A (ja) 2010-04-08
WO2008065547A1 (en) 2008-06-05
US7774334B2 (en) 2010-08-10
JP5116772B2 (ja) 2013-01-09
CN101595478B (zh) 2013-10-30
CN101595478A (zh) 2009-12-02
EP2087446B1 (en) 2019-05-08
EP2087446A1 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
BRPI0719303A2 (pt) primeiro dispositivo de comunicaÇço, mÉtodo para armazenar um primeiro banco de dados associados com prediÇço de palavras em um primeiro terminal màvel, e, meio legÍvel por computador
CN107851092B (zh) 个人实体建模
US7698326B2 (en) Word prediction
US20120296865A1 (en) Terminal device and word stock update method thereof
US8832138B2 (en) System and method for social network search operations
KR101126032B1 (ko) 모바일 위치를 사용한 검색 리파인
US20100114887A1 (en) Textual Disambiguation Using Social Connections
WO2008065549A1 (en) Input prediction
US20090083237A1 (en) Method, Apparatus and Computer Program Product for Providing a Visual Search Interface
US20100299340A1 (en) Distributed contact information discovery and sharing
CN110019645B (zh) 索引库构建方法、搜索方法及装置
CN105843951B (zh) 数据查询方法和装置
US20100114930A1 (en) Situation-aware, interest based search query generation
CN112784142A (zh) 一种信息推荐方法及装置
CN109783244B (zh) 处理方法和装置、用于处理的装置
CN109521888B (zh) 一种输入方法、装置和介质
CN108427508B (zh) 输入方法和装置、建立局域网词库的方法和装置
CN110147426B (zh) 一种查询文本的分类标签确定方法及相关装置
CN110069669B (zh) 一种关键词标记方法和装置
KR20100050817A (ko) 네트워크 주소록 기반의 관심사 공유자 검색 서비스 제공 방법
CN113010768B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114139005A (zh) 一种图片关键词确定方法及装置
CN114330326A (zh) 个性化词库的处理方法和装置
TWI425370B (zh) 用於多模式通訊裝置之動態資料庫關聯方法
JP2007052806A (ja) 履歴検索プログラム、履歴検索方法および履歴検索装置

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 7A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2257 DE 08/04/2014.