BR112015004117B1 - Dispositivo eletrônico e método para autocorreção sensível ao contexto - Google Patents
Dispositivo eletrônico e método para autocorreção sensível ao contexto Download PDFInfo
- Publication number
- BR112015004117B1 BR112015004117B1 BR112015004117-5A BR112015004117A BR112015004117B1 BR 112015004117 B1 BR112015004117 B1 BR 112015004117B1 BR 112015004117 A BR112015004117 A BR 112015004117A BR 112015004117 B1 BR112015004117 B1 BR 112015004117B1
- Authority
- BR
- Brazil
- Prior art keywords
- autocorrect
- text
- dictionary
- electronic device
- user
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012937 correction Methods 0.000 title abstract description 16
- 230000008859 change Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 abstract description 14
- 230000015654 memory Effects 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 244000107946 Spondias cytherea Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/263—Language identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
- H04M1/72436—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for text messaging, e.g. short messaging services [SMS] or e-mails
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/70—Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
dispositivo eletrônico, método e meio de armazenamento legível por computador para autocorreção sensível ao contexto. a presente invenção refere-se a um método, dispositivo móvel e produto de programa de computador para autocorrigir adaptavelmente um texto de acordo com o contexto. o texto pode ser recebido em um dispositivo eletrônico móvel que foi inserido por um usuário. o texto recebido pode ser exibido em um componente de display do dispositivo eletrônico móvel. um dicionário de autocorreção é selecionado de uma pluralidade de dicionários de autocorreção. o dicionário de autocorreção pode ser selecionado com base pelo menos em informações de utilização que são representativas de um contexto de utilização do dispositivo eletrônico móvel. o texto exibido é autocorrigido de acordo com o dicionário de autocorreção selecionado.
Description
[001] A autocorreção é uma função que é implementada em algumas ferramentas de manipulação de texto para automaticamente corrigir os erros de ortografia e/ou digitação no texto. A autocorreção pode também ser utilizada para automaticamente formatar o texto ou inserir caracteres especiais reconhecendo uma utilização de caractere específica, poupando o usuário de precisar executar manualmente a formatação / inserção de caractere. As ferramentas em dispositivos móveis que são utilizadas para enviar mensagens de texto (por exemplo, mensagens de Serviço de Mensagem Curta (SMS), etc.) podem implementar a autocorreção, assim como outros tipos de ferramentas de mensagens. A autocorreção pode também ser referida como "autocorrigir," "substituir enquanto digita," e "substituição de texto," entre outros nomes.
[002] As ferramentas de autocorreção correntes estão configuradas para autocorrigir o texto para um idioma específico. No entanto, dispositivos são utilizados que podem receber texto em mais de um idioma. Em tal circunstância, uma ferramenta de autocorreção pode não funcionar apropriadamente. Por exemplo, um usuário que fala Espanhol pode digitar a palavra "yo," a qual em Espanhol significa "Eu". No entanto, se a ferramenta de autocorreção estiver configurada para o idioma Inglês, a ferramenta de autocorreção pode indesejavelmente autocorrigir a palavra "yo" para a palavra "you" ou para outra palavra Inglesa. Tais autocorreções de texto indesejadas podem ser inconvenientes para um usuário. Se o usuário nota que uma palavra foi autocorrigida que não deveria ter sido, o usuário pode converter manualmente o texto de volta para a sua forma original, não corrigida. No entanto, se o usuário não notar a autocorreção indesejada, o significado do texto que o usuário estava provendo pode indesejavelmente ser mudado, ou o texto pode até tornar-se ininteligível.
[003] Este Sumário está provido para introduzir uma seleção de conceitos em uma forma simplificada que são adicionalmente abaixo descritos na Descrição Detalhada. Este Sumário não pretende identificar as características chave ou características essenciais do assunto reivindicado, nem é pretendido para o usuário limitar o escopo do assunto reivindicado.
[004] Métodos, sistemas e produtos de programa de computador estão providos para adaptavelmente autocorrigir o texto de acordo com o contexto. De acordo com uma implementação de método, o texto pode ser recebido em um dispositivo eletrônico móvel que foi inserido por um usuário. O texto recebido pode ser exibido por um componente de display do dispositivo eletrônico móvel. Um dicionário de autocorreção é selecionado de uma pluralidade de dicionários de autocorreção. O dicionário de autocorreção pode ser selecionado com base em pelos menos nas informações de utilização representativas do um contexto de utilização do dispositivo eletrônico móvel. O texto exibido é autocorrigido de acordo com o dicionário de autocorreção selecionado.
[005] Quando um texto subsequente é recebido no dispositivo eletrônico móvel, o texto subsequente pode ser autocorrigido com base no mesmo dicionário de autocorreção selecionado, ou com base em um diferente dicionário de autocorreção que pode ser selecionado, dependendo do contexto de utilização no momento em que o texto subsequente é recebido. Por exemplo, com relação ao texto subsequente, o usuário que insere o texto pode ter mudado, uma localização do dispositivo eletrônico móvel pode ter mudado, assim como o tempo no qual o texto subsequente é recebido sendo diferente. O mesmo ou um diferente dicionário de autocorreção pode ser selecionado para executar a autocorreção do texto subsequente com base em qualquer uma ou mais destas mudanças em contexto, assim como quaisquer outras mudanças em contexto.
[006] De acordo com uma implementação de sistema ou aparelho, um dispositivo eletrônico móvel inclui um componente de display, um módulo de entrada de texto, e um módulo de autocorreção. O componente de display é capaz de pelo menos exibir caracteres textuais. O módulo de entrada de texto recebe um texto provido por um usuário para o dispositivo eletrônico móvel, e provê o texto recebido para o componente de display para exibir em uma interface de usuário. O módulo de autocorreção automaticamente corrige o texto exibido de acordo com um dicionário de autocorreção selecionado. O módulo de autocorreção automaticamente seleciona o dicionário de autocorreção selecionado de uma pluralidade de dicionários de autocorreção com base pelo menos em informações de utilização representativas de um contexto de utilização do dispositivo eletrônico móvel.
[007] Produtos de programa de computador que contêm meios de armazenamento legíveis por computador são também aqui descritos, que armazenam códigos / instruções de computador para permitir que a funcionalidade de autocorreção seja adaptável de acordo com o contexto de utilização, assim como permitir as modalidades adicionais aqui descritas.
[008] Características e vantagens adicionais da invenção, assim como a estrutura e a operação de várias modalidades da invenção, estão abaixo descritas em detalhes com referência aos desenhos acompanhantes. É notado que a invenção não está limitada às modalidades específicas aqui descritas. Tais modalidades são aqui apresentadas para propósitos ilustrativos somente. Modalidades adicionais serão aparentes para as pessoas versadas nas técnicas relevantes com base nos ensinamentos aqui contidos.
[009] Os desenhos acompanhantes, os quais estão aqui incorporados e formam uma parte da especificação, ilustram a presente invenção e, juntamente com a descrição, servem adicionalmente para explicar os princípios da invenção e permitir que uma pessoa versada na técnica pertinente faça e utilize a invenção.
[0010] Figura 1 mostra um diagrama de blocos de um dispositivo eletrônico móvel que está configurado com uma funcionalidade de autocorreção adaptável, de acordo com uma modalidade exemplar.
[0011] Figura 2 mostra um fluxograma que provê um processo para adaptavelmente autocorrigir um texto com base em contexto de utilização, de acordo com uma modalidade exemplar.
[0012] Figura 3 mostra um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em uma identidade de um usuário, de acordo com uma modalidade exemplar.
[0013] Figura 4 mostra um diagrama de blocos de um módulo de autocorreção que autocorrige um texto com base em informações de perfil de usuário, de acordo com uma modalidade exemplar.
[0014] Figura 5 mostra um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em uma localização de um dispositivo móvel, de acordo com uma modalidade exemplar.
[0015] Figura 6 mostra um diagrama de blocos de um sistema que autocorrige um texto com base em localização, de acordo com uma modalidade exemplar.
[0016] Figura 7 mostra um fluxograma que provê um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em uma localização, de acordo com uma modalidade exemplar.
[0017] Figura 8 mostra um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em informações de tempo, de acordo com uma modalidade exemplar.
[0018] Figura 9 mostra um diagrama de blocos de um sistema que autocorrige um texto com base em informações de tempo, de acordo com uma modalidade exemplar.
[0019] Figura 10 mostra um fluxograma que provê um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em tempo, de acordo com uma modalidade exemplar.
[0020] Figura 11 mostra um diagrama de blocos de um computador exemplar que pode ser utilizado para implementar as modalidades da presente invenção.
[0021] As características e vantagens da presente invenção ficarão mais aparentes da descrição detalhada abaixo apresentada quando tomada em conjunto com os desenhos, nos quais os caracteres de referência iguais identificam elementos correspondentes em toda parte. Nos desenhos, os números de referência iguais geralmente indicam elementos idênticos, funcionalmente similares, e/ou estruturalmente similares. O desenho no qual um elemento primeiro aparece é indicado pelo(s) dígito(s) mais à esquerda no número de referência correspondente.
[0022] A presente especificação descreve uma ou mais modalidades que incorporam as características invenção. A(s) modalidade(s) descrita(s) meramente exemplifica(m) a invenção. O escopo da invenção não está limitado à(s) modalidade(s) descrita(s). A invenção é definida pelas concretizações.
[0023] Referências na especificação a "uma modalidade," "a modalidade," "uma modalidade exemplar," etc., indicam que a modalidade descrita pode incluir um aspecto, estrutura, ou característica específica, mas cada modalidade pode não necessariamente incluir o aspecto, estrutura, ou característica específica. Mais ainda, tais frases não estão necessariamente referindo à mesma modalidade. Ainda, quando um aspecto, estrutura, ou característica específica é descrito em conexão com uma modalidade, é submetido que estão dentro do conhecimento de alguém versado na técnica efetuar tal aspecto, estrutura, ou característica em conexão com outras modalidades sendo ou não explicitamente descritas.
[0024] Numerosas modalidades exemplares da presente invenção estão descritas como segue. É notado que quaisquer cabeçalhos de seção / subseção aqui providos não pretendem ser limitantes. As modalidades estão descritas através de todo este documento, e qualquer tipo de modalidade pode ser incluído sob qualquer seção / subseção. Mais ainda, as modalidades descritas em qualquer seção / subseção podem ser combinadas com quaisquer outras modalidades descritas na mesma seção / subseção e/ou uma diferente seção / subseção em qualquer modo.
[0025] A autocorreção é uma função que é implementada em algumas ferramentas de manipulação de texto para automaticamente corrigir erros de ortografia e/ou digitação no texto, e automaticamente formatar o texto ou inserir caracteres especiais reconhecendo uma utilização de caractere específica (por exemplo, mudando abreviações para palavras / frases inteiras, etc.). Uma variedade de ferramentas relativas à manipulação de texto pode estar configurada para implementar a autocorreção, incluindo as ferramentas de processamento de palavra tal como Microsoft® Word desenvolvida pela Microsoft Corporation e WordPerfect® desenvolvida pela Corel Corporation de Ottawa, Ontario, ferramentas de mensagens (por exemplo, ferramentas de e-mail, ferramentas de mensagem de texto, ferramentas de mensagem instantânea, etc.), e tipos de ferramentas adicionais que recebem e manipulam texto. Exemplos de ferramentas de e-mail que são utilizadas para enviar e-mails incluem Microsoft® Outlook® provido pela Microsoft Corporation de Redmond, Washington, e Gmail™ provido pela Google Inc. de Mountain View, Califórnia. Exemplos de ferramentas de mensagem de texto incluem aquelas que são utilizadas para enviar mensagens de texto de acordo com Short Message Service (SMS), etc. Estes exemplos estão providos para propósitos ilustrativos e não pretendem ser limitantes.
[0026] As ferramentas que executam autocorreção tipicamente não estão configuradas para manipular a autocorreção para múltiplos idiomas, mas ao invés estão configuradas para manipular um único idioma de cada vez. Por exemplo, uma ferramenta pode ser pré- configurada para um idioma específico, ou um usuário da ferramenta pode manualmente ajustar o idioma específico para o qual a ferramenta está configurada. Sendo limitada a manipular um único idioma, uma ferramenta de autocorreção pode não funcionar apropriadamente quando apresentada a um texto e mais de um idioma. Por exemplo, quando utilizando uma ferramenta de mensagem de texto configurada com autocorreção, um usuário que fala Espanhol pode digitar palavra "yo," o que significa "Eu" em Espanhol. No entanto, se a ferramenta de autocorreção estiver configurada para o idioma Inglês a ferramenta de autocorreção pode confundir a palavra "yo" como um erro tipográfico, e autocorrigi-la para a palavra "you" ou outra palavra no idioma Inglês. Tal autocorreção indesejada pode ser inconveniente para o usuário, o qual precisará converter manualmente o texto de volta para a sua forma original, não corrigida, se o usuário notar a autocorreção. Se o usuário não notar a autocorreção indesejada, a mensagem pode ser transmitida pelo usuário para outro usuário com a autocorreção indesejada incluída nesta, fazendo com que o significado da mensagem seja mudado e/ou torne-se irreconhecível.
[0027] As modalidades superam estas deficiências, permitindo que as ferramentas de autocorreção manipulem múltiplos idiomas, e automaticamente troquem a funcionalidade de autocorreção entre os idiomas com base no contexto. Por exemplo, em uma modalidade, uma ferramenta de autocorreção pode estar associada com múltiplos dicionários de autocorreção que correspondem a múltiplos idiomas. Por exemplo, um primeiro dicionário de autocorreção pode corresponder ao Inglês, e incluir correções para texto de idioma Inglês. Um segundo dicionário de autocorreção pode corresponder ao Italiano, e incluir correções para texto de idioma Italiano. Dicionários de autocorreção adicionais podem estar presentes correspondendo a idiomas adicionais. Mais ainda, múltiplos dicionários de autocorreção podem estar presentes para o mesmo idioma, incluindo dicionários de autocorreção para diferentes dialetos de um mesmo idioma (por exemplo, um primeiro dicionário de autocorreção pode corresponder a um primeiro dialeto de Inglês, outro dicionário de autocorreção pode corresponder a um segundo dialeto de Inglês, etc.), dicionários de autocorreção para diferentes subconjuntos do mesmo idioma (por exemplo, diferentes quantidades de gíria, etc.), etc.
[0028] Em uma modalidade, um usuário pode utilizar um dispositivo móvel que inclui uma ferramenta de autocorreção (por exemplo, uma aplicação de autocorreção ou programa de computador que é executado por um ou mais processadores). Com base em um contexto de utilização do dispositivo móvel, a ferramenta de autocorreção pode automaticamente mudar entre os dicionários de autocorreção para um mesmo idioma (por exemplo, ligando ou desligando termos de autocorreção específicos, de modo que palavras / frases adicionais sejam autocorrigidas no idioma que não foi previamente autocorrigido, ou então uma ou mais palavras / frases não são mais autocorrigidas que foram previamente autocorrigidas). Alternativamente, com base no contexto de utilização do dispositivo móvel, a ferramenta de autocorreção pode automaticamente mudar entre os dicionários de autocorreção entre idiomas completamente diferentes.
[0029] Em modalidades, várias características de contexto de utilização podem ser rastreadas, e utilizadas para causar a mudança automática de dicionários de autocorreção. Tais características de contexto de utilização podem incluir uma ou mais de:
[0030] (a) Uma localização do dispositivo: Por exemplo, a funcionalidade de autocorreção pode ser mudada com base no país específico no qual o dispositivo móvel está localizado, pode ser mudada com base em um limite geográfico (por exemplo, como pode ser indicado como uma forma de limite sobre um mapa), pode ser mudada com base em uma distância específica de uma localização central (por exemplo, 152,4 m (500 pés) do centro de Bellevue, etc.), ou pode ser mudada com base em outra definição de localização.
[0031] (b) Uma hora do dia: A funcionalidade de autocorreção pode ser mudada com base em informações de tempo, tal como uma hora do dia, um dia da semana, um mês específico, um ano, etc. Por exemplo, a funcionalidade de autocorreção na manhã (por exemplo, quando alguém comunica em texto com parentes) pode ser mudada em relação à funcionalidade de autocorreção durante uma porção média do dia (por exemplo, durante as horas de trabalho), etc. Em outro exemplo, a funcionalidade de autocorreção pode ser mudada com base em um dia específico do mês, e um dia ou mês específico do ano (por exemplo, quando alguém está no estrangeiro visitando a família, comparado com visitando uma conferência no estrangeiro), etc.
[0032] (c) Um usuário: A funcionalidade de autocorreção pode ser mudada com base no usuário específico o qual está utilizando um dispositivo móvel (por exemplo, o usuário que está registrado em um computador notebook, etc.). Por exemplo, um usuário que utiliza um dispositivo móvel pode ser capaz de falar um ou mais idiomas, e a funcionalidade de autocorreção do dispositivo móvel pode estar configurada para mudar para um dos idiomas que o usuário compreende.
[0033] Em modalidades, tal funcionalidade de autocorreção adaptável pode ser implementada em um dispositivo móvel em vários modos. Por exemplo, Figura 1 mostra um diagrama de blocos de um dispositivo eletrônico móvel 102 que está configurado com uma funcionalidade de autocorreção adaptável, de acordo com uma modalidade exemplar. Como mostrado na Figura 1, o dispositivo eletrônico móvel 102 inclui componente de display 104, um módulo de entrada de texto 106, um módulo de autocorreção 108, e um armazenamento 110. O dispositivo eletrônico móvel 102 e suas características são descritos como segue.
[0034] O dispositivo eletrônico móvel 102 pode ser qualquer tipo de computador ou dispositivo de computação móvel tal como um dispositivo portátil (por exemplo, um dispositivo Palm®, um dispositivo RIM Blackberry®, um assistente digital pessoal (PDA)), um computador laptop, um computador notebook, um computador tablet (por exemplo, um Apple iPad™, um Microsoft Surface™, etc.), um netbook, um telefone móvel (por exemplo, um smartphone tal como um Apple iPhone, um telefone Google Android™, um telefone Microsoft Windows®, etc.), ou outro tipo de dispositivo móvel.
[0035] O componente de display 104 é um display do dispositivo eletrônico móvel 102 que é utilizado para exibir texto (caracteres textuais, incluindo caracteres alfanuméricos, símbolos aritméticos, etc.) e opcionalmente gráficos para usuários do dispositivo eletrônico móvel 102. Por exemplo, o componente de display 104 pode incluir uma tela de tela de display que é uma porção de ou uma totalidade de uma superfície do dispositivo eletrônico móvel 102. A tela de display pode ou não ser sensível ao toque. O componente de display 104 pode ser um display do tipo LED (diodo de emissão de luz), um display do tipo LCD (display de cristal líquido), um display de plasma, ou outro tipo de display que pode ou não ser iluminado por trás.
[0036] O módulo de entrada de texto 106 está configurado para receber um texto 122 provido por um usuário do dispositivo eletrônico móvel 102. O texto provido do usuário 122 pode incluir qualquer número de caracteres, e qualquer número de palavras. Em algumas modalidades de SMS, o texto 122 pode ser limitado a 160 caracteres. O dispositivo eletrônico móvel 102 pode incluir um ou mais elementos de interface de usuário que podem ser utilizados para permitir o usuário prover o texto 122, tal como um teclado (por exemplo, o usuário pode digitar o texto), um botão giratório , um dispositivo de apontar, uma bola rolante, um apontador de bastão, um display sensível ao toque, qualquer número de elementos de interface virtual (por exemplo, tal como um teclado virtual ou outro elemento de interface de usuário exibido na interface de usuário 112 pelo componente de display 104), um sistema de reconhecimento de voz (por exemplo, o usuário pode falar o texto), e/ou outros elementos de interface de usuário descritos aqui em outro local ou de outro modo conhecidos. Em outra modalidade, o dispositivo eletrônico móvel 102 inclui uma interface háptica configurada para interfacear o dispositivo eletrônico móvel 102 com o usuário pelo sentido de toque, aplicando forças, vibrações e/ou movimentos no usuário. Por exemplo, o usuário do dispositivo eletrônico móvel 102 pode vestir uma luva ou outra prótese para prover o contato háptico.
[0037] O módulo de entrada de texto 106 pode armazenar o texto 122 (por exemplo, na memória ou outro armazenamento, tal como no armazenamento 110), e pode prover o texto 122 para o componente de display 104 para exibição. Por exemplo, como mostrado na Figura 1, o módulo de entrada de texto 106 pode transmitir o texto recebido para o componente de display 104 como o texto recebido 124. O módulo de entrada de texto 106 pode prover o texto recebido 124 para o componente de display 104 em qualquer forma (por exemplo, como dados de caractere, dados de pixel de display, gráficos rasterizados, etc.). O componente de display 104 pode exibir o texto recebido 124 como texto exibido 114 na interface de usuário 112.
[0038] Em uma modalidade, a interface de usuário 112 é uma interface gráfica de usuário (GUI) que inclui uma região de display na qual o texto exibido 114 pode ser exibido. Por exemplo, a interface de usuário 112 pode ser uma janela gráfica de uma ferramenta de processamento de palavra ou uma ferramenta de mensagem na qual o texto pode ser exibido, e opcionalmente ser gerado pelo módulo de entrada de texto 106 para exibição pelo componente de display 104.
[0039] Em uma modalidade, o módulo de autocorreção 108 pode receber o texto recebido 124 do módulo de entrada de texto 106. Em modalidades, o módulo de autocorreção 108 pode estar incluindo no módulo de entrada de texto 106, ou pode ser separado do módulo de entrada de texto 106 (como mostrado na Figura 1). O módulo de autocorreção 108 está configurado para automaticamente corrigir o texto recebido 124. Por exemplo, em uma modalidade, o módulo de autocorreção 108 pode automaticamente corrigir o texto recebido de acordo com um dicionário de autocorreção 128 selecionado que é automaticamente selecionado de uma pluralidade de dicionários de autocorreção que estão armazenados no armazenamento 110, incluindo um primeiro dicionário de autocorreção 116, um segundo dicionário de autocorreção 118, etc. Qualquer número de dicionários de autocorreção 116, 118, etc., pode estar presente. Cada dicionário de autocorreção é um dicionário de autocorreção para um idioma correspondente e, portanto, a pluralidade de dicionários de autocorreção pode incluir dicionários de autocorreção para diferentes dialetos de um mesmo idioma, para diferentes subconjuntos de um mesmo idioma, e/ou para múltiplos idiomas inteiramente diferentes.
[0040] Nota-se que o armazenamento 110 pode incluir um ou mais de qualquer tipo de mecanismo de armazenamento, incluindo um disco magnético (por exemplo, em uma unidade de disco rígido), um disco ótico (por exemplo, em uma unidade de disco ótico), uma fita magnética (por exemplo, em uma unidade de fita), um dispositivo de memória tal como um dispositivo de RAM (memória de acesso randômico), um dispositivo de ROM (memória somente de leitura), etc., e/ou qualquer outro tipo adequado de meio de armazenamento.
[0041] Em uma modalidade, o módulo de autocorreção 108 está configurado para selecionar o dicionário de autocorreção 128 selecionado da pluralidade de dicionários de autocorreção com base em informações de utilização 120. As informações de utilização 120 incluem informações que são representativas de um contexto de utilização do dispositivo eletrônico móvel 102 por um usuário. Por exemplo, as informações de utilização 120 podem incluir as informações de identidade para o usuário do dispositivo eletrônico móvel 102 (por exemplo, um identificador para o usuário, uma identificação de um ou mais idiomas falados pelo usuário, etc.), as informações de localização para o dispositivo eletrônico móvel 102 (por exemplo, uma localização corrente do dispositivo eletrônico móvel 102), as informações de tempo (por exemplo, uma data corrente e/ou hora), e/ou tipos adicionais de informações de utilização.
[0042] Como mostrado na Figura 1, o módulo de autocorreção 108 gera o texto corrigido 126, o qual é uma versão do texto recebido 124 que foi autocorrigida de acordo com o dicionário de autocorreção 128 selecionado. Por exemplo, um ou mais erros de ortografia podem ter sido corrigidos (por exemplo, mudando os caracteres "netowrk" para "network"), um ou mais erros de digitação podem ter sido corrigidos (por exemplo, mudando os caracteres "The end ." para "The end."), uma ou mais instâncias de formatação de texto podem ter sido executadas (por exemplo, mudando os caracteres "omg" para "Oh my God"), um ou mais caracteres especiais (por exemplo, caracteres que não são caracteres alfanuméricos padrão) podem ter sido inseridos (por exemplo, mudando ":)" para um caractere de face de smiley "©"), e/ou outras formas de autocorreção podem ter sido automaticamente executadas pelo módulo de autocorreção 108 sobre o texto recebido 124 para gerar o texto corrigido 126.
[0043] Como mostrado na Figura 1, o módulo de entrada de texto 106 recebe o texto corrigido 126, e provê o texto corrigido 126 para o componente de display 104 para ser exibido como texto exibido 114 na interface de usuário 112 no lugar do texto recebido 124. O módulo de entrada de texto 106 pode também armazenar o texto corrigido 126 no armazenamento no lugar do texto recebido 124. É notado que um usuário pode decidir não aceitar a autocorreção do texto recebido 124 para o texto corrigido 126, e pode interagir com a interface de usuário 112 para rejeitar a autocorreção, fazendo com que o texto recebido 124 seja novamente exibido na interface de usuário 112 (e o texto corrigido 126 é descartado).
[0044] A Figura 2 mostra um fluxograma 200 que provê um processo para autocorrigir um texto adaptavelmente com base em um contexto de utilização, de acordo com uma modalidade exemplar. Em uma modalidade, o dispositivo eletrônico móvel 102 pode operar de acordo com o fluxograma 200. O fluxograma 200 está descrito como segue. Modalidades estruturais e operacionais adicionais serão aparentes para as pessoas versadas na(s) técnica(s) relevante(s) com base na descrição seguinte.
[0045] O fluxograma 100 começa com a etapa 202. Na etapa 202, o texto provido por um usuário para o dispositivo eletrônico móvel é recebido. Por exemplo, como mostrado na Figura 1, o texto 122 pode ser recebido de um usuário pelo módulo de entrada de texto 106 do dispositivo eletrônico móvel 102. Um usuário pode prover o texto 122 interagindo com um ou mais elementos de interface de usuário do dispositivo eletrônico móvel 102 em qualquer modo, incluindo de acordo com elementos / técnicas de interface de usuário aqui descrito em outro local ou de outro modo conhecidos. Por exemplo, o usuário pode prover o texto 122 digitando o texto 122 em um teclado, falando o texto 122 (através de reconhecimento de voz), através de reconhecimento de gesto, e/ou de acordo com qualquer outra técnica.
[0046] Na etapa 204, o texto recebido é exibido em um componente de display do dispositivo eletrônico móvel. Por exemplo, como mostrado na Figura 1, o texto 122 provido pelo usuário para o módulo de entrada de texto 106 pode ser transmitido para o componente de display 104 como o texto recebido 124 para exibir como texto exibido 114. Em uma modalidade, conforme cada caractere é inserido pelo usuário no texto 122, o caractere pode ser provido para exibição no componente de display 104.
[0047] Na etapa 206, um dicionário de autocorreção é automaticamente selecionado de uma pluralidade de dicionários de autocorreção com base pelo menos em informações de utilização representativas de um contexto de utilização do dispositivo eletrônico móvel pelo usuário. Por exemplo, como mostrado na Figura 1, o texto recebido 124 pode ser recebido do módulo de entrada de texto 106 pelo módulo de autocorreção 108. O módulo de autocorreção 108 pode estar configurado para automaticamente selecionar um dos dicionários de autocorreção no armazenamento 110 com base em um contexto de utilização do dispositivo eletrônico móvel 102. Por exemplo, uma ou mais de uma identidade de um usuário do dispositivo eletrônico móvel 102, uma localização de um usuário do dispositivo eletrônico móvel 102, e/ou um tempo corrente podem ser utilizados para automaticamente selecionar um dicionário de autocorreção. Como mostrado na Figura 1, o módulo de autocorreção 108 recebe o dicionário de autocorreção 128 selecionado do armazenamento 110. Automaticamente selecionado o dicionário de autocorreção para o usuário, o usuário não precisa manualmente selecionar um dicionário de autocorreção, e um dicionário de autocorreção apropriado pode ser utilizado o tempo todo. Nota-se que em algumas modalidades, etapa 206 pode ocorrer antes da etapa 202 e/ou etapa 204.
[0048] Modalidades exemplares para automaticamente selecionar um dicionário de autocorreção com base em informações de utilização estão adicionalmente abaixo descritas.
[0049] Na etapa 208, o texto exibido é automaticamente corrigido de acordo com o dicionário de autocorreção selecionado. Como mostrado na Figura 1, o módulo de autocorreção 108 pode automaticamente corrigir o texto recebido 124 de acordo com o dicionário de autocorreção 128 selecionado. O módulo de autocorreção 108 pode substituir termos (por exemplo, caracteres, palavras, frases, símbolos, etc.) no texto recebido 124 com termos corrigidos para gerar o texto corrigido 126. O texto corrigido 126 pode ser provido para o componente de display 104 para exibição como o texto exibido 114.
[0050] Os dicionários de autocorreção, tal como o primeiro dicionário de autocorreção 116 e o segundo dicionário de autocorreção 118, podem estar configurados em qualquer modo para permitir a autocorreção. Por exemplo, em uma modalidade, um dicionário de autocorreção pode incluir uma lista de termos pré-configurada (por exemplo, caracteres, palavras, frases, e/ou símbolos) a serem automaticamente corrigidos quando estes são inseridos por um usuário como o texto 122. Mais ainda, o dicionário de autocorreção pode incluir uma lista correspondente de termos de correção utilizados como o texto de substituição automática para os termos a serem automaticamente corrigidos. Por exemplo, uma porção de um exemplo de um dicionário de autocorreção de Inglês está mostrada como segue:
[0051] A primeira coluna do dicionário de autocorreção do exemplo acima é a lista pré-configurada de termos que devem ser automaticamente corrigidos. A segunda coluna do exemplo acima é a lista de termos de correção que correspondem aos termos na primeira coluna. Os termos de correção na segunda coluna são utilizados como o texto de substituição para os termos correspondentes na primeira coluna.
[0052] Por exemplo, o termo "yuor" pode ser recebido pelo modulo de autocorreção 108 no texto recebido 124. O módulo de autocorreção 108 pode estar utilizando o dicionário de autocorreção do exemplo acima, pode detectar o termo recebido "yuor" na primeira coluna do dicionário de autocorreção do exemplo acima, e como um resultado pode substituir o termo recebido "yuor" pelo termo de correção correspondente de "your" na segunda coluna. Esta correção pode ser incluída no texto corrigido 126 emitido pelo módulo de autocorreção 108.
[0053] Em outras modalidades, o módulo de autocorreção 108 pode utilizar outras técnicas / algoritmos para automaticamente corrigir o texto recebido 124 para gerar o texto corrigido 126.
[0054] Em modalidades, a etapa 206 do fluxograma 200 pode ser executada em vários modos, e o módulo de autocorreção 108 pode ser configurado em vários modos para selecionar um dicionário de autocorreção com base em contexto de utilização. Modalidades exemplares para etapa 206 e o módulo de autocorreção 108 estão descritas nas subseções seguintes. É notado que as modalidades aqui descritas podem ser combinadas em qualquer forma, e um dicionário de autocorreção pode ser selecionado para executar a autocorreção com base em qualquer um ou qualquer combinação de contextos de utilização (identidade de usuário, localização, tempo, etc.).
[0055] Em uma modalidade, a autocorreção de texto provida por um usuário pode ser executada com base pelo menos em uma identidade do usuário que proveu o texto. Deste modo, a autocorreção é mais provável a ser executada para o usuário em um idioma compreensível para o usuário.
[0056] Por exemplo, em uma modalidade, a etapa 206 do fluxograma 200 pode operar de acordo com a Figura 3. A Figura 3 mostra uma etapa 302 para selecionar um dicionário de autocorreção para autocorrigir um texto com base em uma identidade de um usuário, de acordo com uma modalidade exemplar. Na etapa 302, um dicionário de autocorreção é automaticamente selecionado de uma pluralidade de dicionários de autocorreção com base em pelo menos uma identidade do usuário. Em uma modalidade, o módulo de autocorreção 108 da Figura 1 pode operar de acordo com a etapa 302, e as informações de utilização 120 podem incluir as informações de identidade associadas com o usuário.
[0057] Uma identidade do usuário do dispositivo eletrônico móvel 102 pode ser determinada em vários modos. Por exemplo, as informações associadas com uma identidade de um usuário podem ser acessadas, tal como acessando um perfil de usuário associado com uma conta do usuário, incluindo uma conta de login de sistema de operação do usuário, uma conta de mensagem de texto do usuário, uma conta de e-mail do usuário, uma conta de rede social do usuário, outra conta do usuário, e/ou em outro modo.
[0058] Por exemplo, Figura 4 mostra um diagrama de blocos do módulo de autocorreção 108 configurado para autocorrigir o texto com base em informações de perfil de usuário, de acordo com uma modalidade exemplar. Como mostrado na Figura 4, o módulo de autocorreção 108 recebe as informações de perfil de usuário 402. As informações de perfil de usuário 402 podem incluir vários tipos de informações de identidade para o usuário, incluindo uma identidade 404, idioma(s) 406, e/ou informações adicionais. A identidade 404 indica uma identidade do usuário. A identidade 404 pode indicar a identidade do usuário em vários modos, tal como por nome, por identificador de login, por um número de identificação, e/ou em outro modo. Idioma(s) 406 indica(m) um ou mais idiomas compreensíveis para o usuário. Por exemplo, idioma(s) 406 pode indicar um ou mais diferentes idiomas, dialetos de um mesmo idioma, subconjuntos de um mesmo idioma, e/ou outras formas de idioma que são compreensíveis para o usuário. Cada idioma pode ser identificado por nome, por um identificador de idioma correspondente (por exemplo, um número de identificação), ou em outros modos.
[0059] Em uma modalidade, quando um usuário do dispositivo eletrônico móvel 102 da Figura 1 provê o texto 122, o módulo de autocorreção 108 pode automaticamente selecionar um dicionário de autocorreção da pluralidade de dicionários de autocorreção no armazenamento 110 para um idioma falado pelo usuário, como identificado nas informações de perfil de usuário 402 da Figura 4.
[0060] Por exemplo, como mostrado na Figura 4, o módulo de autocorreção 108 pode receber o texto recebido 124 e uma indicação de usuário 408. A indicação de usuário 408 indica o usuário específico que inseriu o texto recebido 124. Por exemplo, a indicação de usuário 408 pode indicar o usuário específico por um identificador de login para o usuário (quando registrado), ou em outro modo. O módulo de autocorreção 108 pode comparar o identificador de login ou outro identificador para o usuário para a identidade 404 de informações de perfil de usuário 402 para determinar se as informações de perfil de usuário 402 são as informações de perfil de usuário 402 do usuário. É notado que uma pluralidade de perfis de usuário pode ser mantida para uma pluralidade de usuários, cada um tendo informações de perfil de usuário 402 correspondentes. Quando as informações de perfil de usuário 402 que correspondem ao identificador para o usuário são determinadas, o módulo de autocorreção 108 pode acessar o(s) idioma(s) 406 nas informações de perfil de usuário 402 determinada para determinar um ou mais idiomas compreensíveis para o usuário. O módulo de autocorreção 108 pode então selecionar um dicionário de autocorreção do armazenamento 110 (Figura 1) que corresponde a um idioma compreensível para o usuário.
[0061] Em uma situação, o(s) idioma(s) 406 pode(m) indicar um único idioma compreensível para o usuário (por exemplo, por um identificador de idioma). Em tal caso, o módulo de autocorreção 108 pode localizar e selecionar um dicionário de autocorreção no armazenamento 110 para aquele idioma específico (por exemplo, um dicionário de autocorreção que tem identificador de idioma coincidente). Em outro exemplo, o(s) idioma(s) 406 podem indicar múltiplos idiomas compreensíveis para o usuário (por exemplo, cada um identificado por um identificador de idioma). Em tal caso, o módulo de autocorreção 108 pode selecionar um dos idiomas, tal como selecionando um dos idiomas randomicamente, selecionando um idioma indicado como prioridade mais alta (por exemplo, melhor compreendido pelo usuário), com base em outras informações de utilização, e/ou selecionando o idioma em outro modo. O módulo de autocorreção 108 pode então localizar e selecionar um dicionário de autocorreção no armazenamento 110 para aquele idioma selecionado (por exemplo, um dicionário de autocorreção que tem um identificador de idioma coincidente).
[0062] Como mostrado na Figura 4, o módulo de autocorreção 108 pode receber o dicionário de autocorreção selecionado como o dicionário de autocorreção 128 selecionado, pode autocorrigir o texto recebido 124 de acordo com o dicionário de autocorreção 128 selecionado (por exemplo, de acordo com a etapa 208 do fluxograma 200), e pode gerar o texto corrigido 126 para incluir o texto autocorrigido. Como mostrado na Figura 1, o texto corrigido 126 pode ser exibido para o usuário pelo componente de display 104 como texto exibido 114.
[0063] Em uma modalidade, a autocorreção de texto provida por um usuário pode ser executada com base pelo menos na localização do dispositivo móvel que recebe o texto do usuário, no tempo que o texto é recebido. Deste modo, a autocorreção é mais provável ser executada para o usuário em um idioma compreensível para o usuário.
[0064] Por exemplo, se o usuário está utilizando o dispositivo móvel nos Estados Unidos, existe uma probabilidade razoável que o usuário compreenda e deseje comunicar em Inglês. Como tal, a funcionalidade de autocorreção do dispositivo móvel pode ser ajustada para Inglês. Se, em outro tempo, o usuário está utilizando o dispositivo móvel na Itália, existe uma probabilidade razoável que o usuário compreenda e deseje comunicar em Italiano. Como tal, a funcionalidade de autocorreção do dispositivo móvel pode ser mudada para Italiano, a mudança automática do idioma de autocorreção pode poupar o usuário de precisar mudar manualmente o idioma sempre que o usuário muda de localidade.
[0065] Tal seleção de localização pode ser ajustada para qualquer nível de granularidade de região de localização, incluindo por país, província, estado, comarca, cidade, municipalidade, vizinhança uma região customizada (por exemplo, configurada pelo usuário que interage com o elemento de interface de usuário para traçar um limite ao redor de uma região), ou qualquer outra região de localização.
[0066] Por exemplo, em uma modalidade, etapa 206 do fluxograma 200 pode operar de acordo com a Figura 5. A Figura 5 mostra uma etapa 502 para selecionar um dicionário de autocorreção para autocorrigir um texto com base em uma localização de um dispositivo móvel, de acordo com uma modalidade exemplar. Na etapa 502, um dicionário de autocorreção pode ser automaticamente selecionado de uma pluralidade de dicionários de autocorreção com base em pelo menos uma localização do dispositivo móvel. Em uma modalidade, o módulo de autocorreção 108 da Figura 1 pode operar de acordo com a etapa 502, e as informações de utilização 120 podem incluir as informações de localização associadas com o dispositivo móvel.
[0067] Uma localização do dispositivo eletrônico móvel 102 pode ser determinada em vários modos. Por exemplo, uma localização do dispositivo eletrônico móvel 102 pode ser determinada de acordo com técnicas de GPS (sistema de posicionamento global) por multilateração de sinais de rádio entre múltiplas torres de células, e/ou de acordo com outras técnicas conhecidas de pessoas versadas nas técnicas relevantes.
[0068] Por exemplo, a Figura 6 mostra um diagrama de blocos de um sistema 600 que autocorrige um texto com base em localização, de acordo com uma modalidade exemplar. Como mostrado na Figura 6, o sistema 600 inclui um determinador de localização 602 e um módulo de autocorreção 108. O sistema 600 pode ser implementado parcialmente ou inteiramente em um dispositivo móvel, tal como o dispositivo eletrônico móvel 102 da Figura 1. O determinador de localização 602 está configurado para determinar uma localização do dispositivo móvel, e emitir uma indicação da localização como localização determinada 606. Como mostrado na Figura 6, o módulo de autocorreção 108 recebe a localização determinada 606, e seleciona um dicionário de autocorreção com base pelo menos na localização determinada 606. O módulo de autocorreção 108 automaticamente corrige o texto recebido 124 de acordo com o dicionário de autocorreção selecionado para gerar o texto corrigido 126.
[0069] Em uma modalidade, etapa 206 pode ser executada de acordo com a Figura 7. A Figura 7 mostra um fluxograma 700 que provê um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base em localização, de acordo com uma modalidade exemplar. Em uma modalidade, o sistema 600 da Figura 6 pode operar de acordo com o fluxograma 700. O fluxograma 700 está descrito como segue com referência ao sistema 600. Modalidades estruturais e operacionais adicionais serão aparentes para as pessoas versadas nas técnicas relevantes com base na descrição seguinte.
[0070] O fluxograma 700 começa com a etapa 702. Na etapa 702, a localização do dispositivo eletrônico móvel é determinada por um determinador de localização do dispositivo eletrônico móvel. Como acima descrito, um usuário do dispositivo eletrônico móvel 102 da Figura 1 pode prover um texto 122. Em uma modalidade, o determinador de localização 602 está configurado para determinar uma localização do dispositivo eletrônico móvel 102 quando o texto 122 é recebido, e emitir uma indicação da localização como a localização determinada 606. O determinador de localização 602 pode ser configurado para determinar uma localização de um dispositivo móvel em qualquer modo, tal como de acordo com técnicas de GPS, por multilateração de sinais de rádio de torres de células e/ou de acordo com outras técnicas aqui mencionadas em outro local ou de outro modo conhecidas. Por exemplo, em uma modalidade, o determinador de localização 602 pode incluir um receptor de GPS que recebe sinais de satélites de GPS, e utiliza técnicas de GPS para determinar uma localização com base em um tempo dos sinais recebidos.
[0071] Na etapa 704, a localização determinada é comparada com uma pluralidade de regiões geográficas associadas com a pluralidade de dicionários de autocorreção. Como mostrado na Figura 6, o módulo de autocorreção 108 recebe a localização determinada 606. A localização determinada 606 indica a localização determinada do dispositivo móvel. Por exemplo, a localização determinada 606 pode incluir coordenadas da localização (por exemplo, latitude e longitude), ou o determinador de localização 602 pode determinar um identificador para a localização determinada (por exemplo, um país, estado, comarca, cidade, vizinhança, uma região customizada, etc.), e pode incluir o identificador na localização determinada 606.
[0072] Em uma modalidade, cada dicionário de autocorreção armazenado no armazenamento 110 (Figura 1) tem informações de localização correspondentes que identificam qual(is) região(ões) de localização o dicionário de autocorreção deve ser utilizado. Por exemplo, o primeiro dicionário de autocorreção 116 pode ser um dicionário de autocorreção de idioma Inglês, e pode ter informações de localização que indicam os Estados Unidos, Inglaterra, e Austrália como regiões de localização aplicáveis. O segundo dicionário de autocorreção 118 pode ser um dicionário de autocorreção de idioma Italiano, e pode ter informações de localização que indicam Itálica, Suíça, San Marino, Cidade do Vaticano, Slovenian Istria, e Istria County na Croácia como regiões de localização aplicáveis.
[0073] O módulo de autocorreção inclui um comparador 604. O comparador 604 está configurado para comparar a localização determinada 606 com as informações de região de localização que correspondem a cada dicionário de autocorreção no armazenamento 110 para determinar qual dicionário de autocorreção utilizar para executar a autocorreção. Por exemplo, como mostrado na Figura 6, o comparador 604 pode receber as informações de localização 608 de cada dicionário de autocorreção. O comparador 604 pode comparar uma localização determinada 606 com as informações de localização 608 para determinar quais dicionários de autocorreção são aplicáveis à localização determinada 606. Por exemplo, o comparador 604 pode determinar que as coordenadas de localização recebidas na localização determinada 606 indicam uma localização dentro dos Estados Unidos, a qual é uma a região de localização indicada para o primeiro dicionário de autocorreção 116. Como um resultado, o comparador 604 pode prover um resultado de comparação que indica o primeiro dicionário de autocorreção 116.
[0074] Referindo de volta à Figura 7, na etapa 706, o dicionário de autocorreção é selecionado da pluralidade de dicionários de autocorreção com base em pelo menos na comparação. Em uma modalidade, o módulo de autocorreção 108 pode selecionar do armazenamento 110 o dicionário de autocorreção indicado pelo comparador 604 como sendo aplicável à localização determinada 606. No caso em que múltiplos dicionários de autocorreção sejam indicados pelo comparador 604 para serem associados com a localização determinada 606, o módulo de autocorreção 108 pode selecionar um dos múltiplos dicionários de autocorreção em qualquer modo, tal como selecionando um randomicamente, selecionando indicado com a prioridade mais alta em relação aos outros dicionários de autocorreção associados, selecionar um com base em outras informações de utilização, ou selecionar um em outro modo.
[0075] Como mostrado na Figura 6, módulo de autocorreção 108 pode receber o dicionário de autocorreção selecionado como o dicionário de autocorreção selecionado 128, pode autocorrigir o texto recebido 124 de acordo com o dicionário de autocorreção selecionado 128, e pode gera o texto corrigido 126. O texto corrigido 126 pode ser exibido para o usuário pelo componente de display 104 como o texto exibido 114, como mostrado na Figura 1.
[0076] Em uma modalidade, a autocorreção de texto provida por um usuário pode ser executada com base em pelos menos informações de tempo que indicam um tempo e/ou data na qual o dispositivo móvel recebe o texto do usuário. Deste modo, a autocorreção é mais provável ser executada para o usuário em um idioma compreensível para o usuário.
[0077] Por exemplo, um usuário pode ser um nativo da Itália que está trabalhando nos Estados Unidos. Se o usuário estiver utilizando o dispositivo móvel durante as horas de trabalho, existe uma probabilidade razoável que o usuário deseja se comunicar em Inglês no local de trabalho do usuário (se o Inglês for o idioma primário utilizado no local de trabalho do usuário. Como tal, a funcionalidade de autocorreção do dispositivo móvel pode ser automaticamente ajustada para Inglês durante as horas de trabalho. Se em outras horas do dia, e/ou nos fins de semana, o usuário estiver utilizando o dispositivo móvel em um ambiente mais casual (por exemplo, para comunicar com amigos e/ou família), existe uma probabilidade razoável que o usuário possa desejar comunicar no idioma nativo do usuário em Italiano. Como tal, a funcionalidade de autocorreção do dispositivo móvel pode ser automaticamente mudada para Italiano durante as horas não de trabalho (por exemplo, manhãs, noites, e fins de semana). A mudança automática do idioma de autocorreção deste modo pode poupar o usuário de precisar mudar manualmente o idioma múltiplas vezes por dia.
[0078] É notado que a funcionalidade de autocorreção pode ser ajustada e mudada para qualquer nível de granularidade de período de tempo, incluindo minutos, horas, dias, semanas, meses, porções de semanas (por exemplo, dias de semana / fim de semana específicos) porções de dias (por exemplo, manhã, tarde, noite, etc.), ou qualquer período de tempo. Ao usuário pode ser permitido ajustar uma programação de horas / datas nas quais os dicionários de autocorreção específicos são utilizados. Alternativamente, o módulo de autocorreção 108 pode utilizar aprendizado de máquina e/ou outras técnicas (por exemplo, com base em um histórico das atividades do usuário) para automaticamente predizer qual idioma o usuário pode preferir utilizar para autocorreção em horas / datas específicas, e por meio disto selecionar automaticamente os dicionários de autocorreção que o usuário pode utilizar em horas / datas específicas.
[0079] Por exemplo, em uma modalidade, a etapa 206 do fluxograma 200 pode operar de acordo com a Figura 8. A Figura 8 mostra uma etapa 802 para selecionar um dicionário de autocorreção para autocorrigir um texto com base em informações de tempo, de acordo com uma modalidade exemplar. Na etapa 802, um dicionário de autocorreção é automaticamente selecionado de uma pluralidade de dicionários de autocorreção com base em pelo menos informações de tempo que indicam um tempo no qual o texto exibido é exibido. Em uma modalidade, o módulo de autocorreção 108 da Figura 1 pode operar de acordo com a etapa 802, e as informações de utilização 120 podem incluir as informações de tempo associadas com o dispositivo móvel.
[0080] Um tempo corrente pode ser determinado em vários modos. Por exemplo, o dispositivo eletrônico móvel 102 pode incluir um relógio que indica hora / data, pode incluir uma ferramenta de calendário associada com um usuário que indica hora / data, e/ou pode determinar o tempo de acordo com outro mecanismo conhecido das pessoas versadas nas técnicas relevantes.
[0081] A Figura 9 mostra um diagrama de blocos de um sistema 900 que autocorrige um texto com base em informações de tempo, de acordo com uma modalidade exemplar. Como mostrado na Figura 9, o sistema 900 inclui uma ferramenta de calendário 902, um relógio 904, e um módulo de autocorreção 108. O sistema 900 pode ser implementado parcialmente ou inteiramente em um dispositivo móvel, tal como o dispositivo eletrônico móvel 102 da Figura 1. A ferramenta de calendário 902 é uma ferramenta de calendário que executa em um dispositivo móvel 30 tal como Microsoft® Outlook® ou outra ferramenta / aplicação de calendário, que permite um usuário programar os compromissos (por exemplo, reuniões, tarefas, etc.) em vários tempos. O relógio 904 é um mecanismo de relógio (por exemplo, um programa de computador, etc.) do dispositivo móvel que indica um tempo corrente 908 (por exemplo, por exemplo, um tempo no ou após o qual o texto a ser autocorrigido é recebido). Exemplos de relógio 904 são bem conhecidos das pessoas versadas nas técnicas relevantes.
[0082] Em uma modalidade, o módulo de autocorreção 108 pode acessar a ferramenta de calendário 902 para determinar um ou mais compromissos do usuário, e para por meio disto mudar os dicionários de autocorreção com base no conteúdo dos compromissos. Como mostrado na Figura 6, o módulo de autocorreção 108 pode receber o tempo corrente 908 do relógio 904, e pode acessar a ferramenta de calendário 902 para determinar se o usuário tem um compromisso no tempo indicado pelo tempo corrente 908. O módulo de autocorreção 108 pode extrair as informações de compromisso 910 do compromisso. As informações de compromisso 910 podem incluir várias informações, tal como indicar uma localização na qual uma reunião está ocorrendo (a qual pode ser utilizada para selecionar um dicionário de autocorreção como acima descrito), indicar um idioma no qual uma reunião está sendo conduzida ou outras informações relativas ao compromisso. O módulo de autocorreção 108 pode selecionar um dicionário de autocorreção com base em pelo menos nas informações de compromisso 910 recebidas da ferramenta de calendário 902 para o tempo corrente. O módulo de autocorreção 108 automaticamente corrige o texto recebido 124 de acordo com o dicionário de autocorreção selecionado para gerar o texto corrigido 126.
[0083] Em uma modalidade, a etapa 206 pode ser executada de acordo com a Figura 10. A Figura 10 mostra um fluxograma 1000 que provê um processo para selecionar um dicionário de autocorreção para autocorrigir um texto com base no tempo, de acordo com uma modalidade exemplar. Em uma modalidade, o sistema 900 da Figura 9 pode operar de acordo com o fluxograma 1000. O fluxograma 1000 está descrito como segue com referência ao sistema 900. Modalidades estruturais e operacionais adicionais serão aparentes para as pessoas versadas nas técnicas relevantes com base na descrição seguinte.
[0084] O fluxograma 1000 começa com a etapa 1002. Na etapa 1002, uma data e hora na qual o texto exibido é exibido são determinadas. Como acima descrito, um usuário do dispositivo eletrônico móvel 102 da Figura 1 pode prover um texto 122. Em uma modalidade, relógio 904 está configurado para indicar um tempo corrente. O tempo corrente 908 pode ser acessado pelo módulo de autocorreção 108 quando o texto 122 é recebido para determinar uma hora e/ou data na qual o texto recebido 124 é recebido.
[0085] Na etapa 1004, um calendário associado com o usuário é acessado para um compromisso na data e hora determinadas. Como mostrado na Figura 9, o módulo de autocorreção 108 inclui um analisador de compromisso 906. O analisador de compromisso 906 está configurado para analisar um compromisso recebido da ferramenta de calendário 902 para informações que podem ser utilizadas para selecionar um dicionário de autocorreção. Por exemplo, como mostrado na Figura 9, o analisador de compromisso 906 recebe o tempo corrente 908. O analisador de compromisso 906 pode acessar um compromisso programado na ferramenta de calendário 902 que ocorre no tempo corrente 908 para recuperas as informações de compromisso 910. As informações de compromisso 910 podem incluir o conteúdo do compromisso que ocorre no tempo corrente 908, indicando um ou mais dos participantes do compromisso, uma localização do compromisso / reunião, etc. O analisador de compromisso 906 pode analisar as informações de compromisso 910 para determinar uma localização do usuário (por exemplo, em uma localização da reunião).
[0086] Referindo de volta à Figura 10, na etapa 1006, o dicionário de autocorreção é selecionado da pluralidade de dicionários de autocorreção com base pelo menos em informações associadas com o compromisso. Em uma modalidade, o módulo de autocorreção 108 pode selecionar do armazenamento 110 o dicionário de autocorreção indicado pelo analisador de compromisso 906 para um idioma que é aplicável à localização determinada analisando as informações de compromisso 910. No caso em que múltiplos dicionários de autocorreção sejam indicados pelo analisador de compromisso 906 para serem associados com a localização determinada, o módulo de autocorreção 108 pode selecionar um dos múltiplos dicionários de autocorreção em qualquer modo, tal como selecionando um randomicamente, selecionando um indicado como a prioridade mais alta relativa aos outros dicionários de autocorreção associados, selecionando um com base em outras informações de utilização, ou selecionando um em outro modo.
[0087] Como mostrado na Figura 9, o módulo de autocorreção 108 pode receber o dicionário de autocorreção selecionado como o dicionário de autocorreção selecionado 128, pode autocorrigir o texto recebido 124 de acordo com o dicionário de autocorreção selecionado 128, e pode gerar o texto corrigido 126. O texto corrigido 126 pode ser exibido para o usuário pelo componente de display 104 como o texto exibido 114, como mostrado na Figura 1.
[0088] Como acima mencionado, qualquer uma das informações de utilização aqui descritas pode ser utilizada em combinação para selecionar um dicionário de autocorreção. Mais ainda, apesar dos dicionários de autocorreção serem mostrados na Figura 1 como sendo armazenados no dispositivo eletrônico móvel 102 (no armazenamento 110), em uma modalidade, um dicionário de autocorreção selecionado pode ser recuperado pelo dispositivo eletrônico móvel 102 de um dispositivo remoto (por exemplo, um servidor, tal como um servidor baseado em "nuvem") sobre uma rede (por exemplo, uma rede de área local (LAN), ou uma rede de área ampla (WAN) tal como a Internet). Mais ainda, apesar das informações de utilização 120 serem acima descritas como sendo determinadas no dispositivo eletrônico móvel 102, em uma modalidade, informações de utilização 120 podem ser determinadas remotamente do dispositivo eletrônico móvel 102, e transmitidas para este. Por exemplo, um dispositivo remoto, tal como um servidor (por exemplo, um servidor baseado em "nuvem") pode ser utilizado para determinar uma identidade do usuário (por exemplo, acessando uma conta de usuário remotamente mantida, etc.), para determinar uma localização do usuário (por exemplo, pelas informações de localização inseridas pelo usuário em uma rede social), para determinar as informações de tempo (por exemplo, acessando um calendário remotamente armazenado, etc.) e/ou para determinar tipos adicionais de informações de utilização.
[0089] O módulo de entrada de texto 106, o módulo de autocorreção 108, o determinador de localização 602, o comparador 604, a ferramenta de calendário 902, o relógio 904, o analisador de compromisso 906, o fluxograma 200, a etapa 302, a etapa 502, o fluxograma 700, etapa 802, e o fluxograma 1000 podem ser implementados em hardware, ou hardware e qualquer combinação de software e/ou firmware. Por exemplo, o módulo de entrada de texto 106, o módulo de autocorreção 108, o determinador de localização 602, o comparador 604, ferramenta de calendário 902, o relógio 904, o analisador de compromisso 906, o fluxograma 200, a etapa 302, a etapa 502, o fluxograma 700, a etapa 802, e/ou o fluxograma 1000 podem ser implementados como um código de programa de computador configurado para ser executado em um ou mais processadores e armazenados em um meio de armazenamento legível por computador. Alternativamente, o módulo de entrada de texto 106, o módulo de autocorreção 108, o determinador de localização 602, o comparador 604, a ferramenta de calendário 902, o relógio 904, o analisador de compromisso 906, o fluxograma 200, a etapa 302, a etapa 502, o fluxograma 700, a etapa 802, e/ou o fluxograma 1000 podem ser implementados como um circuito lógico / elétrico de hardware.
[0090] Por exemplo, em uma modalidade, um ou mais do modulo de entrada de texto 106, módulo de autocorreção 108, determinador de localização 602, comparador 604, ferramenta de calendário 902, relógio 904, analisador de compromisso 906, fluxograma 200, etapa 302, etapa 502, fluxograma 700, etapa 802, e/ou fluxograma 1000 podem ser implementados juntos em um sistema sobre chip (SoC). O SoC pode incluir um chip de circuito integrado que inclui um ou mais de um processador (por exemplo, um microcontrolador, um microprocessador, um processador de sinal digital (DSP), etc.), uma memória, uma ou mais interfaces de comunicação, e/ou circuitos adicionais e/ou firmware incorporado para executar as suas funções.
[0091] A Figura 11 apresenta uma implementação exemplar de um computador 1100 nos quais as modalidades da presente invenção podem ser implementadas. Por exemplo, o dispositivo eletrônico móvel 102 pode ser implementado em um ou mais sistemas de computador similares ao computador 1100, incluindo uma ou mais características do computador 1100 e/ou características alternativas. A descrição do computador 1100 aqui provida está provida para propósitos de ilustração e não pretende ser limitante. As modalidades da presente invenção podem ser implementadas em tipos adicionais de sistema de computador como seria conhecido das pessoas versadas nas técnicas relevantes.
[0092] Como mostrado na Figura 11, o computador 1100 inclui um ou mais processadores 1102, uma memória de sistema 1104, e um barramento 1106 que acopla vários componentes de sistema incluindo a memória de sistema 1104 no processador 1102. O barramento 1106 representa um ou mais de qualquer um de diversos tipos de estruturas de barramento, incluindo um barramento de memória ou controlador de memória, um barramento periférico, uma porta de gráfico acelerado, e um processador ou barramento local que utiliza qualquer uma de uma variedade de arquiteturas de barramento. A memória de sistema 1104 inclui uma memória somente de leitura (ROM) 1108 e uma memória de acesso randômico (RAM) 1110. Um sistema de entrada / saída básico 1112 (BIOS) está armazenado na ROM 1108.
[0093] O computador 1100 também tem uma ou mais das seguintes unidades: uma unidade de disco rígido 1114 para ler de e escrever em um disco rígido, uma unidade de disco magnético 1116 para ler de ou escrever em um disco magnético removível 1118, e uma unidade de disco ótico 1120 para ler de e escrever em um disco ótico removível 1122 tal como um CD ROM, DVD ROM, ou outra mídia ótica. A unidade de disco rígido 1114, a unidade de disco magnético 1116, e a unidade de disco ótico 1120 estão conectadas no barramento 1106 por uma interface de unidade de disco rígido 1124, uma interface de unidade de disco magnético 1126, e uma interface de unidade ótica 1128, respectivamente. As unidades e suas mídias legíveis por computador associadas proveem um armazenamento não volátil de instruções legíveis por computador estruturas de dados, módulos de programa e outros dados para o computador. Apesar de um disco rígido, um disco magnético removível e um disco ótico removível serem descritos, outros tipos de meio de armazenamento legível por computador podem ser utilizados para armazenar dados, tal como as placas de memória instantâneas, os discos de vídeo digital, memórias de acesso randômico (RAMs), memórias somente de leitura (ROM), e similares.
[0094] Um número de módulos de programa pode ser armazenado no disco rígido, no disco magnético, no disco ótico, na ROM, ou na RAM. Estes programas incluem um sistema operação 1130, um ou mais programas de aplicação 1132, outros módulos de programa 1134, e dados de programa 1136. Os programas de aplicação 1132 ou módulos de programa 1134 podem incluir, por exemplo, uma lógica de programa de computador (por exemplo, códigos ou instruções de programa de computador) para implementar o módulo de entrada de texto 106, o módulo de autocorreção 108, o determinador de localização 602, o comparador 604, a ferramenta de calendário 902, o relógio 904, o analisador de compromisso 906, o fluxograma 200, a etapa 302, a etapa 502, o fluxograma 700, a etapa 802, e/ou fluxograma 1000 (incluindo qualquer etapa dos fluxogramas 200, 700, e 1000), e/ou modalidades adicionais aqui descritas.
[0095] Um usuário pode inserir comandos e informações no computador 1100 através de dispositivos de entrada tal como o teclado 1138 e o dispositivo de apontar 1140. Outros dispositivos de entrada (não mostrados) podem incluir um microfone, um joystick, um bloco de jogos, um prato de satélite, um escaneador, uma tela de toque e/ou teclado de toque, um sistema de reconhecimento de voz para receber uma entrada de voz, um sistema de reconhecimento de gesto para receber uma entrada de gesto, ou similar. Estes e outros dispositivos de entrada estão frequentemente conectados no processador 1102 através de uma interface de porta serial 1142 que está acoplada no barramento 1106, mas pode ser conectada por outras interfaces, tal como uma porta paralela, uma porta de jogos, ou um barramento serial universal (USB).
[0096] Um componente de display 1144 está também conectado no barramento 1106 através de uma interface, tal como um adaptador de vídeo 1146. Além do monitor, o computador 1100 pode incluir outros dispositivos de saída periféricos (não mostrados) tal como alto- falantes e impressoras.
[0097] O computador 1100 está conectado a uma rede 1148 (por exemplo, a Internet) através de um adaptador ou interface de rede 1150, um modem 1152, ou outro meio para estabelecer as comunicações sobre a rede. O modem 1152, o qual pode ser interno ou externo, pode estar conectado no barramento 1106 através de uma interface de porta serial 1142, como mostrado na Figura 11, ou pode estar conectado no barramento 1106 utilizando outro tipo de interface, incluindo uma interface paralela.
[0098] Como aqui utilizados, os termos "meio de programa de computador," "meio legível por computador," e "meio de armazenamento legível por computador" são utilizados para geralmente referir a um meio tal como o disco rígido associado com a unidade de disco rígido 1114, disco magnético removível 1118, disco ótico removível 1122, assim como outros meios tais como placas de memória instantânea, discos de vídeo digital, memórias de acesso randômico (RAMs), memórias somente de leitura (ROM), e similares. Tais meios de armazenamento legíveis por computador são distinguidos de e não sobrepostos com o meio de comunicação (não incluem o meio de comunicação). O meio de comunicação tipicamente incorpora instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado tal como uma onda portadora. O termo "sinal de dados modulados" significa um sinal que tem uma ou mais de suas características ajustadas ou mudadas de tal modo a codificar as informações no sinal. Como exemplo, e não limitação, o meio de comunicação inclui um meio sem fio tal como um meio acústico, RF, infravermelho e outros meios sem fio. As modalidades estão também direcionadas a tais meios de comunicação.
[0099] Como acima notado, os programas e módulos de computador (incluindo os programas de aplicação 1132 e outros módulos de programa 1134) podem ser armazenados no disco rígido, disco magnético, disco ótico, ROM, ou RAM. Tais programas de computador podem também ser recebidos através da interface 1150, interface de porta serial 1142, ou qualquer outro tipo de interface. Tais programas de computador, quando executados ou carregado por uma aplicação, permitem o computador 1100 implementar as características de modalidades da presente invenção aqui discutidas. Consequentemente, tais programas de computador representam os controladores do computador 1100.
[00100] A invenção está também direcionada a produtos de programa de computador que compreendem um software armazenado em qualquer meio utilizável por computador. Tal software, quando executado em um ou mais dispositivos de processamentos de dados, faz com que o(s) dispositivo(s) de processamento de dados opere(m) como aqui descrito. As modalidades da presente invenção empregam qualquer meio utilizável por computador ou legível por computador, conhecido agora ou no futuro. Exemplos de meios legíveis por computador incluem, mas não estão limitados a dispositivos de armazenamento tal como RAM, unidades rígidas, discos flexíveis, CD ROMs, DVD ROMs, discos zip, fitas, dispositivos de armazenamento magnético, dispositivos de armazenamento ótico, MEMs, dispositivos de armazenamento baseados em nanotecnologia, e similares.
[00101] Apesar de várias modalidades da presente invenção terem sido acima descritas, deve ser compreendido que estas foram apresentadas como exemplo somente, e não limitação. Será compreendido por aqueles versados nas técnicas relevantes que várias mudanças em forma e detalhes podem ser feitas nesta sem afastar do espírito e escopo da invenção como definidos nas concretizações. Consequentemente, a amplitude e escopo da presente invenção não devem ser limitados por qualquer uma das modalidades exemplares acima descritas, mas devem ser definidos somente de acordo com as concretizações.
Claims (13)
1. Dispositivo eletrônico caracterizado pelo fato de que compreende: um componente de display capaz de pelo menos exibir caracteres textuais; um módulo de entrada de texto que recebe o texto provido por um usuário para o dispositivo eletrônico, e proporciona o texto recebido para o componente de display para exibição em uma interface de usuário; e um módulo de autocorreção configurado para: determinar que que o texto recebido muda de uma primeira linguagem para uma segunda linguagem com base em informações de utilização; baseado na determinação de que a informação de utilização é representativa de um primeiro contexto de utilização do dispositivo eletrônico, mudar automaticamente a partir de um primeiro dicionário de autocorreção previamente selecionado que corresponde à primeira linguagem para um segundo dicionário de autocorreção correspondente à segunda linguagem selecionada a partir de uma pluralidade de dicionários de autocorreção, e automaticamente corrigir o texto exibido de acordo com o segundo dicionário autocorreção, a segunda linguagem sendo diferente da primeira linguagem; e com base na determinação de que a informação de utilização é representativa de um segundo contexto de utilização do dispositivo eletrônico, desligar automaticamente um ou mais termos particulares de autocorreção do primeiro dicionário de autocorreção previamente selecionado, e corrigir automaticamente o texto exibido de acordo com o primeiro dicionário de autocorreção previamente selecionado tendo os um ou mais termos de autocorreção desligados.
2. Dispositivo eletrônico, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de utilização indica uma identidade do usuário.
3. Dispositivo eletrônico, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de utilização indica uma localização do dispositivo eletrônico.
4. Dispositivo eletrônico, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de utilização inclui informação de tempo que indica um momento no qual o texto exibido é exibido.
5. Dispositivo eletrônico, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de dicionários de autocorreção inclui um terceiro dicionário de autocorreção correspondente à primeira linguagem que é diferente do primeiro dicionário de autocorreção automática.
6. Dispositivo eletrônico, de acordo com a reivindicação 4, caracterizado pelo fato de que as informações de utilização ainda incluem informações de data que indicam uma data em que o texto exibido é exibido.
7. Método em um dispositivo eletrônico caracterizado pelo fato de que compreende as etapas de: receber, por um dispositivo de entrada do dispositivo eletrônico, um texto provido por um usuário para o dispositivo eletrônico; exibir o texto recebido em um componente de display do dispositivo eletrônico; executar, em resposta à determinação de que o texto recebido muda de uma primeira linguagem para uma segunda linguagem com base na informação de utilização: baseado na determinação de que a informação de utilização é representativa de um primeiro contexto de utilização do dispositivo eletrônico, mudar automaticamente, por um processador, a partir de um primeiro dicionário de autocorreção previamente selecionado que corresponde à primeira linguagem para um segundo dicionário de autocorreção correspondente à segunda linguagem selecionada a partir de uma pluralidade de dicionários de autocorreção, e automaticamente corrigir o texto exibido de acordo com o segundo dicionário autocorreção, e com base na determinação de que a informação de utilização é representativa de um segundo contexto de utilização do dispositivo eletrônico, desligar automaticamente um ou mais termos particulares de autocorreção do primeiro dicionário de autocorreção previamente selecionado, e corrigir automaticamente o texto exibido de acordo com o primeiro dicionário de autocorreção previamente selecionado tendo os um ou mais termos de autocorreção desligados.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a comutação automática a partir de um primeiro dicionário de autocorreção previamente selecionado compreende: comutar automaticamente para o segundo dicionário de autocorreção com base em pelo menos uma identidade do usuário.
9. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que o segundo dicionário de autocorreção corresponde a um dicionário de autocorreção para uma linguagem falada pelo usuário.
10. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a comutação automática a partir de um primeiro dicionário de autocorreção previamente selecionada compreende: comutar automaticamente para o segundo dicionário de autocorreção com base em pelo menos uma localização do dispositivo eletrônico.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que a comutação automática para o segundo dicionário de autocorreção com base em pelo menos um local do dispositivo eletrônico compreende: determinar a localização do dispositivo eletrônico em um determinador de localização do dispositivo eletrônico; comparar a localização determinada para uma pluralidade de regiões geográficas associadas com a pluralidade de dicionários de autocorreção; e comutar para o segundo dicionário de autocorreção com base pelo menos na comparação.
12. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a comutação automática a partir de um primeiro dicionário de autocorreção previamente selecionado compreende: comutar automaticamente para o segundo dicionário de autocorreção com base em pelo menos uma informação de tempo indicando um momento no qual o texto exibido é exibido.
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que a comutação automática para o segundo dicionário de autocorreção com base em pelo menos uma informação de tempo indicando um momento no qual o texto exibido é exibido compreende: determinar uma data e hora em que o texto apresentado é exibido; acessar um calendário associado ao usuário para um compromisso na data e hora determinados; e comutar para o segundo dicionário de autocorreção com base pelo menos nas informações associadas com o compromisso.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/601,712 | 2012-08-31 | ||
US13/601,712 US9218333B2 (en) | 2012-08-31 | 2012-08-31 | Context sensitive auto-correction |
PCT/US2013/056071 WO2014035773A1 (en) | 2012-08-31 | 2013-08-22 | Context sensitive auto-correction |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112015004117A2 BR112015004117A2 (pt) | 2017-08-08 |
BR112015004117B1 true BR112015004117B1 (pt) | 2021-12-28 |
Family
ID=49118792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015004117-5A BR112015004117B1 (pt) | 2012-08-31 | 2013-08-22 | Dispositivo eletrônico e método para autocorreção sensível ao contexto |
Country Status (5)
Country | Link |
---|---|
US (2) | US9218333B2 (pt) |
EP (1) | EP2891076A1 (pt) |
CN (1) | CN104603772B (pt) |
BR (1) | BR112015004117B1 (pt) |
WO (1) | WO2014035773A1 (pt) |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US20140208258A1 (en) * | 2013-01-22 | 2014-07-24 | Jenny Yuen | Predictive Input Using Custom Dictionaries |
DE112014000709B4 (de) | 2013-02-07 | 2021-12-30 | Apple Inc. | Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten |
US9305545B2 (en) * | 2013-03-13 | 2016-04-05 | Samsung Electronics Co., Ltd. | Speech recognition vocabulary integration for classifying words to identify vocabulary application group |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9977779B2 (en) * | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US20150113072A1 (en) * | 2013-10-17 | 2015-04-23 | International Business Machines Corporation | Messaging auto-correction using recipient feedback |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9536521B2 (en) * | 2014-06-30 | 2017-01-03 | Xerox Corporation | Voice recognition |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
CN104281275B (zh) * | 2014-09-17 | 2016-07-06 | 北京搜狗科技发展有限公司 | 一种英文的输入方法和装置 |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US20160110327A1 (en) * | 2014-10-20 | 2016-04-21 | Lenovo (Singapore) Pte. Ltd. | Text correction based on context |
GB2535439A (en) * | 2015-01-06 | 2016-08-24 | What3Words Ltd | A method for suggesting candidate words as replacements for an input string received at an electronic device |
EP3062212A1 (en) * | 2015-02-25 | 2016-08-31 | Kyocera Document Solutions Inc. | Text editing apparatus and print data storage apparatus |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10614056B2 (en) * | 2015-03-24 | 2020-04-07 | NetSuite Inc. | System and method for automated detection of incorrect data |
US9596204B2 (en) | 2015-05-15 | 2017-03-14 | Siemens Aktiengesellschaft | Determination of a navigational text candidate |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US9697194B2 (en) | 2015-06-08 | 2017-07-04 | International Business Machines Corporation | Contextual auto-correct dictionary |
US10318249B2 (en) * | 2015-06-08 | 2019-06-11 | International Business Machines Corporation | Extending programmer workbenches for handling programming language differences |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
JP6825199B2 (ja) * | 2015-07-16 | 2021-02-03 | 富士ゼロックス株式会社 | 表示制御装置及びプログラム |
US9753915B2 (en) | 2015-08-06 | 2017-09-05 | Disney Enterprises, Inc. | Linguistic analysis and correction |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
KR20180070659A (ko) | 2015-12-21 | 2018-06-26 | 구글 엘엘씨 | 메시징 애플리케이션들을 위한 자동적인 제안들 및 다른 콘텐츠 |
CN108781175B (zh) | 2015-12-21 | 2021-09-21 | 谷歌有限责任公司 | 用于消息交换题绪的自动建议的方法、介质及系统 |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
WO2017116471A1 (en) * | 2015-12-31 | 2017-07-06 | Technicolor Usa, Inc. | Identifying errors in input data from multiple sources |
US9936062B2 (en) | 2016-01-18 | 2018-04-03 | International Business Machines Corporation | Intelligent mode selection by correlating dynamic state of a device with users situational context |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US10169322B2 (en) * | 2016-05-03 | 2019-01-01 | Dinky Labs, LLC | Personal dictionary |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10592601B2 (en) * | 2016-06-10 | 2020-03-17 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10853732B2 (en) | 2016-06-30 | 2020-12-01 | Microsoft Technology Licensing, Llc | Constructing new formulas through auto replacing functions |
US20180032499A1 (en) * | 2016-07-28 | 2018-02-01 | Google Inc. | Automatically Generating Spelling Suggestions and Corrections Based on User Context |
US10387461B2 (en) | 2016-08-16 | 2019-08-20 | Google Llc | Techniques for suggesting electronic messages based on user activity and other context |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10015124B2 (en) | 2016-09-20 | 2018-07-03 | Google Llc | Automatic response suggestions based on images received in messaging applications |
WO2018057536A1 (en) | 2016-09-20 | 2018-03-29 | Google Llc | Bot requesting permission for accessing data |
US10547574B2 (en) | 2016-09-20 | 2020-01-28 | Google Llc | Suggested responses based on message stickers |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
CN108008832A (zh) * | 2016-10-31 | 2018-05-08 | 北京搜狗科技发展有限公司 | 一种输入方法和装置、一种用于输入的装置 |
US10049104B2 (en) | 2016-11-04 | 2018-08-14 | International Business Machines Corporation | Message modifier responsive to meeting location availability |
US10416846B2 (en) | 2016-11-12 | 2019-09-17 | Google Llc | Determining graphical element(s) for inclusion in an electronic communication |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10127219B2 (en) * | 2016-12-09 | 2018-11-13 | Hong Kong Applied Science and Technoloy Research Institute Company Limited | System and method for organizing and processing feature based data structures |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10891485B2 (en) | 2017-05-16 | 2021-01-12 | Google Llc | Image archival based on image categories |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10404636B2 (en) | 2017-06-15 | 2019-09-03 | Google Llc | Embedded programs and interfaces for chat conversations |
US10348658B2 (en) | 2017-06-15 | 2019-07-09 | Google Llc | Suggested items for use with embedded applications in chat conversations |
US11263399B2 (en) | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10891526B2 (en) | 2017-12-22 | 2021-01-12 | Google Llc | Functional image archiving |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10915183B2 (en) * | 2018-03-30 | 2021-02-09 | AVAST Software s.r.o. | Automatic language selection in messaging application |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US10440530B1 (en) | 2018-08-30 | 2019-10-08 | International Business Machines Corporation | Mobile telephone number selector |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11080487B2 (en) | 2018-11-16 | 2021-08-03 | International Business Machines Corporation | Intelligent communication message completion |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US10909973B2 (en) | 2019-01-04 | 2021-02-02 | International Business Machines Corporation | Intelligent facilitation of communications |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11537789B2 (en) | 2019-05-23 | 2022-12-27 | Microsoft Technology Licensing, Llc | Systems and methods for seamless application of autocorrection and provision of review insights through adapted user interface |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11328712B2 (en) * | 2019-08-02 | 2022-05-10 | International Business Machines Corporation | Domain specific correction of output from automatic speech recognition |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11373039B2 (en) | 2019-09-26 | 2022-06-28 | International Business Machines Corporation | Content context aware message intent checker |
US11301626B2 (en) | 2019-11-11 | 2022-04-12 | International Business Machines Corporation | Artificial intelligence based context dependent spellchecking |
US11295088B2 (en) | 2019-11-20 | 2022-04-05 | Apple Inc. | Sanitizing word predictions |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11544467B2 (en) | 2020-06-15 | 2023-01-03 | Microsoft Technology Licensing, Llc | Systems and methods for identification of repetitive language in document using linguistic analysis and correction thereof |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11562121B2 (en) * | 2020-07-29 | 2023-01-24 | Dell Products L.P. | AI driven content correction built on personas |
US11568135B1 (en) | 2020-09-23 | 2023-01-31 | Amazon Technologies, Inc. | Identifying chat correction pairs for training models to automatically correct chat inputs |
US12093644B2 (en) | 2020-12-14 | 2024-09-17 | Microsoft Technology Licensing, Llc | System for analyzing and prescribing content changes to achieve target readability level |
CN112699644A (zh) * | 2020-12-29 | 2021-04-23 | 维沃移动通信有限公司 | 信息处理方法、装置及电子设备 |
US11727940B2 (en) * | 2021-06-30 | 2023-08-15 | Rovi Guides, Inc. | Autocorrection of pronunciations of keywords in audio/videoconferences |
US20240289549A1 (en) * | 2023-02-23 | 2024-08-29 | Microsoft Technology Licensing, Llc | Autocorrect Candidate Selection |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875443A (en) * | 1996-01-30 | 1999-02-23 | Sun Microsystems, Inc. | Internet-based spelling checker dictionary system with automatic updating |
US6047300A (en) * | 1997-05-15 | 2000-04-04 | Microsoft Corporation | System and method for automatically correcting a misspelled word |
US6377965B1 (en) * | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US7319957B2 (en) * | 2004-02-11 | 2008-01-15 | Tegic Communications, Inc. | Handwriting and voice input with automatic correction |
US6556841B2 (en) * | 1999-05-03 | 2003-04-29 | Openwave Systems Inc. | Spelling correction for two-way mobile communication devices |
US6618697B1 (en) * | 1999-05-14 | 2003-09-09 | Justsystem Corporation | Method for rule-based correction of spelling and grammar errors |
US6918086B2 (en) * | 2000-03-28 | 2005-07-12 | Ariel S. Rogson | Method and apparatus for updating database of automatic spelling corrections |
JP2001346256A (ja) * | 2000-05-31 | 2001-12-14 | Toshiba Corp | 移動通信端末装置の発信方法および移動通信端末装置および情報提供サーバ |
US20020156816A1 (en) * | 2001-02-13 | 2002-10-24 | Mark Kantrowitz | Method and apparatus for learning from user self-corrections, revisions and modifications |
US7296019B1 (en) * | 2001-10-23 | 2007-11-13 | Microsoft Corporation | System and methods for providing runtime spelling analysis and correction |
CA2493443C (en) | 2002-07-23 | 2011-07-19 | Research In Motion Limited | Systems and methods of building and using custom word lists |
FI20031566A (fi) * | 2003-10-27 | 2005-04-28 | Nokia Corp | Kielen valitseminen sanantunnistusta varten |
JP3978221B2 (ja) | 2003-12-26 | 2007-09-19 | 松下電器産業株式会社 | 辞書作成装置および辞書作成方法 |
US8095364B2 (en) * | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US20050283724A1 (en) | 2004-06-18 | 2005-12-22 | Research In Motion Limited | Predictive text dictionary population |
US8972444B2 (en) | 2004-06-25 | 2015-03-03 | Google Inc. | Nonstandard locality-based text entry |
US20060025091A1 (en) * | 2004-08-02 | 2006-02-02 | Matsushita Electric Industrial Co., Ltd | Method for creating and using phrase history for accelerating instant messaging input on mobile devices |
US7664629B2 (en) * | 2005-07-19 | 2010-02-16 | Xerox Corporation | Second language writing advisor |
US7836002B2 (en) * | 2006-06-27 | 2010-11-16 | Microsoft Corporation | Activity-centric domain scoping |
US7681126B2 (en) | 2006-10-24 | 2010-03-16 | Edgetech America, Inc. | Method for spell-checking location-bound words within a document |
US20100050074A1 (en) * | 2006-10-30 | 2010-02-25 | Cellesense Technologies Ltd. | Context sensitive, error correction of short text messages |
US20080126075A1 (en) | 2006-11-27 | 2008-05-29 | Sony Ericsson Mobile Communications Ab | Input prediction |
CN104866469B (zh) * | 2007-04-11 | 2018-10-02 | 谷歌有限责任公司 | 具有第二语言模式的输入法编辑器 |
WO2009029865A1 (en) | 2007-08-31 | 2009-03-05 | Google Inc. | Automatic correction of user input |
US8341520B2 (en) * | 2007-09-24 | 2012-12-25 | Ghotit Ltd. | Method and system for spell checking |
US8091023B2 (en) * | 2007-09-28 | 2012-01-03 | Research In Motion Limited | Handheld electronic device and associated method enabling spell checking in a text disambiguation environment |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20090319258A1 (en) | 2008-06-24 | 2009-12-24 | Shaer Steven J | Method and system for spell checking in two or more languages |
US8060513B2 (en) * | 2008-07-01 | 2011-11-15 | Dossierview Inc. | Information processing with integrated semantic contexts |
US20100100371A1 (en) * | 2008-10-20 | 2010-04-22 | Tang Yuezhong | Method, System, and Apparatus for Message Generation |
WO2010068445A2 (en) * | 2008-11-25 | 2010-06-17 | Spetalnick Jeffrey R | Methods and systems for improved data input, compression, recognition, correction, and translation through frequency-based language analysis |
US20100131447A1 (en) * | 2008-11-26 | 2010-05-27 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism |
US8677236B2 (en) * | 2008-12-19 | 2014-03-18 | Microsoft Corporation | Contact-specific and location-aware lexicon prediction |
US20100325539A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Web based spell check |
US20110041177A1 (en) * | 2009-08-14 | 2011-02-17 | Microsoft Corporation | Context-sensitive input user interface |
EP2629211A1 (en) * | 2009-08-21 | 2013-08-21 | Mikko Kalervo Väänänen | Method and means for data searching and language translation |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8830182B1 (en) * | 2010-02-09 | 2014-09-09 | Google Inc. | Keystroke resolution |
US8782556B2 (en) * | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
JP5642809B2 (ja) * | 2010-03-12 | 2014-12-17 | ニュアンス コミュニケーションズ, インコーポレイテッド | 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム |
US9767095B2 (en) * | 2010-05-21 | 2017-09-19 | Western Standard Publishing Company, Inc. | Apparatus, system, and method for computer aided translation |
US8588825B2 (en) * | 2010-05-25 | 2013-11-19 | Sony Corporation | Text enhancement |
US8473289B2 (en) * | 2010-08-06 | 2013-06-25 | Google Inc. | Disambiguating input based on context |
US8359020B2 (en) * | 2010-08-06 | 2013-01-22 | Google Inc. | Automatically monitoring for voice input based on context |
US8903719B1 (en) * | 2010-11-17 | 2014-12-02 | Sprint Communications Company L.P. | Providing context-sensitive writing assistance |
US8473507B2 (en) * | 2011-01-14 | 2013-06-25 | Apple Inc. | Tokenized search suggestions |
US9330082B2 (en) * | 2012-02-14 | 2016-05-03 | Facebook, Inc. | User experience with customized user dictionary |
US20140035823A1 (en) * | 2012-08-01 | 2014-02-06 | Apple Inc. | Dynamic Context-Based Language Determination |
-
2012
- 2012-08-31 US US13/601,712 patent/US9218333B2/en not_active Expired - Fee Related
-
2013
- 2013-08-22 CN CN201380045762.7A patent/CN104603772B/zh active Active
- 2013-08-22 EP EP13759364.6A patent/EP2891076A1/en not_active Ceased
- 2013-08-22 BR BR112015004117-5A patent/BR112015004117B1/pt active IP Right Grant
- 2013-08-22 WO PCT/US2013/056071 patent/WO2014035773A1/en unknown
-
2015
- 2015-12-17 US US14/973,222 patent/US20160103813A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20160103813A1 (en) | 2016-04-14 |
US20140067371A1 (en) | 2014-03-06 |
BR112015004117A2 (pt) | 2017-08-08 |
CN104603772B (zh) | 2017-11-17 |
US9218333B2 (en) | 2015-12-22 |
EP2891076A1 (en) | 2015-07-08 |
WO2014035773A1 (en) | 2014-03-06 |
CN104603772A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR112015004117B1 (pt) | Dispositivo eletrônico e método para autocorreção sensível ao contexto | |
US10489506B2 (en) | Message correction and updating system and method, and associated user interface operation | |
US9977779B2 (en) | Automatic supplementation of word correction dictionaries | |
EP2579251B1 (en) | Interactive text editing | |
US20140035823A1 (en) | Dynamic Context-Based Language Determination | |
KR102568097B1 (ko) | 파싱 데이터의 관련 정보를 표시하는 방법 및 전자 장치 | |
EP3318983A1 (en) | Word-level correction of speech input | |
US20140317495A1 (en) | Retroactive word correction | |
US20150113073A1 (en) | Correction of incoming messaging | |
US20150149896A1 (en) | Recipient-based predictive texting | |
US9697194B2 (en) | Contextual auto-correct dictionary | |
JP2020181584A (ja) | メッセージングアプリケーションにおいて応答を送信するためのシステムおよび方法 | |
CN110785762B (zh) | 用于编写电子消息的系统和方法 | |
KR101669202B1 (ko) | 의사 소통 보조 디바이스 및 의사 소통 보조 방법 | |
US20180011925A1 (en) | Displaying conversion candidates associated with input character string | |
JP2012511759A (ja) | ユーザ指定された語句入力学習 | |
US20200409474A1 (en) | Acceptance of expected text suggestions | |
US20220414334A1 (en) | Post-model filtering of predictive text | |
US20140208230A1 (en) | Autocorrect Highlight and Re-Work | |
EP2797009A1 (en) | Retroactive word correction | |
US10824332B2 (en) | Controlling touchscreen inputs to a device | |
KR20130016867A (ko) | 민감한 단어를 표시할 수 있는 사용자 단말,및 사용자 단말의 민감한 단어 표시 방법 | |
KR20170019811A (ko) | 전자 장치 및 전자 장치의 문자 입력 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B25A | Requested transfer of rights approved |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 22/08/2013, OBSERVADAS AS CONDICOES LEGAIS. |