• Nenhum resultado encontrado

Estimando similaridade entre entidades quando apenas seus nomes estão disponíveis.

N/A
N/A
Protected

Academic year: 2021

Share "Estimando similaridade entre entidades quando apenas seus nomes estão disponíveis."

Copied!
64
0
0

Texto

(1)

Estimando Similaridade Entre Entidades

Quando Apenas Seus Nomes Estão Disponíveis

Ouro Preto

31 de outubro de 2018

(2)

Priscila Sad de Sousa

Estimando Similaridade Entre Entidades Quando Apenas

Seus Nomes Estão Disponíveis

Proposta de Dissertação apresentada ao curso de Pós-Graduação em Ciência da Computa-ção da Universidade Federal de Ouro Preto como requisito para a obtenção de grau de Mestre em Ciência da Computação.

Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB

Departamento de Computação - DECOM

Orientador: Anderson Almeida Ferreira

Ouro Preto

31 de outubro de 2018

(3)

Catalogação: www.sisbin.ufop.br disponíveis [manuscrito] / Priscila Sad de Sousa. - 2018. 64f.: il.: color; grafs; tabs.

Orientador: Prof. Dr. Anderson Almeida Ferreira.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Ciências Exatas e Biológicas. Departamento de Computação. Programa de Pós-Graduação em Ciência da Computação.

Área de Concentração: Ciência da Computação.

1. Integração de dados (Computação). 2. Dados da Web. I. Ferreira, Anderson Almeida . II. Universidade Federal de Ouro Preto. III. Titulo.

(4)
(5)
(6)

Agradecimentos

Ao Professor e Orientador Anderson Almeida Ferreira, pelo incentivo, orientação e aprendizado.

Ao meu pai Marcos Vinícius, minha mãe Fátima (in memorian), à minha“boadrasta” Lucília, às minhas irmãs Alessandra e Larissa e à minha avó Renê (in memorian) por todo o amor e incentivo.

A Fábio Ferreira pela compreensão em meus momentos de ausência, pelo apoio incondicional, me encorajando sempre para que esse trabalho fosse concluído com êxito.

À minha família, em especial a meu tio Tadeu e a tia Luzia.

Aos amigos que fiz nesse período, Laís, Tatiana, Helen, Vanessa, Leandro e Dênis, que certamente levarei para a vida.

Ao Programa de Pós-Graduação em Ciência da Computação (PPGCC) da Uni-versidade Federal de Ouro Preto.

À Universidade Federal de Ouro Preto, pelos recursos e infraestrutura disponibili-zados.

Ao Campus Barbacena do Instituto Federal do Sudeste de Minas Gerais (IF Sudeste MG), pelo programa de incentivo à qualificação de docentes.

E finalmente, a todos que, direta ou indiretamente, contribuíram para a conclusão deste trabalho.

(7)

oportunidades e não da solução dos problemas. A solução de problemas só restaura anormalidade. As oportunidades significam explorar novos caminhos.” (Peter Drucker)

(8)

Estimando Similaridade Entre Entidades Quando

Apenas Seus Nomes Estão Disponíveis

Resumo

A similaridade pode refletir a relação ou significado entre dois conceitos ou entidades, por exemplo. Uma entidade pode ser algo físico ou lógico, podendo ser descrita em função de atributos cujos valores informam as características específicas da entidade, diferenciando-nas uma das outras, como por exemplo a entidade artigo científico e alguns de seus atributos, nome, palavras-chaves, resumo. Estimar a similaridade entre entidades desempenha um papel importante em várias tarefas, como, por exemplo, expansão de consultas, desambiguação e recomendação de entidades. Identificar a similaridade entre entidades por meio dos nomes, como entre títulos de artigos científicos, pode não ser viável a partir, apenas, da comparação direta ou usando abordagens de similaridade baseadas em conhecimento. A Web, por outro lado, traz uma grande variedade de dados sobre diversos assuntos e é de livre acesso, sendo uma fonte de dados viável para auxiliar na verificação de similaridade entre um par de nomes de entidades em diversos domínios. Neste trabalho, é proposto um método para calcular a similaridade entre dois nomes de entidades, baseado na comparação direta e nas características inferidas a partir de dados obtidos da Web com modelagem de tópicos e com o auxílio de termos de gênero. Os experimentos mostram que o método é capaz de verificar a similaridade entre nomes de entidades, mesmo entre aqueles que compartilham poucos ou mesmo nenhum termo, superando o método utilizado como baseline.

(9)

Their Names Are Available

Abstract

Similarity may reflect the relation or meaning between two concepts or entities. An entity can be something physical or logical and described based in attributes which values inform the specific characteristics of the entity, differentiating one from each other. Name, keywords and abstract are attributes of a scientific paper entity. Estimating the similarity between entities plays an important role in several tasks, such as query expansion, disambiguation, and entity recommendation. Identifying the similarity between entities using names, for instance, between titles of scientific articles, may not be feasible from either direct comparison or using knowledge-based similarity approaches. On the other hand, the Web brings a wide variety of data about several subjects and is freely accessible, making it a data source feasible to assist in checking for similarity between names of entities from different domains. In this work, we propose a method to estimate the similarity between entities based on their names and to direct compare and infer characteristics from data obtained from the Web along with topic modeling and the aid of genre-aware. The experiments show that the method is able to check the similarity between entity names, even they share few or no term, outperforming the baseline.

(10)

Declaração

Esta dissertação é resultado de meu próprio trabalho, exceto onde referência explícita é feita ao trabalho de outros, e não foi submetida para outra qualificação nesta nem em outra universidade.

(11)

Figura 1 – Representação gráfica de dois documentos usando o Modelo Espaço

Vetorial. . . 21

Figura 2 – Atribuição de tópicos a um documento em LDA . . . 23

Figura 3 – Maneiras de utilizar o modelo Word2vec . . . 25

Figura 4 – Termos no espaço vetorial com word2vec . . . . 26

Figura 5 – Relação entre palavras no espaço vetorial . . . 27

Figura 6 – Fluxo de dados no método proposto. . . 34

Figura 7 – Etapas detalhadas do Passo 2 do método proposto. . . 36

Figura 8 – Categorias de um Veículo de Publicação. . . 42

Figura 9 – Coeficiente de Jaccard para os pares similares e não similares de ambas as Coleções de dados. . . 44

Figura 10 – Critério de seleção de termos: Sem seleção de termos. . . 45

Figura 11 – Critério de seleção de termos: Termos de melhor IDF. . . 45

Figura 12 – Critério de seleção de termos: Termos mais próximos aos termos de gênero. . . 46

Figura 13 – Critério de seleção de termos: Sem seleção de termos. . . 46

Figura 14 – Critério de seleção de termos: Termos de melhor IDF. . . 46

Figura 15 – Critério de seleção de termos: Termos mais próximos aos termos de gênero. . . 47

Figura 16 – Seleção de termos para os pares similares e não similares, considerando o β que gerou maior ganho de similaridade. . . . 47

Figura 17 – Comparação do método com baseline para a coleção de dados Artigos Científicos. . . 48

Figura 18 – Comparação do método com o baseline para a coleção de dados Veículos de Publicação. . . 49

Figura 19 – Similaridade com word embeddings para nomes da entidade Artigo Científico . . . 56

Figura 20 – Comparação do método com baseline para a coleção de dados Artigos Científicos. . . 56

Figura 21 – Similaridade com word embeddings para nomes da entidade Veículo de Publicação . . . 57

Figura 22 – Comparação do método com baseline para a coleção de dados Veículos de Publicação. . . 58

(12)

Lista de tabelas

Tabela 1 – Exemplo de referências bibliográficas com nomes ambíguos, encontradas

na DBLP, para comparar os veículos de publicação . . . 16

Tabela 2 – Representação Vetorial para uma coleção de documentos. . . 23

Tabela 3 – Exemplo de uma Lista de Termos de Gênero para Oferta de Emprego . 27 Tabela 4 – Exemplo de lista de termos de gênero para entidades do tipo Artigo Científico. . . 35

Tabela 5 – Exemplo de lista de termos de gênero para entidades do tipo Veículos de Publicação. . . 35

Tabela 6 – Características dos conjuntos de dados. . . 41

Tabela 7 – Exemplo de Pares de Veículos de Publicação Similares. . . 51

Tabela 8 – Exemplo de Pares de Veículos de Publicação não Similares. . . 51

Tabela 9 – Exemplo de Pares de Veículos de Publicação Similares. . . 52

(13)

CBOW Continuous bag-of-words

CFP Wiki Call For Paper

IDF Frequência Invertida do Documento

FDC Função de Distribuição Cumulada

LDA Latent Dirichlet Allocation

LTG Lista de Termos de Gênero

LSA Latent Semantic Analysis

MEV Modelo Espaço Vetorial

MT Modelagem de Tópicos

NDG Distância Google Normalizada

TG Termos de Gênero

TF Frequência do Termo

TF-IDF Frequência do Termo–Frequência Invertida do Documento

SW Stopword

(14)

Sumário

1 INTRODUÇÃO . . . 15 1.1 Justificativa . . . 18 1.2 Objetivo . . . 19 1.2.1 Objetivos específicos . . . 19 1.3 Contribuição . . . 19 1.4 Organização da Dissertação . . . 20 2 FUNDAMENTAÇÃO TEÓRICA . . . 21

2.1 Representação de documentos no Modelo Espaço Vetorial . . . 21

2.2 Modelagem de Tópicos . . . 23

2.3 Representação de termos em vetores densos . . . 24

2.4 Coleta temática baseada em termos de gênero . . . 25

2.5 Métricas de Similaridade . . . 27 2.5.1 Coeficiente de Jaccard . . . 27 2.5.2 Similaridade Cosseno . . . 28 2.5.3 Distância Euclidiana . . . 28 2.5.4 Distância Manhattan . . . 28 2.5.5 Distância de Jaro . . . 28 3 TRABALHOS RELACIONADOS . . . 30

3.1 Estimando a similaridade usando mecanismos de busca na web . . . 30

3.2 Estimando a similaridade com modelagem de tópicos . . . 31

3.3 Estimando a similaridade com word embeddings . . . 32

3.4 Discussão . . . 33

4 UM MÉTODO PARA ENCONTRAR A SIMILARIDADE ENTRE NOMES DE ENTIDADES AUXILIADA PELA WEB . . . 34

4.1 Passo 1 - Comparação Léxica . . . 34

4.2 Passo 2 - Usando dados obtidos da Web para estimar a similaridade 35 4.2.1 Etapa 1 - Aquisição de Páginas Web . . . 36

4.2.2 Etapa 2 - Extração de dados das páginas Web . . . . 36

4.2.3 Etapa 3 - Pré-processamento dos dados . . . 37

4.2.4 Etapa 4 - Ordenação das páginas . . . 37

4.2.5 Etapa 5 - Seleção de termos relevantes . . . 38

4.2.6 Etapa 6 - Representando cada página por meio de vetores . . . 39

(15)

5.1 Configuração dos experimentos . . . 41

5.1.1 Conjuntos de dados . . . 41

5.2 Configuração dos Experimentos . . . 42

5.3 Resultados e Discussões . . . 43

5.4 Outro avaliação realizada para identificar a similaridade entre as entidades usando word embeddings . . . 53

5.4.1 Estimando a similaridade usando Word Embeddings . . . 53

5.4.2 Configuração dos experimentos . . . 54

5.4.3 Resultados . . . 55

6 CONCLUSÕES . . . 59

(16)

15

1 Introdução

A similaridade desempenha um papel importante para diversas tarefas, tais como, verificar a similaridade entre palavras (BOLLEGALA; MATSUO; ISHIZUKA, 2011; MARTINEZ-GIL; ALDANA-MONTES, 2012) e entre textos curtos (ZHAO et al., 2016; YANG; KITSUREGAWA, 2011; SAHAMI; HEILMAN, 2006), fazer expansão de consultas para recuperar documentos na Web (HASLHOFER; MARTINS; MAGALHãES, 2013), auxiliar no processo de desambiguação de nomes de autores (SANTANA et al., 2017), recomendar itens similares a usuários (HERLOCKER, 2000), dentre outras. A similaridade pode refletir a relação ou significado entre dois conceitos, entidades, termos, frases ou documentos (MEYMANDPOUR; DAVIS, 2016).

Em (BRIZAN; TANSEL, 2015), uma entidade pode ser considerada algo físico, como uma pessoa ou casa, ou pode ser alguma construção lógica, como uma família ou uma rede social, podendo ser descrita em função de atributos cujos valores informam as características específicas da entidade, por exemplo, CPF e data de aniversário são atributos da entidade Pessoa. Esses atributos quando juntos, diferencia as entidades Pessoas umas das outras. Neste trabalho, a similaridade envolve identificar o quão duas entidades estão relacionadas, sem, necessariamente, compartilharem o mesmo sentido ou significado.

Comparar duas entidades quando se tem apenas os seus nomes e estimar a similaridade entre elas apresenta um grande desafio. Inicialmente, a similaridade entre esses nomes pode ser estimada analisando a correspondência léxica entre as cadeias de caracteres dos respectivos nomes, a fim de verificar se elas são correspondentes, usando noções de distância ou similaridade, como, por exemplo, coeficiente de Jaccard, distância de edição ou Jaro. Essa forma pode funcionar em situações triviais, em que os nomes das entidades possuem termos em comum. Por outro lado, é inviável identificar a similaridade quando os nomes compartilham pouco ou nenhum termo.

Para ilustrar este problema, considere os dados mostrados na Tabela 1 referentes a publicações científicas, em que será apresentada uma das necessidades de se comparar, por exemplo, entidades do tipo Veículos de Publicação e Artigos Científicos. Em problemas como a desambiguação de nomes de autores, normalmente, usa-se as informações existentes na referência bibliográfica do autor, como o título do trabalho científico, o veículo de publicação e coautores para auxiliar a identificar se duas referências bibliográficas referenciam o mesmo autor.

Suponha que se deseja saber se “J. A. Robinson” e “John A. Robinson” são nomes que se referem a mesma pessoa. Para auxiliar nisso, poderia-se verificar qual é

(17)

Tabela 1 – Exemplo de referências bibliográficas com nomes ambíguos, encontradas na DBLP, para comparar os veículos de publicação

Nome ambíguo Referência Bibliográfica

J. A. Robinson J. A. Robinson: Adaptive prediction trees for image compression.

IEEE Transactions on Image Processing 15(8): 2131-2145 (2006)

John A. Robin-son

John A. Robinson: Efficient Gaussian filtering using Cascaded Prefix Sums. ICIP 2012: 117-120

A. K. Gupta A. K. Gupta, P. Kumar, R. K. Sahoo, A. K. Sahu, S. K. Sarangi:

Performance measurement of plate fin heat exchanger by explora-tion: ANN, ANFIS, GA, and SA. J. Computational Design and Engineering 4(1): 60-68 (2017)

A. K. Gupta Ankur Goel, Rohit K. Sharma, A. K. Gupta: Process variations

aware area efficient negative bit-line voltage scheme for improving write ability of SRAM in nanometer technologies. IET Circuits, Devices & Systems 6(1): 45-51 (2012)

A. K. Gupta Santanu Saha Ray, A. K. Gupta: A numerical investigation of

time-fractional modified Fornberg-Whitham equation for analyzing the behavior of water waves. Applied Mathematics and Computation 266: 135-148 (2015)

a similaridade entre as cadeias de caracteres que compõem os nomes dos veículos de publicação correspondentes a cada autor, “IEEE Transactions on Image Processing” e “ICIP’,’ usando, por exemplo, o coeficiente de Jaccard. O resultado dessa comparação seria igual a zero, indicando a não existência de similaridade entre os dois nomes dos veículos de publicação. No entanto, ao acessar páginas web referentes a esses dois veículos, é possível verificar que, além dos nomes por extenso de ambos compartilharem termos, “IEEE Transactions on Image Processing” e “ICIP” (International Conference on Image

Processing), há também uma grande interseção entre os valores textuais referentes a

outros atributos dos veículos de publicação, como o objetivo, escopo e tópicos de interesse, mostrando que há alta similaridade entre eles.

A Tabela 1 mostra ainda três referências bibliográficas referentes a autores com nome “A. K. Gupta”. Da mesma maneira, se forem comparados diretamente os nomes dos veículos de publicação ou os títulos dos artigos científicos desses autores, não é possível identificar se os nomes dos autores referenciam a mesma pessoa. Se os nomes dos veículos de publicação forem submetidos a uma pesquisa em um motor de busca e em seguida, as páginas web referentes aos veículos de publicação forem acessadas, pode-se estimar que a possibilidade os dois primeiros autores “A. K. Gupta” serem a mesma pessoa é maior em relação ao último autor, por compartilharem uma maior quantidade de informações

(18)

Capítulo 1. Introdução 17

em comum, em relação ao objetivo, escopo e tópicos de interesse, ao contrário do último autor, que não compartilha das mesmas informações.

Para tentar sanar os desafios para o problema da similaridade, diversos trabalhos têm sido propostos na literatura, podendo ser categorizados em função da estratégia utilizada (HARISPE et al., 2013). Por exemplo, i) estratégia baseada em cadeia de caracteres; ii) estratégia baseada em conhecimento; iii) estratégia baseada em coleção de documentos; e iv) estratégia híbrida, na qual duas ou mais estratégias são combinadas. As estratégias baseadas em cadeias de caracteres nem sempre são capazes de identificar corretamente a similaridade entre um par de nomes, uma vez que as cadeias com grafias completamente distintas podem ter conceitos relacionados e apresentarem similaridade. As estratégias baseadas em conhecimento, tais como o uso de thesauros, esquemas de classificação e taxonomias, utilizam estruturas semânticas para organizarem os termos e a relação entre eles. Normalmente, essas estruturas são elaboradas manualmente e podem

ser de propósito geral, como o WordNet1 ou específico como MeSH2 (Medical Subject

Headings Vocabulary). Além disso, essas estruturas normalmente não cobrem termos como

nomes próprios, acrônimos e, em muitos casos, não há estruturas de domínios específicos, de acordo com o tipo de entidade que se deseja comparar.

As estratégias baseadas em coleção de documentos estimam uma informação esta-tística, em que a hipótese distribucional é a suposição central da técnica, presumindo-se que palavras que coocorrem em contextos semelhantes estão de alguma forma semanticamente relacionadas, como, por exemplo, a modelagem de tópicos (YANG; KITSUREGAWA, 2011; BLEI; NG; JORDAN, 2003). Se existirem coleções relacionadas às entidades que estão sendo comparadas, elas serão úteis para calcular a similaridade entre os nomes dessas duas entidades. No entanto, para textos curtos, como nomes de entidades, pode ser difícil captar a similaridade, visto que muitos termos podem não coocorrer no mesmo contexto. Com o avanço da semântica distribucional, as abordagens baseadas em redes neurais requerem uma grande quantidade de dados textuais não rotulados para criar um espaço semântico, cujos termos são representados por vetores, chamados word embeddings (MIKOLOV et al., 2013), de tal forma que palavras semântica ou sintaticamente semelhantes tendem a estar próximas no espaço semântico.

Perante o exposto e a dificuldade em comparar duas entidades tendo apenas os nomes, este trabalho tem o propósito de verificar/calcular a similaridade entre duas entidades quaisquer, recebendo como entrada apenas os nomes, ou pequenos textos, referentes a essas entidades e retornar a similaridade entre elas. Para isso, utiliza-se informação obtida da web, por meio de respostas a consultas submetidas a um motor de busca, utilizando o texto referente a cada uma das entidades comparadas.

1 http://wordnet.princeton.edu 2 https://www.ncbi.nlm.nih.gov/mesh

(19)

O método proposto extrai o texto das páginas web retornadas pelo motor de

busca auxiliado por Termos de Gênero (TG)3, similar ao uso desses termos na tarefa

de coleta temática (ASSIS et al., 2009) e na tarefa de enriquecimento de arquivos de autoridade de conferências científicas (JESUS; PEREIRA, 2017). A intuição é que páginas web que não são relevantes para o contexto e não possuem termos de gênero, auxiliarão pouco na estimativa de similaridade. Os termos de gênero são usados também para formar um ranking de páginas web relevantes e, em seguida, são utilizados para fazer a seleção de termos usados para encontrar a similaridade entre o par de entidades. Por fim, características são extraídas do texto resultante de cada página web para calcular a similaridade. Os resultados dos experimentos mostram que o método é capaz de indicar a similaridade entre entidades, mesmo quando elas não possuem, ou possuem poucos, termos em comum em seus nomes, apresentando ganhos de 40% comparados ao uso do coeficiente de jaccard e até 45% em relação ao trabalho utilizado como baseline.

1.1

Justificativa

O crescimento do volume de dados e a necessidade do usuário encontrar infor-mações cada vez mais precisas, completas e de qualidade, faz com que a integração de dados oriundos de múltiplas fontes seja imprescindível. Dentre as diversas abordagens relacionadas a integração de dados, a similaridade é essencial no processo de identificação de correspondências corretas das entidades. No entanto, nem sempre se conhece todos os valores dos atributos das entidades, o que dificulta avaliar se elas são correspondentes. Quando se conhece apenas o nome dessas entidades, conforme mencionado anteriormente, comparar diretamente seus nomes, na maioria das vezes, não é o suficiente para avaliar a similaridade entre elas, sendo necessário buscar informações externamente para auxiliar no processo de estimar o quão similar ou relacionadas são as entidades.

Como dito anteriormente, a Web possui uma variedade de dados sobre diversos assuntos e em diversos formatos, e é de livre acesso, sendo, então, uma fonte de dados para acessar conteúdo relevante de forma rápida e precisa (ZANCANARO et al., 2013). Desse modo, a Web torna-se uma fonte de dados viável para auxiliar na verificação da similaridade entre duas entidades, por meio de seus nomes (ou textos), que podem representá-las de diversas formas. Além disso, recursos, como os motores de buscas, recuperam dados para uma consulta, que podem ser utilizados na verificação da relação entre palavras, como, por exemplo, os snippets (BOLLEGALA; MATSUO; ISHIZUKA, 2011; SAHAMI; HEILMAN, 2006), a quantidade de páginas (hits) (CILIBRASI; VITANYI, 2007; MARTINEZ-GIL; ALDANA-MONTES, 2012), hiperlinks (CALADO et al., 2006; TAN; KAN; LEE, 2006),

3 Termos de gênero, neste trabalho, se referem a termos que são comumente encontrados em páginas do

(20)

Capítulo 1. Introdução 19

além de recuperar páginas web relevantes, que podem ser utilizadas para compor coleções relacionadas às entidades a serem comparadas.

Diante disso, acredita-se que a partir de consultas submetidas aos motores de busca na Web, usando os nomes das entidades que se deseja comparar, as páginas recuperadas podem ser usadas, a partir de critérios previamente estabelecidos e com o auxílio dos termos de gênero, para formar uma coleção de dados de qualidade. A partir dessa coleção pode-se extrair características dos termos, com o uso de modelagem de tópicos, por exemplo, para auxiliar a estimar a similaridade entre os nomes, junto com o comparação direta dos nomes.

1.2

Objetivo

O objetivo principal deste trabalho é propor um método capaz de calcular/estimar a similaridade entre duas entidades, por meio de seus nomes, considerando a comparação direta de seus nomes e auxiliado pelo uso de dados obtidos da web a partir de consultas submetidas no motor de busca com os nomes das entidades.

1.2.1

Objetivos específicos

1. Avaliar medidas de similaridade que permitem a comparação direta entre duas cadeias de caracteres com o propósito de selecionar uma que possua o melhor acerto para ser usado junto ao método proposto.

2. Definir quais os dados retornados por um motor de busca que melhor representam os nomes/termos das entidades que se deseja verificar a similaridade.

3. Determinar os dados textuais relevantes das páginas web relacionadas a entidade comparada que serão extraídos com auxílio dos termos de gênero.

4. Avaliar técnicas de seleção de termos considerados importantes e relevantes nas páginas web recuperadas.

5. Avaliar modelos para representar os termos selecionados de forma a captar a simila-ridade entre o par comparado.

6. Propor uma cálculo para identificar a similaridade entre um par de entidades.

1.3

Contribuição

Publicação de um artigo intitulado “Estimating Similarity Among Entities Aided by the Web when Only the Entity Name is Available” no Simpósio Brasileiro de Sistemas

(21)

Multimídia e Web em 2018.

1.4

Organização da Dissertação

O restante deste trabalho está organizado da seguinte maneira:

• O Capítulo 2 descreve alguns conceitos importantes para o entendimento do trabalho; • O Capítulo 3 discute os trabalhos relacionados;

• O Capítulo 4 apresenta a proposta deste trabalho;

• O Capítulo 5 descreve os experimentos e analisa os resultados encontrados;

• Finalmente, o Capítulo 6 conclui o trabalho realizado e apresenta alguns direciona-mentos para trabalhos futuros.

(22)

21

2 Fundamentação Teórica

Neste capítulo, é apresentada a fundamentação teórica necessária para o entendi-mento deste trabalho.

2.1

Representação de documentos no Modelo Espaço Vetorial

Salton, Wong e Yang (1975) descrevem o Modelo Espaço Vetorial (MEV) para representar textos e documentos na forma de vetores, permitindo que qualquer operação algébrica possa ser realizada sobre o modelo. Em consultas realizadas por meio de um conjunto de termos, é possível selecionar documentos estimando suas relevâncias para uma consulta, usando alguma função de similaridade. A Figura 1 ilustra a relação entre a representação vetorial de dois documentos. Os documentos são representados por meio de vetores n-dimensionais, onde cada dimensão pode referir-se a quaisquer informações dos documentos comparados, como os termos, ponderados por medidas de importância de um documento ou a probabilidade de distribuição dos termos em tópicos.

Figura 1 – Representação gráfica de dois documentos usando o Modelo Espaço Vetorial. Fonte: Elaborada pelo autor.

Medidas de importância dos termos

Para estimar a importância de um termo em relação a um documento ou coleção, pode-se quantificá-lo de diferentes formas, como, por exemplo, de forma binária (i.e., identificando a presença ou ausência do termo), usando a frequência do termo (TF), usando a frequência inversa do documento (IDF) ou a combinação da frequência do termo com a frequência inversa do documento (TF-IDF) (JONES, 1972).

(23)

A Equação 2.1 representa a medida binária, que é uma forma simples de atribuir

um peso a um termo ti de um documento dj, atribuindo-se o valor 1, caso o documento

contenha o termo (é importante), ou 0, caso contrário.

binti,dj =

  

1, se o termo ti aparece no documento dj

0, caso contrário (2.1)

TF considera um termo ti importante à medida que sua frequência absoluta

aumenta em um documento. No entanto, essa medida pode influenciar nos cálculos de similaridade, uma vez que termos que ocorrem mais em um documento em relação a outros, podem possuir a capacidade de classificar o documento. A fim de evitar esse problema, deve-se atribuir um peso mais baixo para os termos que ocorrem mais frequentemente em vários documentos e um peso alto para os termos que aparecem em poucos documentos, por meio do uso da IDF representada pela Equação 2.2.

IDFti = log

N DFti,dj

(2.2)

sendo, N a quantidade de documentos da coleção e DFti,dj é a quantidade de documentos

que possuem o termo ti. Devido a maneira que o IDF é calculado, ele pode gerar o mesmo

resultado para os termos que possuem frequências distintas em documentos diferentes (WU et al., 2008). Para evitar esse problema, é importante que os termos que possuem uma frequência alta em um documento, e ao mesmo tempo, aparece em poucos documentos da coleção, recebam um valor alto. O TF-IDF é uma medida que combina as medidas TF e IDF e calcula o peso de cada termo por meio do produto da frequência normalizada de um

termo ti no documento dj com a frequência inversa do documento do termo ti (IDFti),

conforme pode ser visto na Equação 2.3.

T F IDF = T Fti,dj × IDFti (2.3) Neste trabalho, o IDF e TF-IDF foram calculados por meio da biblioteca Lucene. Uma vez calculado o peso de cada termo nos documentos da coleção, algumas métricas podem ser utilizadas para calcular a similaridade entre documentos (ver Seção 2.5). A Tabela 2 representa o vetor de frequência de termos dos documentos de uma coleção. No entanto, o valor da frequência pode ser substituído por quaisquer valores capazes de representar o documento.

(24)

Capítulo 2. Fundamentação Teórica 23

Tabela 2 – Representação Vetorial para uma coleção de documentos.

t1 t2 . . . tM

d1 f req11 f req12 . . . f req1M d2 f req21 f req22 . . . f req2M . . . . . . . . . . . . . . . dN f reqN 1 f reqN 2 . . . f reqN M

2.2

Modelagem de Tópicos

A modelagem de tópicos é um tipo de modelagem estatística que descobre tópicos latentes que ocorrem em uma coleção de documentos. Baseia-se na ideia de que documentos são formados por uma mistura aleatória de tópicos, no qual um tópico é representado por uma distribuição probabilística de termos. Essa técnica permite descobrir, extrair e agrupar documentos de grandes coleções em estruturas temáticas (BLEI, 2012), sendo útil para descobrir uma estrutura semântica implícita na coleção.

Em (BLEI; NG; JORDAN, 2003) foi proposto o Latent Dirichlet Allocation (LDA), que é exemplo de um dos tipos de algoritmos de modelagem de tópicos e utiliza a abordagem bayesiana para aprender os tópicos latentes que compreendem cada um dos documentos. O LDA considera que os documentos são construídos a partir de um conjunto de termos obtidos separadamente de tópicos específicos. A Figura 2 ilustra a atribuição de tópicos a um documento em LDA, sendo que as variáveis observadas na modelagem de tópicos são os termos dos documentos e as variáveis ocultas são as estruturas de tópicos.

Formalmente, o LDA considera um vocabulário V com |V | termos únicos, um

documento D como uma sequência de n termos definidos como D = (t1, t2, ..., tm) e o corpus

é uma coleção de documentos definido por C = {D1, D2, · · · Dj} e tem, como saída, uma

Figura 2 – Atribuição de tópicos a um documento em LDA Fonte: (BLEI, 2012)

(25)

lista de tópicos K = (ϕ1, ϕ2, · · · , ϕj), com as respectivas probabilidades de distribuição

dos tópicos para cada documento. Possui também dois parâmetros de entrada, α e β, que indicam a probabilidade de alteração do estado do algoritmo, sendo α a probabilidade de um documento permutar de tópico e β a probabilidade de um termo permutar de tópico.

Inicialmente o LDA inicia atribuindo os termos de um documento a cada um dos K tópicos, de acordo com a Distribuição Poisson. A cada iteração do algoritmo, a probabilidade de cada termo e cada documento pertencer a um tópico é testada, de acordo com a distribuição dos termos, de modo que as probabilidades seguintes de reatribuição de termos e documentos em tópicos são calculadas em conformidade com a distribuição corrente.

As probabilidades de distribuição de termos aos tópicos geradas como saída podem ser usadas para representar e ponderar a representação vetorial do documento. O treinamento do modelo de tópicos depende do ajuste de vários parâmetros, dentre eles, o número de tópicos a ser gerado e o número de iterações necessárias para se gerar os tópicos. A quantidade de tópicos depende do que está sendo procurado, sendo que uma quantidade menor do número de tópicos tende a fornecer uma visão mais generalizada da coleção, enquanto que um número maior de tópicos de tópicos tende a gerar resultados mais refinados. Da mesma forma que o número de iterações da amostragem está ligado a qualidade da modelagem de tópicos.

2.3

Representação de termos em vetores densos

Ao contrário de algumas representações vetoriais, em que cada termo é um índice do vetor formado pelo vocabulário referente a uma coleção de documentos, em trabalhos como (LE; MIKOLOV, 2014), cada termo é representado por um vetor denso, também conhecido como word embeddings. Nessa representação é possível identificar informação relacionada à sintaxe e à semântica dos termos.

Um dos modelos que utilizam vetores densos é o word2vec. Ele é baseado em redes neurais e capaz de aprender a representação distribuída das palavras de duas maneiras, com Continuous bag-of-words (CBOW) e Skip-gram, conforme pode ser visualizado na Figura 3. Com CBOW, o modelo prediz um termo, a partir de um conjunto de termos próximos a ele no modelo, sendo que a ordem das palavras não influencia na predição final. Já o skip-gram usa um termo para prever um conjunto de palavras que se encontram próximas a ela no modelo.

Com o word2vec, termos semanticamente similares ficam próximos no espaço veto-rial. A Figura 4 mostra termos em um espaço vetorial e algumas áreas foram circuladas para exemplificar que termos relacionados tendem a ficar próximos. Além do mais, como pode ser

(26)

Capítulo 2. Fundamentação Teórica 25

visto na Figura 5, outras relações podem ser obtidas, como a relação entre singular/plural e masculino/feminino entre dois termos, permitindo que operações algébricas sejam apli-cadas ao espaço vetorial, por exemplo: V etor(Kings) − V etor(King) + V etor(Queen) =

V etor(Queens). Assim, os vetores referentes aos termos podem ser combinados de diversas

formas para analisar a similaridade e a relação entre eles.

2.4

Coleta temática baseada em termos de gênero

Neste trabalho, utilizam-se termos de gênero para delimitar o contexto da simi-laridade, semelhante ao que é feito na coleta temática em (ASSIS et al., 2009). Coleta temática por gênero tem como objetivo principal rastrear eficientemente páginas que são relevantes a um tópico específico, usando evidências de gênero, com a qual o conteúdo de uma página web deve apresentar certo grau de similaridade. Tendo similaridade, a página web torna-se uma candidata a tratar de um tópico/tema específico de interesse. Abaixo algumas definições a respeito de coleta temática baseada em gênero e que são utilizadas neste trabalho para delimitar o contexto de páginas web:

Gênero é a forma ou estrutura padrão de uma página web, por exemplo, repre-sentando seu estilo de texto.

Lista de termos de gênero (LTG) é uma lista contendo uma seleção dos termos necessários para descrever um gênero específico. A construção dessa lista deve ser criteriosa e de preferência com a ajuda de especialistas na área de domínio, pois ela pode influenciar no desempenho da aplicação. Em muitos casos, os termos de gênero podem ser

Figura 3 – Maneiras de utilizar o modelo Word2vec Fonte: (LE; MIKOLOV, 2014)

(27)

Figura 4 – Termos no espaço vetorial com word2vec

Fonte: (TENSORFLOW, 2018 (acessado em 05 de setembro de 2018))

confundidos com os atributos de uma entidade, por também serem similares a algumas representações do estilo de texto de uma página web referente a uma entidade.

Suponha que deseja-se buscar páginas que tratam de ofertas de empregos, por exemplo, a Tabela 3 mostra os termos candidatos a compor a lista de termos de gênero, conforme apresentado em (ASSIS et al., 2009).

(28)

Capítulo 2. Fundamentação Teórica 27

Figura 5 – Relação entre palavras no espaço vetorial Fonte: (MIKOLOV; YIH; ZWEIG, 2013)

Tabela 3 – Exemplo de uma Lista de Termos de Gênero para Oferta de Emprego

jobs offer vacancies company organization

contact location city system analysis details

description salary benefits career category

experience requirements curriculum education responsibilities

competencies qualifications restrictions

Fonte: Assis et al. (2009)

2.5

Métricas de Similaridade

As métricas de similaridades apresentadas nessa Seção são utilizadas para comparar textos ou documentos representados na forma de vetores, no qual cada um de seus termos refere-se a uma dimensão do vetor e pode ser representado por um valor numérico. Neste trabalho foi considerado o TF-IDF e a probabilidade de distribuição dos termos de um documento em tópicos, usando modelagem de tópicos, para representar as dimensões do vetor.

2.5.1

Coeficiente de Jaccard

O coeficiente de jaccard foi usado, neste trabalho, para comparar os termos existentes nos textos dos valores de atributos da entidade. O coeficiente de Jaccard,

J (A, B), entre dois textos quaisquer A e B é a quantidade de termos na interseção dos

conjuntos A e B dividido pela quantidade de termos da união dos conjuntos A e B, como mostra a Equação 2.4. Um coeficiente de Jaccard com valor próximo a 1 indica que ambas as avaliações compartilham a maioria de seus elementos. Já o coeficiente com valor igual a 0 significa que as duas avaliações não têm elementos em comum.

(29)

2.5.2

Similaridade Cosseno

A similaridade Cosseno (Equação 2.5) foi usada para calcular o cosseno do ângulo formado entre os vetores de dois documentos comparados. À proporção que o ângulo diminui, o resultado se aproxima de 1, significando um aumento na similaridade entre os documentos. SimCos(di, dj) = − → di × − → dj ||→−di|| × || − → dj|| = Pt k=1vik× vjk q Pt k=1v2ik× q Pt k=1v2jk (2.5)

onde, −→di é um vetor formado pelos valores vik atribuídos aos termos/tópicos do documento

di,

− →

dj é um vetor formado pelos valores vik atribuídos aos termos/tópicos do documento

dj, || − → di|| é a norma de di, || − → dj|| é a norma de dj.

2.5.3

Distância Euclidiana

A Distância Euclidiana é um conceito matemático que representa a menor distância

existente entre dois pontos na Geometria Euclidiana (ÁVILA, 2001). Seja dois vetores −→p e

q , quanto mais a distância entre o comprimento do segmento que liga pq se aproxima de 0, mais similares são os vetores. A distância euclidiana é calculada conforme Equação 2.6.

DEuclidiana(di, dj) = v u u t n X k=1 (vik− vjk)2 (2.6)

2.5.4

Distância Manhattan

A Distância Manhattan entre dois vetores, −→p e −q , é a diferença absoluta do

comprimento dos segmentos que ligam esses vetores a suas origens, respectivamente. Quanto mais a distância entre os vetores se aproxima de 0, mais similares são os vetores. A Distância Manhattan pode ser calculada por meio da Equação 2.7.

DM anhattan(di, dj) = n X k=1 |(vik− vjk)| (2.7)

2.5.5

Distância de Jaro

A distância de Jaro (JARO, 1989) compara os caracteres comuns entre duas

strings. Dadas as strings A = a1...ak e B = b1...bk, um caractere ai em A é comum com

B se existe um bj = ai em B tal que i − H <= j <= i + H , onde H = min(|A|, |B|)/2 .

Sejam A0 = a01...a0k os caracteres em A que são comuns com B (na mesma ordem em que

(30)

Capítulo 2. Fundamentação Teórica 29

T para A0 e B0 corresponde a uma posição i tal que, a0i 6= b0i. Assim, TA0,B0 é definido

como a metade do número de transposições para A0 e B0. A fórmula de Jaro é mostrada

na Equação 2.8. DJ aro(A, B) = 1 3 × ( |A0| |A| + |B0| |B| + |A0| − T A0,B0 |A0| ) (2.8)

(31)

3 Trabalhos Relacionados

Neste capítulo são descritos os trabalhos relacionados e foram separados com relação aos principais tópicos abordados. Na Seção 3.1, estão os trabalhos relacionados à estimativa de similaridade usando informações retornadas por um mecanismo de busca na web; nas Seções 3.2 e 3.3 estão os trabalhos relacionados à estimativa similaridade usando modelagem de tópicos e word embeddings, respectivamente, a partir do uso de coleções de documentos.

3.1

Estimando a similaridade usando mecanismos de busca na web

Em (SAHAMI; HEILMAN, 2006), é proposto utilizar a Web como uma fonte de conhecimento adicional para medir a similaridade entre textos curtos, ou seja, as consultas. Para cada consulta que se deseja comparar, o método recupera n websnippets retornados por um motor de busca, representando-os como vetores de pesos ponderados com TF-IDF, que é calculado a partir de uma grande amostragem de documentos da Web. Esses vetores são truncados para que fiquem apenas os m termos considerados mais importantes. Em seguida, o centroide dos vetores é calculado e normalizado, e a similaridade entre duas consultas é dada por meio de uma função de kernel calculada usando os centroides que representam as duas consultas. O método mostrou-se uma medida de similaridade eficaz para textos curtos, mesmo quando os textos curtos não possuem termos comuns.

Em (CILIBRASI; VITANYI, 2007), é proposta uma medida, chamada Distância Google Normalizada (NDG), baseada na distância de Kolmorgov. NDG usa a Web como base de dados e o Google como mecanismo de busca para obter automaticamente a similaridade entre palavras e frases usando a quantidade de páginas recuperadas pelo motor de busca, ao receber uma consulta como entrada. NDG é dada pela Equação 3.1.

N DG(A, B) = max{logH(A), logH(B)} − logH(A, B)

logN − min{logH(A), logH(B)} (3.1)

sendo A e B dois termos que terão a distância calculada por N DG(A, B), H(A) e H(B) as quantidades de páginas recuperadas pelo motor de busca ao se consultar os termos A e

B, respectivamente, e H(A, B) a quantidade de páginas recuperadas pelo motor de busca

para os termos A e B, concomitantemente. Pressupõe-se que a ocorrência de A e B em uma mesma página indica a existência de uma relação entre os termos. E, por ultimo, N é o número total de páginas indexadas pelo motor de busca. Os experimentos mostraram a versatilidade de aplicação do NDG, como ser utilizado em agrupamentos hierárquicos para

(32)

Capítulo 3. Trabalhos Relacionados 31

distinguir entre cores e números, e entre nomes de obras de arte de um pintor e nomes de livros de romances de outro autor. Para medir a distância semântica entre dois termos, o NDG usa o WordNet, a partir da estrutura em que as palavras estão organizadas para poder julgar os seus acertos. Assim, dada uma categoria de palavras, como, por exemplo,

electrical, são extraídos como exemplos positivos as relações entre palavras dessa categoria

no WordNet e relações dessas palavras com outras aleatórias retiradas do dicionário, para exemplos negativos. Cada relação é representada por um vetor contendo valores obtidos do NDG e são treinadas usando classificação binária, por meio da técnica de classificação SVM (Support Vector Machines), para aprender a identificar a relação semântica entre palavras, dada a categoria. Dados 100 experimentos, o NDG teve como média um acerto de 87%.

Em (BOLLEGALA; MATSUO; ISHIZUKA, 2011), é proposta uma medida de similaridade que adapta quatro medidas de coocorrências, Jaccard, Overlap, Dice e PMI, juntamente com a contagem de páginas retornadas por motor de busca para a consulta de cada palavra isoladamente e uma consulta com os termos conjuntamente. Além disso, esses resultados são combinados com padrões léxicos extraídos dos websnippets, por meio de uma consulta curinga envolvendo as duas palavras, por exemplo, P ***** Q, que recupera

snippets em que P e Q aparecem dentro de uma janela com 7 palavras e os termos entre P

e Q representam as relações léxicas entre as palavras, como P é um Q, P é um tipo de Q, P também conhecido como Q. Os padrões léxicos extraídos são agrupados e recebem um peso de acordo com a frequência e a coocorrência dos termos P e Q neles. A combinação das medidas de coocorrência e os agrupamentos de padrões léxicos são aprendidos usando SVM, cujos dados de treinamento são formados por pares de palavras que tiveram os padrões léxicos extraídos do WordNet. o método proposto melhorou a medida F em uma tarefa de community mining, enfatizando sua utilidade em tarefas do mundo real, que incluem entidades nomeadas não adequadamente cobertas por recursos de conhecimento criados manualmente.

3.2

Estimando a similaridade com modelagem de tópicos

Em (BLEI; NG; JORDAN, 2003), é proposto o Latent Dirichlet Allocation (LDA) para modelagem de tópicos, que identifica tópicos latentes em uma coleção de documentos. O LDA representa cada documento por uma mistura de tópicos ocultos. Sendo assim, a probabilidade de um documento pertencer a um tópico é inferida a partir das probabilidades das palavras dele pertencerem ao tópico. De modo simplificado, o LDA inicia atribuindo termos de cada documento a cada um dos K tópicos, de acordo com a distribuição de

Poisson. A cada iteração do algoritmo, é estimada a probabilidade de cada documento e

cada termo pertencerem a um dado tópico, de acordo com a atual distribuição dos termos. Dessa maneira, entende-se que documentos que possuem a distribuição final de tópicos

(33)

semelhantes tratam de assuntos similares e possuem similaridade.

3.3

Estimando a similaridade com word embeddings

Em (LE; MIKOLOV, 2014), é proposto um método não-supervisionado que aprende representações de vetores para textos de tamanho variável, como sentenças, parágrafos e documentos. As representações vetoriais são aprendidas para prever as palavras circundantes em contextos amostrados, a partir da sentença usada como entrada. Após o treinamento do modelo, os vetores de palavras são mapeados em um espaço vetorial, de tal forma que as palavras semanticamente semelhantes tenham representações vetoriais semelhantes (por exemplo, “forte” está próximo de “poderoso”). O modelo demonstra a capacidade de aprender padrões linguísticos como relações lineares entre os vetores de palavras. Os resultados mostram que o método proposto supera os modelos bag of words, bem como outras técnicas para representação de texto, além de interessantes resultados em relação a várias tarefas de classificação de texto e análise de sentimentos.

Em (PENNINGTON; SOCHER; MANNING, 2014), foi proposto uma maneira alternativa de obter os word embeddings, chamada GloVe. Trata-se de um modelo de regressão global para a aprendizagem não supervisionada de representações de palavras. O modelo aproveita eficientemente as informações estatísticas, treinando apenas sobre os elementos não nulos em uma matriz de coocorrência palavra-palavra, em vez de usar toda a matriz esparsa ou janelas de contexto individuais em uma grande coleção. O modelo produz um espaço vetorial com estrutura significativa, evidenciado um desempenho de 75% ao Latent Semantic Analysis (LSA).

Em (HEUER, 2016), é proposto um método não-supervisionado para comparar grandes textos usando representações vetoriais de palavras (word2vec) e redução de dimensionalidade (t-distributed Stochastic Neighbour Embedding - tSNE), permitindo uma visão panorâmica do texto. As palavras usam uma representação vetorial, word2vec, e são capturadas algumas propriedades linguísticas como gênero, tempo, pluralidade e até conceitos semânticos como, por exemplo, “capital da cidade”. Para comparar dois textos,

A e B, são computados três conjuntos diferentes de palavras: um conjunto de palavras

únicas na fonte A, um conjunto de palavras únicas na fonte B, e o conjunto de palavras na intersecção da fonte A como a fonte B. Usando a redução de dimensionalidade, um mapa 2D pode ser calculado, tendo as palavras semanticamente semelhantes próximas umas das outras. Seus resultados mostraram desempenho melhor que a modelagem de tópicos usando LDA, permitindo comparações de textos grandes de múltiplas fontes com diferenças sutis.

(34)

Capítulo 3. Trabalhos Relacionados 33

3.4

Discussão

Este trabalho investiga a similaridade quando se conhece apenas os nomes das entidades. Como já foi mencionado, as funções de similaridade que utilizam apenas informações relacionadas aos nomes disponíveis para realizar uma comparação, nem sempre são suficientes para estimar a similaridade entre pares, principalmente em situações que eles não compartilham termos em seus nomes. Os trabalhos que utilizam estruturas baseadas em conhecimento, como Wordnet, ficam limitados ao tipo de informação disponibilizada, que nem sempre cobre todos os domínios relacionados às entidades que precisam ser comparadas. A criação e manutenção de fontes de conhecimento não são triviais e nem sempre estão disponíveis para livre acesso. Os trabalhos que tratam da similaridade usando coleção de documentos podem ter bons resultados se a coleção estiver disponível, como a modelagem de tópicos com LDA citado em (BLEI; NG; JORDAN, 2003), usada neste trabalho.

Este trabalho utiliza a Web para auxiliar a estimativa de similaridade entre pares de diversas entidades, a partir de consultas submetidas a motores de busca. Apesar da Web também ser uma fonte externa de dados, ela possui livre acesso, é constantemente atualizada e possibilita encontrar informações de diversos assuntos. Uma lista de termos de gênero criada por um especialista conhecedor do tipo de entidade que está sendo comparada também é utilizada. Apesar disso, uma lista com até 25 termos, como usado em (ASSIS et al., 2009), é suficiente para o método proposto, o que não se compara com o custo de se criar e manter uma estrutura baseada em conhecimento.

Dentre os trabalhos que também utilizam dados retornados pelos motores de busca, os dados retornados pelos websnippets como em (SAHAMI; HEILMAN, 2006; BOLLEGALA; MATSUO; ISHIZUKA, 2011) nem sempre serão suficientes para verificar uma relação entre pares de entidade, pois depende que ambos os nomes comparados coocorram na mesma página web e, mesmo quando isso acontece, não exibe informações suficientes para estimar a similaridade entre os nomes. Assim como o NDG (CILIBRASI; VITANYI, 2007), que usa apenas a contagem de páginas retornadas pelo motor de busca, nem sempre existe a ocorrência de um dos textos nas páginas retornadas pelo outro ou vice-versa, e, quando existe, podem ter coocorrências não relacionadas ou ainda palavras com grafias semelhantes ou próximas, mas com sentidos diferentes. Como este trabalho usa páginas web retornadas por um motor de busca para cada nome, objetivando formar uma coleção e extrair características para estimar a similaridade entre um par de entidades, um método capaz de permitir tais comparações é o NDG, sendo, então, escolhido para ser comparado com este trabalho.

(35)

4 Um método para encontrar a similaridade

entre nomes de entidades auxiliada pela

Web

Para verificar a similaridade entre dois nomes de entidades, o método proposto trabalha em dois passos, conforme pode ser visto na Figura 6. O Passo 1 tenta inferir a similaridade usando alguma função de similaridade léxica e o Passo 2 usa dados obtidos da Web para inferir o resultado da função. Ambos os passos recebem como entrada apenas os nomes das entidades que serão comparadas e retornam como saída um valor numérico indicando a similaridade. A saída dos Passos 1 e 2 são importantes e se complementam para encontrar a similaridade final entre o par de entidades comparados.

Figura 6 – Fluxo de dados no método proposto. Fonte: Elaborada pelo autor.

4.1

Passo 1 - Comparação Léxica

O Passo 1 realiza a comparação léxica entre os nomes das entidades. Ao receber os dois nomes a serem comparados, representados na Figura 6 por A e B, usa-se o coeficiente de jaccard (vide Equação 2.4) para estimar a similaridade léxica entre os nomes das entidades. Outras funções de similaridade (apresentadas na Subseção 2.5) também foram avaliadas para este passo, mas devido aos resultados experimentais obtidos com o coeficiente de jaccard, optou-se por mantê-lo neste passo.

(36)

Capítulo 4. Um método para encontrar a similaridade entre nomes de entidades auxiliada pela Web 35

Antes de usar o coeficiente de jaccard, inicialmente, cada nome é pré-processado removendo as stopwords, o sufixo dos termos e termos que compõem a Lista de Termos de Gênero (LTG). Conforme descrito anteriormente, termos de gênero são utilizados neste trabalho para delimitar os dados recuperados da Web e em várias outras etapas do Passo 2 para auxiliar na comparação almejada neste trabalho. A LTG contém termos que podem estar presentes em páginas que descrevem qualquer entidade do mesmo tipo cujos nomes estão sendo comparados, como em (ASSIS et al., 2009). As Tabelas 4 e 5 mostram uma LTG para entidades do tipo Artigo Científico e Veículo de Publicação, respectivamente.

4.2

Passo 2 - Usando dados obtidos da Web para estimar a

simila-ridade

Como dito, nem sempre as funções de similaridades, como o coeficiente de jaccard utilizado no Passo 1 são suficientes para identificar a similaridade entre dois nomes. Sendo assim, o Passo 2 também é executado de forma a complementar o método proposto. A intuição é que as duas entidades referentes aos nomes, A e B, caso tenham alguma similaridade, terão dados em comum em outras fontes de dados. Neste trabalho, a outra fonte de dados é a Web. Por exemplo, ao comparar dois nomes de Veículos de Publicação, se forem acessadas as páginas web desses veículos, elas teriam alguma similaridade se elas compartilharem algum tópico de interesse, alguns membros nos comitês de programa, e assim por diante. A Figura 7 apresenta de forma detalhada o Passo 2, que foi dividido em 7 etapas, sendo a saída de cada etapa a entrada para a próxima.

Tabela 4 – Exemplo de lista de termos de gênero para entidades do tipo Artigo Científico.

abstract article conclusion experiments

introduction keywords method publisher

publications references related_work research

Tabela 5 – Exemplo de lista de termos de gênero para entidades do tipo Veículos de Publicação.

additional_reviewers aims_and_scope call__contributions call_for_paper

call_for_submissions editors editorial_board editorial_focus

general_chairs keywords list_of_topics overview

program_committe program_chair steer_committee symposium_coordination

(37)

Figura 7 – Etapas detalhadas do Passo 2 do método proposto. Fonte: Elaborada pelo autor.

4.2.1

Etapa 1 - Aquisição de Páginas Web

Nessa primeira etapa do Passo 2, cada nome da entidade recebido como entrada,

A e B, é submetido como consulta a uma máquina de busca. Foi usada a API Jsoup1 para

construir uma URL de consulta ao Google com os termos de interesse. Ao estabelecer

a conexão com a URLs da consulta2 é retornado como resposta uma página web com

os hiperlinks das páginas web resultantes da busca. As páginas web das N primeiras

URLs retornadas na consulta de cada nome, são acessadas para serem manipuladas nas

fases seguintes. Vale ressaltar que as páginas originadas de redes sociais e as páginas web de autenticação são descartadas, pois são páginas cujo acesso ao conteúdo depende de

autenticação. Como resultado desta etapa, têm-se duas listas de páginas web, L1 e L2,

uma lista para cada nome submetido como consulta, sendo que a ordem das páginas web na lista, referem-se a ordem das respostas retornadas pelo motor de busca.

4.2.2

Etapa 2 - Extração de dados das páginas Web

Esta etapa recebe as duas listas de páginas web da etapa anterior e, para cada página contida nessas listas, todo texto do elemento body (corpo da página) é extraído. Além disso, para cada hiperlink, o texto é extraído apenas se seu rótulo ou referência possuir algum termo de gênero da LTG; caso contrário, ele é descartado por assumir que se refere a dados de cabeçalho, rodapé e menu de navegação. Para cada hiperlink não descartado, suas páginas correspondentes são acessadas e os dados textuais dessas páginas são extraídos e incorporados ao texto da página inicial. A intuição é que quando o hiperlink contém um termo de gênero, os dados associados ao termo estão na página de destino do

hiperlink. Como saída desta etapa, cada página possui apenas os textos extraídos em suas

listas correspondentes, L1 e L2.

1 https://jsoup.org/

2 A versão gratuita da API do Google Search possui um limite de conexões diárias. Devido a isso,

(38)

Capítulo 4. Um método para encontrar a similaridade entre nomes de entidades auxiliada pela Web 37

4.2.3

Etapa 3 - Pré-processamento dos dados

As páginas das listas resultantes da etapa anterior são pré-processadas para

facilitar a tarefa das próximas etapas. Assim, cada página de cada lista, L1 e L2, tem seu

texto processado para remover os termos considerados stopwords, remover os sufixos dos termos e remover termos correspondentes a datas, URLs, números e sinais de pontuação. Esse mesmo pré-processamento também é realizado nos termos da LTG, de tal forma que todos os textos estejam no mesmo padrão.

Neste trabalho, cada termo corresponde a uma palavra. Dessa forma, termos da LTG que são compostos, ou seja, formados por mais de uma palavra, são ligados pelo símbolo underline (“_”) para que sejam tratados como um único termo pelas atividades de pré-processamento. Quando é detectada a ocorrência de palavras do texto que correspondem a um termo de gênero composto, estas também são ligadas pelo símbolo underline. Como saída desta etapa, em cada lista de páginas, as páginas são representadas apenas pelos textos extraídos e pré-processados de cada página web.

4.2.4

Etapa 4 - Ordenação das páginas

Esta etapa tem como objetivo reordenar as páginas de cada lista de acordo com a sua relevância considerado outros fatores, além da ordem em que a página foi retornada pelo motor de busca. Em muitos casos, as primeiras páginas das URLs retornadas na Etapa 1 (Aquisição de páginas na Web) descrevem bem os nomes fornecidos na consulta, mas, em alguns casos, isso não acontece, sendo necessário reordenar as páginas do resultado. O critério utilizado para reordenar essas páginas em cada lista, se baseia no ranking fornecido pela máquina de busca e na presença dos termos de gênero, visto que a presença dos termos indica uma descrição mais detalhada da entidade correspondente dentro do domínio de aplicação de interesse. A Equação 4.1 é usada para atribuir um valor a cada página, para ser usado na ordenação decrescente das páginas.

Rankingf inal = 0, 5 × RM B+ 0, 25 × RnLT G+ 0, 25 × RcosLT G (4.1)

sendo RM B a ordem da página no ranking da máquina de busca, RnLT G a ordem da página

considerando a quantidade de termos de gênero presente na página e RcosLT G a ordem da

página considerando a similaridade do cosseno dos termos da página com os termos da LTG. Como resultado, cada lista de páginas possui as mesmas páginas, porém em uma nova ordem. A ideia é que as primeiras páginas retornadas pelo motor de busca, mas que não possuem termos da LTG que descrevem a entidade, ou que trazem termos demais e não era considerada de interesse ficasse fora das top-10 páginas. Enquanto que páginas que não foram retornadas como sendo umas das top-10 pelo motor de busca, mas que traziam os termos de gênero da LTG e atendiam bem o resultado esperado tivesse a chance de ficar

(39)

entre os primeiras colocadas. Os valores dos pesos da Equação foram definidos a partir de testes empíricos.

4.2.5

Etapa 5 - Seleção de termos relevantes

Com o objetivo de verificar a importância dos termos das páginas associadas aos termos de gênero para estimar a similaridade, montou-se duas estratégias de seleção de termos, além da utilização de todos os termos restantes das etapas anteriores. A primeira estratégia seleciona os termos associados aos termos de gênero usando IDF , considerando as top-10 páginas melhores classificadas na etapa anterior. A outra estratégia seleciona os termos de cada página que estão mais próximos posteriormente aos termos de gênero das páginas. Para o cálculo do IDF (vide Equação 2.2), foram utilizadas as 10 primeiras

páginas de cada lista Li por considerar que são as páginas que possuem os conteúdos

mais relevantes. Sendo assim, N é igual a 10 e DFti,dj é a quantidade de documentos que

possuem o termo ti.

Para a seleção de termos com os termos de melhor IDF, inicialmente, é calculado o IDF para os termos das 10 primeiras páginas da lista recebida no passo anterior. Em seguida, essas páginas são organizadas de forma que cada termo esteja associado a um termo de gênero que ocorreu anteriormente a ele na página. Os termos associados a cada termo de gênero são classificados em ordem crescente de acordo com o seu IDF. Neste ponto, os termos de menor IDF são mais indicados, pois são termos compartilhados pelas páginas resultantes da consulta. Logo depois, 25% dos termos com maiores IDFs associados a cada termo de gênero são descartados, por serem considerados irrelevantes e não contribuírem para estimar a similaridade. Os outros 75% passam a fazer parte de um vocabulário global, podendo ser consultado para a seleção de termos das páginas de quaisquer listas e um vocabulário local que pode ser consultado apenas pelas páginas pertencentes a uma mesma lista. A seleção de termos é feita então a partir dos dois vocabulários. Ao percorrer os termos de cada página de uma lista, se o termo não estiver presente no vocabulário local ou global, ele é descartado. E assim é feito para todas as demais páginas da lista.

Para a segunda estratégia, seleção dos termos mais próximos aos termos de gênero,

os termos, t1, t2, · · · ti de cada página pi são examinados, na ordem em que eles estão

na página, e, se um termo examinado ti corresponde a um termo de gênero, os termos

seguintes são selecionados até uma quantidade entre 150 e 200, aleatoriamente escolhida, ou até um novo termo de gênero ser encontrado, caso em que o processo é repetido. Esse processo é repetido até que todos os termos da página sejam percorridos. O intervalo de valores gerados aleatoriamente pode ser adaptado de acordo com a entidade comparada e a quantidade de texto que pode estar associado a cada termo de gênero no estilo do texto correspondente.

(40)

Capítulo 4. Um método para encontrar a similaridade entre nomes de entidades auxiliada pela Web 39

Os termos de gênero que ocorrem nas páginas são removidos nessa etapa, uma vez que são termos comuns a todas as páginas da entidade e não contribuem para a similaridade que está sendo investigada. Como resultado desta etapa, há duas listas de

páginas web, LS1 e LS2, com as mesmas páginas de L1 e L2, respectivamente, da etapa

anterior. No entanto, agora cada lista LSi de páginas possui suas páginas representadas

por uma lista de termos selecionados.

4.2.6

Etapa 6 - Representando cada página por meio de vetores

Para estimar a similaridade entre os dois nomes, foi usada a primeira página de

cada lista, LS1 e LS2, associada a cada nome. Seja p1 a primeira página da lista de um

nome e p2 a primeira página da lista do outro nome. Cada pi é então representado por

dois vetores, −pi,1 e −pi,2.

Para o vetor −pi,1, cada dimensão corresponde a um termo resultante da seleção

realizada e seu valor é calculado usando TF-IDF (vide Equação 2.3), tradicional forma de valorar dimensões associadas a termos de documentos em Recuperação de Informação.

No nosso caso, T Fti,pj indica a frequência do termo ti na página pj e IDFti estima a

importância do termo ti na coleção de páginas (quanto menor a quantidade de páginas em

que o termo ti aparece maior a sua importância).

Para o segundo vetor de cada página pj, −pi,2, cada dimensão representa um tópico

resultante da aplicação de uma técnica de modelagem de tópicos. Neste trabalho, foi utilizada o LDA (Latent Dirichlet Allocation) proposta em (BLEI; NG; JORDAN, 2003). LDA considera que documentos (páginas) são formados por uma mistura aleatória de tópicos, no qual um tópico é representado por uma distribuição probabilística de termos. LDA recebe como entrada a coleção composta por todas as páginas web recuperadas para as entidades comparadas, formada nas etapas anteriores e gera como saída para cada página uma distribuição de probabilidade dos tópicos. A ideia é que páginas com distribuições de probabilidades similares sejam similares.

4.2.7

Etapa 7 - Realizando o cálculo de similaridade com os dados obtidos da

web

Para estimar a similaridade entre os dois nomes de entidades, usando os dados

obtidos da Web, foram usadas as duas representações vetoriais de cada nome, −pi,1 e −pi,2,

obtidas da etapa anterior. Para verificar a similaridade entre os vetores −→p1,1 e −→p2,1 (vetores

com as dimensões representando os termos) e entre os vetores −→p1,2 e −→p2,2 (vetores com as

dimensões representando tópicos) usou-se a similaridade do cosseno (Equação 2.5). O uso de outras medidas foram avaliadas, como a distância euclidiana e distância manhatan, no entanto, os resultados foram inferiores comparados a similaridade cosseno. Os valores

(41)

obti-dos como saída são utilizaobti-dos na Equação 4.2, onde, fT F IDF é o resultado da similaridade

usando a abordagem de representação do modelo espaço vetorial com o TF-IDF e fM T é o

resultado da similaridade usando a abordagem de representação do modelo espaço vetorial com modelagem de tópicos.

SimW = (1 − β) × fT F IDF + β × fM T (4.2)

A similaridade final entre os nomes de entidade comparados é dada pela soma dos resultados obtidos na saída dos Passos 1 e 2, conforme ilustrado na Figura 6.

(42)

41

5 Experimentos e Resultados

5.1

Configuração dos experimentos

Esta seção descreve as características dos conjuntos de dados utilizados e o baseline.

5.1.1

Conjuntos de dados

Devido ao problema que este trabalho trata, encontrar a similaridade entre pares de entidade, tendo inicialmente apenas os nomes dessas entidades e não sendo encontrada na literatura bases com tais características, foram construídos dois conjuntos de dados contendo: i) nomes de Veículos de publicação (conferências e periódicos) e, ii) nomes de Artigos Científicos. Os nomes foram selecionados aleatoriamente a partir de diversas áreas, resultando em 150 nomes para cada conjunto de dados. A Tabela 10 apresenta as características de ambas as coleções de dados. As demais informações estão disponíveis

publicamente1.

Para a coleção de dados de entidades Artigo Científico, um grupo de três pessoas avaliou os pares para verificar alguma similaridade entre eles, seguindo os mesmos critérios, como grande área, assuntos tratados, palavras chaves semelhantes, tópicos de interesse, etc.. O rótulo final do par é a informação fornecida pela maioria, gerando dois subconjuntos para cada conjunto de dados, chamados neste trabalho de similares (tem alguma relação entre eles) e não similares (não há relação entre eles). Para a coleção de dados da entidade Veículos de Publicação, foram usadas as informações de categoria disponibilizada em uma

página web de chamada de trabalhos científicos2.

Normalmente, cada veículo de publicação é atribuído a 4 categorias (grandes áreas), como pode ser visto na Figura 8. Se dois veículos de publicação possuem acima de 3 categorias em comum, são rotulados como similares. Se não compartilham nenhuma categoria, são rotulados como não similares. E os pares que possuem 1 ou 2 categorias em comum, foram rotuladas manualmente pelo grupo de 3 pessoas.

Tabela 6 – Características dos conjuntos de dados.

Quantidade de Pares Similares Não Similares

Artigo Científico 11.175 128 11.047

Veículo de Publicação 11.175 214 10.961

1 Coleções de dados disponibilizadas em: https://goo.gl/r1fkZU 2 http://www.wikicfp.com

Referências

Outline

Documentos relacionados

Assim pa a além do Secto das Est adas este modelo de O&amp;M Assim, para além do Sector das Estradas, este modelo de O&amp;M poderá estender-se no curto prazo a outros sectores,

Como no processo travelling grate o leito é estático, a queima se dá do topo para o fundo e após esta fase há a pós queima, onde não há aporte de calor proveniente

America according to KHALIL et at. Host: Ardeidae sp. Site of infection : intestine. Species from this genus was referred in Nigeria by KHALIL et at. NHR: Ardea cocoi,

(Mammillaria crinita DC. crinita, Mammillaria polythele Mart. polythele y Mammillaria uncinata Zucc. ex Pfeiff.) que se distribuyen en “La Mesa Redonda”, elevación mesetiforme

VI - proteger os interesses dos participantes e assistidos dos planos de benefícios. 49 As entidades de previdência complementar são classificaclas em fechadas e

[r]

Você sabia que a soma das vogais do seu nome completo, recebido ao nascer,?. reflete o seu mundo interior, como você pensa e como sente

Expedito: Significa rápido e desembaraçado e indica uma pessoa inteligente e esperta, que batalha com todas as suas forças (e às vezes também com a força dos outros) para atingir