BR102014028893A2 - método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos - Google Patents

método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos Download PDF

Info

Publication number
BR102014028893A2
BR102014028893A2 BR102014028893A BR102014028893A BR102014028893A2 BR 102014028893 A2 BR102014028893 A2 BR 102014028893A2 BR 102014028893 A BR102014028893 A BR 102014028893A BR 102014028893 A BR102014028893 A BR 102014028893A BR 102014028893 A2 BR102014028893 A2 BR 102014028893A2
Authority
BR
Brazil
Prior art keywords
documents
entity
vertex
partition
document
Prior art date
Application number
BR102014028893A
Other languages
English (en)
Other versions
BR102014028893B1 (pt
Inventor
Gautam Shroff
Pankaj Malhotra
Puneet Agarwal
Original Assignee
Tata Consultancy Services Ltd
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 Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of BR102014028893A2 publication Critical patent/BR102014028893A2/pt
Publication of BR102014028893B1 publication Critical patent/BR102014028893B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/418Document matching, e.g. of document images
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition

Abstract

método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos a presente matéria se refere à resolução de entidade e, em particular, se refere ao fornecimento de uma resolução de entidade a partir de documentos. o método compreende obter uma pluralidade de documentos que correspondem a uma pluralidade de entidades, a partir de pelo menos uma fonte de dados. mediante o recebimento da pluralidade de documentos, a pluralidade de documentos é bloqueada em pelo menos uma partição com base na similaridade textual. ademais, um gráfico que inclui uma pluralidade de vértices de registro e pelo menos um vértice de partição é criado. a pluralidade de vértices de registro e o pelo menos um vértice de partição são indicativos da pluralidade de documentos e a pelo menos uma partição, respectivamente. subsequentemente, uma notificação é fornecida para um usuário para selecionar um dentre um conjunto de procedimentos de paralelização centrada em partição (bucket-centric parallelization (bcp)) e um conjunto de procedimentos de paralelização centrada em registro (record-centric parallelization (rcp)) para resolver entidades da pluralidade de documentos. com base na seleção, é criado um documento de entidade resolvida para cada entidade.

Description

MÉTODO PARA RESOLVER ENTIDADES DE UMA PLURALIDADE DE DOCUMENTOS; E SISTEMA DE RESOLUÇÃO DE ENTIDADE PARA RESOLUÇÃO DE ENTIDADE DE UMA PLURALIDADE DE DOCUMENTOS
CAMPO DA TÉCNICA
[001] A presente matéria refere-se, em geral, à resolução de entidade e, particularmente, mas não exclusivamente, à resolução de entidade de uma pluralidade de documentos.
ANTECEDENTES
[002] Em geral, quando dados de diferentes fontes são analisados, muitas vezes múltiplos registros nos dados podem pertencer à mesma entidade do mundo real, como um consumidor, um produto ou uma organização. A fim de encontrar diferentes registros que pertencem à mesma entidade, um conjunto de procedimentos conhecido como resolução de entidade (ER) é amplamente usado. Em várias disciplinas, a ER também é denominada como enlace de registro, deduplicação, resolução de referência ao mesmo tempo, reconciliação de referência, consolidação de objetivo, incerteza de identidade e proteção de banco de dados . A ER tem um amplo escopo de aplicação, por exemplo, na manutenção de dados de saúde pública e governamental, busca na web, comércio eletrônico e cumprimento da lei. Na prática, as dinâmicas que pertencem à ER podem continuar mudando, por exemplo, o conjunto de dados correspondentes pode continuar mudando ao longo de um período de tempo. Portanto, a fim de acomodar tais alterações associadas aos dados, a ER tem que ser realizada regularmente para atualizar um conjunto de resultados de ER de entidades resolvidas.
BREVE DESCRIÇÃO DOS DESENHOS
[003] A descrição detalhada é descrita em referência às figuras anexas. Nas figuras, o(s) digito(s) mais à esquerda de um número de referência identifica(m) a figura na qual o número de referência aparece primeiro. Os mesmos números são usados ao longo de todos os desenhos para fazer referência a componentes e recursos similares.
[004] A Figura 1 ilustra um ambiente de rede que implanta um sistema de resolução de entidade, de acordo com uma modalidade da presente matéria.
[005] A Figura 1 (a) ilustra um exemplo que inclui uma pluralidade de registros e uma pluralidade de partições para resolução de entidade, de acordo com uma modalidade da presente matéria.
[006] A Figura 1 (b) ilustra um resultado da resolução de entidade de uma pluralidade de documentos executando-se o conjunto de procedimentos de Paralelização de registro central (RCP) para resolução de entidade, de acordo com uma modalidade da presente matéria.
[007] A Figura 2 ilustra um método para resolução de entidade de uma pluralidade de documentos, de acordo com uma modalidade da presente matéria.
DESCRIÇÃO DETALHADA
[008] 0(s) Sistema(s) e o(s) método (s) para resolução de entidade de uma pluralidade de documentos são descritos. 0(s) sistema(s) e o(s) método(s) podem ser implantados em uma variedade de dispositivos de computação, como computadores do tipo laptop, computadores de mesa, estações de trabalho, PCs de computador tipo tablet, computadores do tipo notebook, computadores portáteis, computadores tipo tablet, utensílios de internet e sistemas similares. No entanto, uma pessoa versada na técnica irá compreender que as modalidades da presente matéria não são limitadas a qualquer sistema de computação particular, arquitetura ou dispositivo de aplicação, conforme os mesmo podem ser adaptados às novas plataformas e sistemas de computação e conforme os mesmos se tornam disponiveis.
[009] Nas últimas décadas, a resolução de entidade (ER) surgiu como um crescente desafio no campo de gerenciamento de dados das indústrias. Muitas vezes, os múltiplos registros disponiveis nas várias fontes de dados podem pertencer à mesma entidade do mundo real, como uma pessoa, um produto ou uma organização. Para resolver tais situações, a análise de ER é realizada para identificar aqueles registros que se referem à mesma entidade e uma vez identificada, emergem aqueles registros. Os vários registros podem ser, de modo intercambiável, denominados como documentos ou documentos textuais. Portanto, na análise de ER, uma pluralidade de documentos obtida a partir de várias fontes de dados pode ser compativel, em pares, para determinar semelhança dentre a pluralidade de documentos textuais. Com base na determinação, um conjunto de documentos textuais relacionados a uma entidade pode ser identificado e o conjunto identificado de documentos textuais pode, então, ser combinado para criar um documento mesclado para a entidade. Conforme deve ser compreendido, o documento mesclado de uma entidade pode incluir todos os detalhes revelados em cada um do conjunto identificado dos documentos textuais.
[010] Normalmente, a análise de ER inclui um grande número de registros a serem processados a fim de resolver as entidades envolvidas. Por exemplo, no caso de um cidadão de um pais que é considerado como uma entidade, os registros podem incluir comprovantes de identidade, como um passaporte, uma ID do volante, uma carteira de motorista, um cartão de crédito, um Número de conta permanente (PAN), um número de telefone e um número de conta do banco. Considerando-se que cada cidadão possui uma média de 3 das IDs mencionadas acima, o número de registros a ser processado para resolver as entidades pode vir a ser de milhões ou até bilhões.
[011] A fim de tornar a escalável análise de ER, os conjuntos de procedimentos de ER empregam conjunto de procedimentos de bloqueio para dividir os registros em vários bloqueios com base em alguns parâmetros pré-definidos, como similaridade textual. Atualmente, cada bloqueio pode conter um número relativamente pequeno de documentos textuais potencialmente compatíveis. Doravante, uma comparação pareada dos documentos textuais é realizada em cada bloqueio para identificar um conjunto de documentos textuais que pertence a uma entidade. Na comparação pareada, com base em uma função de compatibilidade, os dois documentos textuais são considerados como compatíveis. A função de compatibilidade pode incluir, mas não é limitada às regras predefinidas e aos classificadores binários derivados com uso da aprendizagem por máquina. Portanto, com base na função de compatibilidade, um conjunto de documentos textuais que pertence a cada entidade pode ser definido, dentro de cada bloqueio. O conjunto de documentos textuais pode, então, ser mesclado para criar um documento mesclado para cada entidade. Conforme pode ser entendido, o documento mesclado contém todas as informações conforme revelado em cada um do conjunto de documentos textuais que pertence à entidade. Portanto, dentro de cada bloqueio, os documentos textuais são separados para as entidades, e cada uma dentre as entidades resolvidas são denominadas como entidades parciais .
[012] No entanto, os conjuntos de procedimentos de bloqueio convencionais podem bloquear diferentes documentos textuais que pertencem a uma entidade única em mais do que um bloqueio. Em um caso, as múltiplas entidades parciais que pertencem à mesma entidade podem ser obtidas a partir de múltiplos bloqueios. Tais entidades parciais de diferentes bloqueios podem estar conectadas pelo fato de que as entidades parciais possam compartilhar o mesmo documento textual. Portanto, os documentos textuais que pertencem a cada um do par das entidades parciais podem ser consolidados para formar um documento de entidade resolvida para uma entidade. Visto que estaria acumulado, um documento de entidade resolvida de uma entidade pode incluir todas as informações que pertencem à entidade, conforme revelado em cada uma da pluralidade de documentos.
[013] Conforme mencionado anteriormente, no decurso da resolução das entidades dos registros, os conjuntos de procedimentos de bloqueios podem resultar na formação de uma pluralidade de bloqueios para coleção de documentos potencialmente compatíveis. Adicionalmente, pode ocorrer que um grande número de bloqueios formados sejam individuais, isto é, os bloqueios que incluem apenas um documento textual. Isso pode indicar que, dentro de uma partição individual, tais documentos textuais não tenham que ser adicionalmente processados ou comparados a outros documentos textuais. No entanto, os conjuntos de procedimentos convencionais que podem envolver o envio de um documento textual a um bloqueio individual do documento textual estão bloqueados. Conforme seria compreendido, visto que nenhuma das comparações tem que ser realizadas dentro de um bloqueio individual, o envio do documento textual para o bloqueio individual é desnecessário. De fato, o envio de documentos textuais aos bloqueios individuais resultaria no desperdício de recursos e tempo, e portanto, também pode adicionar ao custo de análise de ER. O desperdício de custo, de recurso e de tempo seriam mais no caso dos documentos serem maiores no tamanho, e portanto, podem afetar a faceta econômica global da análise de ER.
[014] Além disso, como um resultado da execução do conjunto de procedimentos de bloqueio, podem existir exemplos em que os registros podem ser bloqueados de uma maneira assimétrica, isto é, o tamanho dos bloqueios, em termos de número de documentos textuais fragmentados, pode vir a ser desigual. No caso de existirem mais números de bloqueios, os documentos textuais podem ser processados empregando-se conjunto de procedimentos de computação paralela. Conforme pode ser entendido, na computação paralela, os bloqueios podem ser distribuídos através de múltiplas unidades de processamento para realizar a análise. Em tais cenários, o tempo a ser utilizado para processar os documentos textuais em um bloqueio que tem maior número de documentos textuais pode ser desproporcionalmente maior do que o tempo a ser utilizado para um bloqueio que tem menos números de documentos textuais. Portanto, uma unidade de processamento com bloqueios que têm maior número de documentos textuais do que outros bloqueios pode atuar como um afunilamento para a análise de ER global e um tempo global exigido para a conclusão da análise de ER seria significantemente maior.
[015] Além disso, a consolidação de documentos mesclados para formar documentos de entidade resolvida é um processo complexo, visto que o mesmo envolve a determinação de documentos textuais comuns compartilhados dentre as entidades parciais, o que é um processo interativo. Portanto, o gasto de tempo e os recursos usados para determinar os documentos textuais comuns são significantes. Sendo assim, conforme é evidente, os conjuntos de procedimentos de ER convencionais podem ser tempo extenso, ineficiente e dispendioso.
[016] De acordo com a presente matéria, um sistema de resolução de entidade, doravante denominado como sistema, para resolução de entidade de uma pluralidade de documentos, é revelado. Em uma implantação, o sistema pode obter a pluralidade de documentos que corresponde a uma pluralidade de entidades da pelo menos uma fonte de dados. A pluralidade de documentos pode ser bloqueada em pelo menos uma partição, com base na similaridade textual dentre a pluralidade de documentos. Além disso, um gráfico que inclui uma pluralidade de vértices de registro e pelo menos um vértice de partição pode ser criado. Subsequente à geração do gráfico, uma notificação pode ser fornecida a um usuário para selecionar um dentre um conjunto de procedimentos de Paralelização Centrada em Partição (BCP) (Bucket-Centric Parallelization) e dentre um conjunto de procedimentos de Paralelização Centrada em Registro (RCP) (Record-Centric Parallelization) para resolver entidades da pluralidade de documentos. A notificação pode incluir, mas não é limitada a uma sugestão para selecionar um dentre o conjunto de procedimentos de BCP e o conjunto de procedimentos de RCP com base no bloqueio da pluralidade de documentos . Com base na seleção realizada pelo usuário, um documento de entidade resolvida para cada entidade pode ser gerado.
[017] Em uma implantação, a pluralidade de documentos pode ser, de modo intercambiável, denominada como registros. Conforme se entende, em geral, os registros podem incluir objetivos tangiveis, como documentos de papel, como certificados de nascimento, licenças do condutor e radiografias médicas físicas, bem como informações digitais, como documentos de escritório eletrônicos, dados em bancos de dados de aplicação, conteúdo do site correio eletrônico (e-mail) . Além disso, a pelo menos uma fonte de dados pode incluir, mas não é limitada a, um banco de dados externo e/ou um banco de dados residencial. Uma vez que a pluralidade de documentos é obtida, um conjunto de procedimentos de bloqueio, por exemplo, a Codificação com Hashing Sensível à Localidade (LSH) (Locality Sensitive Hashing) pode ser empregada para bloquear a pluralidade de documentos.
[018] O conjuntos de procedimento de LSH pode usar funções hash para agrupar ou bloquear a pluralidade de documentos com base na similaridade textual dentre a pluralidade de documentos. Em uma implantação, uma identificação única (ID) pode ser repartida para cada um da pluralidade de documentos, e ao invés de bloquear a pluralidade de documentos dos mesmos, as IDs únicas dos documentos podem ser bloqueadas na pelo menos uma partição.
Além disso, as partições individuais, isto é, as partições que têm um documento podem ser descartadas e não podem ser consideradas para as computações adicionais da análise de ER. Visto que seriam acumulados, o bloqueio da pluralidade de documentos pode facilitar ao evitar comparações indesejadas dentre a pluralidade de documentos.
[019] Em uma implantação, computações a serem realizadas para a análise de ER podem ser distribuídas através de múltiplas unidades de processamento. Por exemplo, as partições podem ser fornecidas às múltiplas unidades de processamento para os estágios subsequentes da análise de ER. Isso poderia auxiliar na computação paralela para realizar a análise de ER e portanto, o tempo a ser utilizado e complexidade envolvida na análise de ER pode ser minimizada.
[020] Doravante, um gráfico que inclui uma pluralidade de vértices de registro e pelo menos um vértice de partição pode ser criado. A pluralidade de vértices de registro e o pelo menos um vértice de partição corresponde à pluralidade de documentos e a pelo menos uma partição, respectivamente. Em outras palavras, cada uma da pluralidade de documentos e da pelo menos uma partição pode ser considerada como um vértice no gráfico. Em uma implantação, a pluralidade de vértices de registro e o pelo menos um vértice de partição pode sem conectados uns aos outros através das bordas, dependendo de nenhum bloqueio da pluralidade de documentos.
[021] Em uma implantação, uma lista de adjacência para cada vértice de registro e cada vértice de partição pode ser gerada. Em um exemplo, a lista de adjacência de um vértice de registro pode incluir detalhes de vértices de partição aos quais o vértice de registro é fragmentado. A lista de adjacência de um vértice de registro pode, doravante, ser denominada como uma lista de adjacência de registro. De modo similar, a lista de adjacência de um vértice de partição pode incluir detalhes de vértices de registro fragmentados para a vértice de partição. A lista de adjacência de um vértice de partição pode, doravante, ser denominada como lista de adjacência de partição.
[022] Subsequente à criação do gráfico, uma notificação pode ser fornecida a um usuário para selecionar pelo menos um dentre um conjunto de procedimentos de Paralelização Centrada em Partição (BCP) (Bucket-Centric Parallelization) e dentre um conjunto de procedimentos de Paralelização Centrada em Registro (RCP) (Record-Centric Parallelization) para resolver entidades do gráfico. Em uma implantação, a notificação pode incluir mas não é limitada a uma sugestão para selecionar um dentre o conjunto de procedimentos de BCP e o conjunto de procedimentos de RCP para resolver as entidades da pluralidade de documentos. Em uma implantação, a sugestão pode ser fornecida com base no bloqueio da pluralidade de documentos. Por exemplo, no caso do bloqueio da pluralidade de documentos poder resultar na distribuição substancialmente uniforme da pluralidade de documentos dentre as partições, o conjunto de procedimentos BCP para resolução de entidade pode ser fornecido como a sugestão. Por outro lado, no caso da pluralidade de documentos ser distribuído dentre as partições de uma maneira não uniforme, então, o conjunto de procedimentos de RCP pode ser fornecido como a sugestão. Isso é devido ao fato de que o conjunto de procedimentos de RCP pode utilizar um tempo relativamente menor do que do conjunto de procedimentos BCP para resolução de entidade no caso da distribuição não uniforme da pluralidade de documentos.
[023] Além disso, no conjunto de procedimentos de BCP, a pluralidade de documentos pode ser comparada em vértices de partição. Por outro lado, no conjunto de procedimentos de RCP, a pluralidade de documentos pode ser comparada em vértices de registro. Em uma implantação, o conjunto de procedimentos de BCP e o conjunto de procedimentos de RCP podem ser empregados com uso de a plataforma à base de Pregei.
[024] Em uma implantação, o usuário pode selecionar o conjunto de procedimentos de BCP para resolução de entidade. Conforme mencionado anteriormente, inicialmente, apenas as IDs de documentos fragmentados para uma partição são disponiveis no vértice de partição correspondente. Portanto, um valor, isto é, o teor de um documento correspondente, de cada vértice de registro pode ser fornecido a um ou mais vértices de partição conforme fornecido em uma lista de adjacência de registro. Uma vez que cada vértice de partição recebe valores dos vértices de registro fragmentados para o vértice de partição, os documentos são comparados a cada vértice de partição. Em uma implantação, um conjunto de procedimentos de Mescla de Compatibilidade Interativa (Iterative Match-Merge (IMM)) pode ser usado para comparar os documentos em um vértice de partição. De acordo com o conjunto de procedimentos de IMM, em cada vértice de partição, pelo menos um par compatível de documentos pode ser identificado e mesclado para criar um documento mesclado para cada entidade. As entidades resolvidas, em um vértice de partição, criando-se documentos mesclados podem ser denominadas como entidades parciais.
[025] Em relação ao conjunto de procedimentos de IMM, as múltiplas entidades parciais que pertencem à mesma entidade podem ser obtidas a partir de múltiplas partições. No entanto, tais entidades parciais podem compartilhar pelo menos um documento, e portanto, podem ser consideradas a estarem conectadas. A fim de determinar tais documentos conectados ou comuns ou compartilhados, para cada entidade parcial, um dentre os documentos correspondentes pode ser considerado como um documento central, e uma ou mais bordas entre um vértice de registro central correspondente e cada um dentre os vértices de registro restantes da entidade parcial são criados. As estruturas de borda de vértice similares podem ser criadas para cada entidade parcial. No caso de um documento ser compartilhado por múltiplas entidades parciais, o documento pode aparecer na estrutura de borda de vértice de cada um dentre as múltiplos entidades parciais. Em tal caso, todos os vértices de registro que pertencem às duas entidades parciais podem estar conectados e podem ser considerados como pertencentes à mesma entidade. Portanto, os vértices de registro conectados, isto é, os documentos conectados podem ser consolidados para formar um documento de entidade resolvida para a entidade. Visto que estaria acumulado, um documento de entidade resolvida de uma entidade pode incluir todas as informações que pertencem à entidade, conforme revelado em cada um da pluralidade de documentos.
[026] Em uma implantação alternativa, o usuário pode selecionar o conjunto de procedimentos de RCP para resolução de entidade. No conjunto de procedimentos de RCP, de cada vértice de partição, uma mensagem comparativa pode ser fornecida a um ou mais vértices de registro conectado(s) a um vértice de partição, a fim de programar comparações dentre a pluralidade de documentos com uso do conjunto de procedimentos de IMM. Por exemplo, para cada par de vértices de registro, uma mensagem comparativa pode ser fornecida a um dentre os dois vértices de registro, por exemplo, {rj} é enviado para r±, se icj.
[027] Uma vez que uma mensagem comparativa é recebida em um vértice de registro a partir de pelo menos um vértice de partição, um valor do vértice de registro pode ser enviado aos vértices de registro cujos IDs são recebidos na mensagem comparativa. No caso de se os dois IDs de registro r± e rj ocorressem ao mesmo tempo em múltiplas listas de adjacência de partição, o vértice de registro r± pode receber múltiplas mensagens de comparação que contêm a ID de registro r j, um de cada vértice de partição. No entanto, o valor do vértice de registro r± pode ser fornecido ao vértice de registro rj apenas uma vez.
[028] Com base nas mensagens de comparação, o documento que corresponde à pluralidade de vértices de registro pode ser comparado com uso de uma função de compatibilidade. Em uma implantação, a função de compatibilidade pode incluir mas não é limitada a regras predefinidas e binário classificado derivado com uso da aprendizagem por máquina. Por exemplo, se um valor de um vértice de registro r compatibiliza um valor de uma mensagem comparativa de entrada contendo uma ID de um vértice de registro r', uma mensagem de compatibilidade {r, r'} contendo IDs de dois vértices de registro compatíveis pode ser enviada ao vértice de registro r e ao vértice de registro r' . Por exemplo, no caso do vértice de registro r compatibilizar m vértices de registro, o vértice de registro r pode receber m mensagens de compatibilidade correspondentes. Visto que o vértice de registro r compatibiliza os m vértices de registro, os m+1 (que inclui r) registros podem ser considerados pertencentes à mesma entidade. Em tal implantação, no vértice de registro r, os pares de ID de registros recebidos com mensagens de compatibilidade podem ser consolidados para criar um conjunto de compatibilidade contendo os m+1 IDs. Visto que estaria acumulado, um conjunto de compatibilidade é indicativo de um conjunto que inclui IDs de vértices de registro que pertencem à mesma entidade. O conjunto de compatibilidade pode ser adicionalmente fornecido a um ou mais vértices de partição conforme definido em uma lista de adjacência de partição do vértice de registro r.
[029] Mediante o recebimento dos conjuntos de compatibilidades a partir dos vértices de registro conectados, em cada vértice de partição, os conjuntos de compatibilidades podem ser consolidados para formar um conjunto de compatibilidade consolidado. Em seguida da criação do conjunto de compatibilidade consolidado, os conjuntos de compatibilidades mais antigos utilizados para formar o conjunto de compatibilidade consolidado podem ser deletados ou removidos. Isso é feito de modo interativo até que todos os conjuntos de compatibilidades sejam separado em partes. Além disso, os novos vértices de registro, doravante denominados como vértices de entidade parcial, cada um dentre os conjuntos de compatibilidades separados em partes pode ser criado. Em uma implantação, as bordas bidirecionais entre os vértices de entidade parcial e os vértices de partição correspondentes podem ser criadas. Ao continuar com a presente implantação, uma mensagem de ID de entidade parcial pode ser fornecida a cada vértice de registro a fim de informar os vértices de registro sobre sua ID de entidade parcial correspondente.
[030] Uma vez que o vértice de registro r receber uma mensagem de ID de entidade parcial contendo a ID de um novo vértice de entidade parcial rPE, o vértice de registro r pode fornecer o valor e da lista de adjacência de registro como uma mensagem, por exemplo, {vif ei}, em que vi é o valor do vértice de registro r e ex é a lista de adjacência de registro, para rPE. Em continuação com o recebimento de valores de vértices de registro conectados, um valor do vértice de entidade parcial rPE pode ser obtido emergindo-se o valor recebido vis conforme recebido na mensagem. Para todo vértice de partição bi, a qual o vértice de entidade parcial de registro rPE é adicionado, o vértice de entidade parcial de registro rPE pode ser comparado com os outros documentos e entidades parciais em uma lista de adjacência de partição de bi. Em uma implantação, os vértices de entidade parcial podem ser tratados como vértices de registro para a próxima interação das etapas mencionadas acima. Finalmente, cada vértice de registro, que formou o vértice de entidade parcial rPE pode ser deletado. Tais interações podem ser realizadas até que nenhuma das mensagens sejam criadas adicionalmente.
[031] Visto que estaria acumulado, após o bloqueio da pluralidade de documentos, fornecer as IDs dos documentos para as partições ao invés de fornecer os documentos aos mesmos, auxilia na redução de custo de comunicação e tráfego de dados durante a análise de ER. Além disso, a remoção de partições individuais nos estágios anteriores auxilia a evitar a transmissão desnecessária de documentos textuais para as partições individuais. Eventualmente, isso levaria à utilização ideal de recursos, tempo e custo associados com a transmissão de dados para a análise de ER. Além disso, o conjunto de procedimentos de RCP para a análise de ER distribui as computações de IMM para os documentos, mapeados para a mesma partição, para os vértices de registro. Portanto, a carga de computações de IMM maiores nos vértices de partição é adicionalmente paralisada. Como um resultado, as computações são mais bem balanceadas mesmo quando os vértices de registro são distribuidos aleatoriamente de modo transversal aos processadores. Devido às computações balanceadas empregadas pela presente matéria, a presente matéria está apta para a análise de ER que envolve bilhões de registros e milhares de milhões de entidades. Todas as vantagens mencionadas acima levam a utilização ideal de tempo e recursos, o que também facilitaria na redução do custo envolvido. Portanto, o sistema de resolução de entidade da presente matéria fornece uma abordagem abrangente e exaustiva para uma análise de ER precisa, econômica e que poupa tempo.
[032] Essas e outras vantagens da presente matéria serão descritas em mais detalhes em conjunto com as figuras a seguir. Enquanto que os aspectos do(s) sistema(s) e método(s) descritos para resolução de entidade a partir de documentos podem ser implantados em qualquer número de diferentes sistemas de computação, ambientes e/ou configurações, as modalidades são descritas no contexto do(s) sistema(s) exemplificativo(s) a seguir.
[033] A Figura 1 ilustra um ambiente de rede 100 que implanta um sistema de resolução de entidade 102, também denominado como sistema 102, de acordo com uma modalidade da presente matéria. No ambiente de rede 100, o sistema 102 está conectado a uma rede 104 . Além disso, o sistema 102 está conectado a um banco de dados 106. Adicionalmente, o ambiente de rede 100 inclui um ou mais dispositivos de usuário 108-1, 108-2 ...108-N, coletivamente denominados como dispositivos de usuário 108 e individualmente denominado como dispositivo de usuário 108, conectado à rede 104.
[034] O sistema 102 pode ser implantado como qualquer conjunto de dispositivos de computação conectados à rede 104. Por exemplo, o sistema 102 pode ser implantado como estações de trabalho, computadores pessoais, computadores de área de trabalho, sistemas multiprocessadores, laptops, computadores de rede, minicomputadores, servidores e similares. Além disso, o sistema 102 pode incluir múltiplos servidores para realizarem tarefas espelhadas para os usuários.
[035] Além disso, o sistema 102 pode estar conectado aos dispositivos de usuário 108 através da rede 104. Os exemplos dos dispositivos de usuário 108 incluem, mas não são limitados aos computadores pessoais, computadores de área de trabalho, telefones inteligentes, PDAs e laptops. Os enlaces de comunicação entre os dispositivos de usuário 108 e o sistema 102 são habilitados através de várias formas de conexões, por exemplo, conexões por de meio de modem discadas, enlaces por cabo, linhas de assinante digital (DSL) , enlaces de satélite ou sem fio ou qualquer outra forma adequada de comunicação.
[036] Ademais, a rede 104 pode ser uma rede sem fio, uma rede com fio ou uma combinação das mesmas. Ά rede 104 também pode ser uma rede individual ou uma coleção de muitas dessas redes individuais interconectados umas com as outras e que funcionam como uma grande rede única, por exemplo, a internet ou uma intranet. A rede 104 pode ser implantada como um dos tipos diferentes de redes, como intranet, rede de área local (LAN), rede de ampla área (WAN), a internet e tais. A rede 104 pode tanto ser uma rede dedicada ou uma rede compartilhada, que representa uma associação dos tipos diferentes de redes que usam uma variedade de protocolos, por exemplo, Protocolo de transferência de hipertexto (HTTP), Protocolo de Controle de Transmissão/Protocolo de Internet (TCP/IP), etc., para se comunicarem entre si. Adicionalmente, a rede 104 pode incluir dispositivos de rede, como comutadores de rede, nós de comutação, roteadores, adaptadores de barramento do host (HBAs) , para fornecer um enlace entre o sistema 102 e os dispositivos de usuário 108. Os dispositivos de rede dentro da rede 104 podem interagir com o sistema 102 e os dispositivos de usuário 108 através dos enlaces de comunicação.
[037] Na dita modalidade, o sistema 102 inclui um ou mais processador(es) 110, interface (s) 112 e uma memória 114 acoplados ao processador 110. 0 processador 110 pode ser uma unidade de processamento única ou um número de unidades, todas das quais podem também incluir múltiplas unidades de computação. O processador 110 pode ser implantado como um ou mais microprocessadores, microcomputadores, microcontroladores, processadores de sinal digital, unidades de processamento central, máquinas de estado, circuitos lógicos e/ou quaisquer dispositivos que manipulam os sinais com base em instruções operacionais. Dentre outras capacidades, o processador 110 é configurado para buscar e executar instruções legiveis por computador e dados armazenados na memória 114.
[038] As interfaces 112 podem incluir uma variedade de interfaces de software e hardware, por exemplo, interface para dispositivo(s) periférico(s), como um teclado, um mouse, uma memória externa e uma impressora. Além disso, as interfaces 112 podem permitir que o sistema 102 se comunique com outros dispositivos de computação, como servidores de web e repositórios de dados externos, como o banco de dados 106, no ambiente de rede 100. As interfaces 112 podem facilitar múltiplas comunicações dentro de uma ampla variedade de protocolos e redes, como a rede 104, que inclui redes com fio, por exemplo, LAN, cabo, etc., e redes sem fio, por exemplo, WLAN, celular, satélite, etc. As interfaces 112 podem incluir uma ou mais portas para conectar o sistema 102 a um número de dispositivos de computação.
[039] A memória 114 pode incluir qualquer meio legível por computador não transitório conhecido na técnica que inclui, por exemplo, a memória volátil, como memória de acesso randômico estático (SRAM) e memória de acesso randômico dinâmico (DRAM), e/ou memória não volátil, como memória somente de leitura (ROM), ROM programável apagável, memórias rápidas, discos rígidos, discos ópticos e fitas magnéticas. O meio legível por computador não transitório, no entanto, exclui um sinal de propagação transitório.
[040] O sistema 102 também inclui módulo(s) 116 e dados 118. O(s) módulo(s) 116 incluem rotinas, programas, objetos, componentes, estruturas de dados, etc., que realizam tarefas particulares ou tipos de dados abstratos particulares implantados. Em uma implantação, o(s) módulo(s) 116 include(m) um módulo de bloqueio 120, um módulo de geração de gráfico 122, um módulo de computação 124 e outro (s) módulo(s) 126. 0{s) outro (s) módulo(s) 126 pode(m) incluir programas ou instruções codificadas que suplementam aplicações e funções do sistema 102.
[041] Por outro lado, os dados 118, entre outros, servem como um repositório para armazenar os dados processados, recebidos e gerados por um ou mais do(s) módulo(s) 116. Os dados 118 incluem, por exemplo, dados de bloqueio 128, dados de computação 130 e outros dados 132. Os outros dados 132 incluem dados gerados como um resultado da execução de um ou mais módulos no(s) módulo(s) 116.
[042] Em uma implantação, o sistema 102 pode resolver entidades de uma pluralidade de documentos, que podem ser, de modo intercambiável, denominadas como registros. Em geral, conforme é entendido, os registros podem incluir objetivos tangiveis, como documentos de papel como certificados de nascimento, licenças do condutor e radiografias médicas físicas, bem como informações digitais, como documentos de escritório eletrônicos, dados em bancos de dados de aplicação, conteúdo do site, correio eletrônico (e-mail) . Para isso, em uma implantação, o módulo de bloqueio 120 pode obter a pluralidade de documentos a partir da pelo menos uma fonte de dados. Cada uma dentre a pluralidade de documentos pode pertencer a uma entidade do mundo real, por exemplo, uma pessoa, um produto ou uma organização. Em geral, a pluralidade de documentos pode existir na forma de documentos textuais, e pode incluir pelo menos um atributo. Por exemplo, um passaporte pode ter atributos, como nome, nome do pai, endereço, dados de nascimento e número de contato.
[043] Uma vez que a pluralidade de documentos é obtida, o módulo de bloqueio 120 pode utilizar um conjunto de procedimentos de bloqueio para bloquear a pluralidade de documentos. Em uma implantação, o conjunto de procedimentos de Redução de Mapa (MR) pode ser utilizado para bloquear a pluralidade de documentos com uso de um conjunto de procedimentos de codificação com Hashing Sensível à Localidade (Locality Sensitive Hashing (LSH)). O conjunto de procedimentos de LSH pode utilizar funções hash para bloquear a pluralidade de documentos em uma ou mais partições com base na similaridade textual dentre a pluralidade de documentos. Em uma implantação, o módulo de bloqueio 120 pode fragmentar a pluralidade de documentos com os IDs de partição. Portanto, os documentos com alta similaridade textual são suscetíveis de obter pelo menos um mesmo valor hash, isto é, mesma ID de partição. Por outro lado, os documentos, que não são textualmente similares, são menos suscetíveis de obter fragmentados para a mesma partição.
[044] Portanto, o bloqueio da pluralidade de documentos é realizado com base na similaridade textual visto que os documentos com o teor similar são suscetíveis de pertencer à mesma entidade do mundo real. Por exemplo, se os atributos, como um nome, um endereço e um número de telefone são os mesmos nos dois documentos, pode existir uma possibilidade de que os dois documentos estejam relacionados à mesma pessoa. De modo similar, se o nome é o mesmo em dois documentos, enquanto que o endereço e o número de telefone se diferem, a possibilidade dos dois documentos estarem relacionados à mesma pessoa é relativamente menor. Portanto, no caso de dois documentos A e B terem um grande número de palavras em comum, os documentos A e B podem ser considerados para comparações adicionais conforme comparado a um par de documentos, que pode variar textualmente.
[045] Em uma implantação, o módulo de bloqueio 120 pode fragmentar os documentos potencialmente compatíveis com o mesmo valor e, portanto, pode bloquear os documentos potencialmente compatíveis fragmentados com o mesmo valor na mesma partição. Em uma implantação, cada partição pode ser entendida como um par de valores-chave. A chave pode ser entendida como uma ID de partição correspondente e o valor é um grupo de documentos, que pode obter fragmentados a essa "chave". Portanto, uma vez que o módulo de bloqueio 120 pode fragmentar cada uma dentre a pluralidade de documentos para suas respectivas IDs de partição, cada partição pode conter documentos com alta similaridade textual.
[046] Em uma implantação, o módulo de bloqueio 120 pode atribuir uma identificação única (ID) a cada uma dentre a pluralidade de documentos e pode manter um arquivo de ID que mapeia as IDs de registro para os documentos correspondentes. Em tal implantação, a fim de reduzir o tráfego de dados, ao invés de bloquear a pluralidade de documentos dos mesmos, o módulo de bloqueio 120 pode bloquear os IDs únicos dos documentos na pelo menos uma partição. Além disso, no caso de bloquear as IDs de documento, uma ou mais partições individuais também pode(m) ser formada(s). As partições individuais podem ser entendidas como partições que incluem uma ID de documento. O módulo de bloqueio 120 pode descartar tais partições individuais. O bloqueio da pluralidade de documentos pode facilitar ao evitar comparações desnecessárias dentre a pluralidade de documentos. Além disso, a remoção das partições individuais pode auxiliar na redução do tempo a ser utilizado, no consumo de recurso e no custo associado com a transmissão de documentos textuais às partições individuais em estágios subsequentes da análise de ER. Em uma implantação, os detalhes que pertencem ao módulo de bloqueio 120 podem ser armazenados nos dados de bloqueio 128.
[047] Doravante, o módulo de geração de gráfico 122 pode gerar um gráfico que descreve a pluralidade de documentos e a pelo menos uma partição como vértices. Por exemplo, o gráfico pode incluir um vértice, doravante denominado como vértice de registro, para cada uma da pluralidade de documentos. De modo similar, o gráfico pode incluir um vértice, doravante denominado como vértice de partição, para cada uma da pelo menos uma partição. Além disso, a pluralidade de vértices de registro e o pelo menos um vértice de partição podem estar conectados entre si com base no bloqueio da pluralidade de documentos na pelo menos uma partição. Por exemplo, se um documento for bloqueado em uma partição, então, uma borda pode existir entre um vértice de registro correspondente e um vértice de partição correspondente. Tais bordas são bidirecionais, isto é, se uma borda existe a partir de um vértice de registro A para um vértice de partição B, então, outra borda existe a partir do vértice de partição B para o vértice de registro A.
[048] Após a criação do gráfico, o módulo de geração de gráfico 122 pode gerar uma lista de adjacência para cada vértice de registro e cada vértice de partição. Em um exemplo, uma lista de adjacência de um vértice de registro, doravante denominada como lista de adjacência de registro, pode incluir detalhes de vértices de partição aos quais o vértice de registro é fragmentado. Por outro lado, uma lista de adjacência de um vértice de partição, doravante denominada como lista de adjacência de partição, pode incluir detalhes de vértices de registro fragmentados para o vértice de partição. Em uma implantação, os detalhes que pertencem ao módulo de geração de gráfico 122 podem ser armazenados nos dados de bloqueio 128.
[049] Em uma implantação, o módulo de computação 124 pode fornecer uma notificação para um usuário para selecionar pelo menos um dentre um conjunto de procedimentos de Bucket-Centric Parallelization (BCP) (Paralelização Centrada em Partição) e um conjunto de procedimento de Record-Centric Parallelization (RCP) (Paralelização Centrada em Registro) para resolver entidades a partir da pluralidade de documentos. Adicionalmente, a notificação pode incluir, porém não é limitada a uma sugestão para selecionar um dentre o conjunto de procedimentos BCP e o conjunto de procedimentos de RCP para resolver as entidades a partir da pluralidade de documentos. Em uma implantação, o módulo de computação 124 pode fornecer a sugestão com base no bloqueio da pluralidade de documentos. Por exemplo, o bloqueio da pluralidade de documentos pode resultar em distribuição substancialmente uniforme da pluralidade de documentos dentre as partições, o módulo de computação 124 pode fornecer a sugestão para selecionar o conjunto de procedimentos BCP. Por outro lado, caso a pluralidade de documentos seja distribuida dentre as partições de uma maneira não uniforme, em seguida, o módulo de computação 124 poderá fornecer a sugestão para selecionar o conjunto de procedimentos de RCP para resolução de entidade. Em uma implantação, o módulo de computação 124 pode definir um limiar para ajustar um grau de não uniformidade, acima do qual o conjunto de procedimentos de RCP pode ser sugerido para resolução de entidade.
[050] Em uma implantação, o conjunto de procedimentos BCP e o conjunto de procedimentos de RCP podem ser empregados usando uma plataforma à base de Pregei. Em outra implantação, Apache Giraph é a plataforma à base de Pregei que deve ser usada para empregar as técnicas supracitadas. Conforme é compreendido geralmente, Apache Giraph é um sistema de processamento gráfico repetitivo construído para alta escalabilidade e uma implantação de fonte aberta de Pregei.
[051] Em uma implantação, em resposta à notificação, o módulo de computação 124 pode receber uma instrução do usuário para implantar o conjunto de procedimentos BCP para a resolução de entidade. A fim de proporcionar uma clareza e compreensão melhores da presente matéria, a Figura 1(a) ilustra um exemplo com uma pluralidade de documentos e partições. 0 exemplo é citado para proporcionar uma melhor compreensão da presente matéria e, por conseguinte, não deve ser interpretado como limitante.
Adicionalmente, será melhor se referir à Figura 1 (a) em conjunção com a descrição da Figura 1.
[052] De acordo com o exemplo citado, existem quatro documentos rlf r2, r3, e r4/ de modo que todos os quatro documentos pertençam à mesma entidade ri234, e duas partições bi e b2. Continuando com a presente implantação, o módulo de computação 124 fornece um valor de cada um dentro a pluralidade de vértices de registro para um ou mais vértices de partição conectados ao vértice de registro, com base em uma lista de adjacência correspondente do vértice de registro. O valor de um vértice de registro pode incluir, porém sem caráter limitativo, ao conteúdo de um documento correspondente do vértice de registro.
[053] No presente exemplo, o módulo de computação 124 pode fornecer um valor do vértice de registro r2 para o vértice de partição bi e o vértice de partição b2 -Uma vez que cada vértice de partição possa receber valores dos vértices de registro fragmentados para o vértice de partição, o módulo de computação 124 pode comparar os documentos compatíveis em cada vértice de partição. Em uma implantação, o módulo de computação 124 pode utilizar um Conjunto de procedimentos da Mescla de Compatibilidade Iterativa(IMM) para comparar os documentos em cada vértice de partição. Em outra implantação, o módulo de computação 124 pode empregar um conjunto de procedimentos IMM à base de R-swoosh para realizar a comparação.
[054] Em uma implantação, o módulo de computação 124 pode considerar dois documentos como "compatíveis" se os dois documentos puderem retornar um valor, por exemplo, "verdadeiro" sob alguma função de compatibilização. Em uma implantação, uma função de compatibilização pode ser uma função Boolean definida em dois documentos que podem retornar "verdadeiro", quando se determina que os dois documentos pertencem à mesma entidade. Por outro lado, caso os dois documentos possam retornar um valor "falso", determina-se que os dois documentos não são compativeis. Adicionalmente, as funções de compatibilização podem ser implantadas de várias maneiras, por exemplo, como regras predefinidas ou como classificadores baseados em aprendizagem por máquina. Em uma implantação, uma função de compatibilização pode ser com base em pelo menos uma regra definida sobre valores de atributo dos dois documentos que são comparados. Por exemplo, uma função de compatibilização pode ser definida, sendo que os dois documentos podem retornar "verdadeiro", se (nome compatibiliza) E (endereço compatibiliza) E (data de aniversário compatibiliza). De outra maneira, os dois documentos podem retornar "falso".
[055] Em uma implantação, de acordo com o conjunto de procedimentos de IMM à base de R-Swoosh, dentro de uma partição, o módulo de computação 124 pode dividir os documentos em dois conjuntos, por exemplo, um conjunto X e um conjunto Y. 0 conjunto X pode conter todos os documentos a partir de uma partição e o conjunto Y pode conter os documentos que já podem ter sido comparados entre si. Como será compreendido, no inicio da execução do conjunto de procedimentos de IMM, o conjunto Y pode ser esvaziado. Nessa implantação, o módulo de computação 124 pode, em cada vértice de partição, comparar dois documentos para iniciar a execução do conjunto de procedimentos IMM. Uma vez que o conjunto Y possa incluir pelo menos um documento que é comparado com pelo menos um dos documentos da partição, o módulo de computação 124 pode repetir em cada um dos documentos no conjunto X. Por exemplo, o módulo de computação 124 pode remover um documento D do conjunto X e, em seguida, poderá comparar o documento D com cada documento disponível no conjunto Y. Caso o documento D não possa ter um documento de compatibilidade no conjunto Y, o módulo de computação 124 poderá adicionar o documento D no conjunto Y.
[056] Por outro lado, se o documento D puder ter um documento de compatibilidade P no conjunto Y, em seguida, o módulo de computação 124 poderá remover o documento P do conjunto Y. Continuando com a remoção do documento P do conjunto Y, o módulo de computação 124 pode mesclar o documento D e o documento P a fim de criar um documento mesclado DP. Adicionalmente, o módulo de computação 124 pode adicionar o documento mesclado DP ao conjunto X. Como será reunido, embora o documento D possa não compatibilizar qualquer outro documento no conjunto Y, o documento mesclado DP pode compatibilizar um documento no conjunto Y. Portanto, no final do processo de IMM, o conjunto X pode ser esvaziado e o conjunto Y pode conter o resultado final do processo de IMM, isto é, os documentos mesclados compatíveis a uma pluralidade de entidades. Conforme será compreendido, em cada partição, o módulo de computação 124 pode criar um documento mesclado para cada entidade. 0 documento mesclado de uma entidade pode conter todas as informações, conforme revelado em cada um dos documentos, em cada vértice de partição pertencente à entidade. Em outras palavras, em cada vértice de partição, o módulo de computação 124 pode resolver os documentos para as entidades. As entidades resolvidas a partir dos documentos em cada vértice de partição são citadas como entidades parciais.
[057] Quanto ao conjunto de procedimentos de IMM, múltiplas entidades parciais pertencentes à mesma entidade podem ser obtidas em múltiplos vértices de partição. No entanto, essas entidades parciais podem compartilhar pelo menos um documento ou pelo menos um vértice de registro correspondente e, por conseguinte, podem ser consideradas como estando conectadas. A fim de determinar esses documentos compartilhados ou comuns ou conectados, o módulo de computação 124 para cada entidade parcial pode selecionar um dos vértices de registro como um vértice de registro central. Adicionalmente, o módulo de computação 124 pode criar uma borda bidirecional entre o vértice de registro central e cada um dos vértices de registro remanescentes da entidade parcial. Portanto, o módulo de computação 124 conecta os vértices de registro envolvidos em uma entidade parcial entre si através do vértice de registro central.
[058] O módulo de computação 124 pode criar estruturas de borda de vértice semelhantes para cada entidade parcial. Caso um documento ou um vértice de registro correspondente seja compartilhado por múltiplas entidades parciais, o vértice de registro correspondente poderá aparecer na estrutura de borda de vértice de cada uma das múltiplas entidades parciais. Nessa implantação, os vértices de registro pertencentes às duas entidades parciais podem ser conectados e podem ser considerados como pertencentes à mesma entidade. Adicionalmente, o módulo de computação 124 pode fornecer um componente conectado de ID (CCID) para cada um dos vértices de registro conectados. O CCID indica para a entidade que um vértice de registro foi resolvido. Subsequente à determinação dos componentes conectados, o módulo de computação 124 pode consolidar documentos compatíveis aos vértices de registro conectados para formar um documento resolvido por entidade para a entidade. Conforme será compreendido, um documento resolvido por entidade de uma entidade pode incluir todas as informações pertencentes à entidade, conforme revelado em cada um dentre a pluralidade de documentos.
[059] Para o exemplo citado na Figura 1 (a), o módulo de computação 124 pode mesclar documentos compatíveis aos vértices de registro rlf r2, e r4 para fornecer uma entidade parcial r324 no vértice de partição bi. Adicionalmente, para a entidade parcial ri24, o módulo de computação 124 pode selecionar o vértice de registro r2 como um registro central e, por conseguinte, pode criar uma borda bidirecional entre o vértice de registro r4 e cada um dentre o vértice de registro r2 e o vértice de registro r4. De forma semelhante, no vértice de partição b2, o módulo de computação 124 pode mesclar documentos compatíveis com o vértice de registro r2 e o vértice de registro r3 a fim de criar um documento mesclado e, por conseguinte, uma entidade parcial r23. Adicionalmente, o módulo de computação 124 pode criar uma borda bidirecional entre o vértice de registro r2 e o vértice de registro r3. Conforme será compreendido, o módulo de computação 124 pode determinar um componente conectado incluindo os vértices de registro rlr r2, r3 e r4. Com base na determinação, o módulo de computação 124 pode consolidar os documentos pertencentes aos vértices de registro rlf r2, r3 e r4 a fim de criar um documento de entidade resolvida r3234 que corresponde a uma entidade.
[060] Em uma implantação alternativa, em resposta à notificação, o módulo de computação 124 pode receber uma instrução do usuário para implantar o conjunto de procedimentos de RCP para resolução de entidade. A fim de proporcionar uma melhor clareza e compreensão da presente matéria, a Figura 1 (b) ilustra um exemplo de resolução de entidade a partir da pluralidade de documentos que usam o conjunto de procedimentos de RCP. Conforme será observado, para uma facilidade de compreensão, o exemplo citado na Figura 1 (b) é o mesmo que o da Figura 1 (a) . O exemplo é citado para proporcionar uma melhor compreensão da presente matéria e, portanto, não deve ser interpretado como limitante. Adicionalmente, será melhor se referir à Figura 1 (b) em conjunção com a descrição da Figura 1.
[061] No conjunto de procedimentos de RCP, o módulo de computação 124 de cada vértice de partição pode fornecer uma mensagem comparativa para um ou mais vértices de registro conectados a um vértice de partição, a fim de determinar comparações dentre a pluralidade de documentos que usam o conjunto de procedimentos de IMM. Por exemplo, para cada par de vértices de registro a partir de um conjunto de vértices de registro conectado à partição, o módulo de computação 124 pode fornecer uma mensagem comparativa para um dos dois vértices de registro, por exemplo, ID {rx} de um vértice de registro rj pode ser fornecido para um vértice de registro rif se i<j. De outra maneira, o módulo de computação 124 pode fornecer a mensagem comparativa {r±} para o vértice de registro rj .
[062] Em outro exemplo, se uma lista de adjacência da partição de um vértice de partição inclui k vértices de registro rír r2, . . . . , rk, então, o módulo de computação 124 pode fornecer o vértice de registro rx com mensagens comparativas {r2,......, rk} . De forma semelhante, o módulo de computação 124 pode fornecer o vértice de registro r2 com mensagens comparativas {r3, . . . rk} . Em uma implantação, um par de documentos pode coexistir em múltiplas partições. Em outras palavras, um par de vértices de registro compatíveis pode ser conectado a múltiplos vértices de partição. Nessa implantação, o módulo de computação 124 pode fornecer múltiplas mensagens comparativas, uma de cada uma dentre as múltiplas partições, para o mesmo vértice de registro, por exemplo, o vértice de registro com ID inferior. Com referência ao exemplo citado na Figura 1(b), para o vértice de partição bi, o módulo de computação 124 pode enviar uma mensagem comparativa {r2, r4} e {r4} para o vértice de registro rx e o vértice de registro r2, respectivamente. De forma semelhante, para o vértice de partição b2, o módulo de computação 124 pode enviar uma mensagem comparativa {r3} para o vértice de registro r2.
[063] Uma vez que um vértice de registro possa receber uma ou mais mensagens comparativas, o vértice de registro pode tornar-se ativo. Na continuação do recebimento de uma ou mais mensagens comparativas pelo vértice de registro, o módulo de computação 124 pode enviar um valor do vértice de registro para vértices de registro cujas IDs são recebidas na mensagem comparativa. Em uma implantação, um par de vértices de registro r± e rj pode ser conectado a múltiplos vértices de partição e, por conseguinte, o vértice de registro r± pode receber múltiplas mensagens comparativas com uma ID do vértice de registro rj . No entanto, o módulo de computação 124 pode enviar um valor do vértice de registro r2 para o vértice de registro rj uma vez. Com relação ao exemplo citado na Figura 1 (b) , o módulo de computação 124 pode fornecer um valor do vértice de registro ri para o vértice de registro r2 e o vértice de registro r4, com base nas mensagens comparativas recebidas a partir do vértice de partição bi. De forma semelhante, o módulo de computação 124 pode fornecer um valor do vértice de registro r2 para o vértice de registro r3 e o vértice de registro r4, com base nas mensagens comparativas recebidas a partir do vértice de partição b2 e do vértice de partição b2, respectivamente.
[064] Com base nas mensagens comparativas, o módulo de computação 124 pode comparar a pluralidade de vértices de registro usando uma função de compatibilização. Em uma implantação, a função de compatibilização pode incluir, mas não se limita a regras predefinidas e a classificadores baseados em aprendizagem por máquina. Por exemplo, se um valor de um vértice de registro r compatibilizar um valor de uma mensagem comparativa de entrada contendo uma ID de um vértice de registro r', o módulo de computação 124 poderá entregar uma mensagem de compatibilização {r, r'} contendo IDs dos dois vértices de registro de compatibilização para o vértice de registro r e para o vértice de registro r' . Com referência ao exemplo citado na Figura 1(a), no vértice de registro r2, o módulo de computação 124 pode comparar os valores do vértice de registro r2 e o vértice de registro r2. Em uma implantação, o módulo de computação 124 pode determinar o vértice de registro r2 e o vértice de registro r2 como sendo compatíveis e, por conseguinte, pode fornecer uma mensagem de compatibilização {r4, r2} para o vértice de registro r4 e para o vértice de registro r2. De forma semelhante, no vértice de registro r3, o módulo de computação 124 pode fornecer uma mensagem de compatibilização {r2, r3} para o vértice de registro r2 e para o vértice de registro r3. Adicionalmente, no vértice de registro r4, o módulo de computação 124 pode gerar mensagens de compatibilização {ri, r4} e {r2, r4} . O módulo de computação 124 pode fornecer a mensagem de compatibilização {r4, r4} para o vértice de registro r2 e para o vértice de registro r4. De forma semelhante, a mensagem de compatibilização {r2, r4} pode ser fornecida para o vértice de registro r2 e para o vértice de registro r4.
[065] Conforme mencionado anteriormente, se um documento correspondente ao vértice de registro r2, .compatibilizar m documentos compatíveis a m vértices de registro, o vértice de registro r± poderá receber m mensagens de compatibilização compatíveis. Agora, como o vértice de registro r± compatibiliza os m vértices de registro, os m+1 (incluindo r2) documentos podem considerados como pertencentes à mesma entidade. Nessa implantação, no vértice de registro rlf o módulo de computação 124 pode consolidar os pares de IDs de registro recebidos como mensagens de compatibilização a fim de criar um conjunto de compatibilização contendo as m+1 IDs. Portanto, um conjunto de compatibilização é indicativo de um conjunto que inclui IDs de vértices de registro pertencentes à mesma entidade. Em uma implantação, o módulo de computação 124 pode fornecer o conjunto de compatibilização para um ou mais vértices de partição, conforme definido na lista de adjacência de partição do vértice de registro rx. Com referência ao exemplo citado na Figura 1(b), o módulo de computação 124, no vértice de registro rlf pode consolidar mensagens de compatibilização {ri, r2} e {ri, r4} a fim de criar um conjunto de compatibilização (ri, r2, r4} . O conjunto de compatibilização {r2, r2, r4} pode ser fornecido também para o vértice de partição b2. De forma semelhante, no vértice de registro r2, o módulo de computação 124 pode consolidar as mensagens de compatibilização {rlr r2} , {r2, r3} e {r2, r4} a fim de criar um conjunto de compatibilização {rlr r2, r3, r4} para encaminhamento posterior para o vértice de partição bi e para o vértice de partição b2. Adicionalmente, no vértice de registro r3, o módulo de computação 124 pode enviar um conjunto de compatibilização {r2, r3} para o vértice de partição b2. Ademais, no vértice de registro r4, o módulo de computação 124 pode encaminhar um conjunto de compatibilização {r4, r2, r4} para o vértice de partição b4.
[066] Após receber os conjuntos de compatibilização a partir dos vértices de registro conectados, em cada vértice de partição, o módulo de computação 124 pode consolidar os conjuntos de compatibilização e, por conseguinte, pode criar novas IDs de registro. Por exemplo, caso qualquer um dos dois conjuntos de compatibilização M4 e Mj recebidos por um vértice de partição possa incluir um documento comum ID, isto é, M4 Π Mj = 0, o módulo de computação 124 poderá consolidar as IDs dos conjuntos de compatibilização. Como resultado, o módulo de computação 124 poderá criar um novo conjunto consolidado M4j = Mi U Mj, e após a criação do novo conjunto consolidado, poderá deletar os conjuntos de compatibilização M4 e Mj . Em uma implantação, o módulo de computação 124 pode criar o conjunto consolidado até todos os conjuntos de compatibilização serem separados.
[067] Adicionalmente, o módulo de computação 124 pode criar um vértice de registro para cada separação de conjunto consolidado. Esses vértices de registro podem ser citados como vértices de entidade parcial. Em uma implantação, o módulo de computação 124 pode criar bordas bidirecionais entre os vértices de entidade parcial e os vértices de partições compatíveis. Adicionalmente, as IDs dos vértices de entidade parcial são repartidas com base nos conjuntos consolidados M±j . Portanto, mesmo se uma entidade parcial for criada a partir de múltiplas partições, um vértice de entidade parcial correspondente pode ser criado uma vez. Em uma implantação, o módulo de computação 124 pode fornecer uma mensagem de ID de entidade parcial para cada um dentre o vértice de registro ao qual a entidade parcial é conectada.
[068] Com referência ao exemplo citado na Figura 1 (b) , o módulo de computação 124 pode fornecer o vértice de partição bi com os conjuntos de compatibilização {ri, r 2, r4} , [ri, r2, r3, r4} e {ri, r2, r4} que podem ser consolidados posteriormente para conseguir um conjunto consolidado {rlr r2, r3, r4} . Por conseguinte, o módulo de computação 124 pode criar um vértice de entidade parcial com ID ri234 . De forma semelhante, o módulo de computação 124 pode fornecer o vértice de partição b2 com conjuntos de compatibilização {r2, r2, r3, r4} e {r2, r3} que podem ser consolidados posteriormente a fim de conseguir {r4, r2, r3, r4} . 0 módulo de computação 124 pode criar também um vértice de entidade parcial correspondente com ID ri234 . Conforme será observado, o módulo de computação 124 pode criar o mesmo vértice de entidade parcial para o vértice de partição bi e para o vértice de partição b2 - Adicionalmente, o módulo de computação 124 pode criar uma borda bidirecional entre ri234 e cada um dentre o vértice de partição bi e o vértice de partição b2 . Em uma implantação, o módulo de computação 124 pode fornecer mensagem de ID de entidade parcial com a ID rP234 para os vértices de registro conectados compatíveis com cada um dentre o vértice de partição bi e o vértice de partição b2.
[069] Em uma implantação, após receber uma mensagem de ID entidade parcial incluindo a ID de um novo vértice de entidade parcial rPE, o módulo de computação 124 pode fornecer o valor e a lista de adjacência de registro do registro r± como uma mensagem, por exemplo, [vi, ei} para o vértice de entidade parcial rPE. O vp e ep podem ser compreendidos como o valor e a lista de adjacência de registro do vértice de registro r±. Com referência ao exemplo citado na Figura 1 (b) , o módulo de computação 124 pode fornecer mensagens [v2, e4}, {v2, e2}, {v3, e3], e {v4, e4] para o vértice de entidade parcial ri234, a partir dos vértices de registro r4, r2, r3 e r4, respectivamente.
[070] Subsequente ao recebimento de valores dos vértices de registro conectados, o módulo de computação 124 pode mesclar os valores recebidos vps, conforme recebidos nas mensagens a fim de criar o valor do vértice de entidade parcial rPE. Em uma implantação, para cada vértice de partição bp ao qual o vértice de entidade parcial de registro rPE é adicionado, o módulo de computação 124 pode comparar o vértice de entidade parcial de registro rPE com os outros documentos e as entidades parciais em uma lista de adjacência de partição de bE. Em uma implantação, os vértices de entidade parcial podem ser tratados como vértices de registro para a próxima repetição das etapas supramencionadas. Finalmente, o módulo de computação 124 pode deletar cada vértice de registro que formou o vértice de entidade parcial rPE - [071] Com referência ao exemplo citado na Figura 1 (b) , o módulo de computação 124 pode fornecer os valores dos vértices de registro rlf r2, r3 e r4 para o vértice de entidade parcial ri234 a fim de atualizar o valor correspondente. Adicionalmente, o módulo de computação 124 pode criar bordas bidirecionais entre o vértice de entidade parcial ri234 e cada um dentre o vértice de partição bi e o vértice de partição b2. Em uma implantação, o módulo de computação 124 pode deletar os vértices de registro rlf r2, r3 e r4 .
[072] Conforme mencionado anteriormente, inicialmente, todos os vértices de partição estavam ativos, isto é, estavam envolvidos na análise de ER. No entanto, nas repetições subsequentes do conjunto de procedimentos de RCP, os vértices de partição que receberam mensagens dos estágios finais do conjunto de procedimentos de RCP podem permanecer ativos. Essas repetições podem continuar até nenhuma mensagem final ser gerada.
[073] Em uma implantação, cada vértice de partição pode ter IDs de documento velho, bem como IDs de documento novo em uma lista de adjacência correspondente no final de uma repetição das etapas supramencionadas. O módulo de computação 124 não pode comparar documentos pertencentes a um vértice de partição que já pode ter sido comparado. A fim de evitar essas comparações, o módulo de computação 124 pode manter um conjunto P para cada vértice de partição que pode conter os pares para as IDs de documento que já foram comparadas nas repetições prévias.
[074] Por exemplo, uma partição b pode incluir 4 documentos, a saber, ri, r2, r3 e r4 em uma lista de adjacência de partição correspondente. Em uma implantação, como um resultado de uma primeira repetição da sequência supramencionada das etapas, o documento r4 e o documento r2 podem conseguir se mesclar a fim de formar um registro novo r12. Nessa implantação, a lista de adjacência de partição da partição b pode ser {r12, r3, r4} e o conjunto P pode incluir {{ri, r2} , {r4, r3}, {rlf r4}, {r2, r4}, {r3, r4} } . Portanto, na próxima repetição da sequência supramencionada das etapas, o módulo de computação 124 pode comparar pares, a saber, {{ri2, r3}, {ri2, r4}} . Com referência à Figura 1(b) , os vértices de partição b2 e b2 podem ter um documento ID, isto é, {ri234 } nas respectivas listas de adjacência de partição. Portanto, no presente exemplo, o módulo de computação 124 não pode realizar comparações adicionais e termina na análise de ER. Em uma implantação, os detalhes pertencentes ao módulo de computação 124 podem ser armazenados nos dados de computação 130 .
[075] A Figura 2 ilustra um método 200 para resolução de entidade a partir de uma pluralidade de documentos, de acordo com uma modalidade da presente matéria. O método 200 pode ser implantado em uma variedade de sistemas de computação da várias maneiras diferentes. Por exemplo, o método 200, descrito no presente documento, pode ser implantado usando um sistema de resolução de entidade 102, conforme descrito acima.
[076] O método 200 pode ser descrito no contexto geral de instruções executáveis por computador completa ou parcialmente. Geralmente, as instruções executáveis por computador podem incluir rotinas, programas, objetos, componentes, estruturas de dados, procedimentos, módulos, funções, etc., que realizam funções particulares ou implantam tipos de dados de resumo particular. Uma pessoa versada na técnica reconhecerá prontamente que as etapas do método podem ser realizadas por computadores programados. No presente documento, algumas modalidades também se destinam a abranger dispositivos de armazenamento de programa, por exemplo, midia de armazenamento de dados digital, que são programas executáveis por computador ou máquina de codificação e legiveis por computador ou máquina de instruções, em que as ditas instruções realizam algumas ou todas as etapas do método descrito 200.
[077] A ordem na qual o método 200 é descrito não se destina a ser interpretada como uma limitação e qualquer quantidade dos blocos de método descrita pode ser combinada em qualquer ordem para implantar o método ou um método alternativo. Adicionalmente, os blocos individuais podem ser excluídos do método sem que se afaste do espírito e escopo da matéria descrita no presente documento. Ademais, os métodos podem ser implantados em qualquer hardware, software, firmware adequado ou compatíveis dos mesmos. Deve-se compreender que, apesar de o método 200 ser descrito com referência ao sistema 102, a descrição pode ser estendida a outros sistemas também.
[078] Com referência à descrição da Figura 2, para abreviar, os detalhes dos componentes do sistema de resolução de entidade 102 não são discutidos aqui. Esses detalhes podem ser compreendidos à medida que são fornecidos na descrição com referência à Figura 1.
[079] O método 200 pode fornecer uma resolução de entidade a partir de uma pluralidade de documentos. No bloco 202, uma pluralidade de documentos compativeis com uma pluralidade de entidades pode ser obtida a partir de pelo menos uma fonte de dados. Em uma implantação, a pluralidade de documentos pode ser documentos. Em uma implantação, o módulo de bloqueio 120 do sistema de resolução de entidade 102 pode obter a pluralidade de documentos.
[080] Após a obtenção da pluralidade de documentos, no bloco 204, a pluralidade de documentos pode ser bloqueada em pelo menos uma partição com base em similaridade textual. Em uma implantação, um conjunto de procedimentos de bloqueio conhecido como Hashing Sensivel à Localidade (Locality Sensitive Hashing (LSH)) pode ser adotado para bloquear a pluralidade de documentos em pelo menos uma partição. O conjunto de procedimentos LSH pode usar funções hash para agrupar ou bloquear a pluralidade de documentos com base em similaridade textual dentre a pluralidade de documentos. Em uma implantação, a pluralidade de documentos pode ser fragmentada com IDs de partição. Portanto, os documentos que são determinados como sendo textualmente semelhantes podem ser agrupados na mesma partição. Em uma implantação, o módulo de bloqueio 120 do sistema de resolução de entidade 102 pode bloquear a pluralidade de documentos em uma ou mais partições.
[081] No bloco 206, um gráfico pode ser criado, incluindo uma pluralidade de vértices de registro e pelo menos um vértice de partição. A pluralidade de vértices de registro e o pelo menos um vértice de partição pode corresponder à pluralidade de documentos e a pelo menos uma partição, respectivamente. Em uma implantação, com base no bloqueio da pluralidade de documentos, a pluralidade de vértices de registro e o pelo menos um vértice de partição podem ser conectados entre si por bordas. Em uma implantação, o módulo de geração gráfica 122 do sistema de resolução de entidade 102 pode criar o gráfico.
[082] No bloco 208, uma notificação pode ser fornecida para um usuário a fim de selecionar um dentre um conjunto de procedimentos de Bucket-Centric Parallelization (BCP) (Paralelização Centrada em Partição) e um conjunto de procedimento de Record-Centric Parallelization (RCP) (Paralelização Centrada em Registro) para resolver entidades a partir do gráfico. Em uma implantação, a notificação pode incluir uma sugestão para selecionar um dentre o conjunto de procedimentos BCP e o conjunto de procedimentos de RCP, com base no bloqueio da pluralidade de documentos. Em uma implantação, o conjunto de procedimentos BCP e o conjunto de procedimentos de RCP podem ser empregados usando uma plataforma à base de Pregei. No conjunto de procedimentos BCP, um conjunto de procedimentos de Iterative Match-Merge (IMM) (Mescla de Compatibilidade Iterativa) pode ser empregado em cada vértice de partição.
[083] De acordo com o conjunto de procedimentos BCP, um valor de cada vértice de registro pode ser fornecido para um ou mais vértices de partição com base em uma lista de adjacência de um vértice de registro. A lista de adjacência do vértice de registro é indicativa de uma lista de vértices de partição em gue o vértice de registro é bloqueado. Adicionalmente, o valor de um vértice de registro pode incluir um documento correspondente ao vértice de registro. Em uma implantação, em cada vértice de partição, um documento mesclado pode ser criado para cada entidade com base no conjunto de procedimentos de IMM. O conjunto de procedimentos de IMM pode identificar, a partir da pluralidade de documentos, pelo menos um par de compatibilização de documentos e mesclar o pelo menos um par de compatibilização de documentos a fim de ciar o documento mesclado para cada entidade.
[084] Por outro lado, no conjunto de procedimentos de RCP, uma função de compatibilização pode ser utilizada em cada vértice de registro. Em outras palavras, ao invés de comparar os documentos nos vértices de partição, a comparação dos documentos é distribuída dentre os vértices de registro. De acordo com o conjunto de procedimentos de RCP, uma mensagem comparativa pode ser fornecida para cada um dentre a pluralidade de vértices de registro para determinar comparações dentre a pluralidade de documentos compatíveis aos vértices de registro. Uma mensagem comparativa enviada para um vértice de registro pode incluir IDs de documentos que devem ser comparados com um documento correspondente ao vértice de registro. Adicionalmente, um valor do vértice de registro pode ser enviado para vértices de registro cujas IDs são recebidas pelo vértice de registro na mensagem comparativa.
[085] Em uma implantação, uma mensagem de compatibilização pode ser entregue para cada um dentre um par de vértices de registro com base em compatibilização de um par de documentos compatíveis com o par de vértices de registro, em que a mensagem de compatibilização inclui uma ID de cada um dentre o par de vértices de registro. Continuando com a presente implantação, em cada vértice de registro, as IDs dos vértices de registro recebidas como uma ou mais mensagens de compatibilização podem ser consolidadas a fim de criar um conjunto de compatibilização, em que o conjunto de compatibilização é indicativo de um conjunto incluindo IDs de vértices de registro pertencentes à mesma entidade. Adicionalmente, em cada vértice de partição, o um ou mais de um conjuntos de compatibilização recebidos a partir dos vértices de registro bloqueados em um vértice de partição podem ser combinados a fim de criar um documento mesclado para cada entidade. Em uma implantação, um módulo de computação 124 do sistema de resolução de entidade 102 pode fornecer a notificação para um usuário a fim de selecionar um dentre o conjunto de procedimentos BCP e o conjunto de procedimentos de RCP para resolução de entidade.
[086] No bloco 210, um documento de entidade resolvida para cada entidade pode ser gerado com base na seleção de um usuário. Por conseguinte, as entidades são resolvidas a partir da pluralidade de documentos. Em uma implantação, o módulo de computação 124 do sistema de resolução de entidade 102 pode gerar um documento de entidade resolvida para cada entidade.
[087] Embora as implantações de um método para resolver entidades a partir de uma pluralidade de documentos tenham sido descritas em uma linguagem especifica a caracteristicas e/ou métodos estruturais, deve ser compreendido que a presente matéria não necessariamente é limitada a caracteristicas ou métodos específicos descritos.
REIVINDICAÇÕES

Claims (12)

1. MÉTODO PARA RESOLVER AS ENTIDADES DE UMA PLURALIDADE DE DOCUMENTOS, caracterizado pelo método compreender: obter, por meio de um processador (110) , a pluralidade de documentos correspondentes a uma pluralidade de entidades a. partir de pelo menos uma fonte de dados; bloquear, por meio do processador (110), a pluralidade de documentos no interior de pelo menos uma partição com base na similaridade textual e referências entre documentos dentre a pluralidade de documentos; criar, por meio do processador (110) , no interior de cada partição, um documento mesclado para cada entidade com base em um conjunto de procedimento de mescla de correspondência interativa, em que o conjunto de procedimento de mescla de correspondência interativa identifica, a partir da pluralidade de documentos., pelo menos um par correspondente, de documentos e mescla o pelo menos um par correspondente de documentos para criar o documento mesclado para cada entidade; e gerar, por meio do processador (110), um documento de entidade resolvida para cada entidade consolidando-se os documentos mesclados que pertencem a cada entidade de cada partição com base em um conjunto de procedimento de aglomeração de gráficos,
2, MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente atualizar uma coleção de documente de entidade resolvida mediante o .recebimento de um novo conjunto de documentos, em que a. atualização é realizada com base na similaridade textual e referências entre documentos dentre o novo conjunto de documentos e os documentos de entidade resolvida.
3. MÉTODO, de acordo com a reivindicação 1, caracterizado por, o pelo menos um par correspondente de documentos ser identificado com base na similaridade textual e nas referências entre documentos dentre a pluralidade de documentos.
4. MÉTODO, de acordo com a reivindicação 1, caracterizado pelos documentos textualmente similares serem codificados com hashing com o uso de conjuntos de procedimentos de Locality Sensitive Hashing (LSH) (Hashing Sensível à Localidade).
5. MÉTODO, de acordo com a reivindicação 1, caracterizado pelas referências entre os documentos dentre a pluralidade de documentos serem determinadas com o uso de um conjunto de procedimentos de cruzamento de documento.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo documento mesclado para cada entidade ser criado com o uso de um conjunto de procedimento de R-Swoosh.
7. SISTEMA DE RESOLUÇÃO DE ENTIDADE (102) PARA A RESOLUÇÃO DE ENTIDADE DE UMA. PLURALIDADE DE DOCUMENTOS, caracterizado pelo sistema de resolução de entidade (1.02) compreender; um processador (110); um módulo de bloqueio (120) acoplado ao processador (110) para obter a pluralidade de documentos que correspondem a uma. pluralidade de entidades de pelo menos uma fonte de dados; e bloquear a pluralidade de documentos em pelo menos uma partição com base na similaridade textual e nas referências entre documentos dentre a pluralidade de documentos; e um módulo de mescla (122) acoplado ao processador (110) para criar, no interior de cada partição, um documento mesclado para cada entidade com base em um conj.unto de procedimento de mescla de correspondência interativa em que o conjunto de procedimento de mescla de correspondência interativa identifica, a partir da pluralidade de documentos, pelo menos um par correspondente de documentos e mescla o pelo menos um par correspondente de documentos para criai" o documento mesclado para cada entidade; e gerar um documento de entidade resolvida para cada entidade consolidando-se os documentos mesclados que pertencem a cada entidade de cada partição com base em um conjunto de procedimento de aglomeração de gráficos.
8. SISTEMA DE RESOLUÇÃO DE ENTIDADE (102), de acordo com a reivindicação 7, caracterizado por compreender adicionalmente um módulo de atualização (124) acoplado ao processador (110) para atualizar a coleção de documentos de entidade resolvida mediante o recebimento de um novo conjunto de documentos em que a atualização ê realizada com base na similaridade textual e referências entre documentos dentre o novo conjunto de documentos e os documentos de entidade resolvida.
9. SISTEMA DE RESOLUÇÃO DE ENTIDADE (102), de acordo com a reivindicação 7, caracterizado por, o pelo menos um par correspondente de documentos ser identificado com base na similaridade textual e nas referências entre documentos dentre a pluralidade de documentos.
10. SISTEMA DE RESOLUÇÃO DE ENTIDADE (102), de acordo com a reivindicação 7, caracterizado pelo módulo de bloqueio (120) codificar com hashing os documentos textualmente similares com. o uso de um conjunto de procedimentos de Hashing Sensível à Localidade (LSH).
11. SISTEMA DE RESOLUÇÃO DE ENTIDADE (102), de acordo com a reivindicação 7, caracterizado pelo módulo de bloqueio (1205 determinar as referências entre documentos dentre a pluralidade de documentos com o uso de um conjunto de procedimentos de cruzamento de documento.
12. SISTEMA DE RESOLUÇÃO DE .ENTIDADE (102), de acordo com a reivindicação 7, caracterizado pelo módulo de mescla (122) criar o documento mesclado para cada entidade com o uso de um conjunto de procedimentos de R-Swoosii.
BR102014028893-7A 2014-03-06 2014-11-19 Método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos BR102014028893B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN770MU2014 2014-03-06
IN770/MUM/2014 2014-03-06

Publications (2)

Publication Number Publication Date
BR102014028893A2 true BR102014028893A2 (pt) 2016-01-26
BR102014028893B1 BR102014028893B1 (pt) 2022-02-01

Family

ID=54198670

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102014028893-7A BR102014028893B1 (pt) 2014-03-06 2014-11-19 Método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos

Country Status (6)

Country Link
US (1) US10346439B2 (pt)
EP (1) EP2916242B1 (pt)
AU (1) AU2014262240B2 (pt)
BR (1) BR102014028893B1 (pt)
CA (1) CA2871036C (pt)
MX (1) MX352046B (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US9256904B1 (en) 2008-08-14 2016-02-09 Experian Information Solutions, Inc. Multi-bureau credit file freeze and unfreeze
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US9946808B2 (en) * 2014-07-09 2018-04-17 International Business Machines Corporation Using vertex self-information scores for vertices in an entity graph to determine whether to perform entity resolution on the vertices in the entity graph
US11132343B1 (en) * 2015-03-18 2021-09-28 Groupon, Inc. Automatic entity resolution data cleaning
US9348880B1 (en) * 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US20170083820A1 (en) * 2015-09-21 2017-03-23 International Business Machines Corporation Posterior probabilistic model for bucketing records
US10757154B1 (en) 2015-11-24 2020-08-25 Experian Information Solutions, Inc. Real-time event-based notification system
AU2018215082B2 (en) 2017-01-31 2022-06-30 Experian Information Solutions, Inc. Massive scale heterogeneous data ingestion and user resolution
US10735183B1 (en) 2017-06-30 2020-08-04 Experian Information Solutions, Inc. Symmetric encryption for private smart contracts among multiple parties in a private peer-to-peer network
US11574287B2 (en) 2017-10-10 2023-02-07 Text IQ, Inc. Automatic document classification
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
WO2020146667A1 (en) 2019-01-11 2020-07-16 Experian Information Solutions, Inc. Systems and methods for secure data aggregation and computation
US11520764B2 (en) * 2019-06-27 2022-12-06 International Business Machines Corporation Multicriteria record linkage with surrogate blocking keys
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution
US20230214360A1 (en) * 2022-01-05 2023-07-06 Jpmorgan Chase Bank, N.A. Method and system for facilitating distributed entity resolution
US20230334025A1 (en) * 2022-04-18 2023-10-19 Salesforce, Inc. Record management for database systems using fuzzy field matching

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200606B2 (en) * 2000-11-07 2007-04-03 The Regents Of The University Of California Method and system for selecting documents by measuring document quality
CN1757188A (zh) * 2002-11-06 2006-04-05 国际商业机器公司 机密数据共享和匿名实体解析度
US20040107205A1 (en) * 2002-12-03 2004-06-03 Lockheed Martin Corporation Boolean rule-based system for clustering similar records
US7596603B2 (en) * 2004-06-30 2009-09-29 International Business Machines Corporation Automatic email consolidation for multiple participants
US20110119268A1 (en) * 2009-11-13 2011-05-19 Rajaram Shyam Sundar Method and system for segmenting query urls
US9189473B2 (en) * 2012-05-18 2015-11-17 Xerox Corporation System and method for resolving entity coreference
US8533182B1 (en) * 2012-05-31 2013-09-10 David P. Charboneau Apparatuses, systems, and methods for efficient graph pattern matching and querying
US9594831B2 (en) * 2012-06-22 2017-03-14 Microsoft Technology Licensing, Llc Targeted disambiguation of named entities
US8819078B2 (en) * 2012-07-13 2014-08-26 Hewlett-Packard Development Company, L. P. Event processing for graph-structured data
US9483565B2 (en) * 2013-06-27 2016-11-01 Google Inc. Associating a task with a user based on user selection of a query suggestion

Also Published As

Publication number Publication date
CA2871036C (en) 2020-03-10
AU2014262240A1 (en) 2015-09-24
US20150254329A1 (en) 2015-09-10
AU2014262240B2 (en) 2020-08-13
EP2916242B1 (en) 2019-06-05
US10346439B2 (en) 2019-07-09
CA2871036A1 (en) 2015-09-06
MX2014014048A (es) 2016-05-04
MX352046B (es) 2017-11-07
EP2916242A1 (en) 2015-09-09
BR102014028893B1 (pt) 2022-02-01

Similar Documents

Publication Publication Date Title
BR102014028893A2 (pt) método para resolver entidades de uma pluralidade de documentos; e sistema de resolução de entidade para resolução de entidade de uma pluralidade de documentos
US10778441B2 (en) Redactable document signatures
US11372980B2 (en) Blockchains for software component vulnerability databases
TW202030669A (zh) 電腦實施系統及在區塊鏈上儲存資料的方法(二)
CN111245597B (zh) 密钥管理方法、系统及设备
CN110602147B (zh) 一种基于云平台的数据加密安全存储方法、系统和存储介质
JPWO2017170997A1 (ja) 階層型ネットワークシステム、これに用いられるノード及びプログラム
US20160124739A1 (en) Minimizing Image Copying During Partition Updates
US20170193070A1 (en) System and method for a distributed replication lock for active-active geo-redundant systems
US8516098B2 (en) Improving scale between consumer systems and producer systems of resource monitoring data
JP7159348B2 (ja) 誤り訂正符号に基づく動的なブロックチェーンデータの記憶
US10652094B2 (en) Network traffic management for virtualized graphics devices
CN114127724A (zh) 针对多副本存储的完整性审计
Schuhknecht Talking blockchains: The perspective of a database researcher
US9916372B1 (en) Folded-hashtable synchronization mechanism
Ausiello et al. Small stretch spanners on dynamic graphs
US20170170958A1 (en) Communication control device, communication control method, and computer program product
CN112291355B (zh) 区块链钱包的密钥备份和恢复方法与装置
US11301492B1 (en) Network address range storage and retrieval
CN112507667A (zh) 基于区块链的族谱合并方法、设备及存储介质
KR20230087567A (ko) 진화 논스를 사용한 분산형 보안 데이터베이스 시스템
US11068500B1 (en) Remote snapshot access in a replication setup
Chen et al. A Demonstration of Entity Identity Information Management Applied to Demographic Data in a Referent Tracking System.
US10169397B2 (en) Systems and methods for remote correction of invalid contact file syntax
KR101580302B1 (ko) 하둡 기반 비밀 분산 기법에 의한 데이터 접근 시스템

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]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 19/11/2014, OBSERVADAS AS CONDICOES LEGAIS.