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 PDF

Info

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
Application number
BR112015004117-5A
Other languages
English (en)
Other versions
BR112015004117A2 (pt
Inventor
Christian Liensberger
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112015004117A2 publication Critical patent/BR112015004117A2/pt
Publication of BR112015004117B1 publication Critical patent/BR112015004117B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User 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/72436User 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72451User 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

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

ANTECEDENTES
[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.
SUMÁRIO
[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.
BREVE DESCRIÇÃO DOS DESENHOS
[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.
DESCRIÇÃO DETALHADA I. INTRODUÇÃO
[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.
II. MODALIDADES EXEMPLARES
[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:
Figure img0001
[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.).
A. CORRIGIR AUTOMATICAMENTE UM TEXTO COM BASE NA IDENTIDADE DE USUÁRIO
[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.
B. CORRIGIR AUTOMATICAMENTE O TEXTO COM BASE EM LOCALIZAÇÃO
[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.
C. CORRIGINDO AUTOMATICAMENTE UM TEXTO COM BASE EM INFORMAÇÕES DE TEMPO
[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.
D. MODALIDADES ADICIONAIS PARA AUTOMATICAMENTE CORRIGIR UM TEXTO
[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.
III. MODALIDADES DE DISPOSITIVO DE COMPUTAÇÃO EXEMPLARES
[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.
IV. CONCLUSÃO
[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.
BR112015004117-5A 2012-08-31 2013-08-22 Dispositivo eletrônico e método para autocorreção sensível ao contexto BR112015004117B1 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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.