PT1367501E - Léxico de dados divididos em secções e método para a sua utilização - Google Patents
Léxico de dados divididos em secções e método para a sua utilização Download PDFInfo
- Publication number
- PT1367501E PT1367501E PT03008804T PT03008804T PT1367501E PT 1367501 E PT1367501 E PT 1367501E PT 03008804 T PT03008804 T PT 03008804T PT 03008804 T PT03008804 T PT 03008804T PT 1367501 E PT1367501 E PT 1367501E
- Authority
- PT
- Portugal
- Prior art keywords
- word
- information
- section
- data
- sections
- 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/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)
Description
DESCRIÇÃO
"LÉXICO DE DADOS DIVIDIDOS EM SECÇÕES E MÉTODO PARA A SUA UTILIZAÇÃO"
ANTECEDENTES DA INVENÇÃO A presente invenção refere-se ao processamento de linguagem ou de texto. Mais particularmente, a presente invenção refere-se a uma estrutura de dados melhorada para armazenar um léxico e um método melhorado para a sua utilização. 0 processamento de linguagem ou de texto inclui muitos tipos de sistemas. Por exemplo, analisadores, verificadores de palavras, verificadores gramaticais, hifenadores, processadores de linguagem natural ou sistemas de entendimento e sistemas de tradução de máquina são apenas alguns dos tipos de sistemas que caem dentro desta categoria alargada.
Um componente comum e importante de muitos sistemas de processamento de linguagem ou de texto é o léxico. Geralmente, o léxico é uma estrutura de dados contendo informação sobre palavras. Por exemplo, o léxico pode armazenar indicações de informação sintáctica e semântica. Exemplos incluem se a palavra é um nome, um verbo, um adjectivo, etc. Além disso, diferentes tipos de informação linguística podem também ser armazenados no léxico. Muitas vezes é também útil armazenar outra informação útil para o tipo particular de processamento de linguagem, tal como armazenar informação acerca da palavra que ajuda na análise. Em ainda outros léxicos, podem ser úteis indicações 1 sobre se a palavra é um nome apropriado, uma localização geográfica, etc.
Em operação, depois de receber uma cadeia de palavras de entrada, o sistema de processamento de linguagem ou de texto acede ao léxico para obter a informação armazenada, respeitante a cada uma das palavras. Depois de reunir a informação sobre cada uma das palavras da cadeia de entrada, o sistema de processamento de linguagem ou de texto processa a cadeia de entrada, o que pode incluir resolver quaisquer ambiguidades que possam existir com base na informação das palavras. Por exemplo, num sistema de processamento de linguagem natural, o léxico atribui partes da fala a cada uma das palavras da cadeia de entrada. Um analisador sintáctico decide, então, qual das partes das atribuições de fala são apropriadas e constrói uma estrutura a partir da cadeia de entrada, que pode então ser passada para uma componente semântica para interpretação.
Normalmente, cada entrada no léxico compreende um único objecto grande binário. Apesar da informação estar acessível, este formato não permite o acesso localizado imediato à informação lexical normalmente utilizada, sem ter de ler a entrada completa. Se toda a informação pertencente a uma palavra de entrada tiver de ser lida a partir do léxico, são necessários mais memória e tempo de processamento, particularmente se apenas uma pequena parte da informação para a palavra de entrada for necessária.
Modificar ou adicionar à informação do léxico é igualmente difícil. Especificamente, de modo a modificar ou adicionar mais informação ao léxico, o autor do léxico tem de replicar todos os bits, atributos ou outra informação dentro de cada entrada, 2 depois, modificar a informação desejada ou adicionar informação, mantendo ao mesmo tempo a integridade e organização de uma estrutura de dados muito complexa.
Existe portanto uma necessidade de uma estrutura de dados do léxico melhorada que aborde uma, algumas ou todas as desvantagens discutidas anteriormente. 0 documento EP-A2-0539965 divulga um dicionário electrónico utilizado tipicamente em sistemas de tradução. 0 dicionário electrónico inclui um ficheiro director, um ficheiro de apontadores possuindo uma parte de armazenamento de bandeiras de correcção e uma parte de armazenamento de apontadores, um ficheiro de informação de palavras e um ficheiro de correcção da informação de palavras. 0 documento US-A-6138087 divulga um sistema de memória para armazenar e recuperar experiência e conhecimento da linguagem natural através de métodos e aparelhos. 0 dicionário está organizado de modo que cada palavra armazenada contém: uma entrada de texto que corresponde à palavra; um número de representação que é utilizado para representar a palavra de texto; um conjunto de conjuntos de palavras de sintaxe cada um com uma parte de fala associada; um endereço para um processo de selecção de função de um conjunto de palavras e um código de função associado; uma lista de anomalias de gramática associadas particionada por conjunto de palavras; apontadores para tabelas comuns para seleccionar códigos de inflecção e/ou para outras tabelas comuns relacionadas com um conjunto de palavras, tais como preposições modificando nomes concretos. 3 0 documento C. J. WELLS, L. J. EVETT, P: E: WHITBY e R: J: WHITROW: "Fast dictionary look-up for contextuai word recognition", PATTERN RECOGNITION, [Online], Vol. 23, n° 5, 1990, páginas 501-508, XP0024407899 Grã-Bretanha Retirado da Internet: URL:http://portal.acm.org/citation.cfm?id=83050> diz respeito a uma busca rápida de dicionário para reconhecimento de palavra contextuai, em que o léxico é representado como uma árvore de prefixos. O documento 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 Berlin/Heidelberg diz respeito à utilização de um léxico morfosintáctico como a base para a implementação da Wordnet Grega, em que o léxico é representado como uma árvore de prefixos. FREDKIN E: "TRIE MEMORY" COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ACM, NOVA IORQUE, US, Vol. 3, n° 9, Agosto 1960 (1960-08), páginas 490-499, XP002271883 ISSN: 0001-0782 diz respeito a uma memória de árvore de prefixos como uma forma de armazenar e extrair informação. É o objecto da presente invenção proporcionar um método melhorado para obter informação de palavra acedendo a um léxico, bem como a um meio correspondente legível por computador.
Este objectivo é alcançado pelo objecto das reivindicações independentes.
As formas de realização preferidas são definidas pelas reivindicações dependentes. 4
Um aspecto da presente invenção é um léxico de palavras armazenado num meio legível por computador que possui informação de palavra adaptada para utilização num sistema de processamento de linguagem. 0 léxico inclui uma secção de lista de palavras para armazenar uma pluralidade de palavras e uma pluralidade de secções de dados para armazenar informação de palavras da pluralidade de palavras. A pluralidade de secções de dados são separadas umas das outras e da secção de lista de palavras. Para aceder à informação de palavra, é proporcionada uma secção de índices que armazena apontadores, apontando para dados na pluralidade das secções de dados. Uma identificação de qual o apontador a utilizar é uma função da palavra correspondente na secção de lista de palavras. A estrutura melhorada do léxico proporciona flexibilidade e eficiências não disponíveis anteriormente. A secção de índices e a pluralidade das secções de dados permitem ao léxico estar adaptado para servir as necessidades de um sistema de processamento da linguagem, tal como os recursos de computador disponíveis. Numa outra forma de realização, a estrutura do léxico permite que a informação de palavra seja classificada ou agrupada com base numa classificação. Por exemplo, a classificação pode ser baseada na parte da fala da palavra de entrada, tal como se a entrada de palavra for um nome, verbo, adjectivo, etc. A informação de palavra pode então ser acedida selectivamente como uma função da classificação. Num aspecto exemplificativo, são proporcionados indicadores em apontadores para indicar a classificação da correspondente informação de palavra.
Outros aspectos da presente invenção incluem um método implementado em computador para armazenar informação de palavras 5 numa pluralidade de secções de dados, armazenar informação de apontadores na secção de índices e armazenar a lista de palavras na secção de lista de palavras, possuindo a lista de palavras informação para identificar os apontadores correspondentes relacionados com a palavra seleccionada. Da mesma forma, outro aspecto é aceder à informação de palavra utilizando a estrutura de dados para o léxico proporcionada acima. A estrutura do léxico descrita anteriormente é particularmente útil quando é desejável obter informação a partir de um número de léxicos, o que é ainda outro aspecto da presente invenção. Em geral, os dados para múltiplos léxicos para uma palavra de entrada particular podem ser combinados, ignorados ou seleccionados como desejado, acedendo selectivamente a secções de dados de cada um dos léxicos.
BREVE DESCRIÇÃO DOS DESENHOS A Figura 1 é um diagrama de blocos de um sistema de processamento de linguagem ou de texto. A Figura 2 é um diagrama de blocos de um ambiente exemplificativo para implementação da presente invenção. A Figura 3 é uma representação pictórica de um léxico. A Figura 4 é uma representação pictórica de como extrair ou aceder à informação sobre uma pluralidade de léxicos. 6
DESCRIÇÃO DETALHADA DO ASPECTO ILUSTRATIVO A Figura 1 ilustra, em geral, um sistema 10 de processamento de linguagem ou de texto que recebe uma entrada 12 de linguagem, normalmente na forma de uma cadeia de texto e processa a entrada 12 de linguagem para proporcionar a saída 14 de linguagem, normalmente também na forma de uma cadeia de texto. Por exemplo, o sistema 10 de processamento de linguagem pode ser realizado como um verificador de palavras, um verificador gramatical ou um processador de linguagem natural para nomear apenas alguns. Tal como apreciado pelos especialistas na técnica, o sistema 10 de processamento de linguagem pode ser uma aplicação isolada, ou um módulo ou componente acessível por ou incluído noutro sistema.
Geralmente, o sistema de processamento de linguagem inclui um analisador 20 de texto e um léxico 22. O analisador 20 de texto representa esquematicamente componentes ou módulos que recebem a entrada 12, acedem e obtêm informação a partir do léxico 22 e processa a informação de palavra para fornecer a saída 14. Um aspecto da presente invenção é uma estrutura de dados melhorada paa o léxico 22 de forma a proporcionar eficientemente a informação necessária para o analizador 20 de texto, tal como pode ser requerido pela sua aplicação. Uma vez que o léxico 22 é um componente separado que pode ser utilizado em muitos sistemas de processamento de linguagem e com muitas formas de sistemas de analisadores de texto, a interacção geral do analisador 20 de texto com o léxico 22 será descrita, mas os detalhes específicos relativamente às várias formas de analisadores de texto não será descrita, porque tal descrição não é necessária para uma compreensão da presente invenção. 7
Antes de uma discussão mais detalhada da presente invenção, uma visão geral de um ambiente de operação pode ser útil. A FIG. 2 ilustra um exemplo de um ambiente 50 adequado de sistema de computação no qual a invenção pode ser implementada. O ambiente 50 de sistema de computação é apenas um exemplo de um ambiente de computação adequado e não pretende sugerir nenhuma limitação relativa ao âmbito da utilização ou funcionalidade da invenção. Nem deve o ambiente 50 de computação ser interpretado como possuindo qualquer dependência ou requisito relacionados com qualquer uma ou uma combinação de componentes ilustrado no ambiente 50 de operação exemplificativo. A invenção está operacional com muitos outros ambientes ou configurações de computação de propósito geral ou de propósito especial. Exemplos de sistemas de computação, ambientes, e/ou configurações bem conhecidas, que podem ser adequadas para utilização com a invenção incluem, mas não estão limitados a, computadores pessoais, computadores servidores, dispositivos portáteis, sistemas de multiprocessadores, sistemas baseados em microprocessadores, descodificadores de televisão, electrónica de consumo programável, PC de rede, minicomputadores, computadores principais, ambientes de computação distribuída que inclui qualquer um dos sistemas ou dispositivos anteriores e semelhantes. A invenção pode ser descrita no contexto geral das instruções executáveis em computador, tais como módulos de programa, sendo executados por um computador. Geralmente, os módulos de programa incluem rotinas, programas, objectos, componentes, estruturas de dados, etc. que executam tarefas particulares ou implementam tipos de dados abstractos particulares. A invenção pode também ser praticada em ambientes de computação distribuída onde as 8 tarefas são executadas por dispositivos de processamento remoto que estão ligados através de uma rede de comunicações. Num ambiente de computação distribuída, os módulos de programa podem estar localizados tanto em meios de armazenamento locais como remotos, incluindo dispositivos de armazenamento de memória. As tarefas executadas pelos programas e módulos são descritas em seguida e com a ajuda de figuras. Os especialistas na técnica podem implementar a descrição e as figuras como instruções executáveis em processador, que podem ser escritas em qualquer forma de meio legível em computador.
Em referência à FIG. 2, um sistema exemplificativo para implementar a invenção inclui um dispositivo de computação geral na forma de um computador 60. As componentes do computador 60 podem incluir, mas não estão limitadas a, uma unidade 70 de processamento, uma memória 80 de sistema, e um barramento 71 de sistema que acopla várias componentes de sistema incluindo a memória de sistema à unidade 70 de processamento. O barramento 71 de sistema pode ser qualquer um de vários tipos de estruturas de barramento, incluindo um barramento de memória ou controlador de memória, um barramento periférico, e um barramento local utilizando qualquer de uma variedade de arquitecturas de barramento. A título exemplificativo e não limitativo, tais arquitecturas incluem o barramento de Arquitectura Standard da Indústria (ISA, o barramento de Arquitectura de Canal Micro (MCA), o barramento ISA Melhorado (EISA), o barramento local da Associação de Standards de Electrónica de Vídeo (VESA) e o barramento de Interconexão de Componentes Periféricos (PCI), também conhecido por barramento Mezzanine. O computador 60 inclui, tipicamente, uma variedade de meios legíveis em computador. Os meios legíveis em computador podem 9 ser qualquer meio disponível que pode ser acedido pelo computador 60 e inclui, meios voláteis e não voláteis, e meios removíveis e não removíveis. A título exemplificativo e não limitativo, os meios legíveis por computador podem compreender meios de armazenamento em computador e meios de comunicação. Os meios de armazenamento em computador, meios voláteis e não voláteis, e meios removíveis e não removíveis, implementados em qualquer método e tecnologia para armazenamento de informação, tais como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Os meios de armazenamento em computador incluem, mas não estão limitados a, RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento em disco óptico, cassetes magnéticas, fita magnética, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético ou em qualquer outro meio que pode ser utilizado para armazenar a informação desejada e que possa ser acedido pelo computador 50.
Os meios de comunicação incorporam tipicamente instruções legíveis em computador, estruturas de dados, módulos de programa ou outros dados num sinal de dados modulado, tais como uma onda portadora ou outro mecanismo de transporte e incluem qualquer meio de distribuição de informação. O termo "sinal de dados modulado" significa um sinal que possui uma ou mais características estabelecidas ou alteradas de modo a codificar informação no sinal. A título exemplificativo e não limitativo, os meios de comunicação incluem meios com fios, tais como uma rede com fios ou uma ligação com fios directa e meios sem fios, tais como acústicos, FR, infravermelhos e outros meios sem fios. Combinações de qualquer dos meios indicados anteriormente devem 10 também ser incluídas dentro do âmbito dos meios legíveis por computador. A memória 80 de sistema inclui meios de armazenamento em computador na forma de memória volátil e/ou não volátil, tal como a memória 81 só de escrita (ROM) e a memória 82 de acesso aleatório (RAM). Um sistema 83 de entrada/saída básico (BIOS), contendo as rotinas básicas que ajudam a transferir informação entre elementos dentro do computador 60, tal como durante a ligação, é armazenado tipicamente na ROM 81. A RAM 82 comtém tipicamente dados e/ou módulos de programa que estão acessíveis imediatamente para e/ou estão a ser presentemente operados sobre pela unidade 70 de processamento. A título exemplificativo e não limitativo, a FIG. 3 ilustra o sistema 84 operativo, os programas 85 de aplicação, outros módulos 86 de programa e os dados 87 de programa.
O computador 60 pode também incluir outros meios de armazenamento em computador removíveis/não removíveis e voláteis/não voláteis. Apenas a título de exemplo, a FIG. 2 ilustra uma unidade 91 de disco rígido que lê a partir de ou escreve num meio não removível e não volátil, uma unidade 101 de disco magnético que lê a partir de ou escreve num disco 102 magnético removível e não volátil, e uma unidade 105 de disco óptico que lê a partir de ou escreve num disco 106 óptico removível e não volátil, tal como um CD ROM ou outro meio óptico. Outros meios de armazenamento em computador removíveis/não removíveis e voláteis/não voláteis que podem ser utilizados no ambiente operativo exemplificativo incluem, mas não estão limitados a cassetes de fita magnética, cartões de memória flash, discos versáteis digitais, fita de vídeo digital, RAM de estado sólido ROM de estado sólido, e semelhantes. A 11 unidade 91 de disco rigido está tipicamente ligada ao barramento 71 de sistema através de uma interface de memória não removível, tal com a interface 90, e a unidade 101 de disco magnético e a unidade 105 de disco óptico estão tipicamente ligadas ao barramento 71 de sistema por uma interface de memória removível, tal como a interface 100.
As unidades e os seus meios de armazenamento em computador associados discutidos anteriormente e ilustrados na FIG. 2, proporcionam o armazenamento de instruções legíveis em computador, estruturas de dados, módulos de programa e outros dados para o computador 60. Na FIG. 2, por exemplo, a unidade 91 de disco rígido é ilustrada como armazenando o sistema 94 operativo, os programas 95 de aplicação, outros módulos 96 de programa e os dados 9 7 de programa. Note-se que estes componentes podem ser ou os mesmos ou diferentes do sistema 84 operativo, programas 85 de aplicação, outros módulos 86 de programa e dados 87 de programa. São aqui dados diferentes números ao sistema 84 operativo, programas 85 de aplicação, outros módulos 86 de programa e dados 87 de programa, para ilustrar que, no mínimo, estes são cópias diferentes.
Um utilizador pode introduzir comandos e informação dentro do computador 60 através de dispositivos de entrada, tais como o teclado 112, um microfone 113, uma tablet 114 para escrita à mão e um dispositivo 111 apontador, tal como um rato, uma bola de seguimento ou um bloco sensível ao toque. Outros dispositivos de entrada (não mostrados) podem incluir um joystick, um bloco de jogos, antena de satélite, digitalizador ou semelhantes. Estes e outros dispositivos de entrada estão muitas vezes ligados à unidade 70 de processamento através de uma interface 110 de entrada de utilizador que está ligada ao barramento de sistema, 12 mas que pode ser ligada por outra interface e estruturas de barramento, tais como uma porta paralela, uma porta de jogos ou um barramento série universal (USB). Um monitor 141 ou outro tipo de dispositivo de visualização está também ligado ao barramento 71 de sistema através de uma interface, tal como a interface 140 de vídeo. Além do monitor, os computadores podem também incluir outros dispositivos de saída periféricos, tais como os altifalantes 147 e a impressora 146, que podem ser ligados através da interface 145 periférica de saída. O computador 60 pode operar num ambiente em rede utilizando ligações lógicas para um ou mais computadores remotos, tal como um computador 130 remoto. O computador 13 0 remoto pode ser um computador pessoal, um dispositivo portátil, um servidor, um router, um PC de rede, um dispositivo par ou outro nó de rede comum, e inclui tipicamente muitos ou todos os elementos descritos anteriormente relativos ao computador 60. As ligações lógicas mostradas na FIG. 2 incluem uma rede 121 de área local (LAN) e uma rede 123 de área larga (WAN) , mas também podem incluir outras redes. Tais ambientes de rede são comuns em escritórios, redes de computadores de empresas, intranets e na Internet.
Quando utilizado num ambiente de rede LAN, o computador 60 é ligado à LAN 121 através de um interface ou adaptador de rede 120. Quando utilizado num ambiente de rede WAN, o computador 60 inclui tipicamente um modem 122 ou outros meios para estabelecer comunicações sobre a WAN 123, tal como a
Internet. 0 modem 122, que pode ser interno ou externo, pode ser ligado ao barramento 71 de sistema através da interface 110 de entrada de utilizador ou por outro mecanismo apropriado. Num ambiente de rede, os módulos de programa mostrados relativos ao 13 computador 60 ou suas partes, podem ser armazenados no dispositivo de armazenamento de memória remoto. A título exemplificativo e não limitativo, a Figura 2 ilustra programas 135 de aplicação remotos como residentes no computador 130 remoto. Deve ser apreciado que as ligações de rede mostradas são exemplificativos e outros meios de estabelecer uma ligação de comunicações entre os computadores podem ser utilizados.
Deve ser compreendido que o analisador 20 de texto pode residir no computador 60 ou qualquer computador comunicando com o computador 60, tal como o computador 130 remoto. Da mesma forma, o léxico 22 pode residir no computador 60 em qualquer dos dispositivos de armazenamento descritos anteriormente ou ser acessível através de uma ligação de comunicações adequada. A FIG. 3 é uma representação pictorial do léxico 22. No aspecto exemplificativo ilustrado, o léxico 22 inclui uma secção 160 de cabeçalho, uma secção 162 de lista de palavras, uma secção 164 de tabela de índices, uma secção 166 de índices, duas ou mais secções 168 de dados de léxico (aqui por exemplo 16 secções 168A, 168B, 168C, 168D, 168E, 168F, 168G, 168H, 1681, 168J, 168K, 168L, 168M, 168N, 1680, 168P) e uma secção 170 de pilha de cadeias. A secção 160 de cabeçalho armazena geralmente informação acerca da estrutura do léxico 22. Por exemplo, a secção 160 de cabeçalho pode incluir informação tal como o nome e a versão do léxico. A secção 160 de cabeçalho pode também incluir informação tal como o desvio de memória e o tamanho de cada uma das secções 162, 164, 166, 168A-168P e 170. A secção 162 contém a lista de palavras do léxico 22. Qualquer formato adequado pode ser utilizado para incorporar a lista de palavras na secção 162. 14
Um formato particularmente útil compreende armazenar a lista de palavras numa estrutura de "árvore de prefixos", que é uma técnica de estrutura de dados bem conhecida. As vantagens deste formato incluem ser capaz de determinar facilmente quantas palavras podem começar com um prefixo particular, o que pode ser útil, por exemplo, em reconhecimento de escrita à mão e quando é necessário estimar a verosimilhança de um utilizador ter escrito uma letra particular. Este formato também permite que o caminho de atravessamento seja conhecido para a frente como para trás. Como indicado anteriormente, outras formas de listar palavras na secção 162 podem ser utilizadas. Por exemplo, podem ser utilixadas uma simples tabela ou lista. Em ainda outro aspecto, uma técnica de "diferença" pode ser utilizada para armazenar a lista de palavras, em que a diferença nos símbolos ou caracteres entre palavras sucessivas é armazenada.
Antes de descrever a secção 164, pode ser útil descrever primeiro a secção 166 e a sua relação com a pluralidade das secções 168. Como discutido na secção dos antecedentes da invenção, os léxicos actualmente existentes requerem que toda a informação relacionada com uma entrada de palavra particular seja lida, apesar de ser desejada apenas uma parte da informação. As secções 168A-168P permitem que os dados para cada entrada de palavra no léxico esteja organizada como desejado, de forma a que a informação relacionada do léxico pode ser geralmente agrupada conjuntamente. Por exemplo, uma das secções 168A-168P pode ser utilizada para armazenar informação relacionada com a verificação de palavras, enquanto que outra secção armazena a informação relacionada com as classificações linguísticas padrão. A secção de índices 166 proporciona geralmente apontadores (e.g., agrupados em conjuntos) para os dados armazenados nas secções 168A-168P como uma função das 15 entradas de palavras a partir da secção 162 da lista de palavras. Por outras palavras, a secção 162 da lista de palavras (e. g., árvore de prefixos) determina directa ou indirectamente o ponto ou pontos de acesso (desvios) para a secção 166 de índices. Geralmente, o método para obter informação de palavra inclui aceder à secção de lista de palavras em função de uma dada palavra, para estimar uma identificação do apontador para a secção de índices. Utilizando a identificação de apontador, um apontador para a palavra é obtido na secção de índices. 0 apontador é então utilizado para estimar qual a secção de dados da pluralidade de secções de dados que possui informação sobre a palavra dada e onde está localizada a informação na secção de dados. Assim, para uma entrada de palavra particular presente na secção 162, os dados do léxico correspondentes armazenados nas secções 168A-168P para aquela palavra podem ser acedidos selectivamente através da secção 166 de índices, não requerendo portanto que toda a informação de palavra para um dada palavra seja processada ou pelo menos lida.
Num aspecto particularmente útil, o apontador ou conjunto de apontadores da secção 166 de índices para as secções 168A-168P para cada entrada de palavra na secção 162 é classificada pela sua parte da fala ("POS"), tal como se a entrada de palavra pudesse ser um nome, verbo, adjectivo, etc. Deste modo, os dados para uma POS de uma entrada de palavra é uma série de apontadores para a informação POS nas secções 168A-168P. Portanto, para uma entrada de palavra com duas POS, existem dois conjuntos distintos de apontadores na secção 166. Um conjunto indicaria a localização da informação sobre a primeira POS (e. g. , a forma do nome da entrada) e o segundo conjunto de apontadores indicaria a localização de informação acerca da outra POS (e. g., a forma do verbo da entrada) . A secção 166 de 16 índices proporciona assim um nível de classificação dos dados do léxico, i. e., baseado na POS da entrada de palavra. Neste ponto, deve ser compreendido que outras formas de classificação para além da POS podem ser utilizadas dependendo da língua para a qual o léxico 22 é dirigida. Por exemplo, em vez de utilizar partes de fala, podem ser utilizadas classificações de inflecções ou tonais para as línguas Japonesa ou Chinesa. Apesar de exemplificado aqui, onde a secção 166 de índices proporciona classificação POS, esta característica não deve ser considerada como limitativa ou como um requisito.
Deve notar-se também que a utilização da palavra, "palavra", tal como utilizada aqui também inclui símbolos, ideogramas, logogramas, etc., como utilizados em línguas como o Chinês e Japonês. Assim, os léxicos para estas línguas podem ser construídos utilizando aspectos da presente invenção e pretende-se que estejam cobertos pelas reivindicações a não ser que tal seja aqui referido.
No aspecto exemplificativo, cada apontador inclui informação relacionada com qual das secções 168A-168P aponta o apontador, informação relacionada com o tipo de POS e um valor de desvio, em que os dados relevantes devem ser encontrados na secção 168A-168P identificada. Apesar dos apontadores associados com uma dada entrada de palavra na secção 162 poderem ser em número fixo, no aspecto exemplificativo, o número de apontadores para cada entrada de palavra pode variar de entrada de palavra para entrada de palavra. Deste modo, a secção 166 de índices pode ser mais compacta e flexível sem limitações fixas inerentes. 17
Uma representação esquemática de um apontador exemplificativo na secção 166 para uma entrada de palavra é proporcionada de seguida:
Xi: X2: X3: X4: onde Xi é uma bandeira indicando o fim do conjunto de apontadores para a entrada de palavra, X2 é informação identificando uma das secções 168, X3 é informação identificando a POS ou outra classificação e X4 é um valor indicando o desvio para os dados do léxico identificados por X2. Utilizando este formato, os apontadores para toda a informação para uma dada palavra são armazenados sequencialmente em que o primeiro apontador é identificado directa ou indirectamente como uma função da secção de lista de palavras e a bandeira X4 para o último apontador é estabelecida para indicar o fim da lista de apontadores para a palavra dada. Num aspecto, a secção 166 de índices é uma matriz DWORD grande (quantidades de 4 bytes, alinhamento de palavras de 4 bytes para acesso rápido). Neste aspecto, um byte compreende uma bandeira de um bit para X1 indicando um fim do conjunto de apontadores, quatro bits X2 indicando a secção 168A-168P e três bits X3 indicando o tipo de POS. Três bytes são então utilizados para X4 para proporcionar um valor de desvio de 24 bits, para indicar onde é que os dados estão armazenados nas secções 168a-168P. Deve ser compreendido que este formato é apenas um exemplo em que outros formatos podem também ser utilizados. Da mesma forma, este exemplo não deve ser considerado como um requisito ou como uma limitação. Geralmente, o formato dos apontadores da secção 166 de índices é escolhido de forma a indicar a localização dos dados na pluralidade de secções 168, e se desejado, uma ou mais classificações da informação de palavra. 18
Neste ponto, deve também notar-se que quaisquer dados que sejam suficientemente pequenos para caber na parte de desvio de uma entrada de apontador na secção 166 pode ser codificada directamente na secção 166 de indices em vez de numa secção 168A-168P separada. Exemplos deste tipo de dados incluem informação de soletrar, ou a probabilidade e frequência dos dados para a entrada de palavra, cada uma das quais pode muitas vezes ser armazenada facilmente nos bits atribuídos para os valores de desvio dos dados.
Como indicado anteriormente, a entrada dentro da secção 166 de índices é uma função da entrada de palavra a partir da secção 162. Várias técnicas podem ser utilizadas para a transição entre as secções 162 e 166. Num primeiro aspecto, cada entrada de palavra na secção 162 pode incluir o desvio requirido na secção 166. Se contudo, a secção 162 compreeende uma estrutura de árvore de prefixos, pode ser necessário uma modificação da estrutura de nós folha da árvore de prefixos. Em alternativa, os desvios dos nós na estrutura de árvore de prefixos podem ser utilizados como desvios para a secção 166 de índices. Num aspecto exemplificativo, isto significaria atribuir 40 bytes (10 apontadores POS) para o conjunto de índices POS para uma entrada de palavra. Em ainda outro aspecto, o valor de desvio pode ser ligado ao fim de uma entrada de palavra na secção 166.
Em ainda outra forma de realização, a tabela 164 de índices é incluída na estrutura do léxico 22. A tabela 164 de índices permite o mapeamento das entradas de palavras nos índices da secção 166 e é particularmente útil quando os apontadores na secção 166 podem variar em número de entrada de palavra para entrada de palavra. Contudo, é possível utilizar um tamanho fixo de número de apontadores na secção 166 de índices para cada 19 entrada de palavra associada. Utilizando esta estrutura da secção 166, a secção 164 de tabela de índices não seria necessária. Neste aspecto alternativo, se for permitido o caso de entradas de palavras com um número de apontadores de índice maior do que o valor fixo, pode ser utilizada uma tabela de overflow.
Neste ponto deve notar-se que os desvios a partir da secção 162 para a secção 166 de índices e, mais particularmente, os apontadores na secção 166 que apontam para os dados da secção 168A-168B podem ser organizados de forma a proporcionar eficiência e velocidade quando se extraem dados do léxico 22. Por exemplo, os apontadores de desvio podem ser organizados de forma a localizar informação do léxico nas secções 168A-168P adajacente a outra informação de palavras utilizadas frequentemente, ou se desejado, organizar a informação associada ou relacionada nas secções 168A-168P próxima entre si, de forma a que quando armazenada num dispositivo de armazenamento de computador, tal como um disco rígido, uma disquete ou semelhante, os tempos de extracção de informação são encurtados.
Os dados nas secções 168A-168P podem estar aí presentes, ou se desejado, podem ser proporcionados apontadores para referenciar dados contidos dentro da mesma secção 168A-168P, nas outras secções 168A-168P, de volta às entradas de palavra da secção 162 e no aspecto ilustrativo, também para uma árvore 170 de cadeias. A árvore 170 de cadeias é utilizada para proporcionar uma localização de armazenamento única para uma cadeia seleccionada, cujos dados necessitariam de ser armazenados como múltiplas ocorrências nas secções 168A-168P. A árvore 170 de cadeias pode estar numa única secção ou pode incluir sub-secções semelhantes às secções 168A-168P. Outras 20 formas de informação nas secções 168 podem incluir bandeiras Booleanas, valores, listas de palavras em árvores de decisão, etc. A organização dos dados de entrada de palavras utilizando uma pluralidade de secções 168A-168P permite que o léxico 22 seja facilmente adaptado para cumprir as necessidades de uma aplicação particular, sem consumir grandes quantidades de memória, no computador sobre o qual esta está implementada. Por exemplo, o léxico 22 pode ser lido para uma memória de acesso rápido tal como uma RAM; contudo, se um tipo de dados particular no léxico não for necessário, essa secção ou secções da pluralidade de secções 168A-168P pode ser omitida. Apesar dos apontadores da secção 166 de índices poderem ser modificados para reflectir apenas aquelas secções 168A-168P que estão presentes, num outro aspecto, a modificação é desnecessária uma vez que se as secções 168A-168P estiverem presentes, a informação é obtida enquanto se a secção não estiver presente, nenhuma informação é procurada. As secções presentes no léxico podem ser gravadas, por exemplo, no cabeçalho 160, de forma a não provocar erros.
Um benefício particular da estrutura do léxico aqui descrita é que um utilizador ou autor do léxico pode colocar qualquer tipo de informação sobre uma palavra para posterior extracção se a entrada 12 (FIG. 1) incluir essa palavra. Além disso, a informação definida pelo utilizador não necessita de ser colocada junto com outra informação contida no léxico, mas em vez disso, pode ser armazenada numa secção(ões) na pluralidade das secções 168A-168P. 21
Os seguintes são apenas alguns exemplos de dados de léxico organizados em secções adequadas para as secções 168A-168P. Deve notar-se que estes são apenas meros exemplos em que os dados do léxico 22 podem ser organizados de qualquer modo desejado para conveniência ou compreensão. As secções aqui descritas mostraram ser particularmente úteis, estas não devem ser consideradas como sendo um requisito ou como uma limitação.
Secção de Dados Morfológicos - tal informação pode incluir a pronúncia bem como outras formas da palavra para vários tempos verbais da palavra.
Secção de Dados de Autor Padrão - tal informação pode incluir dados indicando se a entrada de palavra é singular, plural, ou se a palavra é animada ou não animada. A informação relacionada com as entradas de palavra para esta secção é geralmente informação bem conhecida sobre a entrada de palavra da qual uma pessoa não especialista possa ser autora. Deste modo, esta informação pode então ser rapidamente mudada ou alterada para cumprir os requisitos de um utilizador.
Secção de Dados Linguísticos Padrão - tal informação inclui informação linguística das entradas de palavras. Apesar de tal informação não ser bem conhecida por uma pessoa não especialista comum, os linguistas podem compreender imediatamente esta informação e modificá-la se necessário.
Secção de Dados de Análise - tal informação inclui dados úteis para a análise da linguagem natural.
Secção de Dados de Domínio/Assunto - tal informação refere-se aos códigos de domínio ou de assunto. Por exemplo, a informação 22 pode indicar que as palavras correspondentes estão relacionadas com a física, matemática, geografia, comida, etc.
Secção de Dados de Palavras - tal informação está relacionada com a verificação de palavras, por exemplo, marcas de dialecto, marcas restritas, etc. As marcas restritas indicam palavras que são permitidas mas não são sugeridas durante a verificação das palavras como calão, acrónimos, termos arcaicos, etc.
Secção de Dados de Expressão de Palavras Múltiplas - tal informação é útil quando palavras múltiplas necessitam de ser identificadas separadamente tais como idiomas, nomes próprios, títulos de livros ou filmes, títulos de escritórios, nomes de locais, etc. Normalmente, os dados armazenados em relação a cada entrada de palavra são as palavras que precedem e/ou seguem a palavra numa expressão de palavras múltiplas.
Por exemplo, uma das secções da pluralidade de secções 168A-168P pode incluir pares de valores de nomes hierárquicos arbitrários para serem encontrados apenas pelo autor das entradas do léxico. Por exemplo, se um autor deseja adicionar informação de Entidade de Nome (NE) acerca de uma expressão de palavras múltiplas (discutida anteriormente), o autor pode adicionar um conjunto de pares de valores baseados em cadeias de nomes na secção, que no formato XML pode ser representado por: 23 <named-entity> <app-ne-id>movieFinder::the_longest_day</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>Jan.30, 1969</date> <running-time>13 7 min.</running-time> <studio>20th Century Fox</studio> </movie-info> <non-rated/> </named-entity> A secção pode assim representar pares de nomes de valores simples baseados em cadeias de nesting arbitrário. 0 formato não suporta atributos de etiquetagem XML, em vez disso o autor codifica estes pares como sub-elementos separados dessa secção. No exemplo anterior, os dados para o titulo do filme possuem uma mistura de dados específicos de aplicação que podem ser armazenados se desejado. A estrutura do léxico 22 acomoda léxicos editáveis tirando partido do facto que cada secção do léxico não necessita de ser contínua com a secção que a precede imediatamente. Por outras palavras, as secções podem reservar espaço não utilizado extra para expansão futura. Operações de actualização para o léxico são executadas escrevendo o(s) novo(s) valor(es) na(s) localização(ões) correcta(s). Note-se que se o léxico 22 for incorporado como um léxico baseado em DLL (Livraria Ligada
Dinâmica) ou léxicos baseados em ficheiros pré-compilados (estáticos) que não possuem nenhum espaço de reserva, uma implementação de lista livre única encontra espaço de entrada livre baseado num algoritmo de primeira escolha.
Geralmente, um método para armazenar informação de palavras no léxico 22 inclui armazenar informação de palavras na pluralidade de secções 168 de dados, cada secção de dados armazenando informação seleccionada substancialmente diferente sobre as palavras numa lista de palavras; armazenar informação de apontadores na secção 166 de índices, que é separada da pluralidade de secções 168 de dados, cada um dos apontadores apontando para dados seleccionados na pluralidade de secções 168 de dados; e armazenar a lista de palavras na secção 162 da lista de palavras separada da pluralidade de secções 168 de dados e da secção 166 de índices, a lista de palavras possuindo informação para identificar os apontadores correspondentes relacionados com uma palavra seleccionada. Se desejado, os valores de identificação podem ser armazenados na secção 164 de tabelas de índices, onde cada valor de identificação corresponde a uma palavra na secção 162 da lista de palavras e está associado com um apontador na secção 166 de índices. Da mesma forma, as indicações de classificação podem ser incluídas nos apontadores para classificar a informação de palavra. A estrutura do léxico 22 é particularmente útil quando é desejável obter informação a partir de um número de léxicos. Em geral, os dados para léxicos múltiplos para uma entrada de palavra particular podem ser combinados, ignorados ou seleccionados como desejado. Exemplos de combinar informação de léxico a partir de um número de léxicos existe numa implementação onde um léxico nuclear ou base contém uma primeira quantidade de informação sobre as entradas de palavras, um segundo léxico inclui uma segunda quantidade de informação 25 acerca das entradas de palavras para um domínio particular e um terceiro léxico inclui uma terceira quantidade de informação acerca das entradas de palavras, tal como determinado pelo utilizador. A FIG. 4 ilustra esquematicamente como a informação para uma entrada de palavras particular pode ser obtida a partir de léxicos múltiplos. Na FIG. 4, os léxicos (como representado apenas pelas secções de dados, mas mas por outro lado possuindo algumas ou todas as secções ilustradas na FIG. 3) são organizados em linhas e indicadas em 180, 181, 182 e 183. Secções de dados individuais (correspondendo às secções 168) são representados verticalmente na FIG. 4, e neste aspecto ilustrativo, um máximo de seis secções 190, 191, 192, 193, 194 e 195 de dados podem ser acedidas sobre os quatro léxicos 180-183. Note-se que não é necessário que cada léxico 180-183 inclua todas as secções 190-195 de dados e em muitas instâncias prácticas, tal correspondência entre todas as secções de dados de todos os léxicos não existiria.
Na FIG. 4, a notação Xy é utilizada para indicar dados para uma secção do léxico, onde X denota uma das secções 190-195 de dados e Y denota os léxicos 180-183. Por exemplo, o léxico 180 compreende as secções 190isoí 193i8o e 195iso de dados.
Uma vez que os dados nos léxicos 180-183 foram organizados nas secções 190-195 possuindo o mesmo tipo de conteúdo, a informação pode ser imediatamente combinada ou seleccionada sobre os léxicos 180-183. A informação pode ser obtida para uma dada entrada de palavra examinando a informação do primeiro léxico 180 e avançando então para a mesma secção de dados dos outros léxicos 181-183 como necessário. Num aspecto, os dados a 26 extrair são controlados por um conjunto definido em tempo real de tipos de secção desejados. Uma variável determina se se deve ler ou não ler dados para uma entrada de um léxico. Uma segunda variável determina se se combinam ou se escreve sobre dados de entradas lidas previamente a partir da secção correspondente dos outros léxicos examinados. Esquematicamente, pode ser considerado que os léxicos estão "empilhados" e que a informação é obtida lendo a secção 190-195 de dados para o léxico mais elevado na pilha e, depois, prosseguindo sequencialmente descendo através da pilha, seguindo as regras de escrever ou não, e de se seleccionar, ignorar, escrever por cima ou combinar. A estrutura do léxico ilustrada na FIG. 3 permite ao implementador escolher como os dados a partir de um dado tipo de secção são combinados ou são escritos por cima dos dados para a mesma secção nos outros léxicos.
Na FIG. 4, a informação 186 obtida a partir dos léxicos 180-183 compreende informação correspondente às secções 190i8o, 191i8i, 192i83, 193 i8o λ 194i83 e 195i8o + ísi + 182- Neste exemplo, os dados para as secções 190, 191, 193 e 194 são obtidos simplesmente examinando os léxicos 180-183 por ordem numa base secção a secção até encontrar um indicador de paragem numa das secções de dados. Por exemplo, apesar de ambos os léxicos 180 e 183 possuírem informação na secção 190, apenas a informação no léxico 180 é extraída porque uma indicaçao de paragem foi encontrada na secção 190i80. Durante a execução, isto faz com que a informação na secção 1 9 0 183 seja ignorada. Em contraste, a informação nas secções 195i8o, 195i8i e 195i82 são combinadas conjuntamente para formar a informação 195i8o + i8i + i82 porque um indicador de paragem não foi encontrado até que a secção 195i82 fosse examinada. Se desejado, a informação sobre as secções para todos os léxicos pode ser combinada, ignorada ou de outra forma 27 seleccionada baseado sobre regras implementadas pelo analisador 20 de texto ou por um módulo de interface, não mostrado, que acede ao léxico 22 baseado em pedidos a partir do analisador 20 de texto. Por exemplo, tais regras podem indicar que uma secção particular de um léxico particular deve ser sempre utilizada independentemente da informação estar presente nas secções correspondentes dos outros léxicos. Isto é representado na FIG. 4 onde, apesar da informação estar presente no léxico 182, na secção 192 e é, pelo menos, examinada primeiro porque está mais alta na pilha, é obtida a informação na secção 192 do léxico 185. Contudo, a selecção dos dados pode também ser numa base de entrada de palavra a entrada de palavra, por exemplo, utilizando os apontadores de paragem como descrito anteriormente.
Em sumário, uma estrutura de léxico melhorada foi descrita que proporciona flexibilidade e eficiências não disponíveis previamente. As secções de índices e a pluralidade das secções de dados permitem que o léxico seja adaptado para suprir as necessidades do sistema de processamento de texto e/ou os recursos de computador disponíveis. A estrutura de dados melhorada permite também que dados de léxicos múltiplos sejam selectivamente acedidos e/ou combinados como desejado.
Apesar da presente invenção ter sido descrita em referência aos aspectos preferidos, trabalhadores especialistas na técnica reconhecerão que podem ser feitas alterações na forma e no detalhe sem sair do âmbito da invenção.
Lisboa, 1 de Agosto de 2012 28
Claims (14)
- REIVINDICAÇÕES 1. Meio de armazenamento legível em computador possuindo uma pluralidade de léxicos (180-183) para armazenar informação de palavra e adaptado para utilização com um analisador (20) de texto num sistema (10) de processamento de linguagem, cada léxico compreendendo: uma secção (162) de lista de palavras para armazenar uma pluralidade de palavras; um conjunto de secções (168A-168P; 190-195) de dados correspondentes a cada palavra na lista de palavras, em que as secções de dados armazenam informação seleccionada diferente acerca da palavra correspondente na lista de palavras; e para cada palavra na lista de palavras, uma pluralidade de apontadores armazenados na tabela (166) de índices separados dos conjuntos de secções de dados, cada um dos apontadores apontando para uma secção de dados diferente relacionada com informação diferente acerca da palavra correspondente, em que cada um dos apontadores inclui uma primeira indicação de qual a secção de dados a aceder, uma segunda indicação de um valor de desvio relacionado com a informação nela armazenada e uma terceira indicação de uma classificação da palavra; em que as secções (190-195) de dados de cada um dos léxicos (180-183) possuindo informação semelhante são acessíveis selectivamente para destes obter informação, e 1 em que a referida pluralidade dos léxicos possuindo secções de dados com informação semelhante permite: obter a informação de palavra de, pelo menos, duas secções (195i8o, 195isi, 195i82> de dados possuindo informação semelhante para combinar a informação de palavra obtida (19 5iso + isi + i82) , as referidas, pelo menos, duas secções (195iso , 195i8i, 19 5182) de dados sendo de, pelo menos, dois léxicos (180-182) diferentes, ou obter a informação de palavra (192i82) de pelo menos duas secções (192i82, 192i83) de dados possuindo informação semelhante e, depois, utilizar apenas a informação de palavra obtida a partir de uma secção (192i82) de dados, as referidas, pelo menos, duas secções (192i82, 192i83> de dados sendo de, pelo menos, dois léxicos (182-183) diferentes.
- 2. Meio de armazenamento legível em computador da reivindicação 1, em que a secção de lista de palavras compreende uma estrutura de dados de árvore de prefixos.
- 3. Meio de armazenamento legível em computador da reivindicação 1, em que a identificação é um valor de desvio armazenado com a secção de lista de palavras.
- 4. Meio de armazenamento legível em computador da reivindicação 1, em que cada léxico compreende ainda uma secção (164) de tabela de índices para armazenar cada uma das identificações correlacionadas com palavras da secção da lista de palavras, possuindo cada palavra da secção da 2 lista de palavras uma entrada correspondente na secção de tabela de índices.
- 5. Meio de armazenamento legível em computador da reivindicação 1, em que uma da pluralidade de secções de dados armazena informação relacionada com a verificação de palavras.
- 6. Meio de armazenamento legível em computador da reivindicação 1, em que uma da pluralidade das secções de dados armazena informação relacionada com a morfologia.
- 7. Meio de armazenamento legível em computador da reivindicação 1, em que uma da pluralidade das secções de dados armazena informação relacionada com a lingiística.
- 8. Meio de armazenamento legível em computador da reivindicação 1, em que uma da pluralidade das secções de dados armazena informação indicando que uma palavra pertence a uma expressão de palavras múltiplas.
- 9. Meio de armazenamento legível em computador da reivindicação 1, em que duas secções de dados da pluralidade de secções de dados armazenam separadamente informação seleccionada a partir do grupo consistindo de informação de verificação de palavra, informação de morfologia, informação linguística e informação de expressão de palavras múltiplas.
- 10. Método implementado em computador para obter informação de palavra acedendo a uma pluralidade de léxicos (180-183,) em que cada léxico é adaptado para ser utilizado com um analisador (120) de texto num sistema (10) de processamento de linguagem e, em que cada léxico armazena informação de 3 palavra pertencendo a uma pluralidade de palavras, compreendendo cada léxico: uma secção (162) de lista de palavras armazenando a pluralidade de palavras; conjuntos de secções (168A-168P, 190-195) de dados, em que cada conjunto de secções de dados corresponde a uma palavra individual na secção de lista de palavras, cada secção de dados entre um conjunto de secções de dados armazenando informação seleccionada diferente acerca da palavra correspondente na lista de palavras; e uma secção (166) de índices armazenando uma pluralidade de apontadores separados dos conjuntos de secções de dados, em que cada pluralidade de apontadores corresponde a uma palavra individual, apontando cada um dos apontadores para dados numa secção de dados, em que cada um dos apontadores inclui uma primeira indicação de qual a secção de dados a aceder, uma segunda indicação de um valor de desvio relacionado com a informação nela armazenada, e uma terceira indicação de uma classificação da palavra, compreendendo o método: aceder selectivamente às secções (190-195) de dados de cada um dos léxicos (180-183) possuindo informação semelhante e obter informação destas, em que a referida pluralidade dos léxicos possuindo secções de dados com informação semelhante permite: 4 obter a informação de palavra de, pelo menos, du as secções (195iso, 195isi, 195i82) de dados possuindo informação semelhante para combinar a informação de palavra obtida (195iso + ísi + 182)? as referidas, pelo menos, duas secções (195iso, 195isi, 195i82) de dados sendo de, pelo menos, dois léxicos (180-182) diferentes, ou obter a informação (192182) de palavra de, pelo menos, duas secções (192i82, 192i83) de dados possuindo informação semelhante e, depois, utilizar apenas a informação de palavra obtida a partir de uma secção (192is2) de dados, as referidas, pelo menos, duas secções (192i82, 192i83) de dados sendo de, pelo menos, dois léxicos (182-183) diferentes; aceder a secção de lista de palavras de, pelo menos, um da referida pluralidade de léxicos como uma função da referida palavra para estimar uma identificação de apontador para a secção de índices; utilizar a identificação de apontador do referido, pelo menos, um léxico para obter um apontador na secção de índices; utilizar o apontador do referido, pelo menos, um léxico para estimar qual a secção de dados da pluralidade de secções de dados possui informação sobre a palavra dada e onde está localizada a informação na secção de dados. 5
- 11. Método implementado em computador da reivindicação 10, em que a identificação é um valor de desvio armazenado com a secção de lista de palavras.
- 12. Método implementado em computador da reivindicação 10, em que cada léxico inclui uma secção (164) de tabela de índices, armazenando cada uma das identificações correlacionadas com palavras da secção de lista de palavras e, em que aceder à secção de lista de palavras como uma função da referida palavra para estimar uma identificação de apontador para a utilização da secção de índices, inclui ainda a utilização da secção de lista de palavras para encontrar uma entrada correspondente na secção de tabela de índices possuindo a identificação correspondente.
- 13. Método implementado em computador da reivindicação 13, em que aceder selectivamente inclui obter a informação de palavra a partir de secções de dados semelhantes de cada léxico até ser localizado um indicador de paragem.
- 14. Método implementado em computador da reivindicação 13, em que aceder selectivamente às secções de dados inclui aceder sequencialmente aos léxicos por uma ordem seleccionada. Lisboa, 1 de Agosto de 2012 6
Applications Claiming Priority (1)
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 |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1367501E true PT1367501E (pt) | 2012-08-08 |
Family
ID=29249733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT03008804T PT1367501E (pt) | 2002-04-30 | 2003-04-23 | Léxico de dados divididos em secções e método para a sua utilização |
Country Status (8)
Country | Link |
---|---|
US (1) | US7490034B2 (pt) |
EP (1) | EP1367501B1 (pt) |
JP (1) | JP4724357B2 (pt) |
CY (1) | CY1113100T1 (pt) |
DK (1) | DK1367501T3 (pt) |
ES (1) | ES2386631T3 (pt) |
PT (1) | PT1367501E (pt) |
SI (1) | SI1367501T1 (pt) |
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 |
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 |
US7447627B2 (en) * | 2003-10-23 | 2008-11-04 | Microsoft Corporation | Compound word breaker and spell checker |
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 |
US9047275B2 (en) | 2006-10-10 | 2015-06-02 | Abbyy Infopoisk Llc | Methods and systems for alignment of parallel text corpora |
US9645993B2 (en) | 2006-10-10 | 2017-05-09 | Abbyy Infopoisk Llc | Method and system for semantic searching |
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 |
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 |
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 |
US9984071B2 (en) | 2006-10-10 | 2018-05-29 | Abbyy Production Llc | Language ambiguity detection of text |
US8145473B2 (en) | 2006-10-10 | 2012-03-27 | Abbyy Software Ltd. | Deep model statistics method for machine translation |
US9235573B2 (en) | 2006-10-10 | 2016-01-12 | Abbyy Infopoisk Llc | Universal difference measure |
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 |
WO2008151466A1 (en) * | 2007-06-14 | 2008-12-18 | Google Inc. | Dictionary word and phrase determination |
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 |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | 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 |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
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 |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
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 |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
DE202011111062U1 (de) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Vorrichtung und System für eine Digitalkonversationsmanagementplattform |
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 |
US8989485B2 (en) | 2012-04-27 | 2015-03-24 | Abbyy Development Llc | Detecting a junction in a text line of CJK characters |
US8971630B2 (en) | 2012-04-27 | 2015-03-03 | Abbyy Development Llc | Fast CJK character recognition |
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 |
KR20240132105A (ko) | 2013-02-07 | 2024-09-02 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
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 |
KR101772152B1 (ko) | 2013-06-09 | 2017-08-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
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 |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
CN110797019B (zh) | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
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 |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
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 |
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 |
US10110385B1 (en) | 2014-12-22 | 2018-10-23 | Amazon Technologies, Inc. | Duress signatures |
US9866393B1 (en) | 2014-12-22 | 2018-01-09 | Amazon Technologies, Inc. | Device for creating reliable trusted signatures |
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 |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
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 |
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 |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
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 |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital 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 |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
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 |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
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 |
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 |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | 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 |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | 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 |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
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 |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
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 |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | 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 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
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 |
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 |
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 |
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 |
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 |
US6760695B1 (en) * | 1992-08-31 | 2004-07-06 | Logovista Corporation | Automated natural language processing |
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 SI SI200332181T patent/SI1367501T1/sl unknown
- 2003-04-23 ES ES03008804T patent/ES2386631T3/es not_active Expired - Lifetime
- 2003-04-23 PT PT03008804T patent/PT1367501E/pt 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 |
---|---|
EP1367501B1 (en) | 2012-06-13 |
CY1113100T1 (el) | 2016-04-13 |
US20030204392A1 (en) | 2003-10-30 |
DK1367501T3 (da) | 2012-07-16 |
ES2386631T3 (es) | 2012-08-24 |
SI1367501T1 (sl) | 2012-09-28 |
EP1367501A3 (en) | 2007-01-03 |
US7490034B2 (en) | 2009-02-10 |
JP4724357B2 (ja) | 2011-07-13 |
JP2003345796A (ja) | 2003-12-05 |
EP1367501A2 (en) | 2003-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PT1367501E (pt) | Léxico de dados divididos em secções e método para a sua utilização | |
US9495358B2 (en) | Cross-language text clustering | |
US7620538B2 (en) | Constructing a translation lexicon from comparable, non-parallel corpora | |
USRE45530E1 (en) | Multilingual electronic transfer dictionary containing topical codes and method of use | |
US20040210434A1 (en) | System and iterative method for lexicon, segmentation and language model joint optimization | |
Mendels et al. | Improving speech recognition and keyword search for low resource languages using web data | |
JP2005251206A (ja) | 単語分割で使用される新単語収集方法およびシステム | |
JP2005285129A (ja) | 論理形式のための統計的言語モデル | |
Jabbar et al. | A survey on Urdu and Urdu like language stemmers and stemming techniques | |
JP2005092883A (ja) | 中国語の単語分割 | |
Lindén et al. | Hfst—a system for creating nlp tools | |
US20050091033A1 (en) | System and method for performing analysis on word variants | |
US8229970B2 (en) | Efficient storage and retrieval of posting lists | |
US8977538B2 (en) | Constructing and analyzing a word graph | |
KR20130074176A (ko) | 말뭉치 기반의 한국어 형태소 분석장치 및 그 분석방법 | |
Faisal et al. | A rule-based bengali grammar checker | |
CN1627289B (zh) | 用于分析汉语的装置和方法 | |
JP5285491B2 (ja) | 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 | |
Wan et al. | Searching for grammaticality: Propagating dependencies in the viterbi algorithm | |
JP3419748B2 (ja) | 辞書作成装置および方法と辞書作成プログラムを記録した記録媒体 | |
Kadam | Develop a Marathi Lemmatizer for Common Nouns and Simple Tenses of Verbs | |
CN112181389B (zh) | 生成教程片段的api标记的方法、系统及计算机设备 | |
JP4059501B2 (ja) | 自然語辞書更新装置 | |
JP5412137B2 (ja) | 機械学習装置及び方法 | |
Htay et al. | Constructing english-myanmar parallel corpora |