BR112014023495B1 - Sistema e método de processamento de dados - Google Patents

Sistema e método de processamento de dados Download PDF

Info

Publication number
BR112014023495B1
BR112014023495B1 BR112014023495-7A BR112014023495A BR112014023495B1 BR 112014023495 B1 BR112014023495 B1 BR 112014023495B1 BR 112014023495 A BR112014023495 A BR 112014023495A BR 112014023495 B1 BR112014023495 B1 BR 112014023495B1
Authority
BR
Brazil
Prior art keywords
data
datasets
values
user
data sets
Prior art date
Application number
BR112014023495-7A
Other languages
English (en)
Other versions
BR112014023495A8 (pt
BR112014023495A2 (pt
Inventor
John C. Platt
Surajit Chaudhuri
Lev Novik
Henricus Johannes Maria Meijer
Efim Hudis
Kunal Mukerjee
Christopher Alan Hays
Original Assignee
Microsoft Technology Licensing, Llc
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 Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112014023495A2 publication Critical patent/BR112014023495A2/pt
Publication of BR112014023495A8 publication Critical patent/BR112014023495A8/pt
Publication of BR112014023495B1 publication Critical patent/BR112014023495B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

sistema e método de processamento de dados e artigo de manufatura. em uma concretização, os conjuntos de dados são armazenados em um catálogo. os conjuntos de dados são melhorados por estabelecer relações entre os domínios em diferentes conjuntos de dados. um usuário pesquisa por conjuntos de dados relevantes por proporcionar exemplos de domínios de interesse. o sistema identifica conjuntos de dados correspondendo aos exemplos proporcionados pelo usuário. o sistema então identifica subconjuntos conectados dos conjuntos de dados que são diretamente ligados ou indiretamente ligados através de outros domínios. o usuário proporciona exemplos conhecidos de relação para filtrar os subconjuntos conectados e para identificar os subconjuntos conectados que são mais relevantes para a consulta do usuário. os subconjuntos conectados selecionados podem ser adicionalmente analisados por inteligência/analítica do negócio para criar tabelas dinâmicas ou para processar os dados.

Description

Antecedentes
[001] Três problemas devem ser solucionados quando alguém é defrontado com uma questão que necessita ser respondida utilizando dados. Primeiramente, um ou mais conjuntos de dados devem ser identificados como contendo os dados requeridos para responder a questão. Em segundo lugar, as relações entre os conjuntos de dados e os dados armazenados nos mesmos devem ser identificadas. Em terceiro lugar, uma ou mais consultas devem ser formuladas para responder a questão. À medida que o número de grupos de conjunto de dados disponíveis cresce, os primeiros dois problemas se tornam de modo crescente mais complexos se comparados ao terceiro problema, ainda que a maioria dos esforços na área de sistemas de armazena-mento sejam focados na formulação de consultas.
[002] Abordagens comuns para os primeiros dois problemas divi dem-se em duas categorias:
[003] Uma abordagem requer que os dados sejam bem organi zados em um modelo semântico bem entendido antes de executar pesquisas. Apesar de eficientes, tais mecanismos têm utilização limitada devido à dificuldade de organizar todos os dados antes da pesquisa.
[004] Em outra abordagem, pesquisas de texto completas são utilizadas nos conjuntos de dados. Os conjuntos de dados são tratados como se eles fossem documentos típicos e técnicas de pesquisa de texto completo são aplicadas ao conteúdo. Enquanto esta técnica pode facilmente manipular qualquer tipo de dados, a incapacidade em entender e utilizar a estrutura dos dados e as relações dentro da mesma torna improvável que questões complexas possam ser respondidas somente pelas pesquisas de texto completo.
Sumário
[005] Este Sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada que são adicionalmente descritos abaixo na Descrição Detalhada. Este Sumário não é pretendido para identificar aspectos chave ou aspectos essenciais do assunto reivindicado, nem é pretendido para ser utilizado para limitar o escopo do assunto reivindicado.
[006] Em uma concretização, um sistema desenvolve um enten dimento da estrutura dos conjuntos de dados e suas relações tanto a partir de entrada humana ou a partir do aprendizado da máquina. Um usuário proporciona exemplos de dados e relações que explicam sua consulta. O mecanismo utiliza seu conhecimento das estruturas de conjunto de dados e pesquisa informação nos conjuntos de dados que é similar ao padrão dos exemplos. Isto possibilita aos usuários que são especialistas em domínio, mas principiantes em base de dados, localizar e entender os conjuntos de dados necessários para responder a consulta.
[007] Por exemplo, tipos de domínios ou dados podem ser utili zados para estabelecer relações de coluna dentro de conjuntos de dados. Exemplos de valor de dados podem ser utilizados para identificar domínios de interesse e as colunas associadas dentro dos conjuntos de dados. O subconjunto mínimo do conjunto de dados conectado que cobre os domínios referidos pelo usuário é identificado como uma potencial ou provável coleção de conjuntos de dados necessária para responder a consulta. Os exemplos de relação são utilizados para filtrar os subconjuntos de conjunto de dados conectados para rapidamente localizar os conjuntos de dados que são realmente de interesse para o usuário.
[008] Um usuário localiza domínios de interesse por especificar coleções de valores. As relações entre os domínios são identificadas por analisar sobreposições de domínio e conexões dentro dos domínios, tal como colunas que aparecem em vários domínios. As relações podem ser categorizadas ou avaliadas por sua intensidade e/ou pela cobertura da relação dos valores individuais especificados pelo usuário. O usuário pode proporcionar relações ilustrativas entre os valores, tal como valores correspondentes conhecidos, para limitar o campo de pesquisa do conjunto de dados.
Desenhos
[009] Para adicionalmente clarificar o dito acima e outras vanta gens e aspectos das concretizações da presente invenção, uma descrição mais particular das concretizações da presente invenção será apresentada com referência aos desenhos anexos. É apreciado que estes desenhos descrevem apenas concretizações típicas da invenção e, portanto, não são para serem considerados limitando o seu escopo. A invenção será descrita e explicada com especificidade adicional e detalhe através da utilização dos desenhos acompanhantes, nos quais:
[0010] A Figura 1 é um diagrama de blocos de um sistema para pesquisar conjuntos de dados utilizando exemplos, de acordo com uma concretização.
[0011] A Figura 2 ilustra as relações entre vários conjuntos de da dos em um catálogo de dados.
[0012] A Figura 3 é outro exemplo de ligar conjuntos de dados em um catálogo de dados utilizando uma função de automelhora- mento.
[0013] A Figura 4 é um fluxograma ilustrando um método para cri ar um catálogo de dados melhorado de acordo com uma concretização.
[0014] A Figura 5 é um fluxograma de um método para identificar conjuntos de dados relevantes para um usuário de acordo com uma concretização.
[0015] A Figura 6 é um fluxograma de um método para identificar conjuntos de dados relevantes de acordo com uma concretização alternativa.
[0016] A Figura 7 ilustra um ambiente de computação e de rede adequado para identificar conjuntos de dados para um usuário utilizando uma coleção de valores e uma relação ilustrativa.
Descrição Detalhada
[0017] Em uma concretização, dados podem ser armazenados em um modelo relacional; entretanto, será entendido que os conjuntos de dados não são limitados às bases de dados relacionais. Neste modelo, tipos de valore são calculados para todas as colunas. Quaisquer colunas com tipos de valores que são altamente similares são consideradas relacionadas. Por exemplo, se uma coluna for um subconjunto de outra coluna, então, estas colunas são consideradas como estando relacionadas. A intensidade da relação das colunas é derivada do grau de similaridade nos tipos. Por exemplo, um gráfico de relação das colunas pode ser construído onde duas colunas são consideradas se elas compartilham um tipo ou pertencem ao mesmo conjunto de dados.
[0018] Os próprios tipos podem formar uma hierarquia por restri ção, de modo que tipos podem possuir subtipos. As colunas que compartilham o mesmo tipo e possuem um forte grau de similaridade podem ser agrupadas juntas para formar grupamentos de coluna.
[0019] Iniciando com este modelo, um usuário pode pesquisar os dados utilizando exemplos. As pessoas naturalmente expressam seu mundo em termos de entidades e relações mesmo quando eles não utilizam estas palavras especificamente. Este tipo de expressão pode ser utilizada para pesquisar os conjuntos de dados. Em primeiro lugar, os usuários pesquisam por entidades por proporcionar uma coleção de palavras do mesmo tipo. Por exemplo, um usuário procurando por dados de país pode informar "Estados Unidos" como um exemplo, mas esta entrada isolada é muito ambígua. Se o exemplo "Canadá"for adicionado,então o domínio foi estreitado, mas estas duas palavras juntas podem corresponder a várias coisas. Se um terceiro exemplo, tal como "Noruega", for adicionado, então a pesquisa foi dramaticamente estreitada para países. Será observado que esta técnica apenas analisa os conjuntos de dados e funciona mesmo se o sistema não for consciente do conceito de "países".
[0020] Se os exemplos não forem suficientes, o usuário pode de sambiguar a pesquisa por apresentar interpretações alternativas, tal como listas de termos adicionais. Por exemplo, "Brasil"irá resultar em uma lista de países, bem como uma lista de tipos de nozes. O usuário pode facilmente aceitar ou rejeitar os tipos de entidade desejados.
[0021] A próxima etapa é para identificar as relações entre as enti dades que o usuário encontrou. Como observado acima, o sistema calculou um gráfico de relação de colunas nos modelos de conjunto de dados. Ao aplicar a lista de domínios localizada pelos termos de exemplo do usuário para o gráfico de relação, o sistema constrói subconjuntos conectados mínimos que conectam todos os domínios especificados. Cada tal subconjunto conectado representa um diferente caminho para relacionar todos os dados localizados pelo usuário. Estas conexões podem ser pesadas, por exemplo, baseadas na intensidade combinada das relações subjacentes. Funções de ponderação de valor único ou com múltiplos valores podem ser utilizadas. Alguns ou todos os subconjuntos conectados são apresentados para o usuá-rio. Em uma concretização, valores ilustrativos são utilizados para apresentar uma relação ou, mais geralmente, um subconjunto conectado para o usuário. O usuário então seleciona o subconjunto conectado que melhor enquadra-se à consulta.
[0022] Explicar uma relação entre conjuntos de dados para o usu ário utilizando exemplos é muito mais fácil do que tentar que o usuário explique uma relação desejada para o sistema, o que é o método atual de pesquisa. No sistema descrito neste documento, nenhuma modelagem de esquema presuntiva é assumida ou requerida entre os conjuntos de dados.
[0023] Diversos valores podem ser conectados utilizando este sis tema. No exemplo acima, países foram identificados. Em outra consulta, o usuário pode desejar associar países ou cidades com moeda. Por exemplo, para conectar "Nome de cidade" com "Moeda", o usuário irá selecionar um valor de exemplo para a cidade e seguir a lógica descrita acima. Para conectar "Vancouver" com "Loonie" (a moeda canadense de 1 dólar), o usuário pode utilizar um conjunto de dados de Cidade e um conjunto de dados de Moeda, os quais irão associar-se às colunas de País que possuem um tipo similar. O usuário pode apresentar exemplos de cidades e moedas. O sistema irá então apresentar os dados conectados através de diferentes valores. O usuário irá selecionar um conjunto de dados conectado que se conectou através dos valores de país. A questão do usuário pode ser respondida por ligar os conjuntos de dados utilizando o valor de país de "Canadá".
[0024] Se o usuário não visualizar um conjunto desejado de cone xões nos subconjuntos conectados apresentados, então o usuário possui duas opções para influenciar o sistema. Primeiro, o usuário pode adicionar mais entidades. Por exemplo, se o exemplo "Loonie"acima for pretendido para ser um pássaro ao invés de moeda, então proporcionar nomes de pássaro adicionais irá forçar o sistema a reinter- pretar o valor para obter um conjunto de conexão de baixo peso que inclua pássaros.
[0025] O pináculo do controle do usuário é a apresentação de exemplos de relação. Por exemplo, se um usuário está buscando pelo ano no qual o Canadá ganhou independência, o usuário pode explicar a noção de "País"e a noção de "Ano" para o sistema. O usuário é propenso a perceber que existem muitas relações País-Ano entre os conjuntos de dados. Entretanto, se o usuário fornece um par de País-Ano ilustrativo conhecido, tal como "USA-1776", o sistema irá entender a interpretação correta da relação País-Ano baseado na necessidade de incluir este exemplo no conjunto desejado de conexões. Por consequência, o sistemairá priorizar subconjuntos conectados que encontrem o exemplo "USA-1776" e irá apresentar estes primeiro para o usuário.
[0026] A Figura 1 é um diagrama de blocos de um sistema para pesquisar conjuntos de dados utilizando exemplos de acordo com uma concretização. O usuário deseja pesquisar algum universo dos dados 101, os quais podem incluir conjuntos de dados possuindo vários formatos diferentes. Por exemplo, os dados 101 podem incluir bases de dados, planilhas ou outros conjuntos de dados a partir de fontes pública, privada ou empresarial. Os dados 101 também podem incluir dados derivados a partir de outros conjuntos de dados. O rastreador 102 rastreia os dados 101 para identificar conjuntos de dados e para localizar e extrair metadados sobre os dados, tal como nomes de tabela e de coluna, relações entre conjuntos de dados e colunas, tipos de da-dos, etc. O rastreador 102 proporciona os conjuntos de dados e os metadados para o catálogo 103. Os metadados podem incluir, por exemplo, nomes de coluna, marcas, classificações, etc.
[0027] O componente de automelhoramento 104 pode adicionar metadados adicionais ao catálogo 103. O rastreador 102 irá identificar alguns metadados, mas apenas se os metadados estiverem presentes no conjunto de dados original nos dados 101. O componente de auto- melhoramento 104 pode unir colunas a partir de diferentes planilhas e pode identificar uma coluna como um índice para a outra. O componente de automelhoramento 104 pode adicionar metadados associa- dos com uma coluna para as colunas relacionadas. Por exemplo, uma planilha pode possuir cabeçalhos de coluna e uma coluna em um conjunto de dados relacionado pode não possuir dados de cabeçalho. O componente de automelhoramento 104 pode adicionar os metadados de cabeçalho para as colunas relacionadas.
[0028] O componente de limpeza de metadados 105 proporciona aos usuários uma interface para acessar o catálogo 103. O usuário pode utilizar o componente de limpeza de metadados 105 para definir nomes de conjunto de dados e de colunas, tal como ortografia errada, para apagar conjuntos de dados ruins, e para identificar tipos de dados específicos dentro dos conjuntos de dados. O catálogo 103 pode ser limpo e aprimorado durante a utilização, tal como por realizar correções enquanto o usuário está pesquisando. Alternativamente, o catálogo 103 pode ser limpo de uma maneira mais intencional por se ter o usuário especificamente revisando e modificando os conjuntos de dados e os metadados no catálogo 103.
[0029] O usuário acessa o catálogo de dados 103 via a interface de pesquisa 106. Dependendo da aplicação, a interface de pesquisa 106 pode proporcionar diferentes experiências de pesquisa para o usuário. Em uma concretização, a interface de pesquisa 106 proporciona acesso independente ao catálogo 103, tal como um mecanismo de pesquisa que permite ao usuário localizar dados específicos ou responder questões específicas. Em outra concretização, a interface de pesquisa 106 proporciona uma função de "abrir dados" que permite ao usuário localizar dados ou arquivos de dados para utilização com um aplicativo. Em uma concretização adicional, a interface de pesquisa 106 utiliza o contexto atual do usuário para aprimorar a experiência. Por exemplo, a interface de pesquisa pode observar os dados com os quais que o usuário está trabalhando, tal como uma planilha, e então adaptar os resultados da pesquisa para serem relevantes a estes da dos (tal como uma versão atualizada da planilha) e/ou apresentar os resultados no contexto do que já está aberto.
[0030] Uma vez que o usuário tenha selecionado dados a partir do catálogo 103 utilizando a interface de pesquisa 106, estes dados podem ser proporcionados para o componente de inteligência/analítica comercial 107 para análise adicional e/ou processamento.
[0031] A Figura 2 ilustra relações entre os vários conjuntos de da dos em um catálogo de dados. O catálogo 200 inclui um conjunto de dados de localização de filme 201 que inclui uma lista de nomes de título de filme e uma lista de localizações, identificadas por código de endereçamento postal, onde o filme foi filmado. O catálogo também inclui um conjunto de dados de atores 202 que inclui uma lista de nomes de ator com cada data de nascimento e local de nascimento de ator, identificada pelo nome de cidade. O conjunto de dados de créditos de filme 203 inclui uma lista de nomes de título do filme junto com nomes de atores que estrelaram no filme, o nome do papel correspondente para cada ator, e a data na qual cada filme tornou-se disponível. O catálogo também inclui outros conjuntos de dados que não são relacionados com a indústria do entretenimento, tal como uma listagem de códigos postais, tal como códigos de endereçamento postal 204, que indica a cidade e o estado para cada código postal.
[0032] Estes conjuntos de dados pode ser adicionados ao catálogo por um rastreador ou outro dispositivo. Alguns dos conjuntos de dados podem possuir vários níveis de metadados, tal como nomes de coluna, títulos de tabela, ou marcas. De modo alternativo, outros conjuntos de dados podem apenas incluir colunas de dados sem quaisquer metadados associados. Um usuário pode acessar o catálogo utilizando um componente de limpeza de metadados e proporcionar metadados para alguns conjuntos de dados e/ou corrigir metadados em outros conjuntos de dados.
[0033] Uma função de automelhoramento pode analisar os conjun tos de dados e identificar relações entre eles. Por exemplo, a função de automelhoramento pode reconhecer que uma coluna 205 no conjunto de dados de localização de filme 201 é uma lista de números que são similares à coluna 206 do conjunto de dados de código de endereçamentopostal 204. Estas colunas podem não possuir metadados de cabeçalho, ou elas podem possuir os mesmos metadados de cabeçalho (por exemplo, ambos rotulados como "código de endereçamento postal") ou diferentes metadados de cabeçalho (por exemplo, um rotulado"código de endereçamento postal" e outro rotulado "localização"). A função de automelhoramento pode reconhecer uma relação 21 entre as colunas utilizando os metadados e/ou utilizando o conteúdo das co-lunas. No exemplo ilustrado, por exemplo, a coluna 205 pode ser identificada como um subconjunto da coluna 206.
[0034] Relações adicionais podem ser identificadas pela função de automelhoramento. Por exemplo, o sistema pode identificar a relação 22 na qual uma lista de cidades na coluna 208 do conjunto de dados do código de endereçamento postal 204. Além disso, a função de au- tomelhoramento identifica a relação 23 na qual nomes de ator se sobrepondosão observados na coluna 209 do conjunto de dados de ator 202 e na coluna 210 do conjunto de dados de créditos de filme 203. Adicionalmente, o sistema identifica a relação 24 na qual os nomes de filme se sobrepondo são observados na coluna 211 do conjunto de dados de localização de filme 201 e na coluna 212 do conjunto de dados de créditos de filme 203.
[0035] Será entendido que o catálogo melhorado 200 ilustrado na Figura 2 é um exemplo altamente simplificado. Qualquer número de conjuntos de dados pode existir no catálogo. Adicionalmente, qualquer número de relações pode ser identificado dentre entre os conjuntos de dados. As relações podem possuir vários graus de intensidade baseados, por exemplo, no número de valores se sobrepondo ou na similaridade dos metadados. Algumas colunas nos conjuntos de dados podem possuirvárias relações. O conjunto de dados 213 pode ser uma lista de nomes de projeto para uma companhia. A companhia pode utilizar os nomes de cidades para os projetos. A função de melhoramento irá reconhecer os nomes de cidade/de projeto na coluna 214 do conjunto de dados 213 como um subconjunto dos nomes de cidade na coluna 208. Por consequência, isto irá identificar uma relação 25 entre estas duas colunas.
[0036] Outras bases de dados podem ser interpretadas como es tando relacionadas ou potencialmente relacionadas a conjuntos de dados de filme 201 e 203. Por exemplo, um conjunto de dados de título de livro 215 pode listar títulos de livro e as datas nas quais cada livro foi publicado. A função de melhoramento pode identificar uma sobreposição nos nomes de livro na coluna 216 do conjunto de dados de título de livro 215 e os títulos de filme nos conjuntos de dados de filme 201 e 203 devido ao fato de que alguns dos livros podem ter sido produzidos em filmes (ou livros foram escritos sobre o filme). Por consequência, as relações 26 e 27 também podem ser identificadas entre estes conjuntos de dados e colunas.
[0037] O catálogo de dados melhorado pode ser pesquisado utili zando termos que identificam valores para domínios relacionados com entretenimento. Por exemplo, se o usuário desejou identificar filmes com a participação de atores nascidos em Vancouver, então o usuário pode pesquisar o catálogo melhorado 200 sem escolher as tabelas ou conjuntos de dados específicos para pesquisar e sem conhecer o formato dos conjuntos de dados.
[0038] Neste exemplo, os nomes dos filmes são desconhecidos, de modo que o usuário proporciona uma lista de títulos de filme aleatórios conhecidos para identificar o tipo de "título de filme" como relevante. Por exemplo, o usuário pode listar Gone with the Wind ("GWTW" na Figura 2), o que pode retornar conjuntos de dados 201 e 203 que incluem títulos de filme. Entretanto, este nome pode resultar na identificação de bases de dados adicionais que podem ser indesejadas, tal como uma base de dados de título de livro 215, se o livro Gone with the Wind for listado. O usuário pode eliminar estes retornos falso-positivos por adicionartítulos de filme adicionais que não foram baseados em livros, tal como Avatar, por exemplo. Esta lista de título de filme revisada pode eliminar a base de dados de título de livro 215 indesejada dos resultados sugeridos pelo conjunto de dados ou pode causar que os conjuntos de dados de título de filme 201 e 203 sejam categorizados mais elevados do que a base de dados de título de livro 215 nos resultados suge-ridos.
[0039] Além disso, o usuário adiciona os nomes de cidade às con sultas. Especificamente, o usuário iria adicionar "Vancouver" para os termos de consulta. Isto pode resultar em acertos no conjunto de dados de nome de projeto 213, no conjunto de dados de código postal 204, e no conjunto de dados de ator 207. Estes conjuntos de dados podem ser adicionados para a lista de resultados sugerida. A Tabela 1 ilustra uma lista de resultados sugeridos proporcionada por uma interface de pesquisa de acordo com uma concretização utilizando os termos de pesquisa "Gone with the Wind", "Avatar" e "Vancouver".
Figure img0001
[0040] Os conjuntos de dados 201 e 203, os quais possuem dois dos termos de pesquisa cada, são categorizados primeiro. Cada um dos conjuntos 215, 202, e 204 possuem apenas um dos termos de pesquisa e, portanto, são categorizados abaixo dos conjuntos de dados 201 e 203. O conjunto de dados 215 pode ser categorizado na frente dos conjuntos de dados 202, 204 e 213, por exemplo, devido ao fato de que ele possui um termo de pesquisa que aparece anteriormente na lista (isto é, "Avatar" foi listado antes de "Vancouver"). O conjunto de dados 213 pode ser categorizado por último devido ao fato de que ele não inclui qualquer um dos termos ilustrativos específicos. Será entendido que os termos de pesquisa e/ou conjuntos de dados pode ser pesados em outras concretizações, a qual pode alterar a ca- tegorização dos conjuntos de dados sugeridos.
[0041] Os conjuntos de dados sugeridos na Tabela 1 proporcio nam o usuário com um grupo de conjuntos de dados de interesse potencial. Entretanto, estes resultados não respondem à consulta do usuário, a qual é "qual filme tem participação de atores nascidos em Vancouver?". A interface de pesquisa pode adicionalmente estreitar os conjuntos de dados propostos por apresentar ao usuário como os conjuntos de dados estão relacionados e o que informação resultante irá incluir se os conjuntos de dados forem combinados.
[0042] No exemplo acima, a interface de pesquisa identificou o tipo de título de filme (por exemplo, colunas 211, 212) e o tipo de nome de cidade (por exemplo, colunas 207, 208, 214) como sendo relevantes. A interface de pesquisa também proporciona exemplos de resultados que ligam estes dois tipos. Por exemplo, a Tabela 2 apresenta os resultados quando o tipo de título de filme (coluna 211) está ligado ao tipo de nome de cidade (coluna 208) através da relação de localização 21 entre as colunas de código postal 205 e 206. O sistema proporciona um exemplo de entradas ligando estes tipos para o usuário em um formato tal como Tabela 2 ou em qualquer outro formato apropriado. A interface de pesquisa também pode proporcionar informação adicional sobre o exemplo, tal como as identidades dos conjuntos de dados, as colunas utilizadas dentro dos conjuntos de dados, e quaisquer relações entre os conjuntos de dados.
Figure img0002
[0043] A Tabela 3 é um segundo exemplo ilustrando resultados a partir da ligação destes aos tipos de título de filme e de nome de cidade. A Tabela 3 apresenta os resultados quando o tipo de título de filme (coluna 212) é ligado ao tipo de nome de cidade (coluna 207) através da relação de localização 23 entre as colunas de nome de ator 209 e 210.
Figure img0003
[0044] O sistema pode apresentar os exemplos em uma lista clas sificada baseado no peso atribuído para os termos de pesquisa e/ou para os conjuntos de dados. Podem haver outras respostas ilustrativas listadas utilizando caminhos de relação alternativos ou mais longos entre os tipos de título de filme e de nome de cidade que foram identificados pelo usuário.
[0045] O usuário iria provavelmente selecionar o exemplo ilustrado na Tabela 3 devido ao fato de ele incluir nomes de ator nos resultados, o que é relevante para a pesquisa do usuário.
[0046] Em outra concretização, o usuário pode não gostar dos exemplos sugeridos ou pode não estar confiante de que qualquer um dos exemplos é apropriado. O usuário pode adicionalmente limitar as sugestões por adicionar pares conhecidos para o conjunto de resultado desejado. Por exemplo, em adição a utilizar os termos de pesquisa "Gone with the Wind", "Avatar" e "Vancouver", o usuário poderia adicionar exemplos de nome de ator e de cidade de nascimento conhecidos para os termos de pesquisa. Por adicionar um exemplo de nome de ator/nome de cidade conhecido, o sistema iria estar propenso a identificar os resultados da Tabela 3 como mais relevantes do que os resultados da Tabela 2, os quais não possuem informação de ator. Portanto, o sistema iria determinar que a relação 23 através do tipo de nome de ator é um caminho desejado.
[0047] Uma vez que o usuário tenha selecionado os resultados ilustrativos que correspondem à consulta, então os conjuntos de dados para o exemplo selecionado podem ser proporcionados para um componente de inteligência/analítica do negócio para processamento adicional. Por exemplo, se o usuário selecionou a Tabela 3 acima, então os conjuntos de dados 203 e 202 seriam proporcionados para o componente de inteligência/analítica do negócio, o qual iria combinar os dados e construir um novo conjunto de dados combinado ou tabela dinâmica baseado no exemplo. O novo conjunto de dados combinado ou tabela dinâmica poderia então ser sumarizado, organizado, ou de outro modo processados ou analisado pelo usuário.
[0048] O sistema permite ao usuário proporcionar exemplos utilizan do palavras que se relacionam com a pergunta. O catálogo melhorado identifica os domínios associados com as palavras ilustrativas e então identifica conjuntos de dados possuindo estes domínios. O sistema apresenta ao usuário resultados ilustrativos que são criados quando estes conjuntos de dados são combinados. O usuário pode selecionar um dos conjuntos de resultados ilustrativo ou pode adicionar mais termos de pesquisa para limitar os resultados ilustrativos. Como observado acima, um modo para limitar os conjuntos de resultados é proporcionar exemplos de pares conhecidos que são similares aos dados desejados.
[0049] A Figura 3 é outro exemplo de ligar conjuntos de dados em um catálogo de dados utilizando uma função de automelhoramento. O conjunto de dados 301 compreende dez colunas A até J de dados coletados para um estabelecimento da costa oeste. O conjunto de dados 302 compreende onze colunas A até H, K até M de dados coletados para um estabelecimento da costa oeste. Os conjuntos de dados possuem conjuntos similares, mas não idênticos, de colunas. As colunas A até H 303, 304 aparecem em ambos os conjuntos de dados. Cada conjunto de dados possui colunas únicas adicionais 305, 306. Os conjuntos de dados possuem esquema similar e as mesmas colunas chave. A função de automelhoramento irá observar o esquema similar entre conjuntos de dados 301 e 302 e irá concluir que eles possuem os mesmos tipos de valores. O caminho de relação 31 irá ser estabelecido entre os conjuntos de dados 301 e 302.
[0050] A interface de pesquisa irá saber que estas tabelas possu em esquema similar e domínios se sobrepondo. Portanto, quando um usuário entre termos ilustrativos que aparecem em um conjunto de dados, tal como nomes de cidades da costa oeste no conjunto de dados 301, então, a interface de pesquisa também irá pesquisar no conjunto de dados 302, o qual, como se sabe, possui valores relacionados.
[0051] Os conjuntos de dados 301 e 302 podem ser relacionados, por exemplo, como diferentes versões da mesma tabela ou um conjunto de dados pode ser uma pseudochave externa para o outro conjunto de dados ou um pseudoesquema do outro conjunto de dados. O gráfico da relação construído no catálogo melhorado irá permitir à interface de pesquisa localizar estes conjuntos de dados relacionados.
[0052] A Figura 4 é um fluxograma ilustrando um método para cri ar um catálogo de dados melhorado de acordo com uma concretização. Na etapa 401, um grupo de recursos de dados é rastreado e conjuntos de dados são identificados. O grupo de recursos de dados pode incluir, por exemplo, fontes públicas, privadas ou da empresa. Os con- juntos de dados podem incluir, por exemplo, bases de dados, planilhas, listas ou subconjuntos de outros conjuntos de dados. Na etapa 402, metadados são adicionados aos conjuntos de dados e metadados existentes são corrigidos, se necessário. Os metadados podem incluir, por exemplo, nomes de tabela e de coluna, relações entre conjuntos de dados, tipos de dados, marcas, etc.
[0053] Na etapa 403, tipos de dados são identificados dentro dos conjuntos de dados. Os tipos de dados podem identificar, por exemplo, o tipo de valores que são armazenados em uma coluna. Os tipos de dados podem ser gerados, tal como identificando os valores como texto, datas, números, ou outros valores, ou eles podem ser mais específicos, tal como identificando os valores como nomes, datas de nascimento, títulos, códigos de endereçamento postal, endereços, etc. Na etapa 404, as relações são identificadas entre os tipos de dados em diferente conjunto de dados. Na etapa 405, as ligações são estabelecidas entre os tipos de dados relacionados. Por exemplo, se colunas nos dois diferentes conjuntos de dados forem ambas identificadas como possuindo um tipo de dados de data, então estas colunas podem ser identificadas como relacionadas e ligadas. As relações podem ser pesadas ou classificadas baseadas, por exemplo, na similaridade dos valores nas colunas diferentes ou um peso atribuído do usuário.
[0054] Um processo de automelhoramento pode ser utilizado para analisar os conjuntos de dados e para identificar os tipos de dados, identificar os tipos de dados relacionados e estabelecer ligações entre os tipos de dados. Em uma concretização, um processo de automelho- ramento analisa todos os conjuntos de dados em um catálogo e gera relações entre quaisquer tipos de dados similares dentro de diferentes conjuntos de dados para criar um catálogo de dados melhorado.
[0055] A Figura 5 é um fluxograma de um método para identificar conjuntos de dados relevantes para um usuário de acordo com uma concretização. Na etapa 501, uma coleção de valores é recebida a partir do usuário. O tipo de dados para cada um dos valores é identificado na etapa 502. Na etapa 503, os conjuntos de dados que correspondem aos tipos de dados são identificados. Cada conjunto de dados identificado na etapa 503 possui um ou mais tipos de dados que correspondem aos valores recebidos a partir do usuário.
[0056] Na etapa 504, as relações são identificadas entre os con juntos de dados. As relações correspondem às ligações entre tipos de dados similares em diferentes conjuntos de dados. Uma lista de grupos proposto de conjuntos de dados é proporcionada na etapa 505. Os conjuntos de dados dentro de cada grupo proposto são ligados uns com os outros através de uma ou mais relações.
[0057] Na etapa 506, um conjunto de valor ilustrativo é recebido a partir do usuário. O conjunto de valor ilustrativo corresponde a uma relação conhecida entre dois ou mais tipos de dados. Na etapa 507, um segundo grupo proposto de conjuntos de dados são listados para o usuário. Os conjuntos de dados dentro do segundo grupo proposto inclui o conjunto de valor ilustrativo que o usuário proporcionou. Na etapa 508, uma seleção do usuário de um dos grupos de conjunto de dados propostos é recebida.
[0058] Em outras concretizações, os conjuntos de dados dentro do grupo de conjunto de dados proposto selecionado podem ser combinados em um novo conjunto de dados. Por exemplo, os subconjuntos dos conjuntos de dados dentro do grupo de conjunto de dados proposto selecionado podem ser combinados em um novo conjunto de dados.
[0059] Os grupos propostos de conjuntos de dados não precisam ser similares ou diretamente ligados. Os conjuntos de dados nos grupos propostos podem ser ligados uns com os outros através das rela- ções para conjuntos de dados intermediários que não possuem tipos de dados correspondendo aos valores recebidos a partir do usuário. Por exemplo, se os valores proporcionados pelo usuário forem correspondentes aos tipos de dados A e B, então um conjunto de dados possuindo tipos de dados A e C pode ser agrupado com um conjunto de dados possuindo tipos de dados B e C. O tipo de dados comum C pode ser utilizado para relacionar certos dados com outros mesmo se eles não forem associados com os valores proporcionados pelo usuário.
[0060] Os grupos propostos de conjuntos de dados também po dem compreender conjuntos de dados com tipos de dados de sobreposição. Os tipos de dados de sobreposição podem ou não corresponder aos valores recebidos a partir do usuário, mas os conjuntos de dados iriam incluir pelo menos um dos tipos de dados correspondendo aos valores proporcionados pelo usuário.
[0061] A lista de grupos propostos de conjunto de dados pode ser classificada ou ponderada. Por exemplo, os grupos de conjunto de dados podem ser classificados baseados nos pesos atribuídos a um ou mais tipos de dados, conjuntos de dados, e valores recebidos a partir do usuário.
[0062] A Figura 6 é um fluxograma de um método para identificar conjuntos de dados relevantes de acordo com uma concretização alternativa. Na etapa 601, uma coleção de domínios é identificada como correspondendo a uma coleção de valores. Na etapa 602, os conjuntos de dados são identificados como correspondendo a pelo menos um dos domínios. As relações entre os conjuntos de dados são identificadas na etapa 603. As relações correspondem às ligações entre domínios similares em diferentes conjuntos de dados.
[0063] Na etapa 604, os grupos de conjuntos de dados são identi ficados. Os conjuntos de dados dentro de cada grupo proposto são ligados uns com os outros através de uma ou mais relações. Um conjunto de valores ilustrativo é recebido na etapa 605. O conjunto de valores ilustrativo corresponde a uma relação conhecida entre dois ou mais domínios. Na etapa 606, um ou mais grupos propostos de conjuntos de dados são identificados. Os valores do conjunto de valores ilustrativo foram encontrados dentro dos conjuntos de dados dos grupos propostos.
[0064] Em uma concretização, todos os valores do conjunto de valores ilustrativo são localizados dentro dos conjuntos de dados dos grupos propostos. Em outras concretizações, pelo menos um dos valores do conjunto de valores ilustrativo é localizado dentro dos conjuntos de dados dos grupos propostos.
[0065] Será entendido que as etapas 501 até 508 do processo ilustrado na Figura 5 e as etapas 601 até 606 do processo ilustrado na Figura 6 pode ser executado simultaneamente e/ou sequencialmente. Será adicionalmente compreendido que cada etapa pode ser executada em qualquer ordem e pode ser executada uma vez ou repetidamente.
[0066] Em outras concretizações, os conjuntos de dados podem ser processados em uma rede de computação distribuída ou ambiente de computação em nuvem, tal como um conjunto de recursos de computação agrupados distribuídos através da Internet. A nuvem pode proporcionar um ambiente de hospedagem que não limite um aplicativo, tal como um rastreador de dados, uma interface de pesquisa, operação de limpeza de metadados, função de automelhoramento, ou in- teligência/analítica do negócio, para um conjunto específico de recursos. Dependendo da plataforma, aplicativos podem ser dimensionados dinamicamente e aumentar seu compartilhamento de recursos dinamicamente. Por exemplo, na Figura 1, os dados 101 e o catálogo 103 podem ser componentes de dispositivos de armazenamento distribuí- dos em um ambiente de computação de nuvem. Adicionalmente, o rastreador 102, o automelhoramento 104, a limpeza de metadados 105, a interface de pesquisa 106, e a inteligência/analítica do negócio 107 podem funcionar em uma ou mais máquinas virtuais no ambiente de computação em nuvem. Estes componentes também podem ser incorporados em um centro de dados distribuído ou centralizado.
[0067] A Figura 7 ilustra um ambiente adequado de computação e de rede 700 no qual os exemplos das Figuras 1 até 6 podem ser im-plementados para identificar conjuntos de dados para um usuário utilizando uma coleção de valores e uma relação ilustrativa. O ambiente de sistema de computação 700 é pretendido como um exemplo de um ambiente de computação adequado e não é pretendido para sugerir qualquer limitação ao escopo de utilização ou funcionalidade da invenção. A invenção é operacional com numerosos outros ambientes ou configurações de sistema de computação de propósito geral ou de propósito especial. Exemplos de sistemas de computação, ambientes, e/ou configurações bem conhecidos que podem ser adequados para utilização com a invenção incluem, mas não estão limitados a: computadores pessoais, computadores servidores, dispositivos portáteis ou laptop, dispositivos tablet, sistemas multiprocessadores, sistemas baseados em microprocessador, decodificadores de sinais, eletrônica de consumo programável, PCs de rede, minicomputadores, computadores de grande porte, ambientes de computação distribuídos que incluem quaisquer dos sistemas ou dispositivos acima, e assim por diante.
[0068] A invenção pode ser descrita no contexto geral de instru ções executáveis por computador, tal como módulos de programa, sendo executados por um computador. Geralmente, os módulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, e assim por diante, os quais executam tarefas particulares ou implementam tipos de dados abstratos particulares. A invenção também pode ser praticada nos ambientes de computação distribuídos onde tarefas são executadas pelos dispositivos de processamento remotos que são ligados através de uma rede de comunicações. Em um ambiente de computação distribuído, os módulos de programa podem ser localizados em meio de armazenamento de computador local e/ou remoto incluindo dispositivos de armazenamento de memória.
[0069] Com referência à Figura 7, um sistema ilustrativo para im plementarvários aspectos da invenção pode incluir um dispositivo de computação de propósito geral na forma de um computador 700. Os componentes podem incluir, mas não são limitados a vários componentes de hardware, tal como unidade de processamento 701, armazenamento de dados 702, tal como um sistema de memória, e barra- mento do sistema 703 que acopla vários componentes do sistema incluindo o armazenamento de dados 702 com a unidade de processamento 701. O barramento do sistema 703 pode ser qualquer um de vários tipos de estruturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico, e um barramento local utilizando qualquer uma dentre uma variedade de arquiteturas de barramento. A título de ilustração, e não de limitação, tais arquiteturas incluem barramento de Arquitetura Padrão da Industria (ISA), barramento de Arquitetura de Micro Canal (MCA), barramen- to Aperfeiçoado ISA (EISA), barramento local da Associação de Padrões Eletrônicos de Vídeo (VESA), e barramento de Interconexão de Componentes Periféricos (PCI), mas também conhecido como barra- mento Mezanino.
[0070] O computador 700 tipicamente inclui uma variedade de meios legíveis por computador 704. Os meios legíveis por computador 704 pode ser qualquer meio disponível que pode ser acessado pelo computador 700 e inclui tanto meio volátil como não volátil, e meio removível e não removível, mas exclui sinais propagados. A título de ilustração, e não de limitação, o meio legível por computador 704 pode compreender meio de armazenamento de computador e meio de comunicação. O meio de armazenamento de computador inclui meio volátil e não volátil, removível e não removível implementado em qualquermétodo ou tecnologia para armazenamento de informação, tal como instruções legíveis por computador, estruturas de dados, módulos de programa, ou outros dados. O meio de armazenamento de computador inclui, mas não é limitado a, RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento de disco ótico, cassetes magnéticos, fitas magnéticas, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser utilizado para armazenar a informação desejada e que pode ser acessado pelo computador 700. O meio de comunicação tipicamente incorpora instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado tal como uma onda portadora ou outro mecanismo de transporte e inclui qualquer meio de distribuição de informação. O termo "sinais de dados modulados" significa um sinal que possui uma ou mais de suas características estabelecidas ou alteradas de modo a codificar informação no sinal. A título de ilustração, e não de limitação, o meio de comunicação inclui meio com uso de fios, tal como rede com uso de fios ou conexão com uso de fios direta, e meio sem uso de fios, tal como meio sem uso de fios acústico, RF, infravermelho ou ou-tros.Combinações de qualquer um do dito acima também podem ser incluídas dentro do escopo do meio legível por computador. O meio legível por computador pode ser incorporado como um produto de programa de computador, tal como software armazenado no meio de armazenamento de computador.
[0071] O armazenamento de dados ou a memória do sistema 702 inclui meio de armazenamento de computado na forma de memória volátil e/ou não volátil, tal como memória somente leitura (ROM) e memória de acesso aleatório (RAM). Um sistema básico de entrada/saída (BIOS), contendo as rotinas básicas que ajudam a transferir informação entre elementos dentro do computador 700, tal como durante inicializações, é tipicamente armazenado na ROM. A RAM tipicamente contém dados e/ou módulos de programa que são imediatamente acessíveis a e/ou atualmente sendo operados pela unidade de processamento 701. A título de ilustração, e não de limitação, o armazenamento de dados 702 armazena um sistema operacional, programas de aplicativo, e outrosmódulos de programa e dados de programa.
[0072] O armazenamento de dados 702 também inclui outro meio de armazenamento de computador removível/não removível, volá- til/não volátil. A título de ilustração apenas, o armazenamento de dados 702 pode ser uma unidade de disco rígido que lê ou grava no meio magnético não removível e não volátil, uma unidade de disco magnético que lê ou grava em um disco magnético removível e não volátil, e uma unidade de disco ótico que lê ou grava em um disco ótico removível e não volátil, tal como um CD ROM ou outro meio ótico. Outro meio de armazenamento de computador removível/não removível, volá- til/não volátil que pode ser utilizado no ambiente operacional ilustrativo inclui, mas não está limitado a, cassetes de fita magnética, cartões de memória flash, discos versáteis digitais, fitas de vídeo digital, RAM de estado sólido, ROM de estado sólido, e assim por diante. As unidades e seus meios de armazenamento de computador associados, descritos acima e ilustrados na Figura 7, proporcionam armazenamento de instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados para o computador 700.
[0073] Um usuário pode entrar comandos e informação através de uma interface com o usuário 705 ou de outros dispositivos de entrada, tal como um tablet, digitalizadora eletrônica, um microfone, teclado, e/ou dispositivo apontador, comumente referido como mouse, TrackBall ou teclado sensível ao toque. Outros dispositivos de entrada podem incluir um controle, controle de jogo, antena de satélite, scanner, ou coisa parecida. Adicionalmente, entradas de voz, entradas de gestos utilizando mãos ou dedos, ou outra interface natural com o usuário (NUI) também podem ser utilizadas com os dispositivos de entrada apropriados, tal como um microfone, câmera, tablet, superfície sensível ao toque, luva, ou outro sensor. Estes e outros dispositivos de entradasão de modo frequente conectados à unidade de processamento 701 através de uma interface de entrada com o usuário 705 que é acoplada ao barramento do sistema 703, mas podem ser conectados por outra interface e estruturas de barramento, tal como uma porta pa-ralela, porta de jogo ou um barramento serial universal (USB). Um monitor 706 ou outro tipo de dispositivo de vídeo também é conectado com o barramento do sistema 703 via uma interface, tal como uma interface de vídeo. O monitor 706 também pode ser integrado com um painel de tela sensível ao toque ou coisa parecida. Observe que o monitor e/ou painel de tela sensível ao toque pode ser fisicamente acoplado a um invólucro no qual o dispositivo de computação 700 é incorporado, tal como em um computador pessoal do tipo tablet. Em adição, computadores tal como o dispositivo de computação 700 também podem incluir outros dispositivos de saída periféricos, tal como alto- falantes e impressora, os quais podem ser conectados através de uma interface periférica de saída ou coisa parecida.
[0074] O computador 700 pode operar em um ambiente de com putação em rede ou de nuvem utilizando conexões lógicas 707 para um ou mais dispositivos remotos, tal como um computador remoto. Este computador remoto pode ser um computador pessoal, um servidor, um roteador, um PC de rede, um dispositivo de ponto de rede ou outro nó da rede comum, e tipicamente inclui vários ou todos os elementos descritos acima com relação ao computador 700. As conexões lógicas descritas na Figura 7 incluem uma ou mais redes de área locais (LAN) e uma ou mais redes de longa distância (WAN), mas também pode incluir outras redes. Tais ambientes em rede são comuns em escritórios, redes de computador a nível empresarial, intranets e na Internet.
[0075] Quando utilizado em um ambiente de computação em rede ou de nuvem, o computador 700 pode ser conectado a uma rede pública ou privada através de uma interface da rede ou adaptador 707. Em algumas concretizações, um modem ou outro dispositivo para estabele-cercomunicações através da rede. O modem, o qual pode ser interno ou externo, pode ser conectado ao barramento do sistema 703 via a interface da rede 707 ou outro mecanismo apropriado. Um componente de rede sem uso de fios, tal como compreendendo uma interface e uma antena, pode ser acoplado através de um dispositivo adequando, tal como um ponto de acesso ou computador de ponto de rede com a rede. Em um ambiente com rede, módulos de programa descritos com relação ao computador 700, ou partes dos mesmos, podem ser armazenados no dispositivo de armazenamento de memória remota. Pode ser apreciado que as conexões de rede apresentadas são ilustrativas e outros dispositivos para estabelecer uma ligação de comunicações entre os computadores podem ser utilizados.
[0076] Apesar de o assunto ter sido descrito em linguagem especí fico aos aspectos estruturais e/ou ações metodológicas, é para ser entendido que o assunto definido nas reivindicações anexas não é necessariamente limitado aos aspectos e ações específicos descritos acima. Ao invés disso, os aspectos e ações específicos descritos acimasão revelados como formas ilustrativas de implementar as reivindicações.

Claims (10)

1. Sistema de processamento de dados caracterizado pelo fato de que compreende: um processador; e uma memória acoplada ao processador, a memória armazenando um método para fazer com que o sistema de processamento de dados: receba (501) uma coleção de valores a partir de um usuário; identifique (502) um tipo de dados para cada um dos valores; identifique (503) conjuntos de dados que correspondem aos tipos de dados, cada um dos conjuntos de dados identificados possuindo um ou mais dos tipos de dados que correspondem aos valores recebidos do usuário; identifique (504) relações entre os conjuntos de dados, as relações correspondendo às ligações entre os tipos de dados similares em conjuntos de dados distintos; proporcione (505) uma lista de grupos propostos de conjuntos de dados, em que os conjuntos de dados dentro de cada grupo proposto são ligados uns aos outros através de uma ou mais relações.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: receber (506) um conjunto de valores de exemplo do usuário, o conjunto de valores de exemplo correspondente a uma relação conhecida entre dois ou mais tipos de dados; e listar (507) um segundo grupo proposto de conjuntos de dados para o usuário, em que os conjuntos de dados dentro do segundo grupo proposto incluem o conjunto de valores de exemplo.
3. Método caracterizado pelo fato de que compreende as etapas de: executar, por um processador em um sistema de computador, identificar (601) uma coleção de domínios correspondendo a uma coleção de valores sendo palavras do mesmo tipo; identificar (602) os conjuntos de dados distintos correspondendo a pelo menos um dos domínios; identificar (603) relações entre os conjuntos de dados, as relações correspondendo às ligações entre os domínios similares em conjuntos de dados distintos; identificar (604), em que os conjuntos de dados dentro de cada grupo proposto são ligados uns com os outros através de uma ou mais relações; receber (605) um conjunto de valores ilustrativo, o conjunto de valores ilustrativo correspondendo a uma relação conhecida entre dois ou mais domínios; e identificar (606) um ou mais grupos propostos de conjuntos de dados, em que valores do conjunto de valores ilustrativo são encontrados dentro dos conjuntos de dados dos grupos propostos.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que todos os valores do conjunto de valores ilustrativo são encontrados dentro dos conjuntos de dados dos grupos propostos.
5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que pelo menos um dos valores do conjunto de valores ilustrativo é encontrado dentro dos conjuntos de dados dos grupos propostos.
6. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: receber uma seleção do usuário de um dos grupos propostos de conjunto de dados; e combinar os conjuntos de dados dentro do grupo selecionado de conjuntos de dados em um novo conjunto de dados.
7. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: receber uma seleção do usuário de um dos grupos propostos de conjunto de dados; e combinar os subconjuntos do conjuntos de dados dentro do grupo selecionado de conjunto de dados em um novo conjunto de dados.
8. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que os conjuntos de dados nos grupos propostos são ligados uns com os outros através das relações com os conjuntos de dados intermediários que não incluem os domínios na coleção de domínios.
9. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que os conjuntos de dados nos grupos propostos compreendem conjuntos de dados que possuem domínios sobrepostos correspondendo à coleção de valores.
10. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: classificar os grupos propostos de conjuntos de dados, a classificação baseada em pesos atribuídos a um ou mais dos tipos de dados, conjuntos de dados, e valores recebidos do usuário.
BR112014023495-7A 2012-04-10 2013-04-08 Sistema e método de processamento de dados BR112014023495B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/443,681 2012-04-10
US13/443,681 US8983954B2 (en) 2012-04-10 2012-04-10 Finding data in connected corpuses using examples
PCT/US2013/035539 WO2013154951A1 (en) 2012-04-10 2013-04-08 Finding data in connected corpuses using examples

Publications (3)

Publication Number Publication Date
BR112014023495A2 BR112014023495A2 (pt) 2017-06-20
BR112014023495A8 BR112014023495A8 (pt) 2017-12-12
BR112014023495B1 true BR112014023495B1 (pt) 2021-11-30

Family

ID=48289606

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014023495-7A BR112014023495B1 (pt) 2012-04-10 2013-04-08 Sistema e método de processamento de dados

Country Status (5)

Country Link
US (2) US8983954B2 (pt)
EP (1) EP2836935B1 (pt)
CN (1) CN104221017B (pt)
BR (1) BR112014023495B1 (pt)
WO (1) WO2013154951A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983954B2 (en) 2012-04-10 2015-03-17 Microsoft Technology Licensing, Llc Finding data in connected corpuses using examples
US11163732B2 (en) * 2015-12-28 2021-11-02 International Business Machines Corporation Linking, deploying, and executing distributed analytics with distributed datasets
US11157520B2 (en) * 2016-03-28 2021-10-26 DataSpark, Pte Ltd. Uniqueness level for anonymized datasets
US10417439B2 (en) 2016-04-08 2019-09-17 Google Llc Post-hoc management of datasets
US11093564B1 (en) 2016-09-26 2021-08-17 Splunk Inc. Identifying configuration parameters for a query using a metadata catalog
US11157498B1 (en) 2016-09-26 2021-10-26 Splunk Inc. Query generation using a dataset association record of a metadata catalog
WO2018236341A1 (en) * 2017-06-19 2018-12-27 Hitachi, Ltd. METHOD FOR AUTOMATICALLY CREATING METADATA FOR A DATA LAKE
US11301495B2 (en) * 2017-11-21 2022-04-12 Cherre, Inc. Entity resolution computing system and methods
US20190220537A1 (en) * 2018-01-15 2019-07-18 Microsoft Technology Licensing, Llc Context-sensitive methods of surfacing comprehensive knowledge in and between applications
US11238049B1 (en) 2018-04-30 2022-02-01 Splunk Inc. Revising catalog metadata based on parsing queries
US11392578B1 (en) * 2018-04-30 2022-07-19 Splunk Inc. Automatically generating metadata for a metadata catalog based on detected changes to the metadata catalog
US11573955B1 (en) 2018-04-30 2023-02-07 Splunk Inc. Data-determinant query terms
GB201817074D0 (en) 2018-10-19 2018-12-05 Palantir Technologies Inc System and method for querying a data repository
US11048675B2 (en) 2019-01-31 2021-06-29 EMC IP Holding Company LLC Structured data enrichment
FR3094508A1 (fr) * 2019-03-29 2020-10-02 Orange Système et procédé d’enrichissement de données
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448727A (en) 1991-04-30 1995-09-05 Hewlett-Packard Company Domain based partitioning and reclustering of relations in object-oriented relational database management systems
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6691140B1 (en) * 1999-07-30 2004-02-10 Computer Associates Think, Inc. Method and system for multidimensional storage model with interdimensional links
US7065451B2 (en) * 2001-05-24 2006-06-20 Board Of Regents, The University Of Texas System Computer-based method for creating collections of sequences from a dataset of sequence identifiers corresponding to natural complex biopolymer sequences and linked to corresponding annotations
EP1423804A4 (en) * 2001-08-10 2006-11-08 Datavine Res Services METHOD AND APPARATUS FOR ACCESSING, INTEGRATION, AND ANALYSIS OF HETEROGENEOUS DATA SOURCES BY HANDLING METADATA OBJECTS
US6792414B2 (en) 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US20030083892A1 (en) * 2001-11-01 2003-05-01 Arun Ramachandran Process for one-stop shopping of all available license deals available using a usage based licensing server data structure
US20040088322A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for determining connections between information aggregates
US20040088315A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for determining membership of information aggregates
US7181450B2 (en) * 2002-12-18 2007-02-20 International Business Machines Corporation Method, system, and program for use of metadata to create multidimensional cubes in a relational database
US7613700B1 (en) * 2003-09-18 2009-11-03 Matereality, LLC System and method for electronic submission, procurement, and access to highly varied material property data
US7333995B2 (en) * 2004-07-02 2008-02-19 Cognos, Incorporated Very large dataset representation system and method
GB2418499A (en) * 2004-09-24 2006-03-29 Advanced Forensic Solutions Lt Information analysis arrangement
KR20060053169A (ko) * 2004-10-09 2006-05-19 마이크로소프트 코포레이션 정적 및 동적 데이타 세트들의 인터랙션
FR2886217A1 (fr) * 2005-05-27 2006-12-01 Valeo Systemes Thermiques Module autonome de climatisation notamment destine au traitement thermique d'une zone de l'habitacle d'un vehicule
US7917511B2 (en) * 2006-03-20 2011-03-29 Cannon Structures, Inc. Query system using iterative grouping and narrowing of query results
US7999809B2 (en) * 2006-04-19 2011-08-16 Tableau Software, Inc. Computer systems and methods for automatic generation of models for a dataset
US8856105B2 (en) * 2006-04-28 2014-10-07 Hewlett-Packard Development Company, L.P. Dynamic data navigation
US7797319B2 (en) * 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
EP1903482A3 (en) * 2006-09-13 2017-08-09 InterSystems Corporation Data processing based on data linking elements
US7912875B2 (en) * 2006-10-31 2011-03-22 Business Objects Software Ltd. Apparatus and method for filtering data using nested panels
US7685146B2 (en) 2006-11-03 2010-03-23 Business Objects, S.A. Apparatus and method for a collaborative semantic domain and data set based on combining data
US7698285B2 (en) * 2006-11-09 2010-04-13 International Business Machines Corporation Compression of multidimensional datasets
US8484252B2 (en) * 2006-11-30 2013-07-09 International Business Machines Corporation Generation of a multidimensional dataset from an associative database
US20090024590A1 (en) * 2007-03-15 2009-01-22 Sturge Timothy User contributed knowledge database
US8145677B2 (en) * 2007-03-27 2012-03-27 Faleh Jassem Al-Shameri Automated generation of metadata for mining image and text data
US8640056B2 (en) * 2007-07-05 2014-01-28 Oracle International Corporation Data visualization techniques
US8286100B2 (en) * 2007-07-05 2012-10-09 Oracle International Corporation Linking graphical elements of data visualizations
US8209665B2 (en) * 2008-04-08 2012-06-26 Infosys Limited Identification of topics in source code
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
KR101607178B1 (ko) * 2008-10-23 2016-03-29 아브 이니티오 테크놀로지 엘엘시 데이터 조작 수행, 데이터 품질 측정, 또는 데이터 요소 결합을 위한 방법, 시스템, 및 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 매체
GB0906409D0 (en) * 2009-04-15 2009-05-20 Ipv Ltd Metadata browse
US8892540B2 (en) * 2009-04-24 2014-11-18 Rockwell Automation Technologies, Inc. Dynamic sustainability search engine
US8321390B2 (en) * 2009-06-11 2012-11-27 Vivek Swarnakar Methods and apparatus for organizing data in a database
US8412719B1 (en) * 2009-09-02 2013-04-02 Google Inc. Method and system for segmenting a multidimensional dataset
CN101694952B (zh) * 2009-09-28 2012-04-25 国电南京自动化股份有限公司 由iec61850 scd文件生成嵌入式远动系统装置定义的方法
US8862557B2 (en) 2009-12-23 2014-10-14 Adi, Llc System and method for rule-driven constraint-based generation of domain-specific data sets
US8341099B2 (en) 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
US8244766B2 (en) * 2010-04-13 2012-08-14 Microsoft Corporation Applying a model of a persona to search results
US20110282861A1 (en) * 2010-05-11 2011-11-17 Microsoft Corporation Extracting higher-order knowledge from structured data
US8447747B1 (en) * 2010-09-14 2013-05-21 Amazon Technologies, Inc. System for generating behavior-based associations for multiple domain-specific applications
US8943079B2 (en) * 2012-02-01 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods for anonymizing a data set
US8983954B2 (en) 2012-04-10 2015-03-17 Microsoft Technology Licensing, Llc Finding data in connected corpuses using examples

Also Published As

Publication number Publication date
EP2836935A1 (en) 2015-02-18
US8983954B2 (en) 2015-03-17
US20150193533A1 (en) 2015-07-09
BR112014023495A8 (pt) 2017-12-12
US10140366B2 (en) 2018-11-27
WO2013154951A1 (en) 2013-10-17
CN104221017A (zh) 2014-12-17
EP2836935B1 (en) 2019-06-05
BR112014023495A2 (pt) 2017-06-20
US20130268531A1 (en) 2013-10-10
CN104221017B (zh) 2018-05-22

Similar Documents

Publication Publication Date Title
BR112014023495B1 (pt) Sistema e método de processamento de dados
US10599643B2 (en) Template-driven structured query generation
US20200192727A1 (en) Intent-Based Organisation Of APIs
US8918348B2 (en) Web-scale entity relationship extraction
Remsen The use and limits of scientific names in biological informatics
US20170075983A1 (en) Subject-matter analysis of tabular data
US9251245B2 (en) Generating mappings between a plurality of taxonomies
US11361030B2 (en) Positive/negative facet identification in similar documents to search context
US10614138B2 (en) Taste extraction curation and tagging
US20220114361A1 (en) Multi-word concept tagging for images using short text decoder
US20150269691A1 (en) Legal reasoning graphs and usage thereof
US20150178372A1 (en) Creating an ontology across multiple semantically-related data sets
Liu et al. Radar station: Using kg embeddings for semantic table interpretation and entity disambiguation
Li et al. API Caveat Explorer--Surfacing Negative Usages from Practice: An API-oriented Interactive Exploratory Search System for Programmers
US20200073871A1 (en) A system for managing, analyzing, navigating or searching of data information across one or more sources within a computer or a computer network, without copying, moving or manipulating the source or the data information stored in the source
Drakopoulos et al. A semantically annotated JSON metadata structure for open linked cultural data in Neo4j
Moslehi et al. A feature location approach for mapping application features extracted from crowd-based screencasts to source code
Rezaei et al. The process of multi-class fake news dataset generation
Odijk et al. Supporting exploration of historical perspectives across collections
Zhang et al. WiiCluster: A platform for wikipedia infobox generation
de Oliveira et al. Mapping and conversion between relational and graph databases models: A systematic literature review
Lam et al. Using the structure of DBpedia for exploratory search
Devezas et al. Finding language-independent contextual supernodes on coreference networks
Aletras Interpreting document collections with topic models
Guan et al. Graph Based Visualization of Large Scale Microblog Data

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

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 08/04/2013, OBSERVADAS AS CONDICOES LEGAIS.