ES2386631T3 - Léxico con datos divididos en secciones y procedimiento de uso del mismo - Google Patents
Léxico con datos divididos en secciones y procedimiento de uso del mismo Download PDFInfo
- Publication number
- ES2386631T3 ES2386631T3 ES03008804T ES03008804T ES2386631T3 ES 2386631 T3 ES2386631 T3 ES 2386631T3 ES 03008804 T ES03008804 T ES 03008804T ES 03008804 T ES03008804 T ES 03008804T ES 2386631 T3 ES2386631 T3 ES 2386631T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- word
- information
- section
- sections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/242—Dictionaries
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)
Abstract
Un medio de almacenamiento legible por ordenador que tiene una pluralidad de léxicos (180-183) paraalmacenar información de palabras y adaptado para su uso en un analizador (20) de textos en un sistema (10)de tratamiento del lenguaje, comprendiendo cada léxico:una sección (162) de lista de palabras para almacenar una pluralidad de palabras;un conjunto de secciones (168A -168P; 190 - 195) de datos que se corresponde con cada palabra de la listade palabras, almacenando las secciones de datos información seleccionada diferente sobre lacorrespondiente palabra de la lista de palabras; ypara cada palabra de la lista de palabras, una pluralidad de punteros almacenados en una tabla (166) deíndices aparte de los conjuntos de secciones de datos, apuntando cada uno de los punteros a una secciónde datos diferente relacionada con información diferente sobre la palabra correspondiente, incluyendo cadauno de los punteros una primera indicación de a qué sección de datos acceder, una segunda indicación deun valor de desplazamiento relacionado con la información almacenada en el mismo y una terceraindicación de una clasificación de la palabra;en el que las secciones (190-195) de datos de cada uno de los léxicos (180-183) que tienen informaciónsimilar son accesibles selectivamente para obtener información de las mismas, y en el que dicha pluralidadde léxicos que tienen secciones de datos con información similar permite:obtener la información de palabras de al menos dos secciones (195180, 195181, 195182) de datos quetienen información similar para combinar la información (195180-181+182) obtenida de palabras, siendodichas al menos dos secciones (195180, 195181, 195182) de datos de al menos dos léxicos diferentes(180-182), uobtener la información de palabras (192182) de al menos dos secciones (192182, 192183) de datos quetienen información similar y luego usar solo la información de palabras obtenida de una sección (192182)de datos, siendo dichas al menos dos secciones (192182, 192183) de datos de al menos dos léxicosdiferentes (182-183).
Description
Léxico con datos divididos en secciones y procedimiento de uso del mismo
Antecedentes de la invención
La presente invención versa acerca del tratamiento del lenguaje o de textos. Más en particular, la presente invención versa acerca de una estructura de datos mejorada para almacenar un léxico y de un procedimiento mejorado de uso del mismo.
El tratamiento del lenguaje o de textos abarca muchos tipos de sistemas. Por ejemplo, analizadores sintácticos, verificadores ortográficos, verificadores gramaticales, divisores silábicos, procesadores de lenguaje natural o sistemas de comprensión y sistemas de traducción automática son solo algunos de los tipos de sistemas que se encuentran dentro de esta amplia categoría.
Un componente común e importante de muchos sistemas de tratamiento del lenguaje o de textos es el léxico. Generalmente, el léxico es una estructura de datos que contiene información sobre palabras. Por ejemplo, el léxico puede almacenar indicaciones de información sintáctica y semántica. Ejemplos incluyen si la palabra es un sustantivo, un verbo, un adjetivo, etc. Además, en el léxico pueden guardarse diferentes tipos de información lingüística. A menudo es útil almacenar otra información útil para el tipo particular de tratamiento del lenguaje, tal como almacenar información sobre la palabra que contribuya a su análisis sintáctico. En otros léxicos distintos, pueden resultar útiles indicaciones de si la palabra es un nombre propio, una ubicación geográfica, etc.
En operación, tras recibir una cadena de palabras de entrada, el sistema de tratamiento del lenguaje o de textos accede al léxico para obtener la información almacenada con respecto a cada una de las palabras. Habiendo recogido la información sobre cada una de las palabras de la cadena de entrada, el sistema de tratamiento del lenguaje o de textos procesa la cadena de entrada, lo que puede incluir resolver cualquier ambigüedad que pueda existir con base en la información de las palabras. Por ejemplo, en un sistema de tratamiento de lenguaje natural, el léxico asigna partes de la oración a cada una de las palabras de la cadena de entrada. A continuación, un analizador sintáctico decide cuáles de las asignaciones de partes de la oración son apropiadas y construye una estructura a partir de la cadena de entrada, que puede pasarse entonces a un componente semántico para su interpretación.
Comúnmente, cada entrada del léxico comprende un solo objeto binario grande. Aunque la información es accesible, este formato no permite fácilmente un acceso localizado a información léxica usada comúnmente sin tener que leer la entrada completa. Si hay que leer del léxico toda la información perteneciente a una entrada de palabra, hacen falta más memoria y tiempo de procesamiento, particularmente si solo se necesita una parte pequeña de la información para la entrada de la palabra.
También resulta difícil modificar información léxica o añadirla. Específicamente, para modificar la información del léxico o añadir información adicional, el autor del léxico debe replicar todos los bits, los atributos u otra información dentro de cada entrada, luego modificar la información deseada o añadir a la misma mientras se mantiene la integridad y la organización de una estructura de datos muy compleja.
Existe, así, la necesidad de una estructura mejorada de datos de léxico que aborde una, algunas o todas las desventajas presentadas en lo que antecede.
El documento EP-A2-0 539 965 da a conocer un diccionario electrónico usado típicamente en sistemas de traducción. El diccionario electrónico incluye un fichero de cabeceras, un fichero de punteros que tiene una porción de almacenamiento de banderas de corrección y una porción de almacenamiento de punteros, un fichero de información de palabras y un fichero de corrección de la información de palabras.
El documento US-A-6 138 087 da a conocer un sistema para almacenar y recuperar experiencia y conocimiento de lenguaje natural a través de procedimientos y un aparato. El diccionario está organizado de tal forma que cada palabra almacenada contiene: una entrada de texto que corresponde a la palabra; un número de representación que se usa para representar la palabra de texto; un conjunto de conjuntos de palabras de sintaxis, cada uno con una parte asociada de la oración; una dirección para un proceso de selección de función del conjunto de palabras y un código de función asociado; una lista de anomalías gramaticales asociadas divididas por conjuntos de palabras; punteros a tablas comunes para seleccionar códigos de inflexión y/o a otras tablas comunes relacionadas con un conjunto de palabras, tales como preposiciones de modificación de un sustantivo concreto.
C. J. WELLS, L. J. EVETT, P. E. WHITBY Y R. J. WHITROW: “Fast dictionary look-up for contextual word recognition” PATTERN RECOGNITION [en línea], vol. 23, nº 5, 1990, páginas 501-508, XP002407899 Gran Bretaña, recuperado de Internet: URL: http://portal.acm.org/citation.cfm?id=83050> se refiere a una consulta rápida de diccionario para el reconocimiento contextual de palabras en la que el léxico está representado como un trie.
A. NTOULAS ET AL.: “Use of a morphosyntactic lexicon as the basis for the implementation of the Greek Wordnet”, LECTURE NOTES IN COMPUTER SCIENCE, 2000, XP002407900 Springer Berlín/Heidelberg se refiere al uso de
un léxico morfosintáctico como base para la implementación de la WordNet Griega, en la que el léxico está representado como un trie.
FREDKIN E: “TRIE MEMORY”, COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ACM, NUEVA YORK, NY, EE. UU., vol. 3, nº 9, agosto de 1960 (1960-08), páginas 490-499, XP002271883 ISSN: 0001-0782 se refiere a memoria de tipo trie como forma de almacenar y recuperar información.
El objeto de la presente invención es proporcionar un procedimiento mejorado de obtención de información de palabras accediendo a un léxico, así como un correspondiente medio legible por ordenador.
Este objeto se resuelve por medio de la materia de las reivindicaciones independientes.
Las reivindicaciones dependientes definen realizaciones preferentes.
Un aspecto de la presente invención es un léxico de palabras almacenado en un medio legible por ordenador que tiene información de palabras adaptada para su uso en un sistema de tratamiento del lenguaje. El léxico incluye una sección de lista de palabras para almacenar una pluralidad de palabras y una pluralidad de secciones de datos para almacenar información de palabras de la pluralidad de palabras. Las varias secciones de datos están separadas entre sí y de la sección de lista de palabras. Para acceder a la información de palabras, se proporciona una sección de índices que almacena punteros que apuntan a datos en la pluralidad de secciones de datos. Una identificación de qué puntero usar es una función de la correspondiente palabra en la sección de lista de palabras.
La estructura mejorada del léxico permite flexibilidad y eficiencias no disponibles previamente. La sección de índices y la pluralidad de secciones de datos permiten que el léxico se adapte para amoldarse a las necesidad de un sistema de tratamiento del lenguaje según los recursos disponibles del ordenador. En una realización adicional, la estructura del léxico permite que la información de palabras se clasifique o agrupe con base en una clasificación. Por ejemplo, la clasificación puede basarse en la parte de la oración de la entrada de la palabra, tal como si la entrada de la palabra puede ser un sustantivo, un verbo, un adjetivo, etc. La información de la palabra puede ser objeto de acceso selectivo en función de la clasificación. En el aspecto ejemplar, se proporcionan indicadores en punteros para indicar la clasificación de la correspondiente información de la palabra.
Otros aspectos de la presente invención incluyen un procedimiento implementado por ordenador para almacenar información de palabras en una pluralidad de secciones de datos, para almacenar información de punteros en la sección de índices y para almacenar la lista de palabras en la sección de lista de palabras, teniendo información la lista de palabras para identificar los correspondientes punteros relacionados con la palabra seleccionado. De forma similar, otro aspecto es acceder a la información de palabras usando la estructura de datos para el léxico proporcionada en lo que antecede.
La estructura del léxico descrita en lo que antecede es particularmente útil cuando es deseable obtener información de varios léxicos, lo cual es otro aspecto adicional de la presente invención. En general, los datos de múltiples léxicos para una entrada de palabra particular pueden combinarse, ignorarse o seleccionarse según se desee accediendo de forma selectiva a secciones de datos de cada uno de los léxicos.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques de un sistema de tratamiento del lenguaje o de textos.
La Fig. 2 es un diagrama de bloques de un entorno ejemplar para implementar la presente invención.
La Fig. 3 es una representación gráfica de un entorno ejemplar para implementar la presente invención.
La Fig. 4 es una representación gráfica de la recuperación de información en una pluralidad de léxicos o de
acceso a la misma.
Descripción detallada del aspecto ilustrativo
La Fig. 1 ilustra en general un sistema 10 de tratamiento del lenguaje o de textos que recibe una entrada 12 de lenguaje, comúnmente en forma de cadena de texto, y procesa la entrada 12 de lenguaje para proporcionar una salida 14 de lenguaje, también comúnmente en forma de una cadena de texto. Por ejemplo, el sistema 10 de tratamiento del lenguaje puede estar implementado como un verificador ortográfico, un verificador gramatical o un procesador de lenguaje natural, por nombrar solo algunos. Según apreciarán los expertos en la técnica, el sistema 10 de tratamiento del lenguaje puede ser una aplicación dedicada o un módulo o componente accesible por otro sistema o incluido en el mismo.
En general, el sistema de tratamiento del lenguaje incluye un analizador 20 de textos y un léxico 22. El analizador 20 de textos representa esquemáticamente componentes o módulos que reciben la entrada 12, acceden y obtienen información del léxico 22 y procesar la información de palabras para proporcionar la salida 14. Un aspecto de la presente invención es una estructura de datos mejorada para el léxico 22 para proporcionar de forma eficiente la información necesaria al analizador 20 de textos según requiera su aplicación. En vista de que el léxico 22 es un componente separado que puede ser usando en muchos sistemas de tratamiento del lenguaje y con muchas formas de analizadores de textos, se describirá la interacción general del analizador 20 de textos con el léxico 22, pero no 3
se describirán los detalles específicos relativos a las diversos formas de los analizadores de textos, porque tal descripción no es necesaria para una comprensión de la presente invención.
Antes de una exposición detallada adicional de la presente invención, puede resultar útil una visión general de un entorno operativo. La FIG. 2 ilustra un ejemplo de un entorno 50 de un sistema informático adecuado en el que la invención puede ser implementada. El entorno 50 de un sistema informático es solo un ejemplo de un entorno informático adecuado y no se pretende sugerir ninguna limitación en cuanto al alcance de uso o la funcionalidad de la invención. ni debería interpretarse que el entorno informático 50 tenga ninguna dependencia ni requerimiento en cuanto a uno cualquiera o una combinación de componentes ilustrados en el entorno ejemplar 50 de un sistema informático.
La invención es operativa con numerosos entornos o configuraciones adicionales de sistemas informáticos de uso general o uso especial. Ejemplos de sistemas, entornos y/o configuraciones informáticas bien conocidos que pueden ser adecuados para su uso con la invención incluyen, sin limitación, ordenadores personales, ordenadores servidores, dispositivos de mano o portátiles, sistemas multiprocesadores, sistemas basados en microprocesadores, decodificadores, electrónica programable de consumo, PC en red, microordenadores, ordenadores centrales, entornos informáticos distribuidos que incluyan cualquiera de los sistemas o dispositivos anteriores, y similares.
La invención puede ser descrita en el contexto general de instrucciones ejecutables por ordenador, tales como módulos de programa que son ejecutados por un ordenador. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que llevan a cabo tareas particulares o implementan tipos particulares de datos abstractos. La invención también puede ser puesta en práctica en entornos informáticos distribuidos, en los que las tareas son realizadas por dispositivos remotos de procesamiento que están enlazados a través de una red de comunicaciones. En un entorno informático distribuido, los módulos de programa pueden estar situados en medios de almacenamiento de ordenador tanto locales como remotos, incluyendo dispositivos de almacenamiento de memoria. Las tareas llevadas a cabo por los programas y los módulos son descritas en lo que sigue con la ayuda de figuras. Los expertos en la técnica pueden implementar la descripción y las figuras como instrucciones ejecutables por procesador, que pueden ser escritas en cualquier forma de medio legible por ordenador.
Con referencia a la FIG. 2, un sistema ejemplar para implementar la invención incluye un dispositivo informático de uso general en forma de ordenador 60. Los componentes del ordenador 60 pueden incluir, sin limitación, una unidad 70 de proceso, una memoria 80 del sistema y un bus 71 del sistema que acopla diversos componentes del sistema, incluyendo la memoria del sistema, a la unidad 70 de proceso. El bus 71 del sistema puede ser de cualquiera de varios tipos de estructuras de bus, incluyendo un bus de memoria o controlador de memoria, un bus de periféricos y un bus local usando cualquiera de una variedad de arquitecturas de bus. A título de ejemplo y no de limitación, tales estructuras incluyen el bus de la arquitectura industrial normalizada (ISA), el bus de arquitectura microcanal (MCA), el bus ISA mejorado (EISA), el bus local de la Asociación de Normativa Electrónica sobre Vídeo (VESA) y un bus de interconexión de componentes periféricos (PCI), también denominado bus de entresuelo.
Típicamente, el ordenador 60 incluye una variedad de medios legibles por ordenador. Los medios legibles por ordenador pueden ser cualquier medio disponible que pueda ser objeto de acceso por el ordenador 60 e incluyen tanto medios volátiles como no volátiles, medios extraíbles y no extraíbles. A título de ejemplo y no de limitación, los medios legibles por ordenador pueden comprender medios de almacenamiento de ordenador y medios de comunicaciones. Los medios de almacenamiento de ordenador incluyen tanto medios volátiles como no volátiles, extraíbles y no extraíbles, implementados en cualquier procedimiento o tecnología para el almacenamiento de información tal como instrucciones, estructuras de datos, módulos de programa u otros datos legibles por ordenador. Los medios legibles por ordenador incluyen, sin limitación, RAM, ROM, EEPROM, memoria flash o cualquier otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento en disco óptico, casetes magnéticas, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda ser usado para almacenar la información deseada y que pueda ser objeto de acceso por parte del ordenador 50.
Los medios de comunicaciones implementan típicamente instrucciones, estructuras de datos, módulos de programa u otros datos legibles por ordenador en una señal modulada de datos, tal como una onda portadora u otro mecanismo de transporte, e incluyen cualquier medio de distribución de información. La expresión “señal modulada de datos” significa una señal una o más de cuyas características han sido fijadas o cambiadas para cifrar la información de la señal. A título de ejemplo y no de limitación, los medios de comunicaciones incluyen medios cableados, tales como una red cableada o una conexión cableada directa, y medios inalámbricos tales como acústicos, de RF, infrarrojos y otros medios inalámbricos. También deberían incluirse dentro del alcance la los medios legibles por ordenador las combinaciones de cualquier de los anteriores.
La memoria 80 del sistema incluye medios de almacenamiento de ordenador en forma de memoria volátil y/o no volátil, tal como memoria 81 de solo lectura (ROM) y memoria 82 de acceso aleatorio (RAM). Típicamente, en la ROM 81 se almacena un sistema básico 83 de entrada/salida (BIOS) que contiene las rutinas básicas que contribuyen a transferir información entre elementos dentro del ordenador 60, tal como durante el arranque.
Típicamente, la RAM 82 contiene datos y/o módulos de programa que son inmediatamente accesibles a la unidad 70 de proceso y/o que están operados ya por ella. A título de ejemplo y no de limitación, la FIG. 2 ilustra el sistema operativo 84, programas 85 de aplicación, otros módulos 86 de programa y datos 87 de programa.
El ordenador 60 también puede incluir otros medios de almacenamiento de ordenador extraíbles/no extraíbles volátiles/no volátiles. A título de ejemplo únicamente, la FIG. 2 ilustra una unidad 91 de disco duro que lee de medios magnéticos no volátiles no extraíbles o escribe en ellos, un disco magnético no volátil 102 y una unidad 105 de disco óptico que lee de un disco óptico extraíble no volátil 106, tal como un CD ROM u otro medio óptico, o escribe en él. Otros medios de almacenamiento de ordenador extraíbles/no extraíbles volátiles/no volátiles que pueden ser usados en el entorno operativo ejemplar incluyen, sin limitación, casetes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de vídeo digital, RAM de estado sólido, ROM de estado sólido y similares. La unidad 91 de disco duro está conectada típicamente al bus 71 del sistema a través de una interfaz de memoria no extraíble, tal como la interfaz 90, y una unidad 101 de disco magnético y una unidad 105 de disco óptico están típicamente conectadas al bus 71 del sistema por medio de una interfaz de memoria extraíble, tal como la interfaz 100.
Las unidades y sus medios asociados de almacenamiento de ordenador presentados en lo que antecede e ilustrados en la FIG. 2 permiten el almacenamiento de instrucciones, estructuras de datos, módulos de programa y otros datos legibles por ordenador para el ordenador 60. En la FIG. 2, por ejemplo, la unidad 91 de disco duro se ilustra almacenando el sistema operativo 94, programas 95 de aplicación, otros módulos 96 de programa y datos 97 de programa. Obsérvese que estos componentes pueden ser los mismos o diferentes que el sistema operativo 84, los programas 85 de aplicación, otros módulos 86 de programa y los datos 87 de programa. El sistema operativo 84, los programas 85 de aplicación, otros módulos 86 de programa y los datos 87 de programa reciben aquí números diferentes para ilustrar que, como mínimo, son copias diferentes.
Un usuario puede introducir órdenes e información en el ordenador 60 a través de dispositivos de entrada tales como un teclado 112, un micrófono 113, un tablero 114 de escritura manuscrita, y un dispositivo 111 de puntero, tal como un ratón, una bola de mando o una almohadilla táctil. Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de mando, un mando para juegos, una antena parabólica, un escáner o similares. Estos y otros dispositivos de entrada están a menudo conectados con la unidad 70 de proceso a través de una interfaz 110 de entrada de usuario que está acoplada al bus del sistema, pero pueden estar conectados por medio de otra interfaz y otras estructuras de bus, tal como un puerto paralelo, un puerto de juegos o un bus serie universal (USB). Un monitor 141 u otro tipo de dispositivo de visualización también está conectado al bus 71 del sistema a través de una interfaz, tal como una interfaz 140 de vídeo. Además del monitor, los ordenadores también pueden incluir otros dispositivos periféricos de salida, tales como altavoces 147 y la impresora 146, que pueden estar conectados a través de una interfaz 145 de periféricos de salida.
El ordenador 60 puede operar en un entorno de red usando conexiones lógicas a uno o más ordenadores remotos, tal como un ordenador remoto 130. El ordenador remoto 130 puede ser un ordenador personal, un dispositivo de mano, un servidor, un dispositivo de encaminamiento, un PC de red, un dispositivo del mismo nivel u otro nodo común de red, y típicamente incluye muchos de los elementos descritos en lo que antecede, o todos, relativos al ordenador 60. Las conexiones lógicas representadas en la FIG. 2 incluyen una red 121 de área local (LAN) y una red 123 de área amplia (WAN), pero también pueden incluir otras redes. Tales entornos de red son habituales en despachos, redes de ordenadores de ámbito empresarial, intranets e Internet.
Cuando se usa en un entorno de red LAN, el ordenador 60 está conectado a la LAN 121 a través de una interfaz o un adaptador 120 de red. Cuando se usa en un entorno de red WAN, el ordenador 60 incluye típicamente un módem 122 u otro medio para establecer comunicaciones en la WAN 123, tal como Internet. El módem 122, que puede ser interno o externo, puede estar conectado al bus 71 del sistema a través de la interfaz 110 de entrada de usuario o de otro mecanismo apropiado. En un entorno de red, los módulos de programa representados relativos al ordenador 60,
o porciones de los mismos, pueden ser almacenados en el dispositivo remoto de almacenamiento de memoria. A título de ejemplo y no de limitación, la FIG. 2 ilustra programas remotos 135 de aplicación que residen en el ordenador remoto 130. Se apreciará que las conexiones de red mostradas son ejemplares y que pueden usarse otros medios de establecimiento de un enlace de comunicaciones entre ordenadores.
Debiera entenderse que el analizador 20 de textos puede residir en el ordenador 60 o en cualquier ordenador que se comunique con el ordenador 60, tal como el ordenador remoto 130. De forma similar, el léxico 22 puede residir en el ordenador 60 en cualquiera de los dispositivos de almacenamiento descritos en lo que antecede, o ser accesible a través de un enlace de comunicaciones adecuado.
La Fig. 3 es una representación gráfica del léxico 22. En el aspecto ejemplar ilustrado, el léxico 22 incluye una sección 160 de cabecera, una sección 162 de lista de palabras, una sección 164 de tabla índice, una sección de índices 166, dos o más secciones 168 de datos de léxico (en el presente documento, por ejemplo, 16 secciones 168A, 168B, 168C, 168D, 168E, 168F, 168G, 168H, 168I, 168J, 168K, 168L, 168M, 168N, 1680, 168P), y una sección 170 de pila de cadenas.
Generalmente, la sección 160 de cabecera almacena información en cuanto a la estructura del léxico 22. Por ejemplo, la sección 160 de cabecera puede incluir información en cuanto al nombre y la versión del léxico. La 5
sección 160 de cabecera puede también incluir información en cuanto al desplazamiento en memoria y el tamaño de cada una de las secciones 162, 164, 166, 168A-168P y 170. La sección 162 contiene la lista de palabras del léxico
22. Puede usarse cualquier formato para implementar la lista de palabras en la sección 162. Un formato particularmente útil comprende almacenar una lista de palabra en una estructure “trie”, que es una técnica de estructura de datos bien conocida. Las ventajas de este formato incluyen ser capaz de determinar fácilmente cuántas palabras pueden comenzar con un prefijo particular, lo que puede resultar útil, por ejemplo, en el reconocimiento de la escritura manuscrita y cuando es necesario determinar la probabilidad de que el usuario haya escrito una letra particular. Este formato también permite que se conozca el sentido de la escritura tanto hacia la derecha como hacia la izquierda. Tal como se ha indicado en lo que antecede, pueden usarse otras formas de listado de palabras en la sección 162. Por ejemplo, puede usarse una simple tabla o lista. En otro aspecto adicional, puede usarse una técnica de “diferencias” para almacenar la lista de palabras en la que se almacene la diferencia en símbolos o caracteres entre palabras sucesivas.
Antes de describir la sección 164, puede resultar útil describir primero la sección 166 y su relación con la pluralidad de secciones 168. Según se expuso en la sección de antecedentes, los léxicos actuales requieren que se lea toda la información relativa a una entrada de palabra particular, aunque puede que solo se desee una porción de la información. Las secciones 168A-168P permiten que los datos de cada entrada de palabra en el léxico estén organizados como se desee, de modo que la información relacionada del léxico puede agruparse generalmente de forma conjunta. Por ejemplo, puede usarse una de las secciones 168A-168P para almacenar información relativa a la verificación ortográfica, mientras que otra sección almacena información relativa a clasificaciones lingüísticas normalizadas. Generalmente, la sección 166 de índices proporciona punteros (por ejemplo, agrupados en conjuntos) a los datos almacenados en las secciones 168A-168P en función de entradas de palabra de la sección 16 de lista de palabras. En otras palabras, la sección 162 (por ejemplo, trie) de lista de palabras determina directa o indirectamente el punto o los puntos de acceso (desplazamientos) a la sección 166 de índices. Generalmente, el procedimiento para obtener información de palabras incluye acceder a la sección de lista de palabras en función de una palabra dada para determinar una identificación de puntero para la sección de índices. Usando la identificación de puntero se obtiene un puntero para la palabra en la sección de índices. El puntero se usa entonces para determinar qué sección de datos de la pluralidad de secciones de datos tiene información sobre la palabra dada en qué lugar está situada la información en la sección de datos. Así, para una entrada de palabra particular presente en la sección 162, los correspondientes datos de léxico almacenados en las secciones 168A-168P para esa palabra pueden ser objeto de acceso selectivo a través de la sección 166 de índices, no requiriéndose por ello que toda la información de palabra para una palabra dada sea procesada o, al menos, leída.
En un aspecto particularmente útil, el puntero o el conjunto de punteros en la sección 166 de índices para las secciones 168A-168P para cada entrada de palabra en la sección 162 están clasificados por su parte de oración (“POS”) en cuanto a si la entrada de palabra puede ser un sustantivo, un verbo, un adjetivo, etc. De esta manera, los datos para una POS de una entrada de palabra son una serie de punteros a la información de POS en las secciones 168A-168P. Así, para una entrada de palabra con dos POS, hay dos conjuntos diferenciados de punteros en la sección 166. Un conjunto indicaría la ubicación de la información sobre la primera POS (por ejemplo, la forma sustantiva de la entrada) y el segundo conjunto de punteros indicaría la ubicación de información sobre la otra POS (por ejemplo, la forma verbal de la entrada). En este punto, debería entenderse que pueden usarse otras formas de clasificación además de la POS, dependiendo del lenguaje al que esté dirigido el léxico 22. Por ejemplo, en vez de usar partes de la oración, para los idiomas japonés o chino pueden usarse clasificaciones de inflexión o tonales. Aunque está ejemplificado en el presente documento cuando la sección 166 de índices proporciona clasificación de POS, no debería considerarse que esta característica sea limitante ni requerida.
También debería hacerse notar que el uso de la palabra “palabra”, tal como se usa en el presente documento, incluye símbolos, ideogramas, logogramas, etc., tal como se usan en idiomas tales como el chino y el japonés. Así, pueden construirse léxicos para estos idiomas usando aspectos de la presente invención y se pretende que estén cubiertos por las reivindicaciones, a no ser que se haga notar lo contrario en el presente documento.
En el aspecto ejemplar, cada puntero incluye información relacionada con a qué sección 168A-168P apunta el puntero, información relacionada con el tipo de POS, y un valor de desplazamiento en el que han de encontrarse los datos relevantes en la sección identificada 168A-168P. Aunque los punteros asociados con una entrada de palabra dada en la sección 162 pueden ser fijos, en el aspecto ejemplar el número de punteros para cada entrada de palabra puede variar de una entrada de palabra a otra. De esta manera, la sección 166 de índices puede ser más compacta y flexible, sin ninguna limitación fija inherente.
A continuación se proporciona una representación de un puntero ejemplar en la sección 166 para una entrada de palabra: X1: X2: X3: X4: siendo X1 una bandera que indica el fin del conjunto de punteros para la entrada de palara, siendo X2 información que identifica a una de las secciones 168, siendo X3 información que identifica la POS u otra clasificación, y siendo X4 un valor que indica el desplazamiento para los datos de léxico identificados por X2. Usando este formato, los punteros para toda la información para una palabra dada son almacenados secuencialmente, estando identificado el primer puntero directa o indirectamente en función de la sección de lista de palabras y estando puesta la bandera X1 para el último puntero para indicar el fin de la lista de punteros para la palabra dada. En un aspecto, la sección 166
de índices es una gran matriz de DWORD (cantidades de 4 bytes, alineamiento de palabra de 4 bytes para un acceso rápido). En este aspecto, un byte comprende una bandera de un bit para X1 que indica el fin del conjunto de punteros, cuatro bits X2 que indican la sección 168A-168P y tres bits X3 que indican el tipo de POS. Luego se usan tres bytes para X4 para proporcionar un valor de desplazamiento de 24 bits para indicar el lugar en el que los datos están almacenados en las secciones 168A-168P. Debiera entenderse que este formato no es más que un ejemplo en el que también pueden usarse otros formatos. De forma similar, no debería considerarse que este ejemplo sea requerido ni limitante. En general, se escoge el formato de los punteros de la sección 166 de índices para indicar la ubicación de los datos en la pluralidad de secciones 168 y, si se desea, una o más clasificaciones de la información de la palabra.
En este punto, debería hacerse notar también que cualquier dato que sea lo bastante pequeño como para caber en la porción de desplazamientos de una entrada de punto de la sección 166 puede ser cifrado directamente en la sección 166 de índices, en vez de en una sección 168A-168P separada. Ejemplos de este tipo de datos incluyen información ortográfica, o datos de probabilidad y frecuencia para la entrada de palabra, cualquiera de los cuales a menudo puede ser fácilmente almacenado en los bits asignados para los valores de desplazamiento de los datos.
Tal como se ha indicado en lo que antecede, la entrada a la sección 166 de índices es una función de la entrada de palabra desde la sección 162. Pueden usarse diversas técnicas para pasar entre las secciones 162 y 166. En un primer aspecto, cada entrada de palabra en la sección 162 podría incluir el requerido desplazamiento a la sección
166. Sin embargo, si la sección 162 comprende una estructura trie, puede ser necesaria la modificación de la estructura del nodo hoja del trie. Da manera alternativa, puede usarse los desplazamientos de los nodos de la estructura trie como desplazamientos a la sección 166 de índices. En el aspecto ejemplo, esto significaría asignar 40 bytes (10 punteros POS) para el conjunto de índices POS para una entrada de palabra. En otro aspecto adicional, el valor de desplazamiento puede estar fijado al final de una entrada de palabra en la sección 166.
En otra realización adicional, la tabla índice 164 está incluida en la estructura del léxico 22. La tabla índice 164 permite el establecimiento de una correlación entre las entradas de palabras y la sección 166 de índices y es particularmente útil cuando los punteros en la sección 166 pueden variar en número de una entrada de palabra a otra. Sin embargo, es posible usar un número de tamaño fijo de punteros en la sección 166 de índices para cada entrada de palabra asociada. Usando esta estructura de la sección 166, no sería necesaria la sección 164 de tabla índice. En este aspecto alternativo, en caso de que se permitan entradas de palabras con más del número fijo de punteros de índice en la sección 166, podría usarse una tabla de desbordamiento.
En este punto debería hacerse notar que los desplazamientos de la sección 162 a la sección 166 de índices y, más en particular, los punteros de la sección 166 que apuntan a los datos en las secciones 168A-168B pueden ser organizados para proporcionar eficiencia y velocidad cuando se recuperan datos del léxico 22. Por ejemplo, los puntos de desplazamiento pueden organizarse para ubicar información de léxico en las secciones 168A-168P adyacente a otra información de palabras usadas frecuentemente o, si se desea, organizarse información asociada o relacionada en las secciones 168A-168B más estrechamente entre sí, de modo que, cuando se almacenen en un dispositivo de almacenamiento de ordenador, tal como un disco duro, un disco flexible o similares, se acorten los tiempos de recuperación de la información.
Los datos de las secciones 168A-168P pueden estar presentes en las mismas o, si se desea, pueden proporcionarse punteros para que refieran las entradas de palabras de la sección 162 a datos contenidos dentro de la misma sección 168A-168P, en otras secciones 168A-168P, y, en el aspecto ilustrativo, también a una pila 170 de cadenas. Se usa la pila 170 de cadenas para proporcionar una única ubicación de almacenamiento para una cadena seleccionada cuyos datos sería preciso que fueran almacenados como múltiples instancias en las secciones 168A168P. La pila 170 de cadenas puede ser una sola sección o puede incluir subsecciones similares a las secciones 168A-168P. Otras formas de información en las secciones 168 pueden incluir banderas booleanas, valores, listas de palabras en árboles de decisión, etc.
La organización de los datos de entradas de palabras usando una pluralidad de secciones 168A-168P permite que el léxico 22 sea fácilmente adaptado para cumplir las necesidades de una aplicación particular sin consumir grandes cantidades de memoria en el ordenador en el que está implementado. Por ejemplo, el léxico 22 puede leer introduciendo datos en una memoria de acceso rápido como la RAM; sin embargo, si no se necesita un tipo particular de datos en el léxico, pueden omitirse esa sección o secciones de la pluralidad de secciones 168A-168P. Aunque los punteros en la sección 166 de índices pueden ser modificados para que reflejen únicamente aquellas secciones 168A-168P que están presentes, en un aspecto adicional, es innecesaria la modificación, dado que, si las secciones 168A-168P están presentes, se obtiene información, mientras que si la sección no está presente, no se busca información alguna. Las secciones presentes en el léxico pueden estar registradas, por ejemplo, en la cabecera 160 para no causar errores.
Un beneficio particular de la estructura de léxico descrita en el presente documento es que un usuario o un autor del léxico pueden poner cualquier tipo de información sobre una palabra para su recuperación posterior si la entrada 12 (Fig. 1) incluye esa palabra. Además, no es preciso que la información definida por el usuario se entremezcle con
otra información contenida en el léxico, sino que, más bien, puede ser almacenada en una o varias secciones dedicadas en la pluralidad de secciones 168A-168P.
Los que siguen no son más que unos ejemplos de datos de léxico organizados en secciones adecuadas para las secciones 168A-168P. Debería hacerse notar que estos no son más que meros ejemplos en los que los datos del léxico 22 pueden ser organizados de cualquier manera deseada en aras de la conveniencia o de la comprensión. Se ha descubierto que las secciones descritas en el presente documento son particularmente útiles, pero no debería considerarse que sean requeridas ni limitantes.
Sección de datos de morfología: tal información puede incluir pronunciación, así como otras formas de la palabra para tiempos verbales de varias palabras.
Sección estándar de datos de autor: tal información puede incluir datos que indiquen si la entrada de palabra es o no singular, plural o si la palabra es animada o inanimada. La información relativa a las entradas de palabras para esta sección es generalmente información bien conocida sobre la entrada de palabra tal como aquella de la que podría ser autor un lego. De esta manera, esta información puede ser cambiada o alterada fácilmente para amoldarse a los requerimientos de un usuario.
Sección estándar de datos lingüísticos: tal información incluye información lingüística de las entradas de palabras. Aunque tal información no resulta bien conocida para un lego común, los lingüistas pueden entender fácilmente esta información y modificarla según sea necesario.
Sección de datos de análisis sintáctico: tal información incluye datos útiles para el análisis sintáctico de lenguaje natural.
Sección de datos de dominio/tema: tal información está relacionada con códigos de dominio o tema. Por ejemplo, la información puede indicar que las correspondientes palabras están relacionadas con la física, las matemáticas, la geografía, la alimentación, etc.
Sección de datos de ortografía: tal información está relacionada con la verificación ortográfica, por ejemplo, marcas de dialecto, marcas restringidas, etc. Las marcas restringidas indican palabras que son permitidas pero que no se sugieren durante la verificación ortográfica, tal como vulgaridades, acrónimos, términos arcaicos, etc.
Sección de datos de expresión de múltiples palabras: tal información es útil cuando es preciso identificar por separado palabras múltiples como modismos, nombres propios, títulos de un libro o de películas, títulos de cargos, nombres de lugares, etc. Comúnmente, los datos almacenados con respecto a cada entrada de palabra son las palabras que preceden y/o siguen a la palabra en una expresión de múltiples palabras.
Por ejemplo, una de las secciones de la pluralidad de secciones 168A-168P puede incluir pares jerárquicos arbitrarios de valores de nombre para buscar únicamente por el autor de las entradas del léxico. Por ejemplo, si un autor desea añadir información de la Entidad Nombre (NE) sobre una expresión de múltiples palabras (expuesto más arriba), el autor puede añadir en la sección un conjunto de pares de valores basados en cadenas de nombres, que en el formato XML puede ser representado como:
<named-entity>
<app-ne-id>movieFinder::el_día_más_largo</app-ne-id>
<semantic-type>movieFinder::movieTitle</semantic-type>
<genre>Drama</genre>
<URL>http://www.movieFinder.com/fetch-movie-info/the_longest_day</URL>
<movie-info>
<date>30 de enero de 1969</date>
<running-time>137 min.</running-time>
<studio>20th Century Fox</studio>
</movie-info>
<non-rated/> </named-entity>
La sección puede representar, así, pares de nombres de valores simples basados en cadenas de anidamiento arbitrario. El formato no soporta atributos de identificadores de XML, sino que el autor codifica estos como subelementos separados de esa sección. En el ejemplo anterior, los datos para el título de una película tiene una mezcla de datos específicos de aplicación que pueden ser almacenados si se desea.
La estructura del léxico 22 acomoda léxicos escribibles aprovechando el hecho de que no es preciso que cada sección del léxico sea continua con la sección que la precede inmediatamente. En otras palabras, las secciones pueden reservar espacio extra no utilizado para su expansión futura. Las operaciones de actualización del léxico se llevan a cabo escribiendo el o los nuevos valores en las debidas ubicaciones. Obsérvese que si el léxico 22 está implementado como un léxico basado en una DLL (biblioteca de enlace dinámico) o como léxicos basados en
ficheros precompilados (estáticos), que no tienen espacio de reserva, una simple implementación de lista libre encuentra espacio libre de entradas con base en un algoritmo de primer ajuste.
Generalmente, un procedimiento de almacenamiento de información de palabras en el léxico 22 incluye almacenar información de palabras en la pluralidad de secciones 168 de datos, almacenando cada sección de datos información seleccionada sustancialmente diferente sobre las palabras de una lista de palabras; almacenar información de punteros en la sección 166 de índices, que está separada de la pluralidad de secciones 168 de datos, apuntando cada uno de los punteros a datos seleccionados en la pluralidad de secciones 168 de datos; y almacenar la lista de palabras en una sección 162 de lista de palabras separada de la pluralidad de secciones 168 de datos y de la sección 166 de índices, teniendo la lista de palabras información para identificar los correspondientes punteros relacionados con una palabra seleccionada. Si se desea, los valores de identificación pueden almacenarse en la sección 164 de tabla índice, en la que cada valor de identificación corresponde a una palabra de la sección 162 de lista de palabras y está asociado con un puntero en la sección 166 de índices. De forma similar, pueden incluirse indicaciones de clasificación en los punteros para clasificar la información de la palabra.
La estructura del léxico 22 resulta particularmente útil cuando es deseable obtener información de varios léxicos. En general, los datos de múltiples léxicos para una palabra particular pueden combinarse, ignorarse o seleccionarse como se desee. Ejemplos de combinación de información de léxico de varios léxicos existen en una implementación en la que un léxico central o base contiene una primera cantidad de información sobre entradas de palabras, un segundo léxico incluye una segunda cantidad de información sobre las entradas de palabras para un dominio particular y un tercer léxico incluye una tercera cantidad de información sobre las entradas de palabras según determina el usuario.
La Fig. 4 ilustra esquemáticamente cómo puede obtenerse de múltiples léxicos información para una entrada de palabra particular. En la Fig. 4, los léxicos (representados solamente por las secciones de datos, pero, por lo demás, de los que se ilustran algunas de sus secciones, o todas, en la Fig. 3) están organizados en filas e indicados en 180, 181, 182 y 183. Las secciones individuales de datos (correspondientes a las secciones 168) están representadas verticalmente en la Fig. 4 y, en este aspecto ilustrativo, hay un máximo de seis secciones 190, 191, 192, 193, 194 y 195 de datos que pueden ser objeto de acceso en los cuatro léxicos 180-183. Obsérvese que no es necesario que cada léxico 180-183 incluya todas las secciones 190-195 de datos y, en muchos casos prácticos, no existiría tal correspondencia entre todas las secciones de datos de todos los léxicos.
En la Fig. 4, se usa la notación Xy para indicar datos en una sección de léxico, denotando X una de las secciones 190-195 de datos y denotando Y el léxico 180-183. Por ejemplo, el léxico 180 comprende las secciones de datos 190180, 193180 y 195180.
Dado que los datos de los léxicos 180-183 han sido organizados en secciones 190-195 que tienen el mismo tipo de contenido, la información puede ser combinada o seleccionada fácilmente en los léxicos 180-183. Puede obtenerse la información para una entrada de palabra dada examinando la información en el primer léxico 180 y luego avanzando a la misma sección de datos de los otros léxicos 181-183 según se necesite. En un aspecto, los datos a recuperar son controlados por un conjunto definido en tiempo de ejecución de tipos de sección deseados. Una variable determina si leer o no leer datos para una entrada de un léxico. Una segunda variable determina si combinar o sobrescribir datos de entradas leídas previamente de la correspondiente sección de los otros léxicos examinados. Esquemáticamente, puede considerarse que los léxicos están “apilados” y que la información se obtiene leyendo la sección 190-195 de datos del léxico superior de la pila y luego proseguir secuencialmente hacia abajo en la pila, siguiendo las reglas en cuanto a si leer o no y en cuanto a si seleccionar, ignorar, sobrescribir o combinar. La estructura de léxico ilustrada en la Fig. 3 permite al implementador escoger cómo se combinan los datos de un tipo dado de sección con los datos de la misma sección en otros léxicos, o los anulan.
En la Fig. 4, la información 186 obtenida de los léxicos 180-183 comprende información correspondiente a las secciones 190180, 191181, 192183, 193180, 194183 y 195180 + 181 + 182. En este ejemplo, los datos para las secciones 190, 191, 193 y 194 se obtienen simplemente examinando los léxicos 180-183 en orden sección a sección hasta que se encuentra un indicador de parada en una de las secciones de datos. Por ejemplo, aunque tanto el léxico 180 como el 183 tienen información en la sección 190, solo se recupera la información del léxico 180 porque se encontró un indicador de parada en la sección 190180. En tiempo de ejecución, esto hace que la información de la sección 190183 sea ignorada. En cambio, se combina entre sí la información de las secciones 195180, 195181 and 195182 para formar la información 195180 + 181 + 182 porque no se encontró un indicador de parada hasta que se examinó la sección 195182. Si se desea, la información en las secciones de todos los léxicos puede ser combinada, ignorada o, si no, seleccionarse con base en reglas implementadas por el analizador 20 de textos o por un módulo de interfaz, no mostrado, que accede al léxico 22 con base en peticiones del analizador 20 de textos. Por ejemplo, tales reglas pueden indicar que una sección particular de un léxico particular ha de usarse siempre, con independencia de si hay información en secciones correspondientes de otros léxicos. Esto se representa en la Fig. 4, en la que, aunque hay información presente en el léxico 182, y al menos la sección 192 es examinada en primer lugar porque está más alta en la pila, se obtiene la información de la sección 192 del léxico 183. Sin embargo, la selección de datos también
puede realizarse por entrada de palabra, por ejemplo usando los punteros de parada, tal como se ha descrito en lo que antecede.
En resumen, se ha descrito una estructura mejorada de léxico que proporciona flexibilidad y eficiencias no disponibles anteriormente. La sección de índices y la pluralidad de secciones de datos permiten que el léxico se
5 adapte para cuadrar con las necesidades del sistema procesador de textos y/o los recursos disponibles del ordenador. La estructura mejorada de datos también permite que los datos de múltiples léxicos sean objeto de acceso selectivo y/o combinados según se desee.
Aunque la presente invención ha sido descrita con referencia a aspectos preferentes, los expertos en la técnica reconocerán que pueden efectuarse cambios en forma y detalla sin apartarse del ámbito de la invención.
Claims (11)
- REIVINDICACIONES1. Un medio de almacenamiento legible por ordenador que tiene una pluralidad de léxicos (180-183) para almacenar información de palabras y adaptado para su uso en un analizador (20) de textos en un sistema (10) de tratamiento del lenguaje, comprendiendo cada léxico:5 una sección (162) de lista de palabras para almacenar una pluralidad de palabras; un conjunto de secciones (168A -168P; 190 - 195) de datos que se corresponde con cada palabra de la lista de palabras, almacenando las secciones de datos información seleccionada diferente sobre la correspondiente palabra de la lista de palabras; y para cada palabra de la lista de palabras, una pluralidad de punteros almacenados en una tabla (166) de10 índices aparte de los conjuntos de secciones de datos, apuntando cada uno de los punteros a una sección de datos diferente relacionada con información diferente sobre la palabra correspondiente, incluyendo cada uno de los punteros una primera indicación de a qué sección de datos acceder, una segunda indicación de un valor de desplazamiento relacionado con la información almacenada en el mismo y una tercera indicación de una clasificación de la palabra;15 en el que las secciones (190-195) de datos de cada uno de los léxicos (180-183) que tienen información similar son accesibles selectivamente para obtener información de las mismas, y en el que dicha pluralidad de léxicos que tienen secciones de datos con información similar permite:obtener la información de palabras de al menos dos secciones (195180, 195181, 195182) de datos que tienen información similar para combinar la información (195180-181+182) obtenida de palabras, siendo20 dichas al menos dos secciones (195180, 195181, 195182) de datos de al menos dos léxicos diferentes (180-182), u obtener la información de palabras (192182) de al menos dos secciones (192182, 192183) de datos que tienen información similar y luego usar solo la información de palabras obtenida de una sección (192182) de datos, siendo dichas al menos dos secciones (192182, 192183) de datos de al menos dos léxicos25 diferentes (182-183).
-
- 2.
- El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que la sección de lista de palabras es una estructura de datos trie.
-
- 3.
- El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que la identificación es un valor de desplazamiento almacenado en la sección de lista de palabras.
30 4. El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que cada léxico comprende, además, una sección (164) de tabla índice para almacenar cada una de las identificaciones correlacionadas con palabras de la sección de lista de palabras, teniendo cada palabra de la sección de lista de palabras una entrada correspondiente en la sección de la tabla índice. - 5. El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que una sección de la pluralidad 35 de secciones de datos almacena información relacionada con la verificación ortográfica.
-
- 6.
- El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que una sección de la pluralidad de secciones de datos almacena información relacionada con la morfología.
-
- 7.
- El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que una sección de la pluralidad de secciones de datos almacena información relacionada con la lingüística.
40 8. El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que una sección de la pluralidad de secciones de datos almacena información que indica que una palabra pertenece a una expresión de múltiples palabras. - 9. El medio de almacenamiento legible por ordenador de la reivindicación 1 en el que dos secciones de datos de la pluralidad de secciones de datos almacenan por separado información seleccionada del grupo que consiste45 en información de verificación ortográfica, información morfológica, información lingüística e información de expresiones de múltiples palabras.
- 10. Un procedimiento implementado por ordenador para obtener información de palabras accediendo a una pluralidad de léxicos (180-183), estando adaptado cada léxico para ser usado con un analizador (20) de textos en un sistema (10) de tratamiento del lenguaje, en el que cada léxico almacena información de una palabra50 perteneciente a una pluralidad de palabras, comprendiendo cada léxico:una sección (162) de lista de palabras que almacena la pluralidad de palabras; conjuntos de secciones (168A -168P; 190 - 195) de datos, correspondiéndose cada conjunto de secciones de datos con una palabra individual en la sección de lista de palabras, almacenando cada sección de datos entre un conjunto de secciones de datos información seleccionada diferente sobre la correspondiente55 palabra de la lista de palabras; yuna sección (166) de índices que almacena una pluralidad de punteros aparte de los conjuntos de secciones de datos, correspondiéndose cada pluralidad de punteros con una palabra individual, apuntando cada puntero a datos en una sección de datos, incluyendo cada uno de los punteros una primera indicación de a qué sección de datos acceder, una segunda indicación de un valor de desplazamiento relacionado con5 la información almacenada en el mismo y una tercera indicación de una clasificación de la palabra, comprendiendo el procedimiento:acceder selectivamente a secciones (190-195) de datos de cada uno de los léxicos (180-183) que tienen información similar y obtener información de los mismos, en el que dicha pluralidad de léxicos que tienen secciones de datos con información similar permite:10 obtener la información de palabras de al menos dos secciones (195180, 195181, 195182) de datos que tienen información similar para combinar la información (195180+181+182) obtenida de palabras, siendo dichas al menos dos secciones (195180, 195181, 195182) de datos de al menos dos léxicos diferentes (180-182), u obtener la información de palabras (192182) de al menos dos secciones (192182, 192183) de datos que15 tienen información similar y luego usar solo la información de palabras obtenida de una sección (192182) de datos, siendo dichas al menos dos secciones (192182, 192183) de datos de al menos dos léxicos diferentes (182-183); acceder a la sección de lista de palabras de al menos un léxico de dicha pluralidad de léxicos en función de dicha palabra para determinar una identificación de puntero para la sección de índices usando la identificación de puntero de dicho al menos un léxico para obtener un puntero en la20 sección de índices; usar el puntero de dicho al menos un léxico para determinar qué sección de datos de la pluralidad de secciones de datos tiene información sobre la palabra dada y del lugar en el que la información está localizada en la sección de datos.
- 11. El procedimiento implementado por ordenador de la reivindicación 10 en el que la identificación es un valor de 25 desplazamiento almacenado en la sección de lista de palabras.
- 12. El procedimiento implementado por ordenador de la reivindicación 10 en el que cada léxico incluye una sección(164) de tabla índice que almacenada cada una de las identificaciones correlacionadas con palabras de la sección de lista de palabras, y en el que acceder a la sección de lista de palabras en función de dicha palabra para determinar una identificación de puntero para la sección de índices incluye, además, el uso de la sección30 de lista de palabras para encontrar una entrada correspondiente en la sección de la tabla índice que tenga la identificación correspondiente.
- 13. El procedimiento implementado por ordenador de la reivindicación 13 en el que el acceso selectivo incluye obtener la información de palabras de secciones de datos similares de cada léxico hasta que se localiza un indicador de parada.35 14. El procedimiento implementado por ordenador de la reivindicación 13 en el que el acceso selectivo a las secciones de datos incluye el acceso secuencial a los léxicos en un orden seleccionado.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/137,456 US7490034B2 (en) | 2002-04-30 | 2002-04-30 | Lexicon with sectionalized data and method of using the same |
US137456 | 2002-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2386631T3 true ES2386631T3 (es) | 2012-08-24 |
Family
ID=29249733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03008804T Expired - Lifetime ES2386631T3 (es) | 2002-04-30 | 2003-04-23 | Léxico con datos divididos en secciones y procedimiento de uso del mismo |
Country Status (8)
Country | Link |
---|---|
US (1) | US7490034B2 (es) |
EP (1) | EP1367501B1 (es) |
JP (1) | JP4724357B2 (es) |
CY (1) | CY1113100T1 (es) |
DK (1) | DK1367501T3 (es) |
ES (1) | ES2386631T3 (es) |
PT (1) | PT1367501E (es) |
SI (1) | SI1367501T1 (es) |
Families Citing this family (205)
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 |
US7447627B2 (en) * | 2003-10-23 | 2008-11-04 | Microsoft Corporation | Compound word breaker and spell checker |
US7421386B2 (en) * | 2003-10-23 | 2008-09-02 | Microsoft Corporation | Full-form lexicon with tagged data and methods of constructing and using the same |
US7398210B2 (en) * | 2003-10-23 | 2008-07-08 | Microsoft Corporation | System and method for performing analysis on word variants |
US7548849B2 (en) * | 2005-04-29 | 2009-06-16 | Research In Motion Limited | Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US20070078644A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Detecting segmentation errors in an annotated corpus |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US9633005B2 (en) | 2006-10-10 | 2017-04-25 | Abbyy Infopoisk Llc | Exhaustive automatic processing of textual information |
US8548795B2 (en) * | 2006-10-10 | 2013-10-01 | Abbyy Software Ltd. | Method for translating documents from one language into another using a database of translations, a terminology dictionary, a translation dictionary, and a machine translation system |
US9235573B2 (en) | 2006-10-10 | 2016-01-12 | Abbyy Infopoisk Llc | Universal difference measure |
US9645993B2 (en) | 2006-10-10 | 2017-05-09 | Abbyy Infopoisk Llc | Method and system for semantic searching |
US9047275B2 (en) | 2006-10-10 | 2015-06-02 | Abbyy Infopoisk Llc | Methods and systems for alignment of parallel text corpora |
US8214199B2 (en) * | 2006-10-10 | 2012-07-03 | Abbyy Software, Ltd. | Systems for translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions |
US8145473B2 (en) | 2006-10-10 | 2012-03-27 | Abbyy Software Ltd. | Deep model statistics method for machine translation |
US9984071B2 (en) | 2006-10-10 | 2018-05-29 | Abbyy Production Llc | Language ambiguity detection of text |
US20080086298A1 (en) * | 2006-10-10 | 2008-04-10 | Anisimovich Konstantin | Method and system for translating sentences between langauges |
US8195447B2 (en) * | 2006-10-10 | 2012-06-05 | Abbyy Software Ltd. | Translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US8959011B2 (en) | 2007-03-22 | 2015-02-17 | Abbyy Infopoisk Llc | Indicating and correcting errors in machine translation systems |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
CN101779200B (zh) | 2007-06-14 | 2013-03-20 | 谷歌股份有限公司 | 词典词和短语确定方法和设备 |
US8812296B2 (en) | 2007-06-27 | 2014-08-19 | Abbyy Infopoisk Llc | Method and system for natural language dictionary generation |
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 |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US9262409B2 (en) | 2008-08-06 | 2016-02-16 | Abbyy Infopoisk Llc | Translation of a selected text fragment of a screen |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US20100235780A1 (en) * | 2009-03-16 | 2010-09-16 | Westerman Wayne C | System and Method for Identifying Words Based on a Sequence of Keyboard Events |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital 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 |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
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 |
WO2011089450A2 (en) | 2010-01-25 | 2011-07-28 | Andrew Peter Nelson Jerram | Apparatuses, methods and systems for a digital conversation management platform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
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 |
US8971630B2 (en) | 2012-04-27 | 2015-03-03 | Abbyy Development Llc | Fast CJK character recognition |
US8989485B2 (en) | 2012-04-27 | 2015-03-24 | Abbyy Development Llc | Detecting a junction in a text line of CJK characters |
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 |
KR20150104615A (ko) | 2013-02-07 | 2015-09-15 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
CN105027197B (zh) | 2013-03-15 | 2018-12-14 | 苹果公司 | 训练至少部分语音命令系统 |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
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 |
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 |
EP3008641A1 (en) | 2013-06-09 | 2016-04-20 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
AU2014278595B2 (en) | 2013-06-13 | 2017-04-06 | Apple Inc. | System and method for emergency calls initiated by voice command |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
RU2592395C2 (ru) | 2013-12-19 | 2016-07-20 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Разрешение семантической неоднозначности при помощи статистического анализа |
RU2586577C2 (ru) | 2014-01-15 | 2016-06-10 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Фильтрация дуг в синтаксическом графе |
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 |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
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 |
US9606983B1 (en) * | 2014-08-27 | 2017-03-28 | Amazon Technologies, Inc. | Human readable mechanism for communicating binary data |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
RU2596600C2 (ru) | 2014-09-02 | 2016-09-10 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способы и системы обработки изображений математических выражений |
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 |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
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 |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9626358B2 (en) | 2014-11-26 | 2017-04-18 | Abbyy Infopoisk Llc | Creating ontologies by analyzing natural language texts |
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 |
US9866393B1 (en) | 2014-12-22 | 2018-01-09 | Amazon Technologies, Inc. | Device for creating reliable trusted signatures |
US10110385B1 (en) | 2014-12-22 | 2018-10-23 | Amazon Technologies, Inc. | Duress signatures |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
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 |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
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 |
US9819673B1 (en) | 2015-06-24 | 2017-11-14 | Amazon Technologies, Inc. | Authentication and authorization of a privilege-constrained application |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
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 |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
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 |
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 |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
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 |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
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 |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
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 |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
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 |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL 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 |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
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 |
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 |
US11010553B2 (en) * | 2018-04-18 | 2021-05-18 | International Business Machines Corporation | Recommending authors to expand personal lexicon |
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 |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
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 |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
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 |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
CN110795173A (zh) * | 2019-10-30 | 2020-02-14 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置和电子设备及可读存储介质 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4384329A (en) * | 1980-12-19 | 1983-05-17 | International Business Machines Corporation | Retrieval of related linked linguistic expressions including synonyms and antonyms |
US4724523A (en) * | 1985-07-01 | 1988-02-09 | Houghton Mifflin Company | Method and apparatus for the electronic storage and retrieval of expressions and linguistic information |
JPS608980A (ja) * | 1983-06-28 | 1985-01-17 | Brother Ind Ltd | 電子辞書 |
US4736296A (en) * | 1983-12-26 | 1988-04-05 | Hitachi, Ltd. | Method and apparatus of intelligent guidance in natural language |
JPS60245083A (ja) * | 1984-05-18 | 1985-12-04 | Brother Ind Ltd | 電子辞書 |
JPS6126176A (ja) * | 1984-07-17 | 1986-02-05 | Nec Corp | 言語処理用辞書 |
US4771385A (en) * | 1984-11-21 | 1988-09-13 | Nec Corporation | Word recognition processing time reduction system using word length and hash technique involving head letters |
US4868750A (en) * | 1987-10-07 | 1989-09-19 | Houghton Mifflin Company | Collocational grammar system |
US5056021A (en) * | 1989-06-08 | 1991-10-08 | Carolyn Ausborn | Method and apparatus for abstracting concepts from natural language |
JPH03161727A (ja) * | 1989-11-20 | 1991-07-11 | Fuji Photo Film Co Ltd | カメラの主要被写体検出装置 |
US5708829A (en) * | 1991-02-01 | 1998-01-13 | Wang Laboratories, Inc. | Text indexing system |
JP2875075B2 (ja) | 1991-10-30 | 1999-03-24 | シャープ株式会社 | 電子辞書 |
US5867812A (en) * | 1992-08-14 | 1999-02-02 | Fujitsu Limited | Registration apparatus for compound-word dictionary |
US6760695B1 (en) * | 1992-08-31 | 2004-07-06 | Logovista Corporation | Automated natural language processing |
US6278967B1 (en) * | 1992-08-31 | 2001-08-21 | Logovista Corporation | Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis |
JPH0756957A (ja) * | 1993-08-03 | 1995-03-03 | Xerox Corp | ユーザへの情報提供方法 |
US5611076A (en) * | 1994-09-21 | 1997-03-11 | Micro Data Base Systems, Inc. | Multi-model database management system engine for databases having complex data models |
US5715468A (en) * | 1994-09-30 | 1998-02-03 | Budzinski; Robert Lucius | Memory system for storing and retrieving experience and knowledge with natural language |
JP3003915B2 (ja) * | 1994-12-26 | 2000-01-31 | シャープ株式会社 | 単語辞書検索装置 |
JPH08323842A (ja) * | 1995-06-02 | 1996-12-10 | Tsutsunaka Plast Ind Co Ltd | シートブロー成形品と成形方法 |
US5864863A (en) * | 1996-08-09 | 1999-01-26 | Digital Equipment Corporation | Method for parsing, indexing and searching world-wide-web pages |
US6081774A (en) * | 1997-08-22 | 2000-06-27 | Novell, Inc. | Natural language information retrieval system and method |
US5995992A (en) * | 1997-11-17 | 1999-11-30 | Bull Hn Information Systems Inc. | Conditional truncation indicator control for a decimal numeric processor employing result truncation |
US6298321B1 (en) * | 1998-11-23 | 2001-10-02 | Microsoft Corporation | Trie compression using substates and utilizing pointers to replace or merge identical, reordered states |
US6675169B1 (en) * | 1999-09-07 | 2004-01-06 | Microsoft Corporation | Method and system for attaching information to words of a trie |
JP3717730B2 (ja) * | 1999-11-02 | 2005-11-16 | セイコーインスツル株式会社 | 電子辞書 |
US6792418B1 (en) * | 2000-03-29 | 2004-09-14 | International Business Machines Corporation | File or database manager systems based on a fractal hierarchical index structure |
-
2002
- 2002-04-30 US US10/137,456 patent/US7490034B2/en not_active Expired - Fee Related
-
2003
- 2003-04-23 PT PT03008804T patent/PT1367501E/pt unknown
- 2003-04-23 ES ES03008804T patent/ES2386631T3/es not_active Expired - Lifetime
- 2003-04-23 SI SI200332181T patent/SI1367501T1/sl unknown
- 2003-04-23 EP EP03008804A patent/EP1367501B1/en not_active Expired - Lifetime
- 2003-04-23 DK DK03008804.1T patent/DK1367501T3/da active
- 2003-04-30 JP JP2003125929A patent/JP4724357B2/ja not_active Expired - Lifetime
-
2012
- 2012-09-10 CY CY20121100816T patent/CY1113100T1/el unknown
Also Published As
Publication number | Publication date |
---|---|
EP1367501A3 (en) | 2007-01-03 |
EP1367501A2 (en) | 2003-12-03 |
SI1367501T1 (sl) | 2012-09-28 |
PT1367501E (pt) | 2012-08-08 |
JP2003345796A (ja) | 2003-12-05 |
CY1113100T1 (el) | 2016-04-13 |
DK1367501T3 (da) | 2012-07-16 |
JP4724357B2 (ja) | 2011-07-13 |
EP1367501B1 (en) | 2012-06-13 |
US20030204392A1 (en) | 2003-10-30 |
US7490034B2 (en) | 2009-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2386631T3 (es) | Léxico con datos divididos en secciones y procedimiento de uso del mismo | |
US8041557B2 (en) | Word translation device, translation method, and computer readable medium | |
US8473501B2 (en) | Methods, computer systems, software and storage media for handling many data elements for search and annotation | |
US7739104B2 (en) | System and method for natural language processing and using ontological searches | |
US7421386B2 (en) | Full-form lexicon with tagged data and methods of constructing and using the same | |
US7024351B2 (en) | Method and apparatus for robust efficient parsing | |
JP2005092883A (ja) | 中国語の単語分割 | |
Jabbar et al. | A survey on Urdu and Urdu like language stemmers and stemming techniques | |
Taghi-Zadeh et al. | A new hybrid stemming method for Persian language | |
US20040034656A1 (en) | Information retrieval and encoding via substring-number mapping | |
Czarnecki et al. | Mining biological networks from full-text articles | |
Yeshambel et al. | Evaluation of corpora, resources and tools for Amharic information retrieval | |
JP2005242416A (ja) | 自然言語文の検索方法および検索装置 | |
Singh et al. | Query relational databases in Punjabi language | |
JP2007200252A (ja) | 省略語生成・妥当性評価方法、同義語データベース生成・更新方法、省略語生成・妥当性評価装置、同義語データベース生成・更新装置、プログラム、記録媒体 | |
Padma et al. | Development of morphological stemmer, analyzer and generator for Kannada nouns | |
Nuzzolese et al. | MACJa: metadata and citations jailbreaker | |
Mon et al. | Myanmar language search engine | |
Vajda | An introduction to languages of the world | |
Rajalingam | A rule based iterative affix stripping stemming algorithm for Tamil | |
Haaland | A maximum entropy approach to proper name classification for Norwegian | |
Lertnattee et al. | Using Multicultural Herbal Information to Create Multi-pattern Herb Name Retrieval System | |
Kadam | Develop a Marathi Lemmatizer for Common Nouns and Simple Tenses of Verbs | |
Simons et al. | A model for interoperability: XML documents as an RDF database | |
Yoon et al. | Customizing the XTAG system for efficient grammar development for Korean |