MX2007013357A - Metodo y sistema para generar sugerencias ortograficas. - Google Patents
Metodo y sistema para generar sugerencias ortograficas.Info
- Publication number
- MX2007013357A MX2007013357A MX2007013357A MX2007013357A MX2007013357A MX 2007013357 A MX2007013357 A MX 2007013357A MX 2007013357 A MX2007013357 A MX 2007013357A MX 2007013357 A MX2007013357 A MX 2007013357A MX 2007013357 A MX2007013357 A MX 2007013357A
- Authority
- MX
- Mexico
- Prior art keywords
- words
- candidate
- substitution
- word
- entered
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
Un metodo implementado por computadora para sugerir la sustitucion de palabras para palabras de una cadena. En el metodo, se recibe una cadena ingresada de palabras ingresadas. Las palabras ingresadas se hacen coincidir entonces con palabras tematicas de una tabla candidata. Despues, se extraen las palabras de sustitucion candidatas y las puntuaciones de la tabla candidata correspondiente con las palabras tematicas coincididas. Cada puntuacion es indicativa de una probabilidad de que la palabra ingresada deba sustituirse por la palabra de sustitucion candidata correspondiente. Finalmente, la sustitucion de las palabras ingresadas por sus palabras de sustitucion candidatas correspondientes se sugiere selectivamente con base en las puntuaciones para las palabras de sustitucion. Otro aspecto de la presente invencion se dirige a un sistema de correccion ortografica que se configura para implementar el metodo.
Description
ETODO Y SISTEMA PARA GENERAR SUGERENCI. ORTOGRÁFICAS
CAMPO DE LA INVENCIÓN
La presente invención en general se refiere a métodos y sistemas! de corrección ortográfica y, más particularmente, a métodos y sistemas de corrección ortográfica que se configuran para sugerir palabras! de sustitución para aquéllas de una cadena ingresada que se basan en las palabras en la cadena ingresada.
ANTEDEDENTES DE LA -NVENC.QN
Entradas de texto, tales como aquéllas en documentos generados al utilizar una aplicación para procesamiento de palabras, pueden ¡contener muchos diferentes tipos de errores, incluyendo errores ortográficos. Los errores ortográficos que dan como resultado palabras no válidas por lo general se pueden manejar mediante un corrector ortográfico basado en un diccionario. Tales errores ¡ortográficos pueden ocurrir debido a un error tipográfico o por ignorancia de la ortografía de la palabra. Los correctores ortográficos basados en un diccionario comparajn las palabras en la entrada de texto con un diccionario de palabras e identifican las palabras en la entrada de texto que no se encuentrtan en el diccionario. Por lo general se sugieren una o más
palabras de sustitución para la palabra con error ortográfico. Por ejemplo.j en la entrada de texto " f I y frm Boston", el corrector ortográfico identificaría "frm" como un error ortográfico. i Ojros tipos de errores ortográficos dan como resultado palabras, válidas que por lo general no se pueden detectar utilizando aplicaciones de corrección ortográfica tradicionales. Por ejemplo, el usuario jde la aplicación para procesamiento de palabras puede ingresan una palabra válida accidental como resultado de un error tipográfico o por ignorancia de la ortografía de la palabra deseada. Por ejen plo, en una entrada de texto "f I y form Boston", la palabra "form" e|s una palabra válida que las aplicaciones de corrección ortog ráfi|ca convencionales no indicarían, aunque la palabra es un error ortográfico de la palabra "from". La corrección de estos tipos de errofes ortográficos por lo general requiere un análisis del contexto en el que se utiliza la palabra. Aplicaciones de corrección ortográfica tradicionales por lo general basan las palabras de sustitución sugeridas para las palabras no válidas identificadas en una distancia de edición. La distancia de edición representa el cambio que se requiere para i formar una palabra alternativa válida. La palabra en el diccionario que tie?e la distancia de edición más corta a partir de la palabra i inválida' escrita a máquina es la primera palabra de sustitución que se sugiere al usuario. Por ejemplo, en la frase "f I y frm Boston", la mayoría de las aplicaciones de corrección ortográfica sugerirían "form" como la palabra de sustitución antes de que se sugiera la
palabra correcta "from", debido a que el contexto de la palabra no se toma en' cuenta cuando se realiza la sugerencia. Para sugerir la palabra de sustitución más apropiada para el error ortográfico, se debe realizar un análisis del contexto en el que se encuentra el error ortográfico. En consecuencia, existe una necesidad de métodos y sistemas de corrección ortográfica mejorados que puedan analizar el contexto en el que se utilizan las palabras para proporcionar mejores sugerencias para las palabras con errores ortográficos y una deteccióp mejorada de palabras válidas que se utilizan de manera
I incorrectia. Las modalidades de la presente invención proporcionan solucion s a estos y otros problemas, y ofrecen otras ventajas sobre la técnica anterior
BREVE DESCRIPCIÓN DE LA INVENCIÓN
Lá presente invención en general se refiere a métodos y sistema^ de corrección ortográfica que utilizan una tabla candidata que inciuye palabra temática y pares de palabras de sustitución candidatas y una puntuación para cada par, en el que están basadas las sugerencias de sustitución de palabras. U,n aspecto de la presente invención se relaciona con un método ' ¡mplementado por computadora para la sugerencia de palabras1 de sustitución para palabras de una cadena. En el método,
se recibe una cadena ingresada de palabras ingresadas. Las palabras; ingresadas se hacen coincidir entonces con las palabras temáticas de una tabla candidata. Después, se extraen las palabras de sustitución candidatas y las puntuaciones candídatas de la tabla candidatá que corresponde con las palabras temáticas coincididas. Cada puntuación candidata es indicativa de una probabilidad de que la palabra ingresada debe sustituirse por la palabra de sustitución candidato correspondiente. Finalmente, la sustitución de las palabras ingresadas por sus palabras de sustitución candidatas correspondientes se sugiere selectivamente con base en las i puntuaciones candidatas para las palabras de sustitución. Otro aspecto de la presente invención se dirige a un sistema de corrección ortográfica para la sugerencia de palabras de sustitución para palabras ingresadas de una cadena ingresada. El sistema ¡ncluye un generador candidato y un procesador ortográfico contextual candidato. El generador candidato incluye un resultado de una palabra de sustitución candidata y una puntuación candidata correspondiente para cada una de las palabras ingresadas que coincide? con una palabra temática de una tabla candidata. Cada puntuación candídata es indicativa de una probabilidad de que la palabra ingresada debe sustituirse por la palabra de sustitución candidata correspondiente. El procesador ortográfico contextual ¡ncluye lin resultado selectivo de palabras de sustitución candidatas para la? palabras ingresadas con base en las puntuaciones candidatás correspondientes.
Aún otro aspecto de la presente invención se dirige a un método par la formación de una tabla candidata para su uso en un sistema ! de corrección ortográfica para sugerir palabras de sustitución para palabras ingresadas de una cada ingresada. En el método, 'se proporciona un diccionario de palabras. Después, se comparan las palabras temáticas del diccionario con las otras palabras del diccionario. Se identifican entonces palabras de sustitución candidatas para las palabras temáticas con base en la comparación. Se forma entonces una tabla candidata que incluye pares dq las palabras temáticas identificadas y de sus palabras de
¡ sustitución candidatas correspondientes. Finalmente, se hace una puntuación de la tabla candidata en un medio que se puede leer por computadora. Otras características y beneficios que caracterizan las modalidades de la presente invención serán aparentes a partir de la lectura de la siguiente descripción detallada y de la revisión de los dibujos asociados.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques de un entorno informático en el que se puede practicar la presente invención. Lá Figura 2 es un diagrama de flujo que ilustra un método para la sugerencia de palabras de sustitución para palabras de una cadena, de acuerdo con las modalidades de la invención.
Lá Figura 3 es un diagrama de bloques de un sistema de corrección ortográfica, de acuerdo con las modalidades de la i n ve nció ifi . La Figura 4 es un diagrama de flujo que ilustra un método para la generación de una tabla candidata para su uso en un sistema de correjcción ortográfica para sugerir palabras de sustitución para palabras! ingresadas de una cadena ingresada, de acuerdo con las modalidades de la invención.
DESCRIPCIÓN DETALLADA DE LAS MOD LIDADES ILUSTRATIVAS
La presente invención en general se refiere a un método y sistema ¡ de corrección ortográfica para proporcionar sugerencias precisas de palabras de sustitución para palabras ingresadas de una cada ingresada que no son válidas. Adicionalmente, el método y sistema ¡de corrección ortográfica de la presente invención puede proporcionar sugerencias de palabras de sustitución para palabras ingresadas válidas de una cadena ingresada que se utilizan de manera ¡incorrecta. Las Modalidades de la presente invención basan las sugerencias de palabras de sustitución en el contexto en el que se utilizan las palabras ingresadas. Ajntes de describir en detalle la presente invención, se proporcionará una discusión de los entornos informáticos ejemplares en los que se puede utilizar la presente invención.
Entorno Ir-foprmá-ico Ejemplar La Figura 1 ilustra un ejemplo de un entorno 100 de sistema ?nformát?¡co adecuado en el que se puede implementar la invención
I El entorno 100 de sistema informático sólo es un ejemplo de un entorno informático adecuado y no pretende sugerir ninguna limitacióh en lo que se refiere al alcance de uso o funcionalidad de la invención El entorno 100 informático tampoco debe interpretarse como que tiene alguna dependencia o requerimiento en relación con alguno o combinación de los componentes ilustrados en el entorno
I 100 opetjativo ejemplar Lá invención se puede operar con otros numerosos entornos o configuraciones de sistema informáticos de aplicación especial o de aplicación general Ejemplos de sistemas, entornos y/o configuraciones informáticas que pueden ser adecuadas para su uso con la invención incluyen, pero no se limitan a, computadoras personales, servidores, dispositivos de computadoras portátiles o de mano, sistemas de multiprocesadores, sistemas basados en microprocesadores, descodificadores de señales, electrónica de consumidor programable, PCs en red, minicomputadoras, i computajdoras centrales, entornos informáticos distribuidos que incluyan cualquiera de los sistemas o dispositivos anteriores, y similares Lá invención puede describirse en el contexto general de las instrucciones ejecutables por computadora, tales como módulos de program'a, que se ejecutan mediante una computadora En general,
los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que realizan tareas particulares o que implantan tipos de datos abstractos particulares.
La ¡nven'ción también puede practicarse en entornos informáticos distribuidos donde las tareas se realizan mediante dispositivos de procesamiento remotos que se enlazan a través de una red de comunicaciones En un ambiente informático distribuido, los módulos de programa pueden localizarse tanto un medio de almacenamiento informátibo tanto remoto como local que incluya dispositivos de almacenamiento de memoria Có^n referencia a la Figura 1, un sistema ejemplar para implantar la invención incluye un dispositivo informático de aplicacióin general en forma de una computadora 110. Los componentes de la computadora 110 pueden incluir, pero no se limitan a¡ , una unidad 120 de procesamiento, una memoria 130 de sistema y un conductor común 121 del sistema que acople varios compon ejn tes de sistema que incluyan la memoría de sistema hasta la unidad 1 '20 de procesamiento. El conductor común 121 del sistema puede ser de varios tipos de estructuras de conductor común, incluyendo un conductor común de memoria o un controlador de memoria,! un conductor común periférico y un conductor común local que utilice cualquiera de una variedad de arquitecturas del conductor común. A modo de ejemplo, y no de limitación, tales arquitecturas incluyen ' conductor común de Arquitectura Industrial Normalizada (ISA), conductor común de Arquitectura de Microcanal (MCA),
conductor común de Arquitectura Normalizada Industrial Avanzada (EISA), Conductor común local de la Asociación para estándares Electrónicos y de Video (VESA), y conductor común para
Interconexión de Componentes Periféricos (PCI), también conocido como conductor común de mézanme. La. computadora 110 típicamente incluye una variedad de medios que se pueden leer por computadora. Los medios que se pueden l¡eer por computadora pueden ser cualquier medio disponible al que se pueda tener acceso medíante la computadora 110 e ¡ncluye medios tanto volátiles y no volátiles como medios extraíbles y no extraíblejs A modo de ejemplo, y no de limitación, los medios que se pueden leer por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación. El medio die almacenamiento por computadora incluye tanto medios volátiles' y no volátiles como extraíbles y no extraíbles implantados en cualquier método o tecnología para el almacenamiento de informac¡?ón, tal como instrucciones ejecutables por computadora, estructuras de datos, módulos de programa u otros datos. El medio de almacenamiento de computadora incluye, pero no se limita a, memorias RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos digitales de video (DVD) u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento, o cualquier otro medio que pueda utilizarse para almacenar la información deseada y al que se pueda tener acceso
mediante' la computadora 110 El medio de comunicación típicamente representa instrucciones ejecutables por computadora, estructuras
I de datosj, módulos de programa u otros datos en una señal de datos modulada, tal como un WAV portador u otro mecanismo de trasporte
I e incluye cualquier medio de entrega de información El término
"señal de datos modulada" significa una señal que tiene una o más de sus características ajustadas o cambiadas de tal manera que codifique información en la señal A modo de ejemplo, y no de hmitació'n, el medio de comunicación incluye medios alámbricos, tal como unía red alámbrica o una conexión alámbrica directa, y medios inalámbpicos, tales como acústicos, RF, infrarrojos y otros medios inalámbricos También deben incluirse combinaciones de cualquiera de los anteriores dentro del alcance de los medios que se pueden leer por ¡computadora La memoria 130 de sistema incluye medios de almacenamiento
I por computadora en forma de memoria volátil y/o no volátil, tal como la memoria 131 sólo de lectura (ROM) y la memoria 132 de acceso aleatopf (RAM) Un sistema 133 básico de entrada/salida (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre lo elementos dentro de la computadora 110, tal como durante el inicio, se almacena típicamente en la ROM 131 La RAM 132 i típicamente contiene datos y/o módulos de programa a los que se tiene acceso inmediatamente y/o sobre los que se opera en ese momentp mediante la unidad 120 de procesamiento A modo de ejemplo', y no de limitación, la Figura 1 ilustra el sistema 134
operativo, los programas 135 de aplicación, otros módulos 136 de programa y datos 137 de programa. L computadora 110 también puede incluir otros medios de almacenamiento por computadora volátiles y no volátiles, extraíbles y no extraíbles A modo de ejemplo solamente, la Figura 1 ilustra una unidad 1 ¡41 de disco duro que lee de o escribe a un medio magnético no volatíjl, no extraíble, una unidad 151 de disco magnético que lee de o escribe a un disco 152 magnético no volátil, extraíble, y una unidad 155 de disco óptico que lee de o escribe a un disco 156 óptico n© volátil, extraíble, tal como un CD ROM u otro medio óptico. Otros rriedios de almacenamiento por computadora volátiles/no volátiles, extraíbles/no extraíbles que se pueden utilizar en el entorno ¡operativo ejemplar incluyen, pero no se limitan a, casetes de cinta m¡agnética, tarjetas de memoria flash, discos versátiles digitales,, cintas de video digitales, RAM de estado sólido, ROM de estado ¿olido y similares. La unidad 141 de disco duro se conecta típicame|nte al conductor común 121 del sistema a través de una interfase de memoria no extraíble, tal como la interfase 140, y la unidad ¡151 de disco magnético y unidad 155 de disco óptico se conectan típicamente al conductor común 121 del sistema mediante una interfase de memoria extraíble, tal como la interfase 150. Las unidades y sus medios de almacenamiento por computa|dora, discutidos en lo anterior e ilustrados en la Figura 1, proporcionan un almacenamiento de instrucciones ejecutables de computajdora, estructuras de datos, módulos de programa y otros
datos para la computadora 110 En la Figura 1, por ejemplo, la i unidad 141 de disco duro se ilustra como sistema 144 operativo de almacenamiento, programas 145 de aplicación, otros módulos 146 de programa y datos 147 de programa Observe que estos componentes pueden ser ya sea los mismos o diferentes del sistema 134 operativo, programa 135 de aplicación, otros módulos 136 de programa y datos 137 de programa Se les da números diferentes aquí al sistema 144 operativo, a los programas 145 de aplicación, a otros mo dulos 146 de programa y a los datos 147 de programa para ilustrar que, como mínimo son copias diferentes I Ur¡? usuario puede ingresar comandos e información en la computadora 110 a través de dispositivos de entrada, tales como un ! teclado 162, un micrófono 163 y un dispositivo 161 de indicación, tal como urji ratón, bola de mando o tablero gráfico táctil Otros
¡ dispositivos de entrada (no mostrados) pueden incluir una palanca de i mando, ijnando para juegos, antena parabólica, escaner o similares
Estos y otros dispositivos de entrada por lo general se conectan a la i unidad i 20 de procesamiento a través de una interfase 160 de entrada de usuario que se acopla al conductor común del sistema,
I pero pueden conectarse mediante otras interfaces y estructuras de conductor común, tal como un puerto paralelo, puerto para juegos o
¡ un conductor común de serie universal (USB) Un monitor 191 u otro tipo de dispositivo de despliegue también se conecta al conductor común i 21 del sistema mediante una interfase, tal como una i interfasej 190 de video Ademas del monitor, las computadoras
también pueden incluir otros dispositivos de salida periféricos, tales como bocinas 197 e impresora 196, los cuales pueden conectarse a través dé una interfase 190 periférica de salida. La computadora 110 puede operar en un entorno conectado a la red, tilizando conexiones lógicas a una o más computadoras remotas,1 tal como una computadora 180 remota. La computadora 180 remota puede ser una computadora personal, un dispositivo portátil, un servidor, un enrutador, una PC en red, un dispositivo de extremo u otro nédo de red común, y típicamente incluye muchos o todos los elementos descritos en lo anterior en relación con la computadora 110. Las conexiones lógicas representadas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también pueden incluir otras redes. Tales entornos de conexiones de redes son comunes en oficinas, redes informáticas para todja la empresa, redes internas y la Internet. Cuando se utiliza en un entorno de conexión de red LAN, la computadora 110 se conecta a la LAN 171 a través de una interfase de red b adaptador 170. Cuando se utiliza en un entorno de red WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAM 173, tal como la Internet.; El módem 172, el cual puede ser interno o externo, puede conectarse al conductor común 121 del sistema mediante la interfase 160 de entrada de usuario, u otro mecanismo apropiado. En un entorno 'conectado a la red, los módulos de programa representados
I en relaóión con la computadora 110, o porciones de los mismos,
pueden almacenarse en el dispositivo de almacenamiento de memoria remota ¡A modo de ejemplo, y no de limitación, la Figura 1 ilustra
I programas 185 de aplicación remotos que residen en la computadora i 180 remota Se apreciará que las conexiones de red mostradas son i ejemplares y que se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras Debe observarse que la presente invención puede llevarse a cabo en un sistema de computadora tal como aquél descrito con respecto! a la Figura 1 Sin embargo, la presente invención puede llevársela cabo en un servidor, una computadora dedicada al manejo de mensajes, o en un sistema distribuido en el que porciones diferentes de la presente invención se lleven a cabo en partes diferentes del sistema informático distribuido
Método y Sistema de Corrección Ortográfica C¡omo se menciono en lo anterior, la presente invención en general ¡se refiere a un método y sistema de corrección ortográfica i para proporcionar sugerencias precisas de palabras de sustitución para palabras ingresadas de una cadena ingresada que no son válidas Adicionalmente, el método y sistema de corrección ortográfica de la presente invención pueden proporcionar
I sugerencias de palabras de sustitución para palabras ingresadas válidas ¡ de una cadena ingresada que se utilizan de manera incorrecita Las sugerencias de palabras de sustitución proporcionadas por la presente invención por lo general se basan en
el contento en el cual se utilizan las palabras ingresadas. I Adicionalmente, la presente invención proporciona un método basado én datos para corrección ortográfica. Como resultado, las modalidades del método y sistema de corrección ortográfica no requieren el mismo tipo de especializaron lingüística teórica que los
I correctoifes gramaticales basados en reglas o sintaxis. La implantabíón también es mucho más simple que aquélla de los sistemas; basados en reglas, con costos de seguridad y de mantenimiento más bajos. Adicionalmente, el mecanismo para
I generar ¡sugerencias por lo general es independiente del lenguaje y puede adaptarse a múltiples idiomas. Las modalidades de la presente invención se discutirán con referencia a las Figuras 2 y 3. La Figura 2 es un diagrama de flujo que i I u s|t r a un método para sugerir palabras de sustitución para palabras! de una cadena, de acuerdo con las modalidades de la invención La Figura 3 es un diagrama de bloques de un sistema 200 de corrección ortográfica, de acuerdo con las modalidades de la
I invención, que se configura para implantar el método. I Eh la etapa 202 del método, el sistema 200 de corrección ortográfica recibe una cadena 204 ingresada de palabras ingresadas. La cadena 204 ingresada puede ingresarse inicialmente por un usuario ¡ de la aplicación 206 para procesamiento de palabras medíant un teclado, un micrófono (es decir, dictado), u otro método convencional. De manera alterna, la cadena 204 ingresada puede recuperarse de un documento existente, un página web o de otra
fuente ! De preferencia, la aplicación 206 proporciona la cadena 204 ingresada al sistema 200 en oraciones completas Adicionalmente, la cadena 204 ingresada se puede proporcionar al sistema 200 de corrección ortográfica en una forma de señal u otro formato reconocible, o cambiarse de otro modo en el formato mediante el sistema 200 I La cadena ingresada se proporciona a un generador 208 i candidato desde un procesador 210 ortográfico contextual del i sistema £00 De preferencia, la cadena 204 ingresada solo contiene
I palabras|vál?das (es decir, escritas correctamente). De acuerdo con una modalidad del método, las palabras ingresadas con errores ortográficos de la cadena 204 ingresada se corrigen ! utilizando un corrector 212 ortográfico basado en un diccionario El corrector 212 ortográfico compara cada palabra ingresada de la cadena 204 ingresada con las palabras de un diccionaiiio 214 Las sustituciones sugeridas par las palabras ingresadas que se encuentran contenidas en el diccionario 214 se i generan i mediante el corrector 212 ortográfico de acuerdo con métodos¡ convencionales Las sustituciones sugeridas generadas mediante' el corrector 212 ortográfico pueden presentarse al usuario para la jselección de una sustitución para palabras con errores ortográficos identificadas mediante el corrector 212 ortográfico y en consecuencia la cadena ingresada se modifica De manera alterna, las correcciones sugeridas generadas mediante el corrector 212
ortográfico para palabras ingresadas con errores ortográficos se proporcionan al generador 208 candidato, el cual forma una cada ingresada que contiene sólo palabras válidas La cadena ingresada que contliene sólo palabras válidas se analiza entonces mediante el generador 208 candidato El! propósito del generador 208 candidato es identificar las palabras! de sustitución candidatas que sean similares, o que se relacionen de otro modo, con las palabras ingresadas de la cadena 204 ingresada Las palabras de sustitución candidatas pueden proporcionarse después a la aplicación 206 como palabras de sustitución sugeridas para las palabras ingresadas Los pares de palabra ' de sustitución candidata y la palabra ingresada se encuentran contenidos en una tabla 216 candidata. La tabla 1 es un ejemplo de una porción de una tabla 216 cand?dat|a, de acuerdo con las modalidades de la invención La tabla
216 can idata incluye palabras temáticas que se asocian, cada una, con una palabra de sustitución candidata, y una puntuación i cand?dat!a es indicativa de una probabilidad de que la palabra
I temática' debe sustituirse por la palabra de sustitución candidata
Tabla 1: Tabla Candida-a llus-ratova
! Pa ab ra de Sustitución Puntuación Palabra Tem át ca Candidata Candidata Edición
Aback alack 0 543 b:1
Aback back 0 023 a: A b a 1 o n e s abalone's 0 870 A
Abandonad abandoner 0 765 d:r
Break break 0 689 H
Una modalidad de la Tabla 216 candidata incluye una entrada editada bara cada par de palabra de sustitución candidata y temática que describe el cambio que debe realizarse en la palabra temática para formar la palabra de sustitución candidata. Por ejemplo, para cambiar "aback" a "alack", la "b" de "aback" debe cambiarse a una
"I", lo cual se denota como "b:l". De manera similar, la eliminación de
! la primqra "a" en "aback" para formar la palabra de sustitución candidata "back" puede denotarse como "a:" La adición de las "" para abalone's puede denotarse simplemente como "A". Palabras de sustitución candidatas homónimas, tal como "brake" para la palabra temática "break", se denotan como "H". También se pueden utilizar otros m todos para identificar varias ediciones que deben realizarse
! para cambiar la palabra temática a la palabra de sustitución candidata correspondiente. Eil procesador ortográfico contextual puede utilizar la entrada
editada én la tabla candidata para modificar la puntuación para la palabra ¡de sustitución candidata durante un análisis de la cadena ingresada. Las entradas editadas pueden agruparse en clases y asignárseles valores diferentes que reflejen tales cosas como la frecuencia de una clase de tipos de edición. Entre más elevado sea el valor, ¡mayor es el efecto del tipo de edición en una puntuación de i palabra la palabra de sustitución candidata. Estas puntuaciones de clases o tipos de edición pueden ser además de o incluirse en la puntuación candidata. Por ejemplo, una edición para eliminar un carácter i inicial de la palabra temática para formar la palabra de sustitución capdidata puede dar como resultado un aumento en la puntuación para la palabra de sustitución candidata. D acuerdo con una modalidad de la invención, la tabla 216 candidata se almacena en un medio que se puede leer por computadora como un archivo binario, el cual se carga en la memoria del entorno informático para su acceso rápido por el sistema 200 de corrección ortográfica De acuerdo con una modalidad de la invención, la tabla 216 candidata se almacena como una tabla hash en el arcjhivo binario. Dé acuerdo con otra modalidad de la tabla 216 candidata, los identifícádores de diccionario se utilizan para identificar las palabras de sustitución candidata y temática. Los identificadores de diccionario proporcionan un enlace a las palabras correspondientes en un diccionario, tal como el diccionario 214 mostrado en la Figura 3. Esta modalidad de la invención opera para reducir la cantidad de
memoria' que se requiere para almacenar la extensa tabla 216 candidata Erji la etapa 218 del método, el generador 208 candidato hace co?nc?d?r¡ las palabras ingresadas de la cadena 204 ingresada con las palabras temáticas de la tabla 216 candidata Las palabras 222 de sustitución candidatas y las puntuaciones 224 candidatas
! correspo'ndientes se extraen entonces de la tabla 216 candidata para cada palabra ingresada de la cadena 204 ingresada con base en la palabra t|emát?ca coincidida correspondiente, en la etapa 220 Debido a que pjueden existir muchas palabras de sustitución candidatas asociadals con la misma palabra ingresada o temática, el generador 208 candidato puede producir más de un par de puntuación y palabra de sustitución candidata para cada palabra ingresada coincidida Los pares de puntuación 224 y palabra 222 de sustitución candidata se transmiten al procesador 210 ortográfico contextual para su procesamiento adicional La puntuación 224 candidata en la tabla 216 candidata por lo general es indicativa de una probabilidad de que la palabra ingresad^ debe sustituirse por la palabra de sustitución candidata i correspondiente Adicionalmente, la puntuación 224 candidata puede reflejar la cantidad de error entre la palabra temática y la palabra
222 de s stitución candidata correspondiente i De acuerdo con una modalidad de la invención, la puntuación
224 candidata se base en uno o más factores, cada uno de los cuales de preferencia se multiplica en conjunto para formar la puntuación
candidatá para el par de palabra de sustitución candidata y palabra temática; en la tabla 216 candidata. Tales factores incluyen una edición o distancia de escritura entre la palabra temática y la palabra de sustitución candidata, la heurística, una diferencia fonética entre la palabra temática y la palabra de sustitución candidata, y otros factores que pueden relacionarse con una probabilidad de que la palabra de sustitución candidata debe sustituir la palabra temática. Las puntuaciones 224 candídatas basadas en un tipo de edición heurística variarán dependiendo de la diferencia entre la palabra ¡temática y la palabra de sustitución candidata. Por ejemplo, la probabilidad de que una palabra temática en singular deba cambiarle por una palabra de sustitución candidata en plural puede ser poco común. Como resultado, a tales palabras de sustitución candidatos se les debe dar una puntuación candidata baja. Por otro lado, cµando el cambio de la palabra temática a la palabra de sustitución candidata implica una modificación del primer carácter solamenjte, lo cual se relaciona con un error ortográfico encontrado con más frecuencia, tales pares de palabras de sustitución candidatas y temáticas reciben una puntuación candidata alta. Relacionadas también con la distancia de edición se encuentran las puntuaciones que están basadas en la separación de la palabra temática en dos palabras al agregar un espacio a la palabra ¡temática. A tales ediciones se les asigna generalmente una puntuación candídata alta debido a su frecuencia relativamente alta. Cuando la palabra de sustitución candidata es una homófona o
casi homófona de la palabra temática, al par de palabras se le asigna u¡na puntuación más alta que cuando la palabra de sustitución candidato no tiene semejanza sustancialmente en forma fonética con la palabija temática. I Eh la etapa 226 del método, el procesador 210 ortográfico contextujal produce selectivamente un resultado 230 de las palabras
222 de sustitución candidatas para las palabras ingresadas de la cadena i ' 204 ingresada, basándose en las puntuaciones 224 correspondientes de las palabras 222 de sustitución candidatas. De acuerdo con una modalidad de la invención, el sistema 200 ¡ncluye un modelo 240 de lenguaje que recibe cadenas 242 de sustitución candidatas del procesador 210 ortográfico contextual. Las cadenas i 242 de! sustitución candidatas son cadenas 204 ingresadas modifica¡das, cada una de las cuales incluye una palabra 222 de sustitución candidata en lugar de la palabra ingresada correspondiente. i E¡l modelo 240 de lenguaje opera para producir puntuaciones
244 de ?robabilidad para cada una de las cadenas 242 de sustitución candidatas. Las puntuaciones 244 de probabilidad proporcionan una
I medida ¡ de probabilidad de ver la cadena 242 de sustitución candidata particular basada en datos 246 estadísticos (es decir,
¡ datos dé frecuencia de ocurrencia de palabra en relación con otras palabra^) para un bloque grande de oraciones. En general, se asume que ent^e más probable sea ver una cadena particular de palabras, j es más probable que las palabras contenidas en la cadena se utilicen
de manera correcta De este modo, la puntuación 244 de probabilidad para cada cadena 242 de sustitución candidata refleja la exactitud de la combinación de las palabras ingresadas con la palabra de sustitución candidata en esa cadena ¡ Lá puntuación 244 de probabilidad (denotada como P (contexto)) para una cadena de palabras dada (es decir, W?,w2,w3.. wN) puede calcularse de acuerdo con la Ecuación 1, utilizando los datos 246 estadísticos. En general, la probabilidad de la cadena es igual a la probabilidad de cada palabra en la cadena asignada a las otras. De este modo, la probabilidad de la cadena es igual a lá probabilidad de la primera palabra (P(w ) multiplicada por
! la probabilidad de la segunda palabra asignada a la primera palabra (P(w2| wr)), multiplicada por la probabilidad de la tercera palabra asignada a la primera y segunda palabras (P(w31 w2,W!)), y así sucesivamente. P(contex^o) = P(|W!)*P(w21 Wi)*P(w31 w2,w1)*..JP(wN | wN-? ,wN-2... w2,Wt) Ec. 1
De acuerdo con una modalidad de la invención, se utiliza una aproximación de tpgrama de la Ecuación 1, la cual se proporciona en la Ecuación 2 Para cada palabra de la cadena, la aproximación de trigrama utiliza las dos palabras anteriores (si existen), en lugar de todas las¡ N palabras de la cadena. P(contexto)~ P(¡W?)*P(w21 W?)*P(w31 w2lw1)*..JP(wN | wN.?1wN.2...w2,W?) Ec. 2
De acuerdo con una modalidad de la invención, el procesador 210 ortográfico contextual selecciona las palabras o cadenas 230 de sustitución candidatas sugeridas para transferirlas a la aplicación
206, coh base en una puntación final para cada cadena de sustitución candidata Cada una de las puntuaciones finales
(denotadlas como P(candidate I imput word, context)) se calculan de acuerdo con la Ecuación 3 al multiplicar la puntuación de probabilidad para la cadena de sustitución candidata (denotada como P(contex¡to, candidata) por la puntuación 224 candidata que corresponda con la palabra 222 de sustitución candidata (candídata) que sustituya a la palabra ingresada para formar la cadena 242 de sustitución candidata Digamos, por ejemplo, que las palabras 22 de sustitución candidatas de "too", " t o t " , y "two" se generan junto con sus puntuaciones 224 correspondientes mediante el generador 208 candidato para la palabra ingresada "to" de la cadena 204 ingresada de "I sbe you to". Las cadenas 242 de sustitución candidatas correspondientes se convierten entonces en "I see you too", "\ see you tot",? y "I see you two". El procesador 210 ortográfico contextual
¡ realiza entonces varias llamadas al modelo 240 de lenguaje, el cual calcula las puntuaciones de probabilidad para cada una de las cadenas¡242 de sustitución candidatas. Las puntuaciones finales para las cadenas 242 de sustitución candidatos se calculan mediante el procesador 210 ortográfico contextual al multiplicar sus puntuaciones 244 de probabilidad por
sus puntuaciones 224 candidatas correspondientes. De este modo, la puntuacipn final para la cadena 242 de sustitución candídata "I see you too"! es igual a la probabilidad de la cadena "I see you too" multiplicada por la puntuación 244 que corresponda con la palabra de sustitución candidata "too" para la palabra ingresada "to" obtenida de la tab¡la 216 candidata. I D acuerdo con una modalidad de la invención, la palabra 222 candidata de la cadena de sustitución candidata que tiene la puntuación final más alta es sugerida a la aplicación 206 mediante el procesador 210 ortográfico contextual como el resultado 230. De manera alterna, el procesador 210 ortográfico contextual puede sugerir ?ólo la palabra 222 de sustitución que corresponda con la cadena 242 de sustitución candidata que tenga la puntuación final más alta;, siempre y cuando ésta exceda de un límite. De acuerdo con otra modalidad de la invención, múltiples palabras 222 de sustitución candidatjas que tengan puntuaciones finales que excedan de un límite se sugieren mediante el procesador 210 ortográfico contextual a la aplicación 206 como el resultado 230. El límite puede predeterminarse o calcularse dinámicamente como una función de la probabilidad de las palabras temáticas y de las pala'bras candidatas. En una modalidad, el límite se determina dinámic mente a partir de Límite = aP(palabras temát¡ca!s)¡? = ) + ßP(palabras candidatas)+? | P(palabras ingresadas)-P(palabras candidatas).
Generac ón de tabla candidata La Figura 4 es un diagrama de flujo que ilustra un método para generar la tabla 216 candidata para su uso en el sistema 200 de corrección ortográfica, de acuerdo con las modalidades de la invención En la etapa 250 del método, se proporciona un diccionario
I de palabras De preferencia, el diccionario es muy extenso (por ejemplo, alrededor de 100,000 palabras) Después, en la etapa 252, se comp¡aran las palabras temáticas del diccionario con las otras
I palabras; del diccionario De preferencia, cada palabra del diccionaijio, o por lo menos las palabras utilizadas con más
I I frecuencja del diccionario, cada una se convierte en palabras temáticas que se comparan con las otras palabras del diccionario En i la etapa|254, las palabras de sustitución candidatas se identifican para las palabras temáticas con base en la comparación de la etapa 252 De acuerdo con una modalidad de la invención, la i comparación de las palabras temáticas con las otras palabras del diccionario (etapa 252) implica el cálculo una distancia de escritura i o de edibión entre cada una de las palabras del diccionario con la palabra ¡temática y comparar la distancia de edición con una distancia) de edición límite Las palabras de sustitución candidatas que tengl an una distancia de edición que alcance la distancia de edición límite se identifican como palabras de sustitución candidatas para las ¡palabras temáticas Debe entenderse que el "alcance" del límite pretende satisfacerse alcanzando el límite, excediendo el
límite, o colocándose bajo el límite, dependiendo de cómo se calculeni ,las distancias de edición. D acuerdo con otra modalidad de la etapa 252 de comparación, un significado de cada una de las palabras del diccionario se compara con las palabras temáticas. La etapa 254 de identificación incluye entonces identificar las palabras del diccionario cuyo significado es similar a aquél de la palabra temáticaí, como palabras de sustitución candidatas. Por ejemplo, sinónimos de las palabras temáticas se identificarían como palabras de sustitución candidatas. De acuerdo con una modalidad de la invención, las palabras temáticas del diccionario se revisan contra los datos de un tesauro, a partir del cual las palabras de sustitución candidatias que tienen un significado similar se identifican como palabras de sustitución candidatas en la etapa 254 del método. Dé acuerdo con otra modalidad de la etapa 252 de comparajción, las representaciones fonéticas de las palabras en el diccionario se comparan con las palabras temáticas del diccionario. Las representaciones fonéticas de las palabras del diccionario de preferenlcia se generan automáticamente a través de un envío de las palabras a un procesador de conversión de texto a diálogo convencional. Las palabras del diccionario que tienen representaciones fonéticas que coincidan con la representación fonética! de la palabra temática se identifican como palabras de sustitución candidatas para la palabra temática en la etapa 254 de identifi c|ación Ejemplos de estos pares incluyen "bear" y "bare", y
"which" y "witch". De este modo, las homófonas de la palabra temática se identifican como palabras de sustitución candidatas. De acuerdo ¡con otra modalidad de la invención, las palabras de del diccionario que sean casi homófonas (es decir, aquellas que alcance? un límite) también se identifican como palabras de sustitución candidatas. Otra modalidad de la invención ¡ncluye un análisis de bigramas (es decir, pares de palabras) encontrados en un bloque grande de oraciones. El análisis implica determinar si cambiar o elíminarjel espacio localizado entre la primera y la segunda palabras del bigrama daría como resultado la generación de por lo menos una palabra válida. Una modalidad de la etapa 252 de comparación incluye comparar las palabras temáticas con las palabras válidas que se formgn a partir del análisis de espaciado-cambio. De preferencia, sólo las palabras válidas que se forman al cambiar el espacio, ya sea antes d l carácter terminal de la palabra o después del primer carácter' de la segunda palabra, o al eliminar el espacio, se utilizan en la etapa 252 de comparación, debido a que éstas corresponden con err¡ores tipográficos más comunes. Las palabras válidas i formadas recientemente que coincidan con las palabras temáticas se identifican entonces como palabras de sustitución candidatas para las palabras temáticas en la etapa 254. Por ejemplo, las palabras de sustitución candidatas para el par de palabras "use swords" sería "uses wórds" y las palabras de sustitución candidatas para el par de palabras "dog sand" sería "dogs and". De manera similar, una
palabra de sustitución candidata par el par de palabras "any one" sería "anyone", y" por el contrario, una palabra de sustitución candidatá par el par de palabras "anyone" sería "any one". Eh la etapa 256 del método, la lista 216 candidata que se forma incluye las palabras temáticas emparejadas con sus palabras de sustitución candidatas identificadas correspondientes.
Finalmente, en la etapa 258, la tabla 216 candidata se almacena en un medip que se puede leer por computadora, tal como aquél descrito én lo anterior con respecto a la Figura 1. i D^ acuerdo con otra modalidad de la invención, la puntuación
224 candidata se genera para cada uno de los pares de palabras de sustitución candidatas y temáticas en la etapa 256 con base en una probabilidad de que la palabra de sustitución candidata deba sustituir la palabra temática correspondiente, como se explica en lo anterior. Las puntuaciones candídatas de preferencia se basan en uno o más de los factores analizados en la etapa 252 de comparación y aquellos discutidos en lo anterior. La puntuación candidato se incluye en la tabla 216 candidata que se almacena en el medio q e se puede leer por computadora en la etapa 258.
Tabla de¡ Exclusión Candidata D acuerdo con otra modalidad de la invención, se genera una i tabla 26f de exclusión candídata que identifica ciertas palabras de sustitución candidatas que el generador 208 candidato debe enviar al procesadior 210 ortográfico contextual como palabras 222 de
sustitución candidatas De este modo, la tabla 260 de exclusión candidata evita que se sugieran palabras de sustitución candidatas no apropiadas o deseadas a la aplicación 206 mediante el
I procesador 210 ortográfico contextual De preferencia, la tabla 260 de exclusión candidata incluye palabras de sustitución candidatas que son ¡ofensivas Adicionalmente, las palabras cuya ambigüedad es difícil de¡ eliminar y que por lo general ocurre en contextos similares pueden incluirse en la tabla de exclusión candidata, tal como "rough" y "tough" Se pueden eliminar variantes ortográficas aceptables de la i misma palabra temática, tal como "color" y "colour", o "goodbye" y "good-byle", al incluirlas en la tabla 260 de exclusión candidata También, debido a que los errores tipográficos que dan como resultado una forma plural de una palabra ingresada en singular son poco comunes, las palabras temáticas en singular sus equivalentes de preferencia se incluyen en la tabla 260 de exclusión candidata Dé acuerdo con una modalidad de la invención, la tabla 216 i candidato se actualiza periódicamente par eliminar los pares de palabras de sustitución candidatas y palabra temáticas que tengan pares de palabras coincidentes en la tabla 260 de exclusión candidatá Adicionalmente, los pares de palabras de sustitución candidatas y palabras temáticas en la tabla 216 candidata que tengan palabras de sustitución candidatas que coincidan con aquéllas; en la tabla 260 de exclusión candidata también puede eliminarse La reducción resultante al tamaño de la tabla 216 candidatá permite que el sistema 200 de corrección ortográfica opere
con mayor eficacia. Aunque la presente invención se ha descrito con referencia a modalida|des particulares, trabajadores con experiencia en la técnica reconocerán que se pueden realizar cambios en forma y detalle sin apartars del espíritu y alcance de la invención.
Claims (3)
1.¡ Un método implementado por computadora para sugerir palabras¡de sustitución para palabras de una cadena, que comprende las etapas de: a) recibir una cadena ingresada de palabras ingresadas; b) hacer coincidir las palabras ingresadas con las palabras temáticas de una tabla candidata; c)¡extraer palabras de sustitución candidatas y puntuaciones candidatas de la tabla candidata que correspondan con las palabras temáticas coincididas, en donde cada puntuación candidata es indicativa de una probabilidad de que la palabra ingresada debe sustituirse por la palabra candidata correspondiente; y d)' sugerir selectivamente la sustitución de las palabras ingresadas por sus palabras de sustitución candidatas correspondientes con base en las puntuaciones candídatas para las I palabras ide sustitución.
2. El método de acuerdo con la reivindicación 1, que incluye corregir palabras ingresadas con errores ortográficos antes de la etapa b) ide coincidencia, por lo cual la cadena ingresada contiene sólo palabras ingresadas escritas correctamente. 3JEI método de acuerdo con la reivindicación 1, que incluye formar cadenas de sustitución candidatas utilizando las palabras de sustitución candidatas, incluyendo la sustitución de las palabras ingresadas de la cadena ingresada con las palabras de sustitución candidatas correspondientes 4 El método de acuerdo con la reivindicación 3, que incluye calcular , las puntuaciones de probabilidad para las cadenas de sustitución candidatas, cada puntuación de probabilidad basada en las palabras ingresadas y en la palabra de sustitución candidata contenida en la cadena de sustitución candidata, en donde la etapa d) de sugerencia incluye sugerir la sustitución de la palabra ingresada por la palabra de sustitución candidata correspondiente de la cadena de sustitución candidata basada en la puntuación de probabilidad 5 El método de acuerdo con la reivindicación 4, en donde la etapa d) de sugerencia incluye multiplicar las puntuaciones de probabilidad con la puntuación candidata correspondiente para obtener puntuaciones finales para cada una de las cadenas de sustitución candidatas en donde la etapa d) de sugerencia incluye sugerir la sustitución de la palabra ingresada con la palabra de sustitución candidata de la cadena de sustitución candidata que tenga la puntuación final mas alta 6 El método de la reivindicación 1, en donde las palabras temáticas y las palabras de sustitución candidatas correspondientes de la tabla candidata se encuentran, cada una, en forma de un identificador de diccionario que identifica las palabras en un diccionario 7 El método de acuerdo con la reivindicación 1, en donde las palabras de sustitución candidatas de la tabla candidata incluyen palabras que tienen una distancia de edición a partir de sus palabras temáticas correspondientes que satisfacen un límite. 8. i El método de acuerdo con la reivindicación 1, en donde las palabras; de sustitución candidatas de la tabla candidata incluyen palabras que tienen un significado similar con sus palabras temáticas correspo|ndientes. 9.¡ El método de acuerdo con la reivindicación 1, en donde las palabras de sustitución candidatas de la tabla candidata incluyen palabras! que tienen una coincidencia fonética con sus palabras temáticals correspondientes. 10. El método de acuerdo con la reivindicación 1, en donde las palabras de sustitución candidatas de la tabla candidafa incluyen palabras] que son correcciones comunes a sus palabras temáticas correspondientes 11 Un método implementado por computadora para generar una tabila candidata para su uso por un sistema de corrección ortográfica para sugerir la sustitución de palabras para palabras ingresadas de una cadena ingresada, el método comprende las etapas de: i aj proporcionar un diccionario de palabras; b) comparar palabras temáticas en el diccionario con las palabras en el diccionario; i c) identificar palabras de sustitución candidatas para las palabras temáticas con base en la etapa b) de comparación; d) formar una tabla candidata las palabras temáticas emparejadas con sus palabras de sustitución candidatas identificadas correspondientes; y e)| almacenar la tabla candidata en un medio que se pueda leer por bomputadora. 12,. El método de acuerdo con la reivindicación 11, en donde la etapa e) de comparación incluye comparar distancias de edición medidasja partir de las palabras en el diccionario con las palabras temática para una distancia de edición límite, en donde la etapa c) de identificación incluye identificar palabras de sustitución candida tjas para cada una de las palabras temáticas cuya distancia de edición a partir de la palabra temática satisfaga una distancia de edición ijímite. 1
3. El método de acuerdo con la reivindicación 11, en donde la etapa¡ b) de comparación incluye comparar un significado de cada una de las otras palabras en el diccionario con cada una de las palabras! temáticas, en donde la etapa c) de identificación incluye identificar las palabras de sustitución candidatas para cada una de las palabras temáticas cuyo significado sea similar al de la palabra temática. 14- El método de acuerdo con la reivindicación 11, en donde la etapa b) de comparación incluye comparar una representación fonéticaí de cada una de las palabras en el diccionario con una represerjitación fonética de cada una de las palabras temáticas, en donde lá etapa c) de identificación incluye identificar las palabras de ! sustitución candidatas para cada una de las palabras temáticas cuya representación fonética coincida con la representación fonética de la palabra temática. 1 Ó I. El método de acuerdo con la reivindicación 11, en donde la etapaj d) de formación incluye generar una puntuación candidata para cada uno de los pares de palabras de sustitución candidatas y temáticas con base en una probabilidad de que la palabra de sustitución candidata deba sustituir la palabra temática correspondiente, y formar la tabla candidata para incluir las puntuaciones candídatas. 1(5. El método de acuerdo con la reivindicación 15, en donde la puntuación candidata se base en una distancia de edición entre la palabra de sustitución candidata y la palabra temática correspqndiente 17. El método de acuerdo con la reivindicación 11, que incluye: ahalizar pares de palabras que tengan una primera palabra y una segjunda palabra separadas por un espacio en un bloque de i oracioneis, incluyendo la identificación de una nueva palabra válida que se forma por uno de eliminar el espacio, mover el espacio antes de un carácter terminal de una primera palabra, y mover el espacio después! de un carácter inicial de la segunda palabra; y agregar la nueva palabra válida a la tabla candidata como una I palabra Ide sustitución candidata para alguna correspondiente de la primera ¡y segunda palabras en la etapa d) de formación. 1¡B. Un sistema de corrección ortográfica para sugerir la sustitucipn de palabras para palabras ingresadas de una cadena ingresadla, el sistema comprende: uñ generador candidato que incluye un resultado de una palabra ' de sustitución candidata y una puntuación candidata correspondiente para cada una de las palabras ingresadas que coinciden con una palabra temática de una tabla candidata, en donde cada puntuación candidata es indicativa de una probabilidad de que la palabra ingresada deba sustituirse con la palabra de sustitución candidata correspondiente; y , u? procesador ortográfico contextual que incluye un resultado selectivo de palabras de sustitución candidatas para las palabras ingresadlas con base en las puntuaciones candidatas correspondientes 19. El sistema de la reivindicación 18, que incluye un modelo de lengulaje que tiene una puntuación de probabilidad producido para una cadena de sustitución candidata que corresponde con la cadena ¡ngresadja con por lo menos una de las palabras ingresadas sustituidas por la palabra de sustitución candidata correspondiente producidja por el generador candidato, en donde la puntuación de probabilidad producida es una medida de una exactitud de la cadena de sustitución candidata, y en donde el resultado selectivo de palabras; de sustitución candidatas producidas por el procesador ortográfico contextual se basa en el resultado de la puntuación de probabilidad y la puntuación candidata que corresponde con la palabra de sustitución candidata contenida en la cadena de sustitución candidata. 20. El sistema de acuerdo con la reivindicación 18, que incluye una tabla de exclusión candidata que incluye una lista de palabras' de sustitución candidatas que se excluyen de uno del resultado del generador candidato y el resultado del procesador ortográfico contextual.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/113,612 US7584093B2 (en) | 2005-04-25 | 2005-04-25 | Method and system for generating spelling suggestions |
PCT/US2006/009147 WO2006115598A2 (en) | 2005-04-25 | 2006-03-14 | Method and system for generating spelling suggestions |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2007013357A true MX2007013357A (es) | 2008-01-11 |
Family
ID=37188148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2007013357A MX2007013357A (es) | 2005-04-25 | 2006-03-14 | Metodo y sistema para generar sugerencias ortograficas. |
Country Status (9)
Country | Link |
---|---|
US (1) | US7584093B2 (es) |
EP (1) | EP1875462A4 (es) |
JP (1) | JP2008539476A (es) |
KR (1) | KR101292404B1 (es) |
CN (1) | CN101371253B (es) |
BR (1) | BRPI0609108A2 (es) |
MX (1) | MX2007013357A (es) |
RU (1) | RU2007139510A (es) |
WO (1) | WO2006115598A2 (es) |
Families Citing this family (246)
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 |
US7831911B2 (en) * | 2006-03-08 | 2010-11-09 | Microsoft Corporation | Spell checking system including a phonetic speller |
US7562811B2 (en) | 2007-01-18 | 2009-07-21 | Varcode Ltd. | System and method for improved quality management in a product logistic chain |
WO2007129316A2 (en) | 2006-05-07 | 2007-11-15 | Varcode Ltd. | A system and method for improved quality management in a product logistic chain |
EP1855210B1 (en) * | 2006-05-11 | 2018-01-03 | Dassault Systèmes | Spell checking |
US8395586B2 (en) | 2006-06-30 | 2013-03-12 | Research In Motion Limited | Method of learning a context of a segment of text, and associated handheld electronic device |
US7565624B2 (en) * | 2006-06-30 | 2009-07-21 | Research In Motion Limited | Method of learning character segments during text input, and associated handheld electronic device |
US9552349B2 (en) * | 2006-08-31 | 2017-01-24 | International Business Machines Corporation | Methods and apparatus for performing spelling corrections using one or more variant hash tables |
US8626486B2 (en) * | 2006-09-05 | 2014-01-07 | Google Inc. | Automatic spelling correction for machine translation |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US9275036B2 (en) * | 2006-12-21 | 2016-03-01 | International Business Machines Corporation | System and method for adaptive spell checking |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US7991609B2 (en) * | 2007-02-28 | 2011-08-02 | Microsoft Corporation | Web-based proofing and usage guidance |
US8775931B2 (en) * | 2007-03-30 | 2014-07-08 | Blackberry Limited | Spell check function that applies a preference to a spell check algorithm based upon extensive user selection of spell check results generated by the algorithm, and associated handheld electronic device |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8528808B2 (en) | 2007-05-06 | 2013-09-10 | Varcode Ltd. | System and method for quality management utilizing barcode indicators |
CN105045777A (zh) | 2007-08-01 | 2015-11-11 | 金格软件有限公司 | 使用互联网语料库的自动的上下文相关的语言校正和增强 |
US8055670B2 (en) * | 2007-08-13 | 2011-11-08 | Yahoo! Inc. | System and method for the generation of replacement titles for content items |
US7761524B2 (en) * | 2007-08-20 | 2010-07-20 | International Business Machines Corporation | Automatically generated subject recommendations for email messages based on email message content |
US20090100335A1 (en) * | 2007-10-10 | 2009-04-16 | John Michael Garrison | Method and apparatus for implementing wildcard patterns for a spellchecking operation |
EP2218055B1 (en) | 2007-11-14 | 2014-07-16 | Varcode Ltd. | A system and method for quality management utilizing barcode indicators |
US8176419B2 (en) * | 2007-12-19 | 2012-05-08 | Microsoft Corporation | Self learning contextual spell corrector |
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 |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20090300126A1 (en) * | 2008-05-30 | 2009-12-03 | International Business Machines Corporation | Message Handling |
US11704526B2 (en) | 2008-06-10 | 2023-07-18 | Varcode Ltd. | Barcoded indicators for quality management |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8762153B2 (en) * | 2008-08-18 | 2014-06-24 | At&T Intellectual Property I, L.P. | System and method for improving name dialer performance |
KR101480711B1 (ko) * | 2008-09-29 | 2015-01-09 | 에스케이플래닛 주식회사 | 주제 탐지 장치와 주제 탐지 방법, 저장 매체, 정보 제공 시스템, 서비스 서버 및 방법 |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
KR101126406B1 (ko) * | 2008-11-27 | 2012-04-20 | 엔에이치엔(주) | 유사어 결정 방법 및 시스템 |
KR101049358B1 (ko) * | 2008-12-08 | 2011-07-13 | 엔에이치엔(주) | 유사어 결정 방법 및 시스템 |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US20100332215A1 (en) * | 2009-06-26 | 2010-12-30 | Nokia Corporation | Method and apparatus for converting text input |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
KR101083455B1 (ko) * | 2009-07-17 | 2011-11-16 | 엔에이치엔(주) | 통계 데이터에 기초한 사용자 질의 교정 시스템 및 방법 |
EP2341467B1 (en) * | 2009-09-24 | 2019-12-18 | Nec Corporation | Word recognition device, method, non-transitory computer readable medium storing program and shipped item classification device |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US20110179353A1 (en) * | 2010-01-19 | 2011-07-21 | Research In Motion Limited | Mobile Electronic Device and Associated Method Providing Proposed Spelling Corrections Based Upon a Location of Cursor At or Adjacent a Character of a Text Entry |
DE112011100329T5 (de) | 2010-01-25 | 2012-10-31 | Andrew Peter Nelson Jerram | Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform |
CA2787390A1 (en) | 2010-02-01 | 2011-08-04 | Ginger Software, Inc. | Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8266528B1 (en) | 2010-06-24 | 2012-09-11 | Google Inc. | Spelling suggestions based on an input sequence including accidental “delete” |
US9262397B2 (en) | 2010-10-08 | 2016-02-16 | Microsoft Technology Licensing, Llc | General purpose correction of grammatical and word usage errors |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8639494B1 (en) * | 2010-12-28 | 2014-01-28 | Intuit Inc. | Technique for correcting user-interface shift errors |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US20120246133A1 (en) * | 2011-03-23 | 2012-09-27 | Microsoft Corporation | Online spelling correction/phrase completion system |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9298693B2 (en) | 2011-12-16 | 2016-03-29 | Microsoft Technology Licensing, Llc | Rule-based generation of candidate string transformations |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
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 |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8713433B1 (en) | 2012-10-16 | 2014-04-29 | Google Inc. | Feature-based autocorrection |
US8612213B1 (en) | 2012-10-16 | 2013-12-17 | Google Inc. | Correction of errors in character strings that include a word delimiter |
US8807422B2 (en) | 2012-10-22 | 2014-08-19 | Varcode Ltd. | Tamper-proof quality management barcode indicators |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9489372B2 (en) * | 2013-03-15 | 2016-11-08 | Apple Inc. | Web-based spell checker |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
US10303762B2 (en) * | 2013-03-15 | 2019-05-28 | Disney Enterprises, Inc. | Comprehensive safety schema for ensuring appropriateness of language in online chat |
CN104102625B (zh) * | 2013-04-15 | 2017-07-04 | 佳能株式会社 | 通过应用键盘布局信息来改进拼写检查的方法和设备 |
US9122376B1 (en) * | 2013-04-18 | 2015-09-01 | Google Inc. | System for improving autocompletion of text input |
US8887103B1 (en) | 2013-04-22 | 2014-11-11 | Google Inc. | Dynamically-positioned character string suggestions for gesture typing |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
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 |
KR101959188B1 (ko) | 2013-06-09 | 2019-07-02 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
WO2014200731A1 (en) | 2013-06-13 | 2014-12-18 | Apple Inc. | System and method for emergency calls initiated by voice command |
CN104298672B (zh) * | 2013-07-16 | 2018-09-11 | 北京搜狗科技发展有限公司 | 一种输入的纠错方法和装置 |
KR101749009B1 (ko) | 2013-08-06 | 2017-06-19 | 애플 인크. | 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화 |
US20150073771A1 (en) * | 2013-09-10 | 2015-03-12 | Femi Oguntuase | Voice Recognition Language Apparatus |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
KR101990929B1 (ko) * | 2014-03-12 | 2019-06-20 | 네이버 주식회사 | 문자열 사이의 연관성 판단을 통한 오타 수정 방법 |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US10204096B2 (en) * | 2014-05-30 | 2019-02-12 | Apple Inc. | Device, method, and graphical user interface for a predictive keyboard |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
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 |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US20160062979A1 (en) * | 2014-08-27 | 2016-03-03 | Google Inc. | Word classification based on phonetic features |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US11354755B2 (en) | 2014-09-11 | 2022-06-07 | Intuit Inc. | Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9606986B2 (en) | 2014-09-29 | 2017-03-28 | Apple Inc. | Integrated word N-gram and class M-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10013721B1 (en) | 2014-10-31 | 2018-07-03 | Intuit Inc. | Identification of electronic tax return errors based on declarative constraints |
US10255641B1 (en) | 2014-10-31 | 2019-04-09 | Intuit Inc. | Predictive model based identification of potential errors in electronic tax return |
KR102392867B1 (ko) * | 2014-11-28 | 2022-04-29 | 한화테크윈 주식회사 | 영상 검색 방법 및 장치 |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
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 |
GB2549240A (en) * | 2015-01-06 | 2017-10-18 | What3Words Ltd | A method for suggesting one or more multi-word candidates based on an input string received at an electronic device |
KR101670326B1 (ko) | 2015-03-03 | 2016-11-10 | 울산과학기술원 | 언어 문장 패턴 제안을 위한 생성 시스템 |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9760560B2 (en) * | 2015-03-19 | 2017-09-12 | Nuance Communications, Inc. | Correction of previous words and other user text input errors |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10740853B1 (en) | 2015-04-28 | 2020-08-11 | Intuit Inc. | Systems for allocating resources based on electronic tax return preparation program user characteristics |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
JP6649472B2 (ja) | 2015-05-18 | 2020-02-19 | バーコード リミティド | 活性化可能な品質表示ラベルのための熱変色性インク証印 |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
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 |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
CN107709946B (zh) | 2015-07-07 | 2022-05-10 | 发可有限公司 | 电子质量标志 |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
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 |
US10740854B1 (en) | 2015-10-28 | 2020-08-11 | Intuit Inc. | Web browsing and machine learning systems for acquiring tax data during electronic tax return preparation |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US10410295B1 (en) | 2016-05-25 | 2019-09-10 | Intuit Inc. | Methods, systems and computer program products for obtaining tax data |
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 |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
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 |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US9858257B1 (en) * | 2016-07-20 | 2018-01-02 | Amazon Technologies, Inc. | Distinguishing intentional linguistic deviations from unintentional linguistic deviations |
US20180039608A1 (en) * | 2016-08-03 | 2018-02-08 | Google Inc. | Correction of previously received textual messages based on one or more later received textual messages |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
CN108008832A (zh) | 2016-10-31 | 2018-05-08 | 北京搜狗科技发展有限公司 | 一种输入方法和装置、一种用于输入的装置 |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10089297B2 (en) * | 2016-12-15 | 2018-10-02 | Microsoft Technology Licensing, Llc | Word order suggestion processing |
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 |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
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 |
KR20190024072A (ko) * | 2017-08-31 | 2019-03-08 | 필아이티 주식회사 | 가상 키보드를 통하여 입력받은 문자열을 교정하는 모바일 장치 및 방법 |
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 |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
CN110083819B (zh) * | 2018-01-26 | 2024-02-09 | 北京京东尚科信息技术有限公司 | 拼写纠错方法、装置、介质及电子设备 |
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 |
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 |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
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 |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
CN109858004B (zh) * | 2019-02-12 | 2023-08-01 | 四川无声信息技术有限公司 | 文本改写方法、装置及电子设备 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
CN110209783B (zh) * | 2019-04-26 | 2024-03-15 | 平安科技(深圳)有限公司 | 聊天应答方法及系统、电子装置及可读存储介质 |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
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 |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11416136B2 (en) | 2020-09-14 | 2022-08-16 | Apple Inc. | User interfaces for assigning and responding to user inputs |
KR20220084408A (ko) * | 2020-10-25 | 2022-06-21 | 구글 엘엘씨 | 동적 공간 모델에 기초하여 가상 키보드 오류 수정 |
US11347352B2 (en) | 2020-10-25 | 2022-05-31 | Google Llc | Virtual keyboard error correction based on a dynamic spatial model |
KR102368418B1 (ko) * | 2020-12-31 | 2022-03-02 | (주)휴에버그린팜 | 펀치 라인이 포함되는 랩 가사 생성 장치 및 방법 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62143173A (ja) * | 1985-12-18 | 1987-06-26 | Hitachi Ltd | 文字列つづり訂正方法 |
US5604897A (en) | 1990-05-18 | 1997-02-18 | Microsoft Corporation | Method and system for correcting the spelling of misspelled words |
US5649222A (en) | 1995-05-08 | 1997-07-15 | Microsoft Corporation | Method for background spell checking a word processing document |
US5659771A (en) | 1995-05-19 | 1997-08-19 | Mitsubishi Electric Information Technology Center America, Inc. | System for spelling correction in which the context of a target word in a sentence is utilized to determine which of several possible words was intended |
US6085206A (en) | 1996-06-20 | 2000-07-04 | Microsoft Corporation | Method and system for verifying accuracy of spelling and grammatical composition of a document |
US5878386A (en) * | 1996-06-28 | 1999-03-02 | Microsoft Corporation | Natural language parser with dictionary-based part-of-speech probabilities |
US6154843A (en) | 1997-03-21 | 2000-11-28 | Microsoft Corporation | Secure remote access computing system |
US6424983B1 (en) * | 1998-05-26 | 2002-07-23 | Global Information Research And Technologies, Llc | Spelling and grammar checking system |
US6131102A (en) | 1998-06-15 | 2000-10-10 | Microsoft Corporation | Method and system for cost computation of spelling suggestions and automatic replacement |
US6401060B1 (en) | 1998-06-25 | 2002-06-04 | Microsoft Corporation | Method for typographical detection and replacement in Japanese text |
US6144958A (en) | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
GB2343037B (en) | 1998-10-22 | 2002-12-31 | Ibm | Phonetic spell checker |
US6298321B1 (en) | 1998-11-23 | 2001-10-02 | Microsoft Corporation | Trie compression using substates and utilizing pointers to replace or merge identical, reordered states |
US6304878B1 (en) | 1998-11-23 | 2001-10-16 | Microsoft Corporation | Method and system for improved enumeration of tries |
KR100749289B1 (ko) * | 1998-11-30 | 2007-08-14 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 텍스트의 자동 세그멘테이션 방법 및 시스템 |
US6601059B1 (en) | 1998-12-23 | 2003-07-29 | Microsoft Corporation | Computerized searching tool with spell checking |
US6675169B1 (en) | 1999-09-07 | 2004-01-06 | Microsoft Corporation | Method and system for attaching information to words of a trie |
US6889361B1 (en) * | 2000-06-13 | 2005-05-03 | International Business Machines Corporation | Educational spell checker |
US6694296B1 (en) | 2000-07-20 | 2004-02-17 | Microsoft Corporation | Method and apparatus for the recognition of spelled spoken words |
US7627596B2 (en) * | 2001-02-22 | 2009-12-01 | International Business Machines Corporation | Retrieving handwritten documents using multiple document recognizers and techniques allowing both typed and handwritten queries |
US20040111475A1 (en) * | 2002-12-06 | 2004-06-10 | International Business Machines Corporation | Method and apparatus for selectively identifying misspelled character strings in electronic communications |
US7346615B2 (en) * | 2003-10-09 | 2008-03-18 | Google, Inc. | Using match confidence to adjust a performance threshold |
-
2005
- 2005-04-25 US US11/113,612 patent/US7584093B2/en active Active
-
2006
- 2006-03-14 JP JP2008507657A patent/JP2008539476A/ja active Pending
- 2006-03-14 WO PCT/US2006/009147 patent/WO2006115598A2/en active Application Filing
- 2006-03-14 BR BRPI0609108-3A patent/BRPI0609108A2/pt not_active IP Right Cessation
- 2006-03-14 EP EP06738230A patent/EP1875462A4/en not_active Ceased
- 2006-03-14 CN CN2006800134809A patent/CN101371253B/zh not_active Expired - Fee Related
- 2006-03-14 KR KR1020077024524A patent/KR101292404B1/ko active IP Right Grant
- 2006-03-14 MX MX2007013357A patent/MX2007013357A/es active IP Right Grant
- 2006-03-14 RU RU2007139510/09A patent/RU2007139510A/ru not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2006115598A2 (en) | 2006-11-02 |
JP2008539476A (ja) | 2008-11-13 |
US7584093B2 (en) | 2009-09-01 |
CN101371253A (zh) | 2009-02-18 |
KR101292404B1 (ko) | 2013-08-01 |
EP1875462A2 (en) | 2008-01-09 |
RU2007139510A (ru) | 2009-04-27 |
KR20080003364A (ko) | 2008-01-07 |
EP1875462A4 (en) | 2010-08-11 |
US20060241944A1 (en) | 2006-10-26 |
CN101371253B (zh) | 2010-11-03 |
WO2006115598A3 (en) | 2008-10-16 |
BRPI0609108A2 (pt) | 2010-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2007013357A (es) | Metodo y sistema para generar sugerencias ortograficas. | |
US7810030B2 (en) | Fault-tolerant romanized input method for non-roman characters | |
US7831911B2 (en) | Spell checking system including a phonetic speller | |
US7599828B2 (en) | Grammatically correct contraction spelling suggestions for french | |
US20130096911A1 (en) | Normalisation of noisy typewritten texts | |
KR101279676B1 (ko) | 언어 모델을 생성하기 위한 방법, 가나-간지 변환 방법 및그 장치 | |
CN101815996A (zh) | 检测名称实体和新词 | |
JPH07325828A (ja) | 文法チェックシステム | |
JP2006031295A (ja) | 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、 | |
JPH07325824A (ja) | 文法チェックシステム | |
JP2013117978A (ja) | タイピング効率向上のためのタイピング候補の生成方法 | |
US20070179779A1 (en) | Language information translating device and method | |
EP1627325A1 (en) | Automatic segmentation of texts comprising chunsks without separators | |
JP2004303240A (ja) | 単語解析のためのシステムおよび方法 | |
JP5097802B2 (ja) | ローマ字変換を用いる日本語自動推薦システムおよび方法 | |
JP2013134753A (ja) | 誤り文修正装置、誤り文修正方法およびプログラム | |
US8977538B2 (en) | Constructing and analyzing a word graph | |
JP2004309928A (ja) | 音声認識装置、電子辞書装置、音声認識方法、検索方法、及びプログラム | |
JPH07325825A (ja) | 英文法チェックシステム装置 | |
JP2009163109A (ja) | 言語モデル生成装置及び音声認識装置 | |
Chalamandaris et al. | Bypassing Greeklish! | |
JP2008077360A (ja) | 文末記号補正装置、音声翻訳システム、文末記号補正方法、制御プログラム、及び該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP5159657B2 (ja) | 複数種類の読み仮名を有する漢字含み文字列の誤変換を指摘する誤変換指摘装置及びその方法 | |
JP2021085996A (ja) | 音声認識システム、音声認識方法 | |
JP2007249409A (ja) | 辞書生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |