BRPI1002397A2 - Sistema e método para geração de consultas - Google Patents

Sistema e método para geração de consultas Download PDF

Info

Publication number
BRPI1002397A2
BRPI1002397A2 BRPI1002397-6A BRPI1002397A BRPI1002397A2 BR PI1002397 A2 BRPI1002397 A2 BR PI1002397A2 BR PI1002397 A BRPI1002397 A BR PI1002397A BR PI1002397 A2 BRPI1002397 A2 BR PI1002397A2
Authority
BR
Brazil
Prior art keywords
training
token
documents
tokens
production
Prior art date
Application number
BRPI1002397-6A
Other languages
English (en)
Inventor
George W Erhart
Valentine C Matula
Arzucan Ozgur
David Skiba
Original Assignee
Avaya Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avaya Inc filed Critical Avaya Inc
Publication of BRPI1002397A2 publication Critical patent/BRPI1002397A2/pt
Publication of BRPI1002397B1 publication Critical patent/BRPI1002397B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/50Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
    • G01R31/52Testing for short-circuits, leakage current or ground faults
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/50Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
    • G01R31/54Testing for continuity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3341Query execution using boolean model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

SISTEMA E MÉTODO PARA GERAÇÃO DE CONSULTAS O sistema utiliza (obtém) dados de treinamento que compreendem uma pluralidade de documentos de treinamento. Cada um da pluralidade de documentos de treinamento compreende um token de treinamento. A pluralidade de documentos de treinamento é agrupada dentro de uma pluralidade de agrupamentos com base em pelo menos um token de treinamento na pluralidade de documentos de treinamento. Cada agrupamento contém pelo menos um documento de treinamento. Uma consulta Booleana é gerada para o agrupamento com base na ocorrência de pelo menos um token de treinamento em um documento de treinamento na pluralidade de documentos de treinamento. O sistema obtém dados de produção que compreendem uma pluralidade de documentos de produção. Cada um da pluralidade de documentos de produção compreende um token de produção. A consulta Booleana é então executada nos dados de produção.

Description

SISTEMA E MÉTODO PARA GERAÇÃO DE CONSULTAS CAMPO TÉCNICO
Este sistema e método relacionam-se a sistemas de agrupamento de dados e, em particular, a gerar consultas Booleanas com base em agrupamentos.
HISTÓRICO
Atualmente, há uma variedade de sistemas que podem agrupar dados com base em termos de busca. K-means e k- means bissectante são exemplos de algoritmos que podem ser 10 utilizados para agrupar dados. Esses métodos de agrupamento tendem a ser muito intensivos de processamento e são difíceis de implementar quando há mudanças rápidas no conjunto de dados a ser agrupado. Esses métodos de agrupamento não são utilizados para gerar consultas 15 Booleanas que podem buscar um conjunto de dados mais rapidamente e com menos recursos de processamento do que utilizar os métodos de agrupamento existentes.
Por exemplo, a Patente dos Estados Unidos número 5.862.519 define um sistema para agrupamento "cego". O
2 0 sistema toma dados e segmenta os dados em agrupamentos.
Este sistema não gera consultas Booleanas com base nos dados agrupados e não processa as consultas Booleanas contra um conjunto de dados.
A Publicação do Pedido de Patente dos Estados Unidos 25 de número 2002/0087579 revela um sistema para agrupar dados em classificações. 0 sistema então mostra as relações entre os dados. As relações podem ser vários tipos de relações, incluindo relações Booleanas. No entanto, este sistema não gera qualquer consulta Booleana com base nas classificações
3 0 agrupadas. Ademais, o sistema não processa consultas Booleanas contra as classificações agrupadas.
SUMÁRIO
O sistema e método são direcionados a resolver estes e outros problemas e desvantagens da tecnologia anterior.
5 Cada um de uma pluralidade de documentos de treinamento compreende um token (token) de treinamento. A pluralidade de tokens de treinamento é agrupada em pelo menos um token de treinamento na pluralidade de documentos de treinamento. Cada agrupamento contém pelo menos um documento de 10 treinamento. Uma consulta Booleana é gerada para um agrupamento com base na ocorrência do pelo menos um token de treinamento em um documento de treinamento na pluralidade de documentos de treinamento. O sistema obtém dados de produção que compreendem uma pluralidade de 15 documentos de produção. Cada um da pluralidade de documentos de produção compreende um token de produção. A consulta Booleana é então executada nos dados de produção.
Outra versão do sistema obtém os dados de treinamento. Os dados de treinamento são limpos. Tokens salientes são
2 0 identificados dos tokens de treinamento em pelo menos uma
de uma pluralidade de documentos de treinamento. A pluralidade de documentos de treinamento são agrupadas em uma pluralidade de agrupamentos com base em pelo menos um token de treinamento ou pelo menos um token saliente. Cada 25 agrupamento contém pelo menos um documento de treinamento. Uma consulta Booleana é gerada para o agrupamento com base na ocorrência de pelo menos um token saliente em um documento na pluralidade de documentos de treinamento. O sistema obtém dados de produção e executa a consulta
3 0 Booleana nos dados de produção. BREVE DESCRIÇÃO DOS DESENHOS
Estes e outros recursos e vantagens do sistema e método tornar-se-ão mais aparentes da consideração da descrição seguinte de uma versão ilustrativa do sistema e método junto com o desenho, em que:
A Figura 1 é um diagrama de blocos de um sistema ilustrativo para gerar e executar consultas Booleanas.
A Figura 2 é um fluxograma de um método para gerar e executar consultas Booleanas.
A Figura 3 é um fluxograma de outro método para gerar
e executar consultas Booleanas.
A Figura 4 é um fluxograma de um método para ponderar e classificar tokens/tokens salientes em um agrupamento.
A Figura 5 é um diagrama que ilustra um conjunto de agrupamentos e a distribuição de tokens de treinamento/salientes entre eles.
A Figura 6 é um fluxograma de um método para gerar consultas Booleanas utilizando um algoritmo Disjunctive Normal Form (DNF - Forma Normal Disjuntiva).
2 0 A Figura 7 é um fluxograma de um método para gerar
consultas Booleanas utilizando um algoritmo OR-BUT-NOT (0U- MAS-NÃO).
A Figura 8 é um fluxograma de um método para analisar os resultados da consulta com base em novos dados de treinamento, novos dados de produção, uma solicitação para modificar uma consulta, e/ou uma solicitação para mudar o número de agrupamentos.
DESCRIÇÃO DETALHADA
A Figura 1 é um diagrama de blocos de um sistema
ilustrativo 100 para gerar e executar consultas Booleanas. O sistema 100 compreende um sistema de gerenciamento de consultas 101 e uma fonte de dados 105. O sistema de gerenciamento de consultas 101 ainda compreende um gerente de dados 102, um gerente de agrupamentos 103, e um gerente 5 de consultas 104.
A fonte de dados 105 pode ser qualquer tipo de sistema capaz de gerar e/ou receber dados. A fonte de dados 105 pode ser um centro de chamadas, um sistema de correspondência eletrônica, uma rede social, um sítio da 10 Web, um servidor de vídeo, uma base de dados, e assemelhados. O sistema de gerenciamento de consultas 101 pode ser qualquer tipo de sistema capaz de processar dados como um servidor, um Computador Pessoal (PC), uma Estação Central de Ramal Privado (PBX), e assemelhados. Da mesma 15 forma, o gerente de dados 102, o gerente de agrupamentos 103, e o gerente de consultas 104 podem ser qualquer tipo de sistema capaz de processar dados.
Os dados na fonte de dados 105 podem conter dados de treinamento e/ou dados de produção. Os dados de treinamento
2 0 e/ou os dados de produção podem vir de múltiplas fontes de
dados 105. Tanto os dados de treinamento como os dados de produção contêm uma pluralidade de documentos. Cada documento da pluralidade de documentos tanto nos dados de treinamento como nos dados de produção contêm um ou mais 25 tokens. A pluralidade de documentos tanto nos dados de treinamento como nos dados de produção podem ser qualquer tipo de documento e/ou informação que pode ser comparada como correspondências eletrônicas, documentos escritos, entradas do usuário de uma rede social, arquivos de vídeo,
3 0 arquivos de áudio, transcrições de texto de arquivos de áudio, e assemelhados. 0 documento poderia ser uma correspondência eletrônica individual, grupos de correspondências eletrônicas, uma transcrição de uma correspondência individual, uma transcrição de um grupo de 5 chamadas, uma entrada em uma rede social, múltiplas entradas em uma rede social, e assemelhados.
Cada documento tanto da pluralidade de documentos de treinamento como de documentos de produção contêm um ou mais tokens. 0 token pode ser qualquer tipo de elemento que 10 pode ser comparado como uma cadeia de dados, um unigrama, um bi-grama, um tri-grama, elementos de vídeo identificados, elementos de áudio identificados, cadeias de texto geradas de um arquivo de áudio, e assemelhados. Por exemplo, um token pode ser um elemento de vídeo, um 15 elemento de vídeo identificado, ou qualquer objeto de vídeo que poderá ser identificado e comparado como um automóvel, uma montanha, uma pessoa, e assemelhados. Da mesma forma, um elemento de áudio pode ser palavras de um arquivo de áudio, um som, e assemelhados.
0 gerente de dados 102 obtém dados de treinamento da
fonte de dados 105. 0 gerente de dados pode obter os dados de treinamento de uma única fonte de dados ou de múltiplas fontes de dados 105. Os dados de treinamento contêm uma pluralidade de documentos de treinamento. Cada um da 25 pluralidade de documentos de treinamento contém pelo menos um token de treinamento. 0 gerente de agrupamentos 103 agrupa a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos. 0 agrupamento pode ter por base tokens de treinamento na pluralidade de documentos de
3 0 treinamento. Por exemplo, algoritmos que podem agrupar documentos com base em tokens incluem um k-means, um k- means bissectante, um agrupamento, ou um algoritmo de agrupamento hierárquico divisível. 0 agrupamento contém pelo menos um documento de treinamento. 0 documento de treinamento pode estar em mais de um agrupamento.
0 gerente de consultas 104 gera uma consulta Booleana para o agrupamento na pluralidade de agrupamentos com base na ocorrência de pelo menos um token de treinamento em documentos de treinamento agrupados no agrupamento. A consulta Booleana é gerada para um agrupamento com base na ocorrência ou ausência do token na pluralidade de documentos de treinamento. As consultas Booleanas podem ser geradas de uma variedade de maneiras como o algoritmo de Forma Normal Disjuntiva (DNF) (ver a Figura 6) , um algoritmo OR-BUT-NOT (ver a Figura 7), e assemelhados.
O gerente de dados 102 obtém dados de produção da fonte de dados 105. 0 gerente de dados 102 pode obter os dados de produção da mesma fonte de dados 105 que os dados de treinamento ou de uma fonte de dados diferente 105. Os dados de produção poderão conter parte ou a totalidade dos dados de treinamento. 0 gerente de dados 102 pode obter os dados de produção a qualquer tempo, incluindo antes de obter os dados de treinamento. Os dados de produção contêm uma pluralidade de documentos de produção. Cada um da pluralidade de documentos de produção contém pelo menos um token de produção. 0 gerente de consultas então executa a consulta Booleana na pluralidade de documentos de produção nos dados de produção.
Consultas Booleanas são executadas em tokens de produção nos dados de produção ao determinar se os tokens na consulta Booleana estão ou não nos documentos de produção. Por exemplo, se a consulta Booleana gerada para o Agrupamento 1 for Token 1 (a palavra "adquirir") e Token 2 (as palavras "aparelho doméstico"), os resultados da consulta Booleana (adquirir E aparelho doméstico) apenas retornará documentos de produção que contêm os tokens de produção (palavras) adquirir e aparelho doméstico. Da mesma forma, se a consulta for Token 1 e NÃO token 2, os resultados da consulta Booleana retornarão documentos de produção que contêm o token de produção adquirir e não contêm o token de produção aparelho doméstico. Os documentos de produção que são retornados das consultas Booleanas neste exemplo são aqueles que são mais relevantes para o Agrupamento I. Isso ocorre porque as consultas são geradas dos tokens de treinamento no agrupamento 1.
A Figura 2 é um fluxograma de um método para gerar e executar consultas Booleanas. Ilustrativamente, o sistema de gerenciamento de consultas 101, o gerente de dados 102, o gerente de agrupamentos 103, e o gerente de consultas 104 são uma entidade controlada por programa armazenado, como um computador, que efetua os métodos das Figuras 2 a 4 e 6 a 8 ao executar um programa armazenado em um meio de armazenamento, como uma memória ou um disco.
0 processo tem início ao obter 200 dados de treinamento. Os dados de treinamento contêm uma pluralidade de documentos de treinamento. Cada um da pluralidade de documentos de treinamento contém pelo menos um token de treinamento. A pluralidade de documentos de treinamento são agrupadas 201 dentro de uma pluralidade de agrupamentos. 0 agrupamento tem por base pelo menos um token de treinamento na pluralidade de documentos de treinamento. Cada agrupamento contém pelo menos um documento de treinamento. Uma consulta Booleana é gerada 202 para um grupo na pluralidade de agrupamentos com base na ocorrência de um
5 token de treinamento na pluralidade dos documentos de treinamento. 0 processo obtém 203 dados de produção. Os dados de produção contêm uma pluralidade de documentos de produção. Cada um da pluralidade de documentos de produção contém pelo menos um token de produção. A consulta Booleana 10 é executada 204 nos documentos de produção nos dados de produção.
A Figura 3 é um fluxograma de um método alternativo para gerar e executar consultas Booleanas. 0 processo tem início ao obter 3 00 dados de treinamento. Os dados de 15 treinamento contêm uma pluralidade de documentos de treinamento. Cada um da pluralidade de documentos de treinamento contém pelo menos um token de treinamento. A pluralidade de documentos de treinamento nos dados de treinamento são limpos 301. Um exemplo de limpar a
2 0 pluralidade de documentos de treinamento nos dados de
treinamento pode ser tirar palavras (tokens de treinamento) que ocorrem muito freqüentemente na fala/texto normais. Essas são palavras que não portam informação útil sobre o conteúdo do texto. Palavras como "o", "a", "de" são tipos 25 de palavras freqüentes que podem ser limpas dos dados de treinamento. Outros exemplos de limpar 3 01 os dados de treinamento incluem apagar tokens de treinamento como o "um" e "uh" de uma transcrição de conversas de fala para chamadas em um centro de chamadas.
3 0 0 processo identifica 3 02 um token saliente dos tokens de treinamento na pluralidade de documentos de treinamento. 0 token saliente é um token que é relevante para a pluralidade de documentos de treinamento a serem analisados. 0 token saliente é um token que ocorre mais ou menos freqüentemente em documentos na pluralidade dos documentos de treinamento em relação a documentos em outras coleções de documentos. Identificar 302 tokens salientes pode ser efetuado ao comparar freqüências de palavras individuais (unigramas), seqüências de palavras (por exemplo, bi-gramas, tri-gramas), partes de palavras, palavras faladas, objetos de vídeo, e assemelhados na pluralidade de documentos de treinamento com um corpus de domínio genérico. O corpus de domínio genérico é uma linha base sobre com que freqüência palavras/frases/objetos são utilizados em uma linguagem e/ou vídeo falados/escritos. Por exemplo, "Word Frequencies in Written and Spoken English" (Andrew Wilson, Geoffery Leech, Paul Rayson, ISBN 0582-32007-0, Prentice Hall, 2001), que é aqui incorporado por referência, define um corpus de domínio genérico exemplar. Identificar palavras salientes (isto é, palavras que são características de nosso corpus) pode ter por base algoritmos conhecidos como o Relative Frequency Ratio (RFR). Por exemplo, "Fred J. Damerau. Generating and evaluating domain-oriented multi-word terms from texts. Information Processing and Management 29(4): 433-447, 1993." Revela a utilização do RFR.
A pluralidade de documentos de treinamento é agrupada
3 03 dentro de uma pluralidade de agrupamentos com base em pelo menos um token de treinamento na pluralidade de tokens de treinamento e/ou pelo menos um token saliente. Uma consulta Booleana é gerada 304 para um agrupamento com base na ocorrência dos tokens salientes em um documento de treinamento na pluralidade de documentos de treinamento. 0 processo obtém 305 dados de produção. Os dados de produção contêm uma pluralidade de documentos de produção. Cada um da pluralidade de documentos de produção contém pelo menos um token de produção. A consulta Booleana é executada 3 06 na pluralidade de documentos de produção nos dados de produção.
A Figura 4 é um fluxograma de um método para ponderar e classificar tokens de treinamento/tokens salientes em um agrupamento. A Figura 4 é um diagrama de fluxo das etapas que vão entre a etapa 201 e a etapa 202 na Figura 2 ou entre a etapa 303 e a etapa 304 na Figura 3. Após agrupar
201 ou 303 a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos com base nos tokens de treinamento/tokens salientes, o processo calcula 4 00 uma matriz de ponderação token/agrupamento para os tokens de treinamento/tokens salientes (ver a Tabela 2 para uma matriz de ponderação token/agrupamento exemplar). Os tokens de treinamento/tokens salientes são classificados 4 01 para cada agrupamento (ver a Tabela 3 para um exemplo de tokens classificados para cada agrupamento). É selecionada uma lista dos N tokens/tokens salientes superiores 4 02. N é um inteiro positivo. N é normalmente determinado com base no tamanho e número de documentos de treinamento. 0 processo então vai para a etapa 202 ou a etapa 304.
A Figura 5 é um diagrama que ilustra um conjunto de agrupamentos 500-502 e a distribuição de tokens de treinamento/salientes entre eles. A Figura 5 é um exemplo ilustrativo de agrupamentos 500-502 que são gerados nas etapas 201 e 303. A Figura 5 contém três agrupamentos: o agrupamento um 500, o agrupamento dois 501, e o agrupamento três 502. Documentos de treinamento são colocados em agrupamentos utilizando algoritmos de agrupamento conhecidos. Neste exemplo, o agrupamento um 500 tem documentos de treinamento que contêm pelo menos um dos tokens de treinamento/tokens salientes Tl a T4. O agrupamento dois 501 tem documentos de treinamento que contêm tokens de treinamento/tokens salientes T3 ou T4. 0 agrupamento três 502 tem documentos de treinamento que contêm tokens de treinamento/tokens salientes T4 ou T5. Os tokens de treinamento/tokens salientes T1-T5 podem ser tokens de treinamento ou eles podem ser tokens salientes dependendo do método utilizado.
A Tabela 1 abaixo ilustra a porcentagem de documentos de treinamento que contém um token de treinamento/token saliente em cada agrupamento 500-502.
20
25
C1 C2 C3 500 501 502 T1 50% 0% 0% T2 30% 0% 0% T3 20% 50% 0% T4 10% 15% 30% T5 0% 0% 10% 30
Tabela 1 Esta tabela é uma representação dos agrupamentos 500- 502 mostrados na Figura 5. Cada coluna representa um agrupamento 500-502. Cada linha representa um token de treinamento/token saliente. O número de porcentagem 5 representa a porcentagem de documentos de treinamento no agrupamento 500-502 que contêm o token de treinamento/token saliente.
Neste exemplo, Token I (Tl) está em 50% dos documentos de treinamento no agrupamento um 500. Tl não está em qualquer um dos documentos de treinamento no agrupamento dois 501 ou no agrupamento três 502. Token 2 (T2) está nos 30% dos documentos de treinamento no agrupamento um 500. T2 não está em qualquer um dos documentos de treinamento no agrupamento dois 501 ou no agrupamento três 502. Token 3 (T3) está nos 2 0% dos documentos de treinamento no agrupamento um 500. T3 está nos 50% dos documentos de treinamento no agrupamento dois 501. T3 não está em qualquer um dos documentos de treinamento no agrupamento três 502. Token 4 (T4) está nos 10% dos documentos de treinamento no agrupamento um 500. T4 está nos 15% dos documentos de treinamento no agrupamento dois 501. T4 está nos 3 0% dos documentos de treinamento no agrupamento três 502. Token 5 (T5) não está em nenhum dos documentos de treinamento no agrupamento um 500 ou no agrupamento dois 501. T5 está nos 10% dos documentos de treinamento no agrupamento três 502.
A Tabela 2 abaixo ilustra a matriz de ponderação token/agrupamento calculada 4 00 para cada agrupamento 50 0- 502.
30 10
15
20
25
C1 C2 C3 500 501 502 T1 .5 0 0 T2 .3 Q 0 T3 ,133 .417 0 T4 ,069 .107 .240 T5 0 0 .1 Tabela 2
A equação seguinte (Equação 1) é utilizada para
calcular 4 00 a matriz de ponderação token/agrupamento para
cada agrupamento utilizando os dados da Tabela 1.
DF(t,Cj)/Nc peso (t,Cj) =-;.........· C’
1+ YjDF(UCi)INci
30
Equaçao 1
0 peso (t,Cj) é o peso do token t para o agrupamento j. DF(t,Cj) é o número de documentos no agrupamento j que contêm o token t. NCj é o número total de documentos no agrupamento j. M(m) é o número de agrupamentos. A Equação 1 pondera um token em um agrupamento ao levar em conta a potência descritiva e discriminativa do token para aquele agrupamento. Intuitivamente, o token é ponderado mais alto se aparecer em muitos documentos no agrupamento, mas em apenas poucos documentos nos demais agrupamentos.
Utilizando a Equação 1, o peso de Tl para o agrupamento um 500 seria calculado 400 como: 0,5/(l+0+0), ou 0,5. 0 peso de T2 para o agrupamento um 500 seria calcülado 4 00 como: 0,3/(1+0+0), ou 0,3. O peso de T3 para o agrupamento um 500 seria calculado 400 como:
0,2/(1+0,5+0), ou 0,13 3. O peso de T4 para o agrupamento um 500 seria calculado 400 como: 0,1/(1+0,15+0,3), ou 0,069. O 5 peso para T5 é 0. Da mesma forma, os valores para o agrupamento dois 501 e o agrupamento três 502 são calculados 400 utilizando a Equação 1 e estão mostrados na Tabela 2.
A Tabela 3 abaixo ilustra a classificação 401 dos tokens/tokens salientes para cada agrupamento 500-502.
15
20
A equação seguinte (Equação 2) é utilizada para classificar 4 01 os tokens de treinamento/tokens salientes para cada agrupamento 500-502.
Max[Min( peso (t, C.) — peso (t, Ci))] Equação 2
/ i x\j#j
T(t) é o melhor token para o agrupamento j -> max diferença de peso com o agrupamento com o peso mais alto. Para cada agrupamento apenas os N tokens superiores com um 3 0 peso final positivo (utilizando a Equação 2) são
C1 C2 C3 500 501 502 T1 (.5) T3 (.284) T4 (.133) T2 (.3) T5{-.1) T5 (.1) T5 (-.1) T4 (-.133) T2 (.3) T4 (-.171) T2 (-.3) T3 (-.417) T3 (-.284) T1 (-.5) Tl (--5) Tabela 3 escolhidos. Utilizando a Equação 3, a classificação 401 dos tokens/tokens salientes é derivada conforme segue:
Tl Cl = min{ (0,5 - 0) (0,5 - 0) } = 0, 5 C2 = min{ (0 - 0, 5) / (0 - o)} = 0, 5 C3 = min{ (0 - 0) / (0 - o, 5) } = 0, 5 T2 Cl = min{ (0,3 - 0) / (0,3 - 0)} = 0, 3 C2 = min{ (0 - 0,3) / (0 - o)} = 0, 3 C3 = min{ (0 - 0) / (0 - o, 3)} = 0, 3 T3 Cl = min{ (0,133 - 0, 417) , (0, 133 - o)} = 0,284 C2 = min{ (0,417 - 0, 133) , (0, 417 - 0) } = 0,284 C3 = min{ (0 - 0, 133) , (o - o, 417) } = o, 417 Da mesma forma, a classificação 401 de T4-T5 é realizada utilizando a Equação 2. Os resultados da classificação 401 de T1-T5 nos agrupamentos 500-502 é mostrada na Tabela 3. A classificação 401 é organizada do número mais alto para o número mais baixo. A lista dos N números superiores dos tokens de treinamento/tokens salientes é selecionada 402 para cada agrupamento 500-502. N é um inteiro positivo.
A Figura 6 é um fluxograma de um método para gerar (202 ou 3 04) consultas Booleanas utilizando um algoritmo de Forma Normal Disjuntiva (DNF - Disjunctive Normal Form). A Figura 6 é um diagrama de fluxo quer da etapa 2 02 na Figura
2 ou da etapa 304 na Figura 3. 0 processo descrito na Figura 6 pode ser utilizado para cada agrupamento 5500-502. 0 processo tem início ao inicializar 900. Inicializar 900 pode incluir, sem a ele estar limitado, fixar a consulta para uma consulta vazia e obter os N tokens de treinamento/tokens salientes superiores (ver a Tabela 3) para o agrupamento 500-502 para os quais a consulta Booleana está sendo gerada (202 ou 304) . Os N tokens de treinamento/tokens salientes superiores para cada agrupamento e seu negativo (o NOT do token de treinamento/token saliente) são colocados em uma lista. A cláusula é fixada 901 para uma cláusula vazia. A cláusula é um retentor para construir um grupo de tokens que são acrescentados (ANDed) juntos. 0 token de treinamento/token saliente melhor seguinte para a cláusula é selecionado 902 da lista de N superiores de tokens de treinamento/tokens salientes para o agrupamento.
0 melhor token de treinamento/token saliente seguinte é selecionado. Para cada token na lista dos N tokens de treinamento/tokens salientes superiores o token de treinamento/token saliente melhor seguinte é aquele que maximiza a diferença de cobertura verdadeira e falsa cobertura quando alternada (ORed) com a consulta atual. A verdadeira cobertura é o número de documentos corretos recuperados. A cobertura falsa é o número de documentos incorretos recuperados. 0 token de treinamento/token saliente melhor seguinte é selecionado ao subtrair a cobertura falsa (Consulta Alternativa (ORed) com o token) da cobertura verdadeira (Consulta Alternativa (ORed) com o token).
Se o melhoramento de rechamadas de alternâcia (ORing) do token de treinamento/token saliente não for superior ao melhoramento mínimo na etapa 903, o processo vai para a etapa 911. Rechamada é a proporção de documentos corretos que são recuperados. 0 melhoramento de rechamadas é a rechamada da consulta alternativa (ORed) com o token de treinamento/token saliente menos a rechamada da consulta. 0 melhoramento mínimo é um limite do melhoramento. Se o melhoramento de rechamada de alternância (ORing) do token de treinamento/token saliente for maior que o melhoramento mínimo na etapa 903, a cláusula é fixada 904 para o token de treinamento/token saliente e os tokens de cláusula variável é fixado para um. Os tokens de cláusula variável são o número de tokens de treinamento/tokens salientes atualmente na cláusula.
0 processo seleciona 905 o token de treinamento/token saliente melhor seguinte conforme descrito na etapa 902. O token de treinamento/token saliente melhor seguinte é aquele que maximiza a diferença de cobertura verdadeira e de falsa cobertura quando acrescentado (ANDed) com a cláusula atual. Esta é a cobertura verdadeira (consulta OR (cláusula AND token) menos cobertura falsa (consulta OR (cláusula AND token)). 0 processo determina 906 se um melhoramento de precisão de acréscimo (ANDing) do token de treinamento/token saliente é maior que uma queda na rechamada. A queda na rechamada e o melhoramento na precisão podem ser calculados de várias maneiras. Por exemplo, a queda na rechamada pode ser o número de documentos verdadeiros que são omitidos ao incluir o token de treinamento/token saliente na equação Booleana. 0 melhoramento de precisão pode ser o número de documentos falsos que são eliminados pela consulta Booleana ao incluir o token de treinamento/token saliente (ou NOT token) na consulta Booleana. Um documento verdadeiro é um documento que está no agrupamento (o documento poderia estar em outros agrupamentos). Um documento falso é o documento que não está no agrupamento. 0 melhoramento da rechamada é o documento verdadeiro que são acrescentados em relação aos verdadeiros documentos que são acrescentados pelos tokens de treinamento/tokens salientes que já estão na consulta Booleana.
Como um segundo processo exemplar, a queda de rechamada pode ser calculada utilizando o processo seguinte. A queda de rechamada é a rechamada (consulta OR cláusula) menos a rechamada (consulta OR (cláusula AND token). O melhoramento de precisão é a precisão (consulta OR (cláusula AND token)) menos a precisão (consulta OR cláusula) . Se o melhoramento de precisão de acréscimo (ANDing) do token de treinamento/token saliente não for maior que a queda de rechamada na etapa 906, o processo vai para a etapa 910.
Se o melhoramento da precisão de acréscimo (ANDing) do token de treinamento/token saliente for maior que a queda de rechamada na etapa 906, o processo fixa 907 a cláusula igual a cláusula acrescentada (ANDed) com o token de treinamento/token saliente. 0 processo incrementa 908 os tokens de cláusula variável.
0 processo determina 909 se os tokens de cláusula variável são inferior aos tokens de cláusula max variável. Os tokens de cláusula max variável são um número predefinido que fixa um limite no número de tokens de treinamento/tokens salientes que estarão em uma cláusula. Se os tokens de cláusula variável forem inferiores aos tokens de cláusula max na etapa 909, o processo vai para a etapa 905 para selecionar o token de treinamento/token saliente melhor seguinte. Caso contrário, se os tokens de cláusula variável não forem inferior aos tokens de cláusula max variável na etapa 909, a consulta é fixada 910 igual à consulta alternativa (ORed) com a cláusula. As cláusulas de número variável são incrementadas 911. O processo determina 912 se as cláusulas de número variável são inferiores às 5 cláusulas max variável. Cláusulas max são um limite no número de cláusulas permitidas na consulta Booleana. Se as cláusulas de número variável forem inferiores às cláusulas max, o processo vai para a etapa 901 de modo que uma nova cláusula pode ser gerada. Caso contrário, se as cláusulas 10 de número variável não forem inferiores às cláusulas max variável na etapa 912, o processo vai para a etapa 203 ou 305.
Como um exemplo de utilizar o método da Figura 6, suponha que cinco tokens de treinamento/tokens salientes 15 classificados para o agrupamento 1 500 da Tabela 3 são o número (N) de tokens de treinamento/tokens salientes classificados. Suponha os valores seguintes: melhoramento mim = 10%, tokens de cláusula max = 2, e cláusulas max = 2. Como foi discutido acima, a lista de N tokens de 20 treinamento/tokens salientes (e o token NOT) podem ser determinados ao subtrair a cobertura falsa (documentos de treinamento negativos) do melhoramento de precisão (documentos de treinamento positivos). Utilizando a Tabela
1, os cálculos seguintes ocorreriam para o agrupamento um 500.
Token Cálculo Classificação Tl 50% - 0% = 50% 2 NOT Tl 50% - 100% = -50% 10 T2 30% - 0% = 30% 3 NOT T2 70% - 100% = -30% 7-9 T3 20% - 50% = -30% 7 - 9 NOT T3 80% - 100% - 20% 6 T4 10% - 30% a 45% = -20% a -35% 7 - 9 NOT T4 90% - 85% a 100% = 5% a -10% 4 T5 0% - 10% = - 10% 5 NOT T5 100% - 10% = : 90% 1 * 5 t
Os cálculos acima têm por base porcentagens de documentos. No entanto, outros métodos podem ser utilizados. Por exemplo, cálculos com base no número de 10 documentos podem ser utilizados. Tl é calculado com base na cobertura verdadeira (50% de documentos positivos acrescentados) menos a cobertura falsa (0% de documentos negativos acrescentados), ou 0,5. NOT Tl é calculado com base em uma cobertura verdadeira de 50% (NOT Tl acrescenta 15 50% dos documentos de treinamento) menos a cobertura falsa de 100% (NOT Tl acrescenta 100% dos documentos de treinamento tanto em C2 como em C3) , ou -0,5. Os mesmos cálculos são utilizados para T2. T3 é calculado com base na cobertura verdadeira de 20% menos a cobertura falsa de 50%.
2 0 NOT T3 é calculado com base na cobertura verdadeira de 8 0%
menos a cobertura falsa de 100% (isto é, 100% dos documentos de treinamento no agrupamento três 502) . Da mesma forma, os valores para T4 e T5 são calculados utilizando o mesmo método. Observe que os valores 25 calculados para T4 e NOT T4 contêm uma faixa de valores porque pode haver sobreposição de C2 para C3 (isto é, o mesmo documento de treinamento poderá estar em ambos os agrupamentos).
Após inicializar 900 e fixar 901 a cláusula para uma
3 0 cláusula vazia, o processo seleciona 902 o token de treinamento/token saliente NOT T5 de classificação mais alta. 0 processo determina 903 que o melhoramento de rechamada para NOT T5 (100%) é maior que o melhoramento mínimo (10%). A cláusula é fixada 904 para NOT T5 e tokens de cláusula são fixados para um. 0 token de treinamento/token saliente (Tl) melhor seguinte é selecionado 905. 0 processo determina 906 que o melhoramento de precisão para Tl (100%) é maior que a queda de rechamada para Tl (50%) . A cláusula (NOT T5) é fixada 907 para o valor da cláusula atual (NOT T5) acrescentada (ANDed) com o token atual Tl produzindo um valor de cláusula de (NOT T5 AND Tl) . Tokens de cláusula são incrementados 908 para dois. 0 processo determina 909 que tokens de cláusula (2) não são inferiores aos tokens de cláusula max (2) . A consulta (NOT T5 AND Tl) é fixada 910 para a consulta alternativa (ORed) com a cláusula ((NOT T5 AND Tl) OR). Clausulas num são incrementadas 911 para um. 0 processo determina 912 que as cláusulas num (1) são inferiores às cláusulas max (2).
0 processo fixa 901 a cláusula para uma cláusula vazia. 0 processo seleciona 902 o token de treinamento/token saliente melhor seguinte. 0 processo determina 903 que o melhoramento de rechamada para T2 é (30%) maior que o melhoramento mínimo (10%) para T2. A cláusula é fixada 904 para T2 e tokens da cláusula são fixados para um. 0 token de treinamento/token saliente melhor seguinte (NOT T4) é selecionado 905. 0 processo determina que o melhoramento de precisão para NOT T4 de 50% (supõe que 50% dos documentos recuperados são verdadeiros) é maior que a queda de rechamada para NOT T4 (10%) . A cláusula é fixada 907 para a cláusula (T2) acrescentada (ANDed) com o token de treinamento/token saliente NOT T4 (T2 AND NOT T4) . Tokens de cláusula são incrementados 908 para dois. 0 processo determina 909 que tokens de cláusula (2) não são inferiores aos tokens de cláusula max (2) . A consulta é fixada 910 para a consulta (NOT T5 AND Tl) alternativa (ORed) com a cláusula (T2 AND NOT T4), ou ((NOT T5 AND Tl) OR (T2 AND NOT T4) ) . Clausulas de números são incrementadas 911 para dois. 0 processo determina que as cláusulas num (2) não sejam inferiores às cláusulas max (2) . 0 processo vai para a etapa 203 ou 305. A consulta Booleana gerada é (NOT T5 AND Tl) OR (T2 AND NOT T4)).
0 exemplo acima revela uma maneira de determinar 906 se o melhoramento de precisão é maior que a queda de rechamada. No exemplo acima, o melhoramento de precisão tem por base o token melhor seguinte selecionado da etapa 905. No entanto, o melhoramento de precisão na etapa 905 pode ser calculado em tempo real com base na consulta atual.
A Figura 7 é um fluxograma de um método para gerar (202 ou 304) consultas Booleanas utilizando um algoritmo 0R-BUT-N0T. A Figura 7 é um diagrama de fluxo quer da etapa
202 na Figura 2 ou da etapa 304 na Figura 3. 0 processo tem início pela inicialização 1000. Inicializar 1000 pode incluir, sem a ele ser limitado, fixar a consulta para uma consulta vazia, fixar os tokens OR de número variável para zero, fixar o token AND NOT de número variável para zero, e obter os tokens de treinamento/tokens salientes N superiores (ver a Tabela 3) para o agrupamento 500-502 que a consulta Booleana está sendo gerada (202 ou 304). 0 token de treinamento/token saliente positivo melhor seguinte é selecionado 1001. O processo determina 1002 se o melhoramento de rechamada for maior que o melhoramento mínimo para o token de treinamento/token saliente positivo selecionado. Se o melhoramento de rechamada não for maior que o melhoramento mínimo na etapa 1002, o processo vai para a etapa 1004. Caso contrário, a consulta é fixada 1003 para a consulta alternativa (ORed) com o token de treinamento/token saliente positivo selecionado. Os tokens OR de número variável são incrementados 1004. Tokens OR num são o número de tokens de treinamento/tokens salientes que foram processados da lista de N tokens de treinamento/tokens salientes. 0 processo determina 1005 se os tokens OR de número variável são inferiores aos tokens OR max. Os tokens OR max são o número máximo de tokens de treinamento/tokens salientes que serão alternados (ORed) na consulta Booleana gerada. Se os tokens OR num forem inferiores aos tokens OR max na etapa 1005, o processo vai para a etapa 1001 para selecionar o token de treinamento/token saliente positivo melhor seguinte.
Caso contrário, o token de treinamento/token saliente negativo melhor seguinte é selecionado 1006. O processo determina 1007 se um melhoramento de precisão é maior que a queda de rechamada para o token de treinamento/token saliente negativo selecionado. Se o melhoramento de precisão não for maior que a queda de rechamada na etapa 1007, o processo vai para a etapa 1009. Caso contrário, se o melhoramento de precisão for maior que a queda de rechamada na etapa 1007, a consulta é fixada 1008 para a consulta acrescentada (ANDed) com o token de treinamento/token saliente negativo melhor seguinte. 0 token AND NOT de num variável é incrementado 1009. 0 token num AND NOT é o número de tokens de treinamento/token saliente negativos que foram processados. 0 processo 5 determina 1010 se o token num AND NOT for inferior ao token AND NOT max. Tokens AND NOT max são o número máximo de tokens de treinamento/tokens salientes NOT que serão processados. Se os tokens num AND NOT forem inferiores aos tokens AND NOT max, o processo vai para a etapa 1006 e 10 seleciona o token de treinamento/token saliente negativo melhor seguinte. Caso contrário, o processo vai para a etapa 203 ou 305.
Como um exemplo da utilização do método da Figura 7, suponha que os cinco tokens de treinamento/tokens salientes 15 classificados para o agrupamento um 500 da Tabela 3 são o número (N) de tokens classificados. Suponha os valores seguintes: melhoramento mim = 10%, tokens OR max = 2, e tokens AND NOT max = 2. Como foi discutido acima, a lista de N tokens de treinamento/tokens salientes (e tokens NOT)
2 0 é determinada ao subtrair a cobertura falsa (documentos de treinamento negativos) da cobertura verdadeira (documentos de treinamento positivos). Utilizando a Tabela 1, os cálculos seguintes ocorreriam para o agrupamento um 500 para os tokens de treinamento/tokens salientes positivos e 25 negativos.
Token de treinamento/ Classificação
token saliente positivos
Tl 50% = 0% = 50% 1
T2 30% - 0% = 30% 2
T3 20% - 50% = -30% 4-5 Τ4 10% - 30%-45% = -20% a -35% 4-5
Τ5 0% - 10% = -10% 3
Token de treinamento/ Classificação
token saliente negativos
NOT Tl 50% - 100% = -50% 5 NOT T2 70% - 100% = -30% 4 NOT T3 80% - 100% = -20% 3 NOT T4 90% - 85%-100% = -5% a -10% 2 NOT T5 100% - 10% = 90% 1 Após inicializar 1000, o token de treinamento/token saliente positivo melhor seguinte Tl é selecionado 1001. O processo determina 10 02 que o melhoramento de rechamada para Tl (50%) é maior que o melhoramento mínimo (10%) . A
consulta é fixada 1003 para a consulta de token positivo selecionado como alternativa (ORed) (Tl). Tokens OR num são incrementados para um. O processo determina 1005 que os tokens OR num (1) são inferiores aos tokens OR max (2) . 0 token positivo melhor seguinte T2 é selecionado 1001. 0
2 0 melhoramento de rechamada para T2 é o número de novos
documentos de treinamento que serão acrescentados com base em incluir T2 na consulta Booleana. 0 melhoramento de rechamada para T2 poderia ser de 0% a 3 0% dependendo em quantos documentos novos serão acrescentados ao incluir T2.
Por exemplo, se T2 não estiver em qualquer um dos documentos de treinamento que contêm ΤΙ, o melhoramento de rechamada para T2 seria de 3 0%. Se metade dos documentos que contêm T2 também contêm ΤΙ, o melhoramento de rechamada para T2 seria de 30%. Se metade dos documentos que contêm
3 0 T2 também contêm Tl, então o melhoramento de rechamada para Τ2 seria de 15% pois acrescentar T2 à consulta Booleana acrescentaria 15% de novos documentos de treinamento. Para este exemplo, suponha que o melhoramento de rechamada é de 15%. O processo determina 1002 que o melhoramento de 5 rechamada para T2 (15%) é maior que o melhoramento de rechamada mínimo (10%). A consulta é fixada 1003 à consulta alternativa (ORed) com o token positivo melhor seguinte selecionado (Tl OR T2) . Tokens OR num são incrementados 1004 para dois. 0 processo determina 1005 que os tokens OR 10 num (2) sejam não inferiores aos tokens OR max (2).
0 token negativo melhor seguinte (NOT T5) é selecionado 1006. 0 processo determina 1007 que o melhoramento de precisão de NOT T5 é de 50% (suponha que 50% dos documentos recuperados são verdadeiros) é maior que 15 a queda de rechamada (0) . A consulta é fixada 1008 para a consulta AND NOT T5, ou ((Tl OR T2) AND NOT T5). Os tokens AND NOT de num variável são incrementados 1009 para um. 0 processo determina 1010 que o token AND NOT num (1) é inferior aos tokens AND NOT max (2) . O token de
2 0 treinamento/token saliente negativo melhor seguinte (NOT T4) é selecionado 1006. O processo determina 1007 que o melhoramento de precisão para NOT T4 seja de 50% (suponha que 50% dos documentos recuperados são verdadeiros) é maior que a queda de rechamada (10) . A consulta é fixada 1008 25 para a consulta AND NOT T4, ou (Tl OR T2) AND NOT T5 AND NOT T4. 0 token AND NOT num variável é incrementado 1009 para dois. 0 processo determina 1010 que o token AND NOT num (2) não é inferior aos tokens AND NOT max (2) . 0 processo vai para a etapa 203 ou 305. A consulta gerada é 30 (Tl OR T2) AND NOT T5 AND NOT T4. O exemplo acima revela uma maneira de determinar 1007 se o melhoramento de precisão é maior que a queda de rechamada. No exemplo acima, o melhoramento de precisão tem por base o token negativo melhor seguinte selecionado da etapa 1006. No entanto, o melhoramento de precisão na etapa 1007 pode ser calculado em tempo real com base na consulta atual.
A Figura 8 é um fluxograma de um método para analisar os resultados da consulta com base em novos dados de treinamento, novos dados de produção, uma solicitação para modificar uma consulta, e/ou a solicitação para mudar o número de agrupamentos. O processo tem início após executar 204 ou 3 06 a consulta Booleana na pluralidade de documentos de produção nos dados de produção. Os resultados da consulta Booleana são analisados 1100 para determinar se a consulta Booleana é eficaz. 0 analisar 1100 poderia ser um processo manual ou automatizado.
Por exemplo, se um gerente determinou que os tipos de chamadas em um centro de chamadas mudaram, então um novo conjunto de dados de treinamento e dados de produção poderão ser necessários para gerar a consulta Booleana apropriada para o estado atual do centro de chamadas. Há um potencial que algumas das consultas Booleanas que foram geradas não são eficazes em selecionar documentos de produção que sejam pertinentes para o agrupamento. 0 gerente poderá querer apagar uma ou mais das consultas Booleanas geradas para obter documentos de produção que casem melhor os importantes tópicos nos dados de produção. 0 número de agrupamentos que são gerados nas etapas 201 e
3 03 podem ser mudados com base na identificação dos documentos de treinamento em um ou mais agrupamentos que foram gerados anteriormente e reprocessar o processo da Figura 2 ou 3 utilizando os documentos de treinamento no agrupamento como os dados de treinamento.
Após analisar 1100 os resultados das consultas Booleanas, o processo determina 1101 se há novos dados de treinamento. Se houver novos dados de treinamento na etapa 1101, o processo vai para a etapa 200 ou 300. Caso contrário, o processo determina 1102 se uma ou mais das consultas Booleanas precisa ser modificada. Se as consultas Booleanas precisam ser modificadas, o processo vai para a etapa 204 ou 306. Caso contrário, o processo determina 1103 se o número de agrupamentos precisa ser modificado. Se o número de agrupamentos precisa ser modificado, o processo vai para a etapa 201 ou 303. Caso contrário, o processo determina 1104 se há novos dados de produção ou se novos dados de produção e uma ou mais das consultas Booleanas precisam ser modificados. Se houver novos dados de produção ou se novos dados de produção e uma ou mais das consultas Booleanas precisam ser modificados, o processo vai para a etapa 203 ou 305. Caso contrário, o processo está feito 1105.
Naturalmente, varias mudanças e modificações à versão ilustrativa descrita acima serão aparentes para aqueles habilitados na tecnologia. Por exemplo, agrupar dados (manual ou automaticamente) para apenas acrescentar novos dados de treinamento que são de certa classe ou acrescentar palavras chaves às consultas, embora os termos não apareçam nos dados de treinamento. Essas mudanças e modificações podem ser feitas sem desviar do espírito e o escopo do sistema e método e sem diminuir suas vantagens conseqüentes. Pretende-se, portanto, que essas mudanças e modificações sejam cobertas pelas reivindicações seguintes exceto naquilo que for limitado pela tecnologia anterior.
Além disso, nas reivindicações, quando da referência a um elemento no singular (por exemplo, um token de produção), o elemento também deve ser visualizado para incluir o um ou mais do elemento (por exemplo, um ou mais tokens de produção).

Claims (12)

1. Sistema para geração de uma consulta Booleana, caracterizado por compreender: a. um gerente de dados configurado para obter dados de treinamento e dados de produção, em que os dados de treinamento compreendem uma pluralidade de documentos de treinamento e cada um da pluralidade de documentos de treinamento compreende pelo menos um token de treinamento, e em que os dados de produção compreendem uma pluralidade de documentos de produção e cada um da pluralidade de documentos de produção compreende pelo menos um token de produção; b. um gerente de agrupamentos configurado para agrupar a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos com base em pelo menos um token de treinamento na pluralidade de documentos de treinamento, em que cada agrupamento compreende pelo menos um documento de treinamento; e c. um gerente de consultas configurado para gerar a consulta Booleana para um agrupamento da pluralidade de agrupamentos com base em uma ocorrência de pelo menos um token de treinamento em pelo menos um documento de treinamento da pluralidade de documentos de treinamento, e executar a consulta Booleana na pluralidade de documentos de produção nos dados de produção.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de pelo menos um token de treinamento compreender uma pluralidade de tokens de treinamento e do gerente de dados ser configurado para calcular uma matriz de ponderação token de treinamento/agrupamento para a pluralidade de tokens de treinamento para o agrupamento, para classificar a pluralidade de tokens de treinamento para o agrupamento de acordo com a matriz, e para selecionar uma lista dos N tokens de treinamento superiores da pluralidade classificada de tokens de treinamento para o agrupamento, em que N é um inteiro positivo.
3. Sistema, de acordo com a reivindicação 2, caracterizado pelo fato do gerente de consultas ser configurado para gerar a consulta Booleana através de pelo menos um algoritmo selecionado do grupo que compreende: o algoritmo definido na Figura 6, o algoritmo definido na Figura 7, e o algoritmo definido na Figura 8.
4. Sistema para geração de uma consulta Booleana, caracterizado por compreender: a. um gerente de dados configurado para obter dados de treinamento e dados de produção, em que os dados de treinamento compreendem uma pluralidade de documentos de treinamento e cada um da pluralidade de documentos de treinamento compreende pelo menos um token de treinamento, em que os dados de produção compreendem uma pluralidade de documentos de produção e cada um da pluralidade dos documentos de produção compreende pelo menos um token de produção, e em que o gerente de dados é configurado para limpar os dados de treinamento, e identificar pelo menos um token saliente de pelo menos um token de treinamento em cada um da pluralidade de documentos de treinamento; b. um gerente de agrupamentos configurado para agrupar a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos com base em pelo menos um token de treinamento na pluralidade de documentos de treinamento ou pelo menos um token saliente, em que cada agrupamento compreende pelo menos um documento de treinamento; e c. um gerente de consultas configurado para gerar a consulta Booleana para o agrupamento da pluralidade de agrupamentos com base na ocorrência de pelo menos um token saliente em pelo menos um documento de treinamento da pluralidade de documentos de treinamento, e executar a consulta Booleana na pluralidade de documentos de produção nos dados de produção.
5. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de pelo menos um token saliente compreender uma pluralidade de tokens salientes e do gerente de dados ser ainda configurado para calcular uma matriz de ponderação token saliente/agrupamento para a pluralidade de tokens salientes para o agrupamento, para classificar a pluralidade de tokens salientes para o agrupamento de acordo com a matriz, e para selecionar uma lista dos N tokens salientes superiores da pluralidade classificada de tokens de treinamento para o agrupamento, em que N é um inteiro positivo.
6. Sistema, de acordo com a reivindicação 5, caracterizado pelo fato do gerente de consultas ser configurado para gerar a consulta Booleana através de pelo menos um algoritmo selecionado do grupo que compreende: o algoritmo definido na Figura 6, o algoritmo definido na Figura 7, e o algoritmo definido na Figura 8.
7. Método implementado por computador para geração de uma consulta Booleana, caracterizado por compreender: a. obter dados de treinamento, em que os dados de treinamento compreendem uma pluralidade de documentos de treinamento e em que cada um da pluralidade de documentos de treinamento compreender pelo menos um token de treinamento; b. agrupar a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos com base em pelo menos um token de treinamento da pluralidade de documentos de treinamento, em que cada agrupamento compreende pelo menos um documento de treinamento; c. gerar a consulta Booleana para o agrupamento da pluralidade de agrupamentos com base na ocorrência de pelo menos um token de treinamento em pelo menos um documento de treinamento da pluralidade de documentos de treinamento; d. obter dados de produção, em que os dados de produção compreendem uma pluralidade de documentos de produção e em que cada um da pluralidade de documentos de produção compreende pelo menos um token de produção; e e. executar a consulta Booleana na pluralidade de documentos de produção nos dados de produção.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de pelo menos um token de treinamento compreender uma pluralidade de tokens de treinamento e em que a etapa de gerar a consulta Booleana para o agrupamento na pluralidade de agrupamentos compreende ainda as etapas de: f. calcular uma matriz de ponderação token de treinamento/agrupamento para a pluralidade de tokens de treinamento para o agrupamento; g. classificar a pluralidade de tokens de treinamento para o agrupamento de acordo com a matriz; e h. selecionar uma lista dos N tokens de treinamento superiores da pluralidade classificada de tokens de treinamento para o agrupamento, em que N é um inteiro positivo.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a geração da consulta Booleana ser efetuada através de pelo menos um algoritmo selecionado do grupo que compreende: o algoritmo definido na Figura 6, o algoritmo definido na Figura 7, e o algoritmo definido na Figura 8.
10. Método implementado por computador para gerar uma consulta Booleana, caracterizado por compreender: obter dados de treinamento, em que os dados de treinamento compreendem uma pluralidade de documentos de treinamento e em que cada um da pluralidade de documentos de treinamento compreende pelo menos um token de treinamento; b. limpar os dados de treinamento; c. identificar pelo menos um token saliente de pelo menos um token de treinamento em cada um da pluralidade de documentos de treinamento; d. agrupar a pluralidade de documentos de treinamento em uma pluralidade de agrupamentos com base em pelo menos um token de treinamento na pluralidade de documentos de treinamento ou o pelo menos um token saliente, em que cada agrupamento compreender pelo menos um documento de treinamento; e. gerar a consulta Booleana para o agrupamento da pluralidade de agrupamentos com base na ocorrência de pelo menos um token saliente em pelo menos um documento de treinamento da pluralidade de documentos de treinamento; f. obter dados de produção, em que os dados de produção compreendem uma pluralidade de documentos de produção e em que cada um da pluralidade de documentos de produção compreende pelo menos um token de produção; e g. executar a consulta Booleana na pluralidade de documentos de produção nos dados de produção.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de pelo menos um token saliente compreender uma pluralidade de tokens salientes e da etapa de gerar a consulta Booleana para o agrupamento na pluralidade de agrupamentos compreender ainda as etapas de: h. calcular uma matriz de ponderação token saliente/agrupamento para a pluralidade de tokens salientes para o agrupamento; i. classificar a pluralidade de tokens salientes para o agrupamento de acordo com a matriz; e j. selecionar uma lista dos N tokens salientes superiores da pluralidade classificada de tokens salientes para o agrupamento, em que N é um inteiro positivo.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que a geração da consulta Booleana ser efetuada através de pelo menos um algoritmo selecionado do grupo que compreende: o algoritmo definido na Figura 6, o algoritmo definido na Figura 7, e o algoritmo definido na Figura 8.
BRPI1002397-6A 2009-02-18 2010-02-18 Sistemas e métodos implementados por computador para geração de uma consulta booleana BRPI1002397B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/372,903 2009-02-18
US12/372,903 US8301619B2 (en) 2009-02-18 2009-02-18 System and method for generating queries

Publications (2)

Publication Number Publication Date
BRPI1002397A2 true BRPI1002397A2 (pt) 2014-01-07
BRPI1002397B1 BRPI1002397B1 (pt) 2020-09-29

Family

ID=42110768

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI1002397-6A BRPI1002397B1 (pt) 2009-02-18 2010-02-18 Sistemas e métodos implementados por computador para geração de uma consulta booleana

Country Status (4)

Country Link
US (1) US8301619B2 (pt)
BR (1) BRPI1002397B1 (pt)
DE (1) DE102010007302A1 (pt)
GB (1) GB2468022A (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405828B2 (en) 2012-09-06 2016-08-02 Avaya Inc. System and method for phonetic searching of data
US20140067374A1 (en) 2012-09-06 2014-03-06 Avaya Inc. System and method for phonetic searching of data
TWI482038B (zh) * 2012-12-12 2015-04-21 Univ Nat Sun Yat Sen 近似複本之偵測方法
US10004596B2 (en) 2014-07-31 2018-06-26 Lensgen, Inc. Accommodating intraocular lens device
US10528407B2 (en) * 2017-07-20 2020-01-07 Vmware, Inc. Integrated statistical log data mining for mean time auto-resolution
US11301630B1 (en) 2019-09-19 2022-04-12 Express Scripts Strategic Development, Inc. Computer-implemented automated authorization system using natural language processing
CN113806519A (zh) * 2021-09-24 2021-12-17 金蝶软件(中国)有限公司 一种搜索召回方法、装置及介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619709A (en) * 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
JP3647518B2 (ja) * 1994-10-06 2005-05-11 ゼロックス コーポレイション コード化したワードトークンを使用して文書画像をハイライトで強調する装置
US6026388A (en) * 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
US5862519A (en) 1996-04-02 1999-01-19 T-Netix, Inc. Blind clustering of data with application to speech processing systems
US6363373B1 (en) * 1998-10-01 2002-03-26 Microsoft Corporation Method and apparatus for concept searching using a Boolean or keyword search engine
US6516312B1 (en) * 2000-04-04 2003-02-04 International Business Machine Corporation System and method for dynamically associating keywords with domain-specific search engine queries
US7028250B2 (en) * 2000-05-25 2006-04-11 Kanisa, Inc. System and method for automatically classifying text
US20020087579A1 (en) 2000-06-23 2002-07-04 Alan Chasanoff Object universe
GB2381688B (en) * 2001-11-03 2004-09-22 Dremedia Ltd Time ordered indexing of audio-visual data
US6829599B2 (en) * 2002-10-02 2004-12-07 Xerox Corporation System and method for improving answer relevance in meta-search engines
US20040243632A1 (en) * 2003-05-30 2004-12-02 International Business Machines Corporation Adaptive evaluation of text search queries with blackbox scoring functions
EP1654727A4 (en) 2003-07-23 2007-12-26 Nexidia Inc INTERROGATIONS FOR THE DETECTION OF WORDS
US20050283752A1 (en) 2004-05-17 2005-12-22 Renate Fruchter DiVAS-a cross-media system for ubiquitous gesture-discourse-sketch knowledge capture and reuse
US8521720B2 (en) * 2004-06-25 2013-08-27 Apple Inc. Methods and systems for managing data
US20060179051A1 (en) * 2005-02-09 2006-08-10 Battelle Memorial Institute Methods and apparatus for steering the analyses of collections of documents
US8312034B2 (en) * 2005-06-24 2012-11-13 Purediscovery Corporation Concept bridge and method of operating the same
JP2009540398A (ja) 2006-06-02 2009-11-19 テルコーディア テクノロジーズ インコーポレイテッド 音声ドキュメントに関する概念ベースのメディア間インデックス化および取り出し
US8150827B2 (en) * 2006-06-07 2012-04-03 Renew Data Corp. Methods for enhancing efficiency and cost effectiveness of first pass review of documents
US9009133B2 (en) * 2006-10-02 2015-04-14 Leidos, Inc. Methods and systems for formulating and executing concept-structured queries of unorganized data
US8676802B2 (en) * 2006-11-30 2014-03-18 Oracle Otc Subsidiary Llc Method and system for information retrieval with clustering
US8332207B2 (en) * 2007-03-26 2012-12-11 Google Inc. Large language models in machine translation
US8046222B2 (en) * 2008-04-16 2011-10-25 Google Inc. Segmenting words using scaled probabilities
US7962487B2 (en) * 2008-12-29 2011-06-14 Microsoft Corporation Ranking oriented query clustering and applications

Also Published As

Publication number Publication date
BRPI1002397B1 (pt) 2020-09-29
GB2468022A (en) 2010-08-25
DE102010007302A1 (de) 2010-09-23
US8301619B2 (en) 2012-10-30
GB201002575D0 (en) 2010-03-31
US20100211569A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US9317569B2 (en) Displaying search results with edges/entity relationships in regions/quadrants on a display device
US20220198145A1 (en) Generating author vectors
Li et al. Mining positive and negative patterns for relevance feature discovery
BRPI1002397A2 (pt) Sistema e método para geração de consultas
US10943064B2 (en) Tabular data compilation
US11586811B2 (en) Multi-layer graph-based categorization
Saravanan et al. Identification of rhetorical roles for segmentation and summarization of a legal judgment
Başkaya et al. Ai-ku: Using substitute vectors and co-occurrence modeling for word sense induction and disambiguation
US10049148B1 (en) Enhanced text clustering based on topic clusters
Alguliyev et al. An unsupervised approach to generating generic summaries of documents
Hagen et al. Towards optimum query segmentation: in doubt without
García-Hernández et al. Word sequence models for single text summarization
Thushara et al. A model for auto-tagging of research papers based on keyphrase extraction methods
Huang et al. Building a fine-grained entity typing system overnight for a new x (x= language, domain, genre)
US20120316865A1 (en) Information processing apparatus, information processing method, and program
Venkatesh Legal documents clustering and summarization using hierarchical latent Dirichlet allocation
Chakraborti et al. Product news summarization for competitor intelligence using topic identification and artificial bee colony optimization
Bong et al. Keyphrase extraction in biomedical publications using mesh and intraphrase word co-occurrence information
Sheikh et al. Improved neural bag-of-words model to retrieve out-of-vocabulary words in speech recognition
Adams et al. Automatic Classification of PubMed Abstracts with Latent Semantic Indexing: Working Notes.
Alguliev et al. MR&MR-sum: maximum relevance and minimum redundancy document summarization model
Bonab et al. Incorporating hierarchical domain information to disambiguate very short queries
JP2008282328A (ja) テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体
Shah et al. Multi-document summarization: Study on existing techniques
Chowdhury Word embedding based query expansion

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 29/09/2020, OBSERVADAS AS CONDICOES LEGAIS.