A similaridade entre modelos de grafos é calculada não apenas a partir da estrutura isomórca, mas também através da correlação entre os rótulos dessa estrutura comum. Em geral, a similaridade entre os rótulos de um grafo é estimada pela distância de edição entre as strings contidas nos rótu- los, denida como o número mínimo de operações necessárias para transformar uma sequência de caracteres em outra. Uma das variantes mais aplicadas neste problema é a distância de Levensthein [Lev66], que transforma uma string em outra por meio de três operações com custo unitário: in- serção de um novo caracter, remoção de um caracter e substituição de um caracter por outro. Formalmente, sejam duas strings α = α1, .., αm e β = β1, ..., βn geradas a partir de um alfabeto Σ, a distância dα,β é calculada a partir da construção de uma matriz de ordem (m + 1) × (n + 1), conforme as operações denidas no algoritmo de Wagner-Fisher [WF74]:
ai,0 = i, ∀i ∈ [0, ..., m] a0,j = j, ∀j ∈ [0, ..., n]
ai,j = (
ai−1,j−1, se αj = βi,
min(ai−1,j, ai,j−1, ai−1,j−1) + 1, caso contrário
A intuição por trás deste algoritmo reside no fato de que a distância entre as strings pode ser calculada recursivamente a partir do armazenamento das distâncias entre todos os prexos de cada string. Dessa forma, a distância entre α e β é dada pelo elemento que ocupa a última linha e última coluna da matriz, ou seja, dα,β = am,n.
Figura 4.3: Exemplo de matriz gerada pelo algoritmo de Wagner-Fisher [BK73].
No exemplo da Figura 4.3, sendo α = Sunday e β = Saturday, o elemento a6,8 = 3 fornece o número de operações necessárias para transformar α em β:
1. Sunday → Saturday (remoção do caracter a); 2. Sunday → Sturday (remoção do caracter t);
3. Sunday → Surday (substituição do caracter r por n).
A distância de Levensthein corresponde à generalização da distância de Hamming [Ham50], que é aplicada na detecção de erros em strings de mesmo tamanho. Em termos de similaridade entre dois rótulos de um grafo, quanto menor a quantidade de operações para transformar uma sequência de caracteres em outra, maior a similaridade entre os rótulos.
Entretanto, quando os rótulos do grafo representam conceitos semanticamente mapeados, outras estratégias devem ser utilizadas no cálculo de similaridade. As abordagens de similaridade semân- tica têm aplicabilidade em diversos problemas que envolvem processamento linguístico, como na descoberta e composição de serviços web descritos em linguagem natural [PKPS02], na detecção de bug reports duplicados [RAN07] e na desambiguação lexical de sentido [BP02,PBP03, SC12],
4.2 SIMILARIDADE ENTRE RÓTULOS 29
permitindo identicar correlações que vão além da simples comparação literal entre sequências de strings.
Nesse cenário, o uso de taxonomias ou léxicos computacionais como a WordNet [Fel98] em tarefas de processamento linguístico tem sido o foco de estudo em diversos trabalhos, tais como em [MM89], [LC98] e [SC12]. Os métodos de similaridade aplicados a léxicos, também denominados métodos baseados em conhecimento, estimam a similaridade entre os conceitos através de dois tipos de medidas: contagem de arestas (edge-based) e conteúdo da informação (information content-based), conforme descritos a seguir.
i. Contagem de Arestas
Intuitivamente, conceitos próximos são mais similares que conceitos afastados em uma taxo- nomia. Portanto, o menor caminho entre dois conceitos representa uma medida importante de similaridade entre eles. Essa distância conceitual é denida por Rada [MM89] como:
dist(c1, c2)= número mínimo de arestas separando c1 e c2,
onde c1 e c2 representam conceitos (nós) na taxonomia. Partindo deste princípio, Wu e Pal- mer [WP94] deniram uma medida de similaridade levando em conta a profundidade dos conceitos na hierarquia:
simW U P(c1, c2) =
2 × D(LCS(c1, c2))
D(c1) + D(c2) + 2 × D(LCS(c1, c2))
, (4.1)
onde D(ci) denota a profundidade do conceito ci e LCS(ci, cj) consiste no pai comum mais especíco entre os conceitos ci e cj (Least Common Superconcept).
Em seguida, Leacock e Chodorow [LC98] introduziram uma medida baseada na menor distância entre os conceitos e na profundidade (H) da taxonomia:
simLCH(c1, c2) = −log
dist(c1, c2)
2 × H (4.2)
Considerar que as ligações entre os conceitos possuem distância uniforme representa uma de- ciência das medidas baseadas em arestas, pois esta suposição não reete a realidade dos relaciona- mentos semânticos entre conceitos do mundo real [Res95]. Esta deciência é ilustrada na hierarquia da Figura 4.4.
A classicação mostra que a quantidade de arestas que separa um gato doméstico (F. Catus) de um cão doméstico (C. Familiaris) é maior que a quantidade de arestas que separa um gato doméstico de um urso selvagem (U. Horribilis). Entretanto, do ponto de vista semântico, um gato está muito mais próximo de um cão que de um urso. As medidas baseadas em Conteúdo da Informação, descritas no tópico seguinte, buscam minimizar este problema.
ii. Conteúdo da Informação (IC)
Nas medidas baseadas em Conteúdo da Informação, a frequência com a qual um conceito aparece associado a outro indica o grau de similaridade entre eles. Segundo Resnik [Res95], a associação de probabilidades aos conceitos da taxonomia captura a mesma ideia da similaridade baseada em arestas, mas sem a deciência da uniformidade de distâncias.
Mais precisamente, seja p : C → [0, 1] uma função probabilística aplicada à taxonomia. Para todo c ∈ C, p(c) representa a probabilidade de encontrar uma instância do conceito c. Ou seja, a probabilidade decresce em função da especicidade do conceito. Esta função de descrescimento é formalizada pela Teoria da Informação através da equação IC(c) = −log[p(c)]. Intuitivamente, isso signica que quanto mais abstrato for um conceito, menor a sua informação agregada. No exemplo da Figura 4.4, IC(U.Horribilis) < IC(C.F amiliaris), pois U. Horribilis é um conceito mais genérico que C. Familiaris na hierarquia.
Em [Res95], Resnik dene a similaridade entre dois conceitos como:
simRES(c1, c2) = c∈S(cmax1,c2)IC(c), (4.3)
onde S(c1, c2) representa o conjunto de todos os pais comuns entre os conceitos c1 e c2. Esta medida foi reformulada por Lin [Lin98a] utilizando características da Equação4.1:
simLIN(c1, c2) =
2 × IC(LCS(c1, c2))
IC(c1) + IC(c2)
, (4.4)
Em seguida, Jiang e Conrath [JC97] deniram uma medida de similaridade que combina con- ceitos de medidas baseadas em arestas e conteúdo da informação:
simJ CN(c1, c2) =
1
IC(c1) + IC(c2) − 2 × IC(LCS(c1, c2)) (4.5)
As medidas de similaridade baseadas em léxicos apresentam como desvantagem a dependência do idioma, já que o mapeamento dos conceitos é viabilizado apenas na língua especíca para a qual a taxonomia foi construída.
A próxima seção descreve as principais aplicações que utilizam os conceitos de similaridade estrutural e de rótulos para a solução de problemas modelados em grafos.