• Nenhum resultado encontrado

Análise de Dados Multi-relacional Suportada por Técnicas de Pré-processamento de texto e Decomposição por Valor Singular

N/A
N/A
Protected

Academic year: 2021

Share "Análise de Dados Multi-relacional Suportada por Técnicas de Pré-processamento de texto e Decomposição por Valor Singular"

Copied!
82
0
0

Texto

(1)

—————————————————————————————————————

An´

alise de Dados Multi-relacional Suportada por

ecnicas de Pr´

e-processamento de texto e

Decomposi¸

ao por Valor Singular

Rosa Virginia Encinas Quille

(2)

SERVI ¸CO DE P ´OS-GRADUA ¸C ˜AO DO ICMC-USP

Data de Dep´osito: Assinatura :

An´

alise de dados multi-relacional suportada por t´

ecnicas de

pr´

e-processamento de texto e decomposi¸

ao por valor singular

1

Rosa Virginia Encinas Quille

Orientador:

Prof. Dr. Jos´

e Fernando Rodrigues J´

unior

Disserta¸c˜ao apresentada ao Instituto de Ciˆencias Matem´aticas e de Computa¸c˜ao - ICMC-USP, como parte dos requisitos para a obten¸c˜ao do t´ıtulo de Mestre em Ciˆencias de Computa¸c˜ao e Matem´atica Computacional.

USP - S˜ao Carlos Abril/2014

1Este trabalho tem o apoio financeiro da CNPq (Conselho Nacional de Desenvolvimento Cient´ıfico e Tecnol´ogico), processos 133633/2011-0 e 560104/2010-3.

(3)

Dedicat´

oria

A Deus. Aos meus pais, Antonio e Rosa. E aos meus irm˜aos, Betsy e Jose.

(4)
(5)

Agradecimentos

A meu orientador, Prof. Dr. Jos´e Fernando Rogrigues Junior, sempre presente e atencioso. Por todos os anos de orienta¸c˜ao, dos trabalhos de pesquisa `a conclus˜ao desta disserta¸c˜ao de mestrado e por sua confian¸ca e paciˆencia.

A meus pais Rosa Quille Llaque e Antonio Encinas Atencio, pela educa¸c˜ao, amor e carinho. A meus irm˜aos Betsy e Jose, e a meu cunhado John pelos momentos gratos em fam´ılia.

Ao Instituto de Ciˆencias Matem´aticas e de Computa¸c˜ao (ICMC). Aos professores e colegas do Grupo de Bases de dados e Imagens (GBDI) e amigos que conheci em S˜ao Carlos.

Ao Conselho Nacional de Desenvolvimento Cient´ıfico e Tecnol´ogico (CNPq), pelo au-x´ılio financeiro.

(6)
(7)

Resumo

O Digital Bibliography & Library Project (DBLP) ´e o maior reposit´orio da literatura de ciˆencia da computa¸c˜ao, composto por informa¸c˜oes sobre autores, artigos, ve´ıculos e eventos. Este conjunto de entidades determina uma estrutura de dados complexa, cujos padr˜oes subjacentes n˜ao s˜ao diretamente observ´aveis. Neste cen´ario, foi modelado o DBLP como um esquema relacional cuja representa¸c˜ao gr´afica ´e processada com an´alise de texto e ferramentas alg´ebricas baseadas na SVD. Utiliza-se an´alise de texto aplicadas em termos extra´ıdos dos t´ıtulos dos artigos em DBLP e aplicar-se a SVD sobre as rela¸c˜oes definidas entre estes termos, ve´ıculos de publica¸c˜ao, e autores. Como resultado, foi-se capaz de identificar as comunidades mais representativas e os autores mais ativos, relacionando-os com os termos e temas mais significativos encontrados em suas respectivas publica¸c˜oes. Portanto, este trabalho descreve um processo anal´ıtico como um conjunto de princ´ıpios que definem um m´etodo de an´alise de dados relacional, em geral, e que tem potencial em outros dom´ınios de dados.

(8)
(9)

Abstract

The Digital Bibliography & Library Project (DBLP) is the largest repository of compu-ter science licompu-terature, composed of information on authors, articles, vehicles, and events. This set of entities determines a complex data structure whose underlying patterns are not straightly observable. In this scenario, we model DBLP as a relational schema whose graph representation is processed with text analytics and algebraic tools based on Singu-lar Value Decomposition (SVD). We use text analytics applied on terms extracted from the titles of the articles in DBLP and apply SVD on the relationships defined between these terms, publication vehicles, and authors; as result, we were able to identify the more representative communities and the more active authors relating them to the most mea-ningful terms and topics found in their respective publications. We describe our analytical process as a set of principles that define a method for relational data analysis in general and that has potential in other data domains.

(10)
(11)

Sum´

ario

Lista de Figuras xi

Lista de Tabelas xiii

Lista de Abreviaturas e Siglas xiv

1 Introdu¸c˜ao 1

1.1 Defini¸c˜ao do Problema e Motiva¸c˜ao . . . 2

1.2 Dom´ınio de dados . . . 3

1.3 Padr˜oes e Tomada de Decis˜ao . . . 3

1.4 Objetivos . . . 4

1.5 Principais Contribui¸c˜oes . . . 5

1.6 Organiza¸c˜ao do Trabalho . . . 5

2 Decomposi¸c˜ao de Valor Singular 7 2.1 Considera¸c˜oes Iniciais . . . 7

2.2 Conceitos b´asicos de SVD de uma matriz . . . 7

2.3 Linha de evolu¸c˜ao e tendˆencias hist´oricas . . . 10

2.4 Aproxima¸c˜ao por matriz de baixo posto (low-rank approximation) . . . 12

2.5 M´etodos de c´alculo para SVD . . . 16

2.6 M´etodos de agrupamento com SVD . . . 18

2.6.1 Agrupamento por signal . . . 18

2.6.2 Outros m´etodos . . . 20

2.7 Aplica¸c˜oes da SVD . . . 21

2.8 Considera¸c˜oes Finais . . . 22

3 An´alise espectral de grafos 25 3.1 Considera¸c˜oes Iniciais . . . 25

(12)

3.3 Deriva¸c˜ao de relacionamentos no contexto multi-relacional . . . 26

3.4 An´alise das propriedades do grafo . . . 27

3.5 Exemplo de SVD no contexto da comunidade acadˆemica baseado em grafo 29 3.6 Considera¸c˜oes Finais . . . 31

4 T´ecnicas de processamento de texto 33 4.1 Considera¸c˜oes Iniciais . . . 33

4.2 Tratamento com textos . . . 33

4.2.1 Tokeniza¸c˜ao . . . 34

4.2.2 Elimina¸c˜ao de stopwords . . . 35

4.2.3 Stemming . . . 36

4.3 Aplica¸c˜ao de m´etodos estat´ısticos . . . 37

4.3.1 ´Indice de distribui¸c˜ao de Theil . . . 37

4.3.2 Princ´ıpio de Pareto . . . 37

4.3.3 Distribui¸c˜ao de termos pela lei de Zipf . . . 38

4.3.4 A curva de Zipf e os cortes de Luhn . . . 38

4.4 Considera¸c˜oes Finais . . . 40

5 Metodologia desenvolvida e seus resultados 41 5.1 Considera¸c˜oes Iniciais . . . 41

5.2 Descri¸c˜ao da Metodologia Desenvolvida . . . 41

5.2.1 Pr´e-processamento e limpeza de dados . . . 42

5.2.2 Modelagem de dados e transforma¸c˜ao relacional . . . 44

5.2.3 Sele¸c˜ao de dados . . . 45

5.3 Experimentos com SVD para a dete¸c˜ao de comunidades . . . 50

5.3.1 Caso 1: Termos (Theil) x Ve´ıculos . . . 51

5.3.2 Caso 2: Termos (Luhn) x Ve´ıculos (Luhn) . . . 54

5.3.3 Caso 3: Termos (Luhn) x Autores . . . 56

5.4 Considera¸c˜oes finais . . . 58

6 Conclus˜oes 59 6.1 Conclu¸c˜oes. . . 59

(13)

Lista de Figuras

1.1 Modelo entidade/relacionamento dos dados do projeto. . . 3

2.1 Ilustra¸c˜ao esquem´atica da SVD. . . 10

2.2 Agrupamento usando padr˜oes sinal dos dois primeiros vetores singulares m = 7 e k = 2, matriz como um conjunto de 7 pontos em 2 dimens˜oes, Umxk. Esta matriz U representa os autores com rela¸c˜ao semˆantica aos eventos. 19

2.3 Com k = 2 a matriz ´e A7x2: Matriz como um conjunto de 7 pontos em 2

Dimens˜oes. . . 20

2.4 Reordena¸c˜ao da matriz A. . . 20

2.5 Ilustra¸c˜ao de clustering na redu¸c˜ao da dimensionalidade com CSVD. . . 21

2.6 Ilustra¸c˜ao da representa¸c˜ao de documentos com SVD por Wei Song et al. [Song & Park, 2007]. . . 22

2.7 Ilustra¸c˜ao de SVD-gaps clustering quando o conjunto de dados ´e projetado em um vetor singular por Douglas [Douglas, 2008]. . . 22

3.1 Ilustra¸c˜ao de coordenadas espectrais de unbalanced graphs generated de Synth-2 - Leting et al. [Wu et al., 2011]. . . 26

3.2 Gr´afico tra¸cando a rela¸c˜ao entre o n´umero de v´ertices e o n´umero de arestas para dados da DBLP entre 1993 e 2003. . . 28

3.3 Grafo exemplo - relacionamento “professor participa de evento” muitos-para-muitos ente instˆancias de professores e instˆancias de eventos. Os pesos das arestas indicam quantas participa¸c˜oes de um dado professor em um dado evento. . . 30

3.4 Decomposi¸c˜ao por valor singular correspondente ao grafo da Figura 3.3. . . 30

4.1 Exemplo de t´ıtulos de artigos que precisam do processo de tokeniza¸c˜ao para a limpeza dos textos. . . 34

4.2 A curva de zipf e os cortes de Luhn. . . 39

(14)

5.1 Metodologia proposta. . . 43

5.2 Pr´e-processamento para os t´ıtulos.. . . 43

5.3 Entity - Relationship model of DBLP.. . . 45

5.4 Distribui¸c˜ao dos autores-artigos. (a) n´umero de artigos x n´umero de auto-res. (b) Rank-plot sobre o ´ındice do autor x n´umero de artigos.. . . 46

5.5 I-´esimo termo mais frequente x a Frequˆencia do termo. . . 48

5.6 (a) TF-rank x a Importˆancia do significado do termo (TS) (b) Termo x a importˆancia recalculada dos termos. . . 49

5.7 Ilustra¸c˜ao da distribui¸c˜ao de Theil para os conjuntos de termos. . . 50

5.8 Representa¸c˜ao de um grafo bipartido com base nas rela¸c˜oes entre entidades Termos e autores. . . 51

5.9 Scree-plot dos n´ıveis de energia da SVD de Termos (com Theil) x Ve´ıculos. 53

5.10 Scree-plot dos n´ıveis de energia da SVD para os Termos (Luhn) x Ve´ıculos. 54

5.11 Scree-plot dos n´ıveis de energia da decomposi¸c˜ao SVD para Termos (Luhn) x Authors. . . 57

(15)

Lista de Tabelas

2.1 T´ecnicas de aproxima¸c˜oes mais populares de decomposi¸c˜ao, tabela

adap-tada de [Menon & Elkan, 2011] . . . 13

2.2 M´etodos gerais para o c´alculo da SVD. . . 14

2.3 Compara¸c˜ao de complexidade de tempo e precis˜ao dos m´etodos de aproxi-ma¸c˜ao low-rank, tabela de [Menon & Elkan, 2011]. . . 15

5.1 Entidades envolvidas no an´alise. . . 45

5.2 Princ´ıpio de Pareto ou a regra 80-20. . . 46

5.3 Distribui¸c˜ao de Theil.. . . 48

5.4 Configura¸c˜oes de conjuntos de dados utilizados nos experimentos. . . 51

5.5 Termos (com Theil) x Ve´ıculos – termos mais importantes (mais alto score) em 6 comunidades principais. . . 53

5.6 Termos (Theil-only) x Ve´ıculos – dois ve´ıculos como ´areas de especialidade - segunda e terceira comunidades. . . 53

5.7 Termos (Luhn) x Ve´ıculos (Luhn) – termos mais frequentes em 6 comunidades. 55 5.8 Termos (Luhn) x Ve´ıculos (Luhn) – as seis principais conferˆencias e revistas na segunda e 16a. comunidades. . . 55

5.9 Termos (Luhn) x Autores – termos mais frequentes em 6 comunidades. . . 57

5.10 Termos (Luhn) x Autores - seis melhores autores nas segunda e quarta comunidades. . . 57

(16)
(17)

Lista de Abreviaturas e Siglas

CSVD Agrupamento e Decomposi¸c˜ao de Valor Singular (Clustering and Sin-gular Value Decomposition).

DBLP Digital Bibliography & Library Project.

GBdI Grupo de Bases de Dados e de Imagens - ICMC - USP.

MRDM Minera¸c˜ao de Dados Multi-Relacional (Multi-Relational Data Mi-ning).

RDF (Resource Description Framework ).

SVD Decomposi¸c˜ao de Valor Singular (Singular Value Decomposition). W3C (World Wide Web Consortium).

(18)

Cap´ıtulo

1

Introdu¸

ao

O

grande crescimento de dados em diferentes dom´ınios e, por consequˆencia, a an´alise destes dados de alta complexidade, levaram `a necessidade de desenvol-vimento de t´ecnicas e m´etodos capazes de descobrir conhecimento. O conheci-mento a ser descoberto tem o intuito de fomentar o apoio `a tomada de decis˜oes, motivando assim trabalhos nas ´areas de banco de dados, minera¸c˜ao de dados, recupera¸c˜ao de dados e visualiza¸c˜ao de dados. Na atualidade, estes trabalhos tˆem aplica¸c˜ao em diversas frentes como Web e biologia, onde a eficiˆencia e a efic´acia das t´ecnicas s˜ao fatores importantes. Nestes contextos, as aplica¸c˜oes precisam ser cada vez mais precisas nos resultados den-tro de prazos menores. Desta maneira, hoje em dia existem algoritmos de decomposi¸c˜ao espectral com complexidades cada vez menores, possibilitando assim a gera¸c˜ao de solu-¸c˜oes cada vez com melhores resultados. Neste sentido as t´ecnicas de an´alise de dados tornaram-se um campo de muito interesse, gerando assim diversos m´etodos, t´ecnicas e ferramentas.

Neste trabalho, uma das principais t´ecnicas a serem utilizadas para a an´alise de dados ´e a “Decomposi¸c˜ao por Valor Singular” (Singular Value Decomposition - SVD ) - tamb´em conhecida como decomposi¸c˜ao espectral, a qual se baseia em m´etodos alg´ebricos - opera-¸c˜oes matriciais; este processo, aqui, ´e combinado com t´ecnicas de pr´e-processamento de texto. Assim no contexto Multi-Relacional de dados, tem-se como objetivo desenvolver solu¸c˜oes em minera¸c˜ao de dados, desenvolvendo uma metodologia que englobe a SVD para a minera¸c˜ao de dados representados como grafos processados algebricamente. O que se pretende, mais especificamente, ´e o trabalho com relacionamentos “muitos para muitos”, os quais definem grafos multi-partidos. Objetiva-se a an´alise explorat´oria de m´ultiplas rela¸c˜oes, por meio de t´ecnicas baseadas em detec¸c˜ao de comunidades. Deve-se, ent˜ao, alcan¸car padr˜oes que possam ser usados para o suporte `a decis˜ao, permitindo a avalia¸c˜ao,

(19)

a previs˜ao, e a determina¸c˜ao de alternativas. Mais especificamente, define-se um m´etodo a ser utilizado sobre as rela¸c˜oes encontradas em bancos de dados relacionais em geral, considerando-se v´arias entidades e suas intera¸c˜oes.

1.1

Defini¸

ao do Problema e Motiva¸

ao

Os sistemas Gerenciadores de Bancos de Dados tˆem contribu´ıdo para o crescimento do volume de dados armazenados em diversos segmentos da sociedade. Alguns dos desafios que surgem com este fenˆomeno ´e a necessidade de an´alise e indexa¸c˜ao de dados com alta complexidade, e o desejo de se poder extrair informa¸c˜oes que apoiem `a tomada de decis˜oes. Na pr´atica de bancos de dados, um problema do mundo real deve ser modelado para uma estrutura adequada ao manuseio dos dados e ao funcionamento de um sistema gerenci-ador. O principal paradigma da modelagem ´e o chamado modelo relacional, j´a fortemente consolidado na ind´ustria. Em suma, este modelo determina um arranjo de conceitos que inclui dom´ınios, esquemas, rela¸c˜oes (tabelas), tuplas, chaves e restri¸c˜oes de integridade [Ramakrishnan & Gehrke, 2002]. Este conjunto ´e capaz de tratar um amplo espectro da problem´atica envolvida na gerˆencia de dados. Instanciado em avan¸cados sistemas gerenciadores de bancos de dados, o modelo relacional permite a constru¸c˜ao de ambien-tes de dados de tamanho vari´avel compostos por componentes menores de tamanho fixo [Kroenke, 2005]. O principal recurso envolvido ´e o de relacionamentos entre entidades, o que, no modelo relacional, se traduz em restri¸c˜oes de integridade entre rela¸c˜oes que referenciam umas `as outras.

O que se observa no modelo relacional s˜ao dois tipos de informa¸c˜oes: dados (instˆancias de entidades) e relacionamentos entre os dados. Ao passo que a modelagem relacional de dados j´a foi objeto de intenso estudo ao longo dos ´ultimos 40 anos, a an´alise das informa-¸c˜oes incorporadas nos relacionamentos ainda carece de investiga¸c˜ao em diversas frentes. Como tais relacionamentos carregam significativa semˆantica do sistema, ´e importante que tais informa¸c˜oes tamb´em sejam objeto de estudo. A semˆantica basicamente busca descre-ver o significado dos termos, senten¸cas, sinais e s´ımbolos; estuda e esmi´u¸ca o sentido no e do lingu´ıstico. A problem´atica do significado tem vindo a ser contestada desde a anti-guidade cl´assica, o mesmo Plat˜ao em Cr´atilo questiona a rela¸c˜ao ocorrente entre termos e coisas. Por´em, s´o no s´eculo XX ´e que a semˆantica passou a ser uma disciplina funda-mental dos estudos lingu´ısticos, apresentando estudos mais complexos e aprofundando os primordiais cl´assicos.

Partindo da problem´atica de se definir o termo significado e levando em conta que o conceito de significa¸c˜ao transborda as fronteiras da lingu´ıstica ´e que, por meio de um conjunto de princ´ıpios que definem um m´etodo de an´alise relacional pode-se mais bem aproveitar as informa¸c˜oes, como se desenvolve no presente trabalho.

A importˆancia de se trabalhar com os relacionamentos entre as entidades que comp˜oem o banco de dados se manifesta nas ´areas de bancos de dados dedutivos [Zaniolo, 1990],

(20)

j´a h´a alguns anos em iniciativas como o padr˜ao W3C Resource Description Framework – RDF [Lv & Ma, 2008], e na mais recente, “Minera¸c˜ao de Dados Multi-Relacional” (Multi-Relational Data Mining - MRDM ) [Dveroski, 2003][Guo & Viktor, 2008]. Estas pesquisas procuram extrapolar o uso dos relacionamentos entre os dados para al´em dos dom´ınios na-turalmente relacionados, como redes sociais e intera¸c˜ao proteica. Suas aplica¸c˜oes buscam inferir padr˜oes que envolvam m´ultiplas rela¸c˜oes do banco, enriquecendo as possibilidades de uso.

1.2

Dom´ınio de dados

Este projeto prevˆe t´ecnicas aplic´aveis a qualquer banco de dados a partir do qual um grafo possa ser extra´ıdo, no entanto, especificamente, os experimentos ser˜ao executados sobre a estrutura relacional ilustrada na Figura 1.1 instanciada sobre a base de dados da DBLP (Digital Bibliography & Library Project) [Ley, 2009]. Este dom´ınio define um conjunto de dados ricamente constitu´ıdo de informa¸c˜oes semˆanticas, levantando diversas quest˜oes, como discutido na pr´oxima subse¸c˜ao.

Instituição Grupo

Autor Área(tema)

Evento Veículo

Artigo Palavra-chave Compõe Participa Possui Participa Cria Possui Publica Cita Possui 1 M M N M M M N 1 1 1 N N M M N N N

Figura 1.1: Modelo entidade/relacionamento dos dados do projeto.

1.3

Padr˜

oes e Tomada de Decis˜

ao

O termo padr˜ao se refere n˜ao exaustivamente `as seguintes possibilidades: tendˆencia, cor-rela¸c˜ao, classifica¸c˜ao, relacionamento, ordem, exce¸c˜ao, agrupamento, estrutura, e sumari-za¸c˜ao. Segundo Thomas e Cook [J. J. Thomas, 2005], padr˜oes s˜ao os subs´ıdios necess´arios `

a tomada de decis˜ao, isto ´e, a avalia¸c˜ao, a previs˜ao e a determina¸c˜ao de alternativas em problemas complexos. Por se tratar de uma atividade explorat´oria de dados, o conjunto

(21)

espec´ıfico de poss´ıveis padr˜oes a serem identificados n˜ao ´e conhecido a priori mas, con-siderando as possibilidades existentes, os padr˜oes e quest˜oes a serem considerados s˜ao listados a seguir:

(1) Classifica¸c˜ao: quais s˜ao os autores mais similares? como tais autores podem ser classificados de acordo com ´areas espec´ıficas do conhecimento? o quanto os eventos s˜ao similares de acordo com as palavras chaves de seus trabalhos?

(2) Ordem: quais s˜ao os autores mais centrais em uma rede de co-autoria?

(3) Exce¸c˜ao: existem instˆancias de entidades com comportamento anormal? com ex-cesso de intera¸c˜oes? com valores discrepantes para algum atributo? existem autores excessivamente similares com rela¸c˜ao `a co-autoria, a rede de intera¸c˜ao, a colabora¸c˜ao m´utua?

(4) Agrupamento: ´e poss´ıvel tra¸car a semelhan¸ca entre autores? como esta semelhan¸ca se manifesta de acordo com cada atributo? ´area? palavras chaves? eventos em que participou? co-autoria? quais s˜ao as principais comunidades?

1.4

Objetivos

O objetivo deste trabalho ´e o de investigar e desenvolver solu¸c˜oes em minera¸c˜ao de da-dos, desenvolvendo uma metodologia anal´ıtica de dados. Definindo uma engenharia que englobe t´ecnicas de otimiza¸c˜ao de Decomposi¸c˜ao por Valor Singular e T´ecnicas de pr´ e-processamento de texto, possibilitando a an´alise explorat´oria de m´ultiplas rela¸c˜oes.

Para a prospec¸c˜ao de padr˜oes, ser˜ao usadas as t´ecnicas descritas nos cap´ıtulos2, 4, e

3: Decomposi¸c˜ao por Valor Singular, t´ecnicas de pr´e-processamento de texto, deriva¸c˜ao de relacionamentos a partir de bancos de dados relacionais, e an´alise das propriedades de grafos. Sendo que nenhuma destas t´ecnicas ´e limitada a um padr˜ao espec´ıfico listado. Uma vez encontrados os padr˜oes, pode-se seguir para a tomada de decis˜ao, como prevˆe a ordem proposta por Thomas e Cook [J. J. Thomas, 2005]. Dentre as possibilidades, deve-se trabalhar dentro dos seguintes conjuntos:

(a) Avalia¸c˜ao:

• Como as ´areas, comunidades e eventos s˜ao comparados metricamente?

• H´a autores com produ¸c˜ao acima da m´edia? Quais s˜ao suas t´ecnicas de traba-lho? Alta colabora¸c˜ao, amplitude de temas, diversifica¸c˜ao de ve´ıculos?

(b) Determina¸c˜ao de alternativas:

• Quais medidas podem ser sugeridas para que comunidades bem definidas tornem-se mais produtivas?

(22)

• ´E poss´ıvel sugerir a¸c˜oes que melhorem a colabora¸c˜ao entre diferentes grupos, ou entre autores?

• Pode-se sugerir a cria¸c˜ao de novos eventos ou ve´ıculos de divulga¸c˜ao que mais bem traduzir˜ao as atividades dos pesquisadores?

Em suma, este trabalho explora t´ecnicas de pr´e-processamento de texto e SVD, com a finalidade de encontrar padr˜oes semˆanticos em dados Multi-Relacionais.

1.5

Principais Contribui¸

oes

A principal contribui¸c˜ao deste trabalho ´e o desenvolvimento de uma metodologia anal´ıtica, bem definida com um conjunto de passos, que utilizam a abordagem de pr´e-processamento de textos e SVD. O trabalho desenvolve desafios ainda n˜ao explorados da minera¸c˜ao de dados relacional, usando representa¸c˜oes de grafo no contexto da comunidade de ciˆencia da computa¸c˜ao. Sobre dados do sistema DBLP deve-se criar uma representa¸c˜ao relacional do dom´ınio, a partir do qual ir˜ao se instanciar representa¸c˜oes de grafo nas quais os v´ertices representam instˆancias de entidades (autores, eventos, artigos, peri´odicos), e as arestas representam relacionamentos (co-autoria, cita¸c˜ao, publica¸c˜ao) entre as instˆancias.

A prospec¸c˜ao de padr˜oes de relacionamento focando em dados relacionais ´e uma ´area de pesquisa ainda a ser explorada. A maior parte dos trabalhos j´a publicados usam da-dos inerentemente relacionada-dos, produzindo padr˜oes sobre uma ´unica classe de entidade – como participantes de uma rede social ou computadores de uma rede. Assim, consi-derando as t´ecnicas descritas neste trabalho, a pesquisa desenvolvida tem as seguintes caracter´ısticas:

(a) Define uma engenharia que englobe t´ecnicas de pr´e-processamento de texto e de Decomposi¸c˜ao por Valor Singular, permitindo a an´alise explorat´oria de m´ultiplas rela¸c˜oes (tabelas) de dados.

(b) Como os padr˜oes encontrados podem ser usados para o suporte `a decis˜ao, permitindo a avalia¸c˜ao, e a determina¸c˜ao de alternativas.

1.6

Organiza¸

ao do Trabalho

Este trabalho est´a organizado em 6 cap´ıtulos, no primeiro cap´ıtulo foram apresentadas as considera¸c˜oes iniciais, os problemas, a motiva¸c˜ao e os objetivos para o desenvolvimento do projeto. O restante do documento tem a seguinte estrutura:

• No cap´ıtulo 2 s˜ao introduzidos os principais conceitos envolvidos no processo do an´alise espectral com a Decomposi¸c˜ao por Valor Singular (SVD).

• No cap´ıtulo 3 s˜ao apresentadas as defini¸c˜oes sobre a an´alise espectral de grafos com um exemplo de SVD no contexto da comunidade acadˆemica baseada em grafo.

(23)

• No cap´ıtulo 4 s˜ao abordados os principais conceitos relacionados `as t´ecnicas de pr´e-processamento de texto.

• No cap´ıtulo 5´e apresentada a Metodologia desenvolvida e seus resultados. • No cap´ıtulo 6 s˜ao descritas as conclus˜oes.

(24)

Cap´ıtulo

2

Decomposi¸

ao de Valor Singular

2.1

Considera¸

oes Iniciais

N

este cap´ıtulo s˜ao apresentados os principais conceitos sobre a Decomposi¸c˜ao de Valor Singular (Singular Value Decomposition - SVD ), que est˜ao relacio-nadas com o desenvolvimento da presente Disserta¸c˜ao. Para cada um destes ramos, s˜ao apresentados exemplos de m´etodos do estado da arte, enfocando as potencialidades e as deficiˆencias de cada um deles. Desta forma, permite-se uma melhor escolha dos m´etodos adequados sobre a variedade de t´ecnicas dispon´ıveis para o desenvolvimento do problema. Inicialmente s˜ao apresentados os principais conceitos que envolvem a Decomposi¸c˜ao de Valor Singular (SVD) sobre matrizes. Feito isto, passar-se-´a a uma breve discuss˜ao sobre sua hist´oria; posteriormente, aos m´etodos e as t´ecnicas propostas na literatura vigente.

2.2

Conceitos b´

asicos de SVD de uma matriz

Nesta disserta¸c˜ao os termos valor singular e vetor singular s˜ao utilizados diversas vezes, da´ı a importˆancia de uma defini¸c˜ao precisa e formal destes conceitos. Para tanto recorrer-se-´a a Manning et al. [Manning et al., 2008] e Yanai et al. [Yanai et al., 2011]. Logo ap´os definir esses conceitos, passaremos a uma defini¸c˜ao formal de SVD.

(25)

Defini¸c˜ao 1. Valor singular e vetor singular de uma matriz: Dada uma Matriz quadrada A de dimens˜ao n chama-se de valor singular (ou valor caracter´ıstico) ao escalar λ e de vetor singular (ou vetor caracter´ıstico) ao vetor x, (x 6= 0) de n-componentes que satisfazem `a equa¸c˜ao 2.1 da matriz A.

Ax = λx (2.1)

A equa¸c˜ao matricial determina um n-componente do vetor x cuja dire¸c˜ao permanece inalterada pela transforma¸c˜ao linear A. Os valores singulares de uma matriz encontram-se resolvendo a equa¸c˜ao caracter´ıstica. Isto ´e obtido por meio de uma redefini¸c˜ao da equa¸c˜ao

2.1 na forma (A-λIn)x=0. Os valores singulares de A s˜ao a solu¸c˜ao de | (A-λIn) |= 0,

onde | S | indica a determinante de uma matriz quadrada S. A equa¸c˜ao | (A-λIn) |= 0 ´e

uma equa¸c˜ao polinomial de en´esima-ordem em λ e pode ter no m´aximo n ra´ızes, que s˜ao os valores singulares de A.

Outra defini¸c˜ao a ser considerada ´e a de decomposi¸c˜ao de uma matriz segundo Manning et al. [Manning et al., 2008]. Conv´em observar que a defini¸c˜ao ´e dada para uma matriz quadrada A.

A decomposi¸c˜ao de uma matriz quadrada no produto de trˆes matrizes de uma forma especial ´e dada principalmente por meio de dois teoremas.

Teorema 1 (Teorema da diagonaliza¸c˜ao de uma matriz). Dado uma matriz A de n × n tem-se que esta ´e diagonaliz´avel se, e somente se, A tem n autovetores linearmente inde-pendentes. E ainda existe uma decomposi¸c˜ao singular da seguinte forma (eigen decompo-sition):

A = U SU−1 (2.2)

Onde as colunas de U s˜ao vetores singulares de A e S ´e uma matriz diagonal cujos elementos s˜ao valores singulares de A em ordem decrescente:

(26)

S =          λ1 λ2 . .. λn          , λi ≥ λi+1

No teorema2introduz-se um estado estritamente pr´oximo relacionado `a decomposi¸c˜ao de uma matriz quadrada sim´etrica dentro de produto de matrizes derivadas de seus vetores singulares. Isto ir´a abrir o caminho para o desenvolvimento da decomposi¸c˜ao em valores singulares que ´e explicada na defini¸c˜ao 2.

Teorema 2 (Teorema da diagonaliza¸c˜ao sim´etrica). Dada uma matriz sim´etrica de valores reais A de ordem n × n, com n vetores singulares linearmente independentes, tem-se que existe uma decomposi¸c˜ao diagonal sim´etrica:

A = QSQ−T (2.3)

Onde as colunas de Q s˜ao vetores singulares ortogonais e normalizados de A, e S ´e a matriz diagonal cujos elementos s˜ao os valores singulares de A. Desta maneira, todos os elementos de Q s˜ao reais e Q−1 = QT.

A decomposi¸c˜ao tem sido estudada em matrizes quadradas. No entanto, o interesse do estudo nesta pesquisa ´e para matrizes com dimens˜oes n × m da matriz A. Onde n 6= m; ent˜ao, ´e bastante plaus´ıvel que A n˜ao seja sim´etrica.

Na seguinte defini¸c˜ao ser´a descrita uma extens˜ao da decomposi¸c˜ao diagonal sim´etrica que ´e conhecida como a decomposi¸c˜ao de valor singular (SVD).

Defini¸c˜ao 2. Decomposi¸c˜ao de Valor Singular: Dada uma matriz An×m, tal que

A2 ´e positiva-semidefinida, tem-se que A pode ser expressa segundo a igualdade:

An×m= Un×rSr×rVr×mT = rank(A) X i=1 (λiui⊗ vi) (2.4) Onde:

(27)

• O s´ımbolo ⊗ ´e o produto externo dos dois vetores dados, e o rank(A) ´e o rank da matriz A. O rank da matriz ´e o n´umero de linhas (ou colunas) linearmente independentes desta; ent˜ao, o rank(A) ≤ min{n, m};

• Os valores singulares λ1, . . . , λr de AAT s˜ao os mesmos os valores singulares de

ATA;

• Matriz Un×r ´e constitu´ıda de n vetores de “entrada”, 1 ≤ r ≤ min{n, m};

• Sr×r ´e uma matriz diagonal constitu´ıda por r autovalores si,j, i = j;

• VT

r×m ´e uma matriz constitu´ıda de r vetores de “sa´ıda”.

Os vetores da matriz VT ao ortonormais, ou seja, linearmente independentes e com

norma unit´aria, isto ´e, determinam uma nova base capaz de representar A por meio de combina¸c˜oes lineares de U S. Assim, a matriz U equivale `a matriz A num outro espa¸co vetorial (sistema de coordenadas).

Na Figura2.1, apresentam-se uma ilustra¸c˜ao da SVD sobre uma matriz A. Esta matriz A ´e retratada em dois casos, quando n > m e a quando n < m.

A

nxm

U

rxr

V

T

S

nxr rxm

=

.

.

=

.

.

n > m n < m 5x3 5x3 3x3 3x3 3x5 3x3 3x3 3x5

Figura 2.1: Ilustra¸c˜ao esquem´atica da SVD.

2.3

Linha de evolu¸

ao e tendˆ

encias hist´

oricas

Uma quest˜ao que foi muito desenvolvida no campo da teoria das matrizes ´e a decomposi¸c˜ao de uma matriz (matrix decomposition) ou da forma canˆonica (canonical form). Esta teoria tem sua utilidade principalmente no estudo de ´algebra linear num´erica, que serve como

(28)

plataforma computacional a partir da qual um variado n´umero de problemas pode ser resolvido. Um dos muitos tipos de decomposi¸c˜oes ´e a decomposi¸c˜ao de valor singular (Singular Value Decomposition - SVD ). O estabelecimento da existˆencia desta teoria SVD ´e devido, inicialmente, a cinco matem´aticos −o italiano Eugenio Beltrami (1835-1899), o francˆes Camille Jordan (1838-1921), o inglˆes James Joseph Sylvester (1814-1897), o alem˜ao Erhard Schmidt (1876 - 1959) e o alem˜ao Hermann Weyl (1885-1955). Beltrami, Jordan e Sylvester chegaram `a decomposi¸c˜ao atrav´es da ´algebra linear; Schmidt e Weyl aproximaram-na a partir das equa¸c˜oes integrais [Stewart, 1993].

Em 1873 Beltrami desenvolveu a SVD, criando um algoritmo pr´oprio para o c´alculo desta; mas seus m´etodos ainda tinham algumas limita¸c˜oes, eram s´o para matrizes qua-dradas, reais e n˜ao-singulares que tem valores singulares distintos. Depois de um ano, em 1874, Jordan desenvolveu a SVD reduzindo uma forma bilinear a uma forma diagonal por substitui¸c˜oes ortogonais − ´e considerada uma solu¸c˜ao mais sofisticada do que Beltrami; em 1889, Sylvester obteve resultados similares ao de Jordan, seu m´etodo envolvia ignorar termos de segunda ordem. Logo depois, em 1907, Schmidt introduziu, de forma pioneira, a SVD em equa¸c˜oes integrais, usou-a para obter uma melhor aproxima¸c˜ao de um operador. Outro matem´atico que trabalhou com integrais foi Weyl em 1912, que desenvolveu uma teoria de perturba¸c˜ao geral, e obteve uma sofisticada prova do teorema da aproxima¸c˜ao.

Assim o SVD ´e definido como A = U SVT onde A ´e uma matriz real de ordem n; sendo

S o conjunto de valores singulares, S = diag(λ1, . . . , λr), e tem elementos diagonais n˜ao

negativos ordenados de forma decrescente; desta forma, as matrizes U = (u1, u2, . . . , un)

e V = (v1, v2, . . . , vn) s˜ao matrizes ortogonais com um conjunto de vetores singulares.

Desta maneira, a SVD ´e considerada como uma t´ecnica de fatora¸c˜ao de matrizes, que ´e uma importante ferramenta em aplica¸c˜oes, tais como processamento de sinais e estat´ıstica [Zheng et al., 2002][Baker & DeGroat, 1998]. Gra¸cas aos esfor¸cos pioneiros de Gene Go-lub, existem algoritmos est´aveis para calcular a SVD que fornecem ´otimas aproxima¸c˜oes do tipo low-rank approximations para A.

(29)

2.4

Aproxima¸

ao por matriz de baixo posto

(low-rank approximation )

Quando os dados s˜ao muito grandes, a aplica¸c˜ao de SVD pode ser um processo bastante custoso em termos computacionais. Para obter resultados mais r´apidos existem poss´ıveis solu¸c˜oes, que s˜ao chamadas aproxima¸c˜oes SVD, e m´etodos (algoritmos) com melhores complexidades de tempo e precis˜ao.

A aproxima¸c˜ao por matriz de baixo posto de uma matriz A ∈ Rm×n ´e alguma matriz

ˆ

A ∈ Rm×n, que satisfaz duas propriedades seguintes:

(i) rank( ˆA)  rank(A)

(ii) k A - ˆA kM ´e pequena para alguma matriz normal k.kM

Os algoritmos exatos da SVS requerem um grande custo computacional. Por esta raz˜ao, s˜ao propostos algoritmos de aproxima¸c˜oes de decomposi¸c˜ao de uma matriz, com a finalidade de lograr aproxima¸c˜oes cada vez mais precisas [Fradkin & Madigan, 2003] e [Sun et al., 2008]. Recentemente, diversos m´etodos de aproxima¸c˜oes de SVD foram pro-postos na literatura, principalmente para a otimiza¸c˜ao em tempo de execu¸c˜ao assint´otica e redu¸c˜ao da complexidade de an´alise, onde a SVD ´e uma matriz de aproxima¸c˜ao.

Estes m´etodos foram estudados em conjuntos de dados densos e esparsos. Estes con-textos mostraram os seguintes problemas: grandes matrizes causam problemas de comple-xidade em tempo e espa¸co de muitos algoritmos; apesar dos dados do mundo real terem dimensionalidade aparentemente alta, na verdade tˆem baixa dimensionalidade intr´ınseca. Frente a estes problemas existem as aproxima¸c˜oes de matrizes, como no trabalho de Gorrell [Gorrell, 2006], que faz uma sumariza¸c˜ao bem ordenada.

A Tabela 2.1 apresenta algumas t´ecnicas de aproxima¸c˜oes low-rank e suas decomposi-¸c˜oes.

Segundo Menon & Elkan [Menon & Elkan, 2011], existem trˆes m´etodos gerais na lite-ratura para o c´alculo de aproxima¸c˜oes de SVD. Estes m´etodos podem ser para matrizes esparsas (sparsify), colunas de amostragem (sampling columns) de A e incorpora¸c˜ao (em-bedding) em um espa¸co de menor dimens˜ao. Na Tabela 2.2 apresenta-se estes m´etodos

(30)

Tabela 2.1: T´ecnicas de aproxima¸c˜oes mais populares de decomposi¸c˜ao, tabela adaptada de [Menon & Elkan, 2011]

.

T´ecnicas de aproxima¸c˜oes Decomposi¸c˜oes Referencias

SVD A = U SV

T

U ∈ Rmxk, ∧ ∈ Rkxk, VT ∈ Rnxk [Golub & Van-Loan, 1996] CUR A = CU R C ∈ Rmxk, U ∈ Rkxk, R ∈ Rnxk C cont´em k colunas de A [Sun et al., 2008] Interpolative decomposition A = P B P ∈ Rmxk, B ∈ Rkxn P cont´em k colunas de A [Liberty et al., 2007]

gerais para o c´alculo da SVD.

Em um trabalho recente, Menon e Elkan [Menon & Elkan, 2011] fazem compara¸c˜oes das diferentes t´ecnicas de SVD visando a garantia de bom funcionamento e boa comple-xidade de tempo e precis˜ao dos m´etodos sobre uma matriz Am×n. Estes m´etodos

compa-rados s˜ao os mais interessantes do ponto de vista pr´atico, o que corresponde `aqueles com as melhores garantias conhecidas e que foram a base da maioria das novas pesquisas. A Tabela2.3 ilustra um resumo desses m´etodos de aproxima¸c˜oes low-rank para SVD.

Estas aproxima¸c˜oes geralmente trabalham com tipos de decomposi¸c˜oes, sejam elas em duas ou trˆes matrizes neste caso com a SVD. As a¸c˜oes pelas quais se usam as decompo-si¸c˜oes de baixo posto s˜ao:

Remo¸c˜ao de ru´ıdo. ´E o processo de reduzir a matriz original a uma matriz mais sim-plificada que descreva a matriz original. Em muitas aplica¸c˜oes do mundo real, os dados podem possuir significados intr´ınsecos pequenos e com uma aparente grande dimensionalidade. Em outras palavras, se pode obter um subespa¸co com rankk, onde k  min{m, n}.

Poupar espa¸co. Quando se faz a redu¸c˜ao, considera-se um rank k de aproxima¸c˜ao por SVD, o espa¸co requerido ´e O((m + n)k, k2), em oposi¸c˜ao de O(mn).

Descri¸c˜ao de dados. Uma matriz decomposta pode fornecer valores de informa¸c˜ao que ajudam a an´alise da estrutura das entradas. Por exemplo, nas aplica¸c˜oes de filtragem colaborativa para um problema de recomenda¸c˜ao de filmes, a entrada ´e uma matriz A, onde Aij representa a classifica¸c˜ao do usu´ario i na linha j.

(31)

Tabela 2.2: M´etodos gerais para o c´alculo da SVD.

M´etodo Sparsification Colunas de

amos-tragem Embedding Algoritmo (1) Manter elemento Aij com probabilidade pij, de outra forma substitu´ı-lo com 0, dada uma aproxima-¸c˜ao ˆA. (2) Chamada SVD em ˆA, dado A= U SVT. (3) Retornar: U ,S,Q C [V ]. (1) Escolha c colunas Ai1,...,Aic com probabilidades p1,...pn. (2) Formar a matriz C = [s1Ai1...scA(ic)] onde S1,...,Sc s˜ao fatores de escala . (3) Chamar SVD em CTC, dado CTC = U SVT. (4) Retornar: Cx[t1U1...tcU(c)] onde t1,...,tc s˜ao fatores de escala. (1) Calcular C = RA para alguma matriz aleat´oria R. (2) Encontrar Q C[A] a proje¸c˜ao de A sobre o espa¸co das linhas de C. (3) Chamada SVD em Q C[A], dado Q C[A] = U SVT. (4) Retornar: U ,S,V . Ref. [Achlioptas, 2001] [Achlioptas, 2007] [Frieze et al., 2004] [Drineas et al., 2003] [Sarl´os, 2006] [Rokhlin et al., 2009] [Nguyen et al., 2009]

(32)

Tabela 2.3: Compara¸c˜ao de complexidade de tempo e precis˜ao dos m´etodos de aproxima-¸c˜ao low-rank, tabela de [Menon & Elkan, 2011].

A lg or it mo P ar a me tr o # pas sa da s Co mpl ex idade Er ro k .k (2) F k .k (2) 2 Ti p o ifo rm sam p li n g h li o p tas, 2 0 01 ] fa tor d e a m os tr a ge m p 1 S S V D (mn (1 − p )) 4 z (z + p k A kF ) z =  nk b 2 p  1 / 4 8 b p n/p Add No n u n ifor m sa m p li n g h li o p tas, 2 0 07 ] fa tor d e a m os tr a ge m p 1 S S V D (m (l og n ) 4 ) 4 z (z + p k A kF ) A =  nk b 2 p  1 / 4 8 b p n/p Add D ri n eas ri n eas et al ., 2 00 6 ] er ro  2 D + mk 2 / 4 + k 3 / 6  k A kF 2  k A kF 2 Add S a rl o s [ S a rl ´o s, 20 0 6 ] er ro  2 D k / + (m + n )k 2 / 2  k A − Ak kF N/ A M ul ti er ty et a l. , 2 00 7 ] l 2 mnl og l + k ln log n + (m + n )k 2 N/ A δ k A − Ak k2 , δ = p 4 k (n − k ) + 1 − 1 M ul ti R an d o m PCA ok h li n et a l. , 20 0 9 ] i, l 2 (il + k )D + i 2 l 2 (m + n ) N/ A δ k A − Ak k 2 , δ = C m 1 / (4 i+2) − 1 , C constant e M ul ti Ng u y en u y en et al ., 2 00 9 ] er r o , pr obabibl idade β 2 mnl og d + (m + n )d 2 , d = O (k log m )  k A − Ak k F (1 + p 2 m/d ) k A − Ak k 2 M ul ti 15

(33)

2.5

etodos de c´

alculo para SVD

Os m´etodos de c´alculos para o SVD, no come¸co estes dependem do tipo das matrizes, quer sejam densas ou esparsas. Uma matriz ´e densa quando possui valores diferentes de zero atribu´ıdos a uma grande maioria dos seus elementos; por outro lado, uma matriz ´

e esparsa quando possui uma grande quantidade de elementos nulos, ou ausentes. Esta abstra¸c˜ao tem aplica¸c˜oes em problemas de engenharia, f´ısica, computa¸c˜ao entre outras ´

areas. Uma matriz de tipo termo-documento ´e modelada e constru´ıda neste trabalho, onde a principal caracter´ıstica da matriz ´e que ela ´e esparsa, ent˜ao merece uma aten¸c˜ao e tratamento diferenciado, tanto no armazenamento quanto no processamento.

Al´em dos parˆametros convencionais para classifica¸c˜ao de uma matriz, como o n´umero de linhas, n´umero de colunas, estrutura e posto, ´e comum observar a densidade para tratar matrizes esparsas. Analogamente ao conceito f´ısico, a densidade matricial ´e definida como a raz˜ao entre a quantidade de elementos n˜ao nulos ´e o tamanho total da matriz, como ´e mostrado na equa¸c˜ao 2.5. Onde δ ´e a densidade, z ´e o n´umero de elementos diferentes de zero, m ´e o n´umero de linhas e n n´umero de colunas. Este valor real ´e importante para caracterizar a quantidade de informa¸c˜oes presente, bem como estimar a carga de processamento e o espa¸co em mem´oria necess´ario para tratar tais objetos computacionalmente.

δ = z

m x n (2.5)

Quanto ao armazenamento otimizado de grandes matrizes, sejam densas ou esparsas, faz-se necess´ario um tratamento em mem´oria. Neste sentido, armazenar matrizes densas Amxnconsome mem´oria proporcional a (m)(n)(tamanho de elemento), aproximadamente.

Por outro lado, as matrizes esparsas, tˆem muitos elementos nulos e n˜ao tem a necessi-dade expl´ıcita de serem armazenados. Neste caso, tais elementos fazem requerer por considerar tamb´em a densidade da matriz, sendo para a mesma matriz A proporcional a (m)(n)(tamanho de elemento) (δ). Estrat´egias comuns para armazenar matrizes esparsas envolvem o uso de listas vinculadas ou de tabelas de listas hash especiais.

(34)

ou de trabalho (vol´atil). A mem´oria permanente caracteriza-se pelo acesso espor´adico e sequencial do conjunto de dados, geralmente se traduz em discos r´ıgidos. Neste conceito ´e fundamental atingir a maior compacidade poss´ıvel, mesmo em sacrif´ıcio de parte do processamento, dado que neste ponto o espa¸co ´e fator restritivo da capacidade operacional. Visando otimizar essa abordagem algumas t´ecnicas desenvolvidas operam somente sobre a massa ´util de maneira diferenciada. Para armazenar apenas os elementos n˜ao nulos de uma matriz de forma simples, seria necess´ario conhecer apenas seus ´ındices (linha e coluna) al´em do seu valor. Nessa estrutura uma matriz esparsa poderia ser mapeada numa lista de tr´ıades gerando uma indexa¸c˜ao linha-coluna mostrada em 2.6. Intuitivamente simples e gen´erica, esta estrutura permite particionamento com facilidade e oferece vantagens para tamanho e esparsidade elevados.

      0 0, 256 0 0 0 0, 48 0, 6 0 0       → (1, 2) : 0, 256 (2, 3) : 0, 48 (3, 1) : 0, 6 (2.6)

Visando otimizar o modelo baseado em linha-coluna, na implementa¸c˜ao ´e poss´ıvel adotar tamanho fixo para os campos de ´ındice (linha e coluna) e tamb´em de valor. O armazenamento de largura fixa sequencial otimiza espa¸co ao dispensar cabe¸calhos e mar-ca¸c˜oes especiais em cada elemento. Na demonstra¸c˜ao 2.7 foram adotados ´ındices com largura dois e largura trˆes para o valor. As desvantagens deste m´etodo apresenta dificul-dade para acesso aleat´orio aos elementos al´em de pouca robustez na leitura e durante o particionamento.       0 0, 256 0 0 0 0, 48 0, 6 0 0       →z }| { 120, 256 z230, 48}| { z310, 6}| { (2.7)

Evolutivamente m´etodos gen´ericos baseados na compress˜ao de linhas [Golub & Van-Loan, 1996] e colunas [Hurlen et al., 2009] foram criados sem restri-¸c˜oes estruturais armazenando apenas elementos necess´arios. O formato CCS, tamb´em conhecido como Harwell-Boeing, armazena valores n˜ao-nulos das colunas continuamente em um vetor dedicado utilizando outros dois vetores como apontadores. Analogamente

(35)

o formato CRS realiza compress˜ao por linhas e equivale ao CCS da matriz transposta. Pela alta eficiˆencia mostrada em 2.8 e tendo desvantagem apenas no requisito de endere¸camento indireto, o formato de Harwell-Boeing ´e amplamente utilizado.

      0 0, 256 0 0 0 0, 48 0, 6 0 0       → 1 2 3 4 → colptr 3 1 2 → rowind 0, 6 0, 256 0, 48 → value (2.8)

Algoritmos para realizar SVD em matrizes densas s˜ao aplic´aveis a matrizes meno-res, sendo o tamanho limite pautado pela potˆencia computacional dispon´ıvel. Por´em, frequentemente em minera¸c˜ao de dados as matrizes s˜ao muito grandes e/ou esparsas, ape-sar de suas decomposi¸c˜oes manterem caracter´ısticas densas. Com requisitos de espa¸co e processamento proibitivos neste contexto, a utiliza¸c˜ao de m´etodos convencionais n˜ao ´e razo´avel.

2.6

etodos de agrupamento com SVD

Existe uma variedade de m´etodos de agrupamento, nosso objetivo neste trabalho n˜ao ´e medir qual m´etodo de agrupamento ´e o melhor. Mais sim mostrar que a metodologia desenvolvida ´e um m´etodo que pode ser utilizado sobre os relacionamentos encontrados em base de dados relacional em geral, considerando suas m´ultiplas entidades, encontrando informa¸c˜ao semˆantica atrav´es de termos chave. Desta forma com o m´etodo anal´ıtico desenvolvido podem-se obter melhores resultados para a prospec¸c˜ao de padr˜oes.

Apresentam-se mais detalhadamente o m´etodo de agrupamento por signal desenvolvida por Douglas [Douglas, 2008].

2.6.1

Agrupamento por signal

Uma vez calculado a SVD de uma matriz, m´etodos de agrupamento s˜ao usados para descobrir padr˜oes. O Agrupamento por signal ´e um m´etodo de agrupamento baseado nos sinais dos vetores singulares. Por exemplo, na Figura 2.2, s˜ao ilustrados os dois primeiros vetores singulares esquerdos (matriz Uk) da matriz A da Figura 3.3. Usando o

(36)

informa¸c˜ao que est´a indicada com a cor rosa, e as linhas 5, 6 e 7 s˜ao agrupadas em outro conjunto indicado com o cor azul claro. Estes s˜ao colocados em um aglomerado, por si s´o. Note-se que em k = 2 vetores singulares, pode-se ter at´e 2k clusters, cada linha de U

k

tem k entradas, cada uma com dois poss´ıveis valores (positivo ou negativo), o algoritmo raramente apresenta um alto n´umero de clusters.

1.9167 1.0122 1.0492 5.6919 11.1615 17.2410 9.4715 SVD2 SVD1 10 -12 -10 -8 -6 2 0 2 4 6 8 -4 -2 0 12 14 16 18 1 2 3 4 5 6 7 5 6 7 1 2 4 3 -4.4341 -5.7422 -10.8235 0.3680 1.4224 0.3791 0.1225 SVD1 SVD2

U=

k=2 k

+

+

+

+

+

+

+

+

+

+

+

-Figura 2.2: Agrupamento usando padr˜oes sinal dos dois primeiros vetores singulares m = 7 e k = 2, matriz como um conjunto de 7 pontos em 2 dimens˜oes, Umxk. Esta matriz U

representa os autores com rela¸c˜ao semˆantica aos eventos.

Na Figura 2.3 pode-se ilustrar o conjunto de elementos mais parecidos semanticamente com os Eventos. Observa-se que os eventos KDD, ACMGIS e CIKM est˜ao em um mesmo cluster, conjuntamente com os autores 1, 2, 3 e 4. Assim, o segundo cluster tamb´em est´a conformado por 3 conferˆencias AAAI, CVPR e ICML conjuntamente relacionadas com os autores 5,6 e 7. Os sinais dos vetores singulares da esquerda, ou as colunas de U , s˜ao agrupamentos para as linhas, enquanto que os sinais dos vetores singulares da direita, ou as colunas de V , podem ser usados para agrupar as colunas.

Este m´etodo de agrupamento ´e baseado nos sinais e finalmente faz a reordena¸c˜ao dos vetores tanto por linhas quanto por colunas – olhar Algoritmo1. Na Figura 2.4 pode-se observar que a reordena¸c˜ao por linhas e colunas s˜ao agrupados por grau de relevˆancia, o agrupamento de cor mais claro ´e mais relevante.

(37)

SVD2 SVD1 10 -12 -10 -8 -6 2 0 2 4 6 8 -4 -2 0 12 14 16 18 1 2 3 4 5 6 7 5 6 7 1 2 4 3 KDDACMGIS CIKM AAAI CVPR ICML KDD CIKM ACMGIS CVPR AAAI ICML 1.1860 0.8659 10.8409 16.6537 12.1893 2.0322 SVD1 SVD2 V = k=2 k -10.2806 -4.0877 0.8050 0.3407 1.2566 -6.8816 T 1.9167 1.0122 1.0492 5.6919 11.1615 17.2410 9.4715 -4.4341 -5.7422 -10.8235 0.3680 1.4224 0.3791 0.1225 SVD1 SVD2 U= k=2 k + + + + + + + + + + +

-+ + + + + + +

-

+

-

+

-Figura 2.3: Com k = 2 a matriz ´e A7x2: Matriz como um conjunto de 7 pontos em 2

Dimens˜oes. 7 6 5 1 4 3 2

KDD CIKM ACMGIS CVPR AAAI ICML

6 5 7 3 1 2 4

KDD CIKM ACMGIS CVPR AAAI ICML CIKM ACMGIS KDD CVPR ICML AAAI

6 5 7 3 1 2 4 Matriz A Reordenação por linhas Reordenação por linhas e colunas

Figura 2.4: Reordena¸c˜ao da matriz A.

2.6.2

Outros m´

etodos

Outro m´etodo de clustering desenvolvido por Castelli et al. [Castelli et al., 2003] ´e o CSVD. Este m´etodo ´e utilizado a fim de reduzir o n´umero das dimens˜oes dos ´ındices, extraem-se os vetores caracter´ısticos de imagens sat´elites para o processo de decomposi¸c˜ao e s˜ao apresentados em grupos homogˆeneos dentro de um cluster com pontos em cada um, como ´e ilustrado na Figura 2.5. No ano seguinte Drineas et al. [Drineas et al.,] desenvolveram um m´etodo de clustering via SVD para grandes grafos. Fazem-se conjuntos agrupados de m pontos em espa¸co n-dimensional dentro de k agrupamentos com NP-hard. O m´etodo de agrupamento de Wei Song et al. [Song & Park, 2007] prop˜oe um algoritmo gen´etico para agrupar textos (text clustering) com SVD (SVD-based GA). Este m´etodo faz frente aos m´etodos convencionais de algoritmos gen´eticos em modelo de espa¸co vetorial. A Figura 2.6 ilustra o modelo que se usa para a representa¸c˜ao de documentos de SVD.

(38)

Algoritmo 1 Algoritmo SVD Sign.

Entrada: Matriz A, rank k, conjunto de termos chave T = {t1, . . . , tm} e conjunto de

documentos D = {d1, . . . , dn}.

Sa´ıda: N´umero de cluster das linhas U e colunas VT, e reordena¸c˜ao de estes.

1: Calcular [Uk,Sk,Vk] ← svds(A,k) //M´etodos de c´alculo na se¸c˜ao2.5.

2: p ← {0~ 1, . . . , 0m}

3: ~q ← {01, . . . , 0n}

4: Pij ← (Umk >= 0)//Atribuir 1 para valor com sinal ”+”e 0 para ”−”a Pij de Umk. 5: Qij ← (Vnk >= 0) //Atribuir 1 para valor com sinal ”+”e 0 para ”−”a Qij de Vnk. 6: para todo i ∈ k fa¸ca

7: para j ∈ m fa¸ca

8: ~p ← ~p + 2(i−1)∗ P [j, k − i + 1]//Atribui um padr˜ao-signal para cada linha de U

k em ~p. 9: fim para

10: para j ∈ n fa¸ca

11: ~q ← ~q + 2(i−1)∗ Q[j, k − i + 1]//Atribui um padr˜ao-signal para cada coluna de V

k em ~q. 12: fim para

13: fim para

14: [sorted row p, rowindex] ← sort(~p) //Ordenar ~p por padr˜ao-signal de Umk 15: [sorted col q, colindex] ← sort(~q) //Ordenar ~q por padr˜ao-signal de Vnk 16: nr ←length(unique(~p))//N´umero de cluster das linhas U

17: nc ←length(unique(~q))//N´umero de cluster das colunas VT

18: reordenar T e Uk com o ´ındice rowindex, e D e Vk com colindex.

19: return nr, nc,Uk,Vk

Figura 2.5: Ilustra¸c˜ao de clustering na redu¸c˜ao da dimensionalidade com CSVD.

Outro m´etodo de agrupamento ´e o SVD-Gaps, desenvolvido por Douglas [Douglas, 2008]. Usam-se os gaps como pontos de separa¸c˜ao de grupos, dividindo os conjuntos de elementos, como ´e ilustrado na Figura 2.7.

2.7

Aplica¸

oes da SVD

A SVD ´e uma ferramenta usada principalmente para an´alise de dados, sendo aplicada tamb´em em aprendizado de m´aquina e minera¸c˜ao de dados. Especificamente, nos campos de visualiza¸c˜ao de dados, indexa¸c˜ao de semˆantica latente, e filtragem colaborativa.

(39)

Figura 2.6: Ilustra¸c˜ao da representa¸c˜ao de documentos com SVD por Wei Song et al. [Song & Park, 2007].

Figura 2.7: Ilustra¸c˜ao de SVD-gaps clustering quando o conjunto de dados ´e projetado em um vetor singular por Douglas [Douglas, 2008].

2.8

Considera¸

oes Finais

Neste cap´ıtulo foram apresentadas os principais conceitos que envolvem a Decomposi¸c˜ao de Valor Singular (SVD) sobre matrizes, informa¸c˜oes que ser˜ao aplicadas neste projeto de pesquisa, considerando-se os m´etodos de Decomposi¸c˜ao de Valor Singular e suas

(40)

apro-xima¸c˜oes. Para o melhor entendimento destas t´ecnicas s˜ao realizados alguns exemplos. Estes exemplos est˜ao baseados especificamente na SVD.

(41)
(42)

Cap´ıtulo

3

An´

alise espectral de grafos

3.1

Considera¸

oes Iniciais

E

ste cap´ıtulo apresenta no¸c˜oes sobre an´alise espectral de grafos, com o objetivo de auxiliar no entendimento de assuntos tratados posteriormente. S˜ao descri-tos tamb´em alguns trabalhos neste contexto. Seguidamente ´e feita a explica¸c˜ao sobre a deriva¸c˜ao de relacionamentos no contexto multi-relacional e a an´alise das propriedades do grafo. Finalmente, ´e apresentado exemplo de SVD no contexto da comunidade acadˆemica baseado em grafo.

3.2

Trabalhos que analisam grafos usando SVD

Leting et al. [Wu et al., 2011] realiza a an´alise espectral sobre grafos denominada k-balanced Signed Graphs. Eles descobriram que esses grafos tˆem propriedades espec´ıficas. Em especial, eles descobriram que, quando um gr´afico ´e assinada, as comunidades s˜ao mais claramente observadas, mesmo que as conex˜oes entre eles tendam a aumentar. Este pode ser observado na Figura 3.1.

Maruhashi and Faloutsos [Maruhashi & Faloutsos, 2010] introduz EigenDiagnostics, um algoritmo que calcula e combina v´arias medidas espectrais para identificar

(43)

pa-(a) 2 separado, q=0.1 (b) p=0.1, q=0.1 (c) p=0.1, q=0.2

Figura 3.1: Ilustra¸c˜ao de coordenadas espectrais de unbalanced graphs generated de Synth-2 - Leting et al. [Wu et al., 2011].

dr˜oes em conjunto de dados representados em grafo. Em outro trabalho, Kim et al. [Kim et al., 2011] aplica a an´alise espectral sobre os dados de blog (ou blogosfera). Eles descobriram um conjunto de comunidades pendentes decorrentes das rela¸c˜oes extra´ıdas de blogs e posts; tamb´em, eles foram capazes de caracterizar e interpretar as comunidades com base nos principais termos utilizados para compor os posts.

3.3

Deriva¸

ao de relacionamentos no contexto

multi-relacional

Como ilustra¸c˜ao, considere um relacionamento Publica entre duas entidades Autor e Ar-tigo, segundo a semˆantica “Um autor publica v´arios artigos, os quais possuem m´ultiplos autores”. No modelo relacional, a instˆancia de tal modelagem resulta em trˆes rela¸c˜oes: A = {pka}, B = {pkb} e R = {pka, pkb}. Estas trˆes rela¸c˜oes podem ser representadas

em um grafo bipartido G = {V = {W, X}, E}, W ∩ X = ∅, onde cada v´ertice w ∈ W corresponde a uma tupla de A e cada v´ertice x ∈ X corresponde a uma tupla de B, e tal que uma dada aresta e = {w, x} ∈ E se suas respectivas tuplas determinam uma tupla em R. Uma opera¸c˜ao de interesse ´e a determina¸c˜ao dos autores que publicaram artigos juntos, isto ´e, s˜ao co-autores, o que em ´algebra relacional ´e dado por co-autoria ← Π(A.pka, R0.pka)((A ./A.pka=R.pka R) ./A.pka6=R0.pka∧R.pkb6=R0.pkb ρR(R

0)). A defini¸c˜ao

desta consulta ilustra como a complexidade inerente ao modelo relacional faz com que relacionamentos de interesse, presentes nos dados, n˜ao sejam evidentes.

Alternativamente, o relacionamento de co-autoria poderia ser calculado a partir do grafo G = {V = {W, X}, E}. Para isso, poderia se definir um novo grafo H = {Y ⊆

(44)

W, F }, tal que f = {y, z} ∈ F ⇐⇒ ∃x ∈ X tal que e = {y, x} ∈ E, e e = {z, x} ∈ E. O grafo H corresponde ao crit´erio de relacionamento “conectados por caminho de tamanho 2”, subconjunto do produto cartesiano W × W . Dado o grafo G representado em matriz de adjacˆencia, o grafo H pode ser calculado a partir da matriz G2 = GG. De fato, o

problema se generaliza para o crit´erio “conectados por caminho de tamanho n” a partir da potˆencia de matriz Gn = Gn−1G.

A ideia geral introduzida por este exemplo ´e a de que novos relacionamentos de interesse podem ser derivados a partir das rela¸c˜oes do banco de dados usando-se processamento matricial. Outros exemplos semelhantes s˜ao: docentes que ministram as mesmas disciplinas em um curso de gradua¸c˜ao, funcion´arios que trabalham em projetos comuns de uma empresa, ou mesmo o inverso do problema da co-autoria – quais artigos tˆem autores em comum? Esse exerc´ıcio semˆantico pode ser expandido para mais do que duas rela¸c˜oes, e para outras cardinalidades.

3.4

An´

alise das propriedades do grafo

Um grafo tamb´em pode ser ´util por meio da an´alise das propriedades b´asicas que o definem, o que tamb´em ´e uma possibilidade de desenvolvimento para o presente projeto. Um exem-plo desta possibilidade foi exexem-plorado no trabalho de Leskovec et al. [Leskovec et al., 2005], os quais descobriram que o n´umero de arestas de grafos de diversos dom´ınios aumenta em ordem exponencial em fun¸c˜ao do n´umero de v´ertices seguindo uma lei de potˆencia (power-law) ao longo do tempo, segundo a proporcionalidade:

e(t) ∝ n(t)a (3.1)

onde a ´e uma constante, geralmente no intervalo ]1,2].

Esta descoberta determina que o grau m´edio dos v´ertices de um grafo aumenta linear-mente ao longo do tempo - o que foi denominado processo de densifica¸c˜ao. A densifica¸c˜ao contrap˜oe-se `a literatura anterior que predizia que os v´ertices teriam um grau m´edio cons-tante, prevendo que o n´umero de arestas cresceria linearmente com o n´umero de v´ertices.

(45)

A Figura3.2ilustra a densifica¸c˜ao para dados da Digital Bibliography and Library Project entre 1993 e 2003. A inclina¸c˜ao da reta fornece o parˆametro a da correspondente lei de potˆencia.

Este tipo de an´alise pode ser usado para caracterizar o comportamento temporal dos dados [Asur et al., 2007]. Por exemplo, pode-se analisar bancos de dados relacionais de longa data, permitindo a previs˜ao das necessidades futuras de espa¸co de armazenamento e processamento. Permite tamb´em a identifica¸c˜ao de sub regi˜oes do grafo que crescem segundo um parˆametro diferente do parˆametro a global, indicando subconjuntos de v´ er-tices de interesse – por exemplo, grupos mais colaborativos, trabalhos mais citados ou a emergˆencia de novas linhas de pesquisa.

Número de arestas

Número de vértices

Figura 3.2: Gr´afico tra¸cando a rela¸c˜ao entre o n´umero de v´ertices e o n´umero de arestas para dados da DBLP entre 1993 e 2003.

Outros trabalhos focam na distribui¸c˜ao estat´ıstica dos graus dos v´ertices do grafo [Abello et al., 2008] [Bi et al., 2001], demonstrando uma distribui¸c˜ao do tipo cauda-longa (heavy-tailed); uma distribui¸c˜ao bastante comum em dom´ınios como a economia, ciˆencias sociais, geof´ısica, e ciˆencia da computa¸c˜ao. Esta distribui¸c˜ao estabelece que um con-junto reduzido de elementos ocorre com alta frequˆencia, ao passo que um conjunto grande (longo) de elementos ocorre com baixa frequˆencia. Por exemplo, o tr´afego de arquivos na Web [Crovella et al., 1998] apresenta um maior n´umero de eventos para arquivos peque-nos, ao passo que arquivos de tamanho m´edio ou grande apresentam um menor n´umero de eventos. Em grafos de diversos dom´ınios observa-se um comportamento semelhante: alguns v´ertices tˆem grau de baixa magnitude, ao passo que muitos tˆem grau de alta

(46)

magni-tude. Este padr˜ao pode ajudar a explicar o comportamento da intera¸c˜ao entre os v´ertices, por exemplo, quais autores s˜ao os mais atuantes (conectados) e qual o padr˜ao em comum entre eles, quais eventos s˜ao mais citados e o quanto eles s˜ao representativos na produ¸c˜ao global. Outras m´etricas de grafo apresentam distribui¸c˜oes de interesse, como o diˆametro do grafo, o n´umero de triˆangulos [Tsourakakis et al., 2009], o tamanho das componentes conectadas, e o PageRank [Kang et al., 2009], e m´etricas relacionadas a comunidades do grafo [Leskovec, 2009]. Cada uma destas m´etricas com implica¸c˜oes de an´alise.

3.5

Exemplo de SVD no contexto da comunidade

acadˆ

emica baseado em grafo

No caso de A ser um grafo representado como uma matriz de adjacˆencias calculada a partir de um banco de dados relacional, o principal resultado da SVD ´e o agrupamento dos m elementos que determinam as linhas da matriz A em fun¸c˜ao de como estes se relacionam com os n elementos que determinam as colunas da matriz. No exemplo da co-autoria, esta aplica¸c˜ao poderia identificar quais s˜ao as equipes mais atuantes de autores em fun¸c˜ao de quais artigos eles publicam. Alternativamente, como no trabalho de Nan Du e Faloutsos [Du et al., 2010], a SVD pode ser aplicada ao longo do tempo para identificar, por exemplo, quais s˜ao os orientadores mais atuantes na institui¸c˜ao e como eles tˆem se comportado. ´E interessante observar que os agrupamentos detectados via SVD n˜ao s˜ao da mesma natureza que o agrupamento categ´orico tradicionalmente de-senvolvido em minera¸c˜ao de dados, mas sim um agrupamento baseado no relacionamento entre diferentes entidades, assim como no trabalho de Prakash et al. [Prakash et al., 2009].

No exemplo da Figura 3.3, ´e apresentado um grafo representando o relacionamento entre professores e eventos cient´ıficos. Neste exemplo, a SVD pode ser usada para iden-tificar quais s˜ao as principais ´areas de pesquisa em fun¸c˜ao da natureza dos eventos dos quais os professores participam.

A Figura 3.4 apresenta a decomposi¸c˜ao SVD para este exemplo. A fatora¸c˜ao produz um total de seis valores singulares e, segundo a heur´ıstica bastante aceita

(47)

Autores Eventos KDD CIKM ACMGIS CVPR AAAI ICML 2 3 5 1 4 7 5 1 6 15 7 2 9 4 8 6 2 9 131 5 2 26 2 1 2 3 4 5 6 7 1 2 3 4 5 6 7

KDD CIKM ACMGIS CVPR AAAI ICML

A

mxn 2 3 5 0 1 0 4 7 5 0 0 1 6 15 7 2 0 0 9 4 8 0 0 0 0 0 0 6 2 9 1 0 0 3 1 5 0 2 0 2 6 2 Autores Eventos

Figura 3.3: Grafo exemplo - relacionamento “professor participa de evento” muitos-para-muitos ente instˆancias de professores e instˆancias de eventos. Os pesos das arestas indicam quantas participa¸c˜oes de um dado professor em um dado evento.

0.4624 0.7103 0.5199 0.0867 0.0369 0.0506 0.0614 0.0260 0.0958 -0.5246 -0.3116 -0.7837 0.5619 -0.6729 0.4229 -0.0564 -0.1448 0.1687 0.0491 -0.1373 0.1257 -0.1324 0.9346 -0.2683 -0.6761 -0.0637 0.7019 -0.1480 -0.0467 0.1484 0.0849 0.1382 -0.1821 -0.8214 0.0706 0.5107 0.2428 0.0280 0.1447 0.2416 0.8505 -0.2411 0.4040 0.0093 -0.0242 -0.0782 0.2249 0.8562 0.7353 0.0289 -0.5216 -0.2223 -0.1750 -0.3163 0.4760 0.1084 0.7738 0.1737 -0.3209 -0.1318 0.0447 -0.8250 0.1199 -0.2591 0.1569 -0.1799 0.0432 -0.4377 0.1469 -0.1460 -0.1882 0.2312 0.0817 -0.3380 -0.2679 0.8761 -0.1802 0.0741 23.4465 0 0 0 0 0 0 13.1187 0 0 0 0 0 0 7.4292 0 0 0 0 0 0 5.1723 0 0 0 0 0 0 2.2571 0 0 0 0 0 0 1.0596 2 3 5 0 1 0 4 7 5 0 0 1 6 15 7 2 0 0 9 4 8 0 0 0 0 0 0 6 2 9 1 0 0 3 1 5 0 2 0 2 6 2

=

A

U

S

V

T

mxn

mxr

rxr

rxn

Autores x Eventos

Figura 3.4: Decomposi¸c˜ao por valor singular correspondente ao grafo da Figura 3.3.

de Fukunaga [Fukunaga, 1990], ´e suficiente que se mantenha um n´umero de valores singulares que totalize entre 80% e 90% da energia dada pelo somat´orio dos quadrados dos valores singulares. No exemplo, isto corresponde aos dois primeiros valores, os quais representam 89% da energia. Ao se interpretar este resultado, percebe-se que os dados definem duas ´areas principais de pesquisas, uma relacionada `a minera¸c˜ao de dados e outra relacionada `a inteligˆencia artificial. A an´alise informa ainda que estas duas ´areas apresentam intera¸c˜ao correspondente ao res´ıduo de 11% da energia dos

(48)

valores singulares. Embora a SVD seja computacionalmente custosa – O(nm2), j´a existem m´etodos para seu c´alculo incremental permitindo que seja aplicada em bases de dados dinˆamicas a custo reduzido O(nm) [Manjunath et al., 1995]. Outras abordagens exploram a generaliza¸c˜ao por traz da SVD em busca de melhor desempenho, assim como a decomposi¸c˜ao CUR [Mahoneya & Drineas, 2009] e a sua varia¸c˜ao Compact Matrix Decomposition [Sun et al., 2008].

3.6

Considera¸

oes Finais

Neste cap´ıtulo foram apresentados no¸c˜oes sobre a an´alise espectral de grafos, em seguida trabalhos que analisam grafos usando SVD, a deriva¸c˜ao de relacionamentos no contexto multi-relacional e um exemplo de SVD baseado em grafo.

(49)
(50)

Cap´ıtulo

4

ecnicas de processamento de texto

4.1

Considera¸

oes Iniciais

U

ma grande quantidade de informa¸c˜oes dispon´ıveis est´a em formato digital dispersa em diferentes tipos de documentos; sejam estes estruturados, semi-estruturados ou n˜ao estruturados. Assim, existe um interesse de extrair conhecimento desse grande volume de dados. Esse ´e o objetivo principal do processo de Minera¸c˜ao de Textos. Neste cap´ıtulo s˜ao apresentadas as principais t´ecnicas sobre o pr´e-processamento de textos, seguidamente a aplica¸c˜ao de m´etodos estat´ısticos.

4.2

Tratamento com textos

Cada t´ıtulo de um artigo possui termos, os quais s˜ao extra´ıdos usando t´ecnicas de minera-¸c˜ao de textos. T´ecnicas que s˜ao muito utilizadas em processamento de linguagem natural envolvendo t´ecnicas com opera¸c˜oes em textos. Neste sentido, para a extra¸c˜ao de termos iniciar-se-´a com a “tokeniza¸c˜ao” seguido da elimina¸c˜ao de “stopwords” e “stemming”.

(51)

4.2.1

Tokeniza¸

ao

A tokeniza¸c˜ao, tamb´em conhecida como splitting de palavras, ´e considerada por mui-tos autores como o primeiro passo para a prepara¸c˜ao de textos [Webster & Kit, 1992] [Fox, 1992] [Grefenstette & Tapanainen, 1994] [Guo, 1997] [Barcala et al., 2002], que ba-sicamente consiste em identificar e separar os textos em tokens, que por sua vez, s˜ao palavras dos textos, mantidas em um vetor de palavras tendo como base um conjunto de regras. Neste processo ´e importante considerar o tratamento de sinais de pontua¸c˜ao, re-mo¸c˜ao de caracteres especiais e de n´umeros e a padroniza¸c˜ao de mai´usculas a min´usculas. O objetivo com este procedimento ´e deixar o texto o mais limpo poss´ıvel. Um exemplo de tokeniza¸c˜ao em um t´ıtulo ´e o seguinte:

A 3.4W digital-in class-D audio amplifier.

[A] [3] [.] [4] [W] [digital-in] [class-D] [audio] [amplifier] [.]

Obtendo-se como resultado uma sequˆencia de palavras separadas por delimitadores. Nos t´ıtulos de artigos este procedimento tamb´em ´e importante, haja visto que muito dos t´ıtulos tem este problema, por exemplo, no t´ıtulo n´umero 371479, pode-se notar que tem s´ımbolos que devem ser removidos como se ilustra na Figura4.1.

Figura 4.1: Exemplo de t´ıtulos de artigos que precisam do processo de tokeniza¸c˜ao para a limpeza dos textos.

O conjunto de regras considerados em primeira instˆancia ´e o seguinte: • Remo¸c˜ao de sinais de pontua¸c˜ao como: [.], [,], [:], [’], [!], [?], [...], etc. • Remo¸c˜ao de s´ımbolos: [#], [\], [α], [β], [γ], [δ], [], [θ], [≈],[ψ], etc. • Remo¸c˜ao de n´umeros: [0], [1], [2],..., [9].

• Remo¸c˜ao de s´ımbolos num´ericos (operadores): [+], [−], [∗], [÷], [∪], [∩], [∧], [±], [q], etc.

(52)

• O caractere “-”(h´ıfen) representa um sinal de pontua¸c˜ao, que esta associada a uma infinidade de ocorrˆencias lingu´ısticas. Neste caso, ele ´e mantido, pois lˆe-se em meio a palavras compostas: Low-Power, Real-Time, Illumination-Balance, field-sequential, Appearance-Based, etc.; elementos sufixados como: anti-Spam, micro-Spatial, micro-Enterprise, macro-Scripts, auto-Tunings, auto-Balancing, contra-Precontinuous, etc.; com palavras com significado de anglicismo, como, por exemplo, e-Mail, e-Commerce, e-Bussines, on-Line, Business-to-Business, e-Procurement, etc.; ou em n´umeros compostos, tais como, twenty-five, sixty-four, ninety-two, etc. • Convers˜ao de mai´usculas a min´usculas.

4.2.2

Elimina¸

ao de stopwords

Os stopwords s˜ao termos que aparecem com grande frequˆencia em documentos, neste caso no conjunto dos t´ıtulos dos artigos, mas eles n˜ao apresentam conte´udo semˆantico que possa ajudar a recupera¸c˜ao dos mesmos. S˜ao denominados como palavras irrelevantes, e n˜ao podem ser considerados como termos chave (keywords), como corroboram alguns autores [Lo et al., 2005][Blanchard, 2007][Dragut et al., 2009]. Este conjunto de palavras ´e armazenado em um stoplist, que visa diminuir o volume do texto, ao n˜ao considerar as palavras irrelevantes. Desta forma evita-se que elas sejam selecionadas como parte dos experimentos para a an´alise semˆantica. Por exemplo no seguinte t´ıtulo de artigo:

Simulation Environment for the Optimization of the Data Retrieval Capabilities of an Agent Based System in a Healthcare Setting.

As palavras for, the, of, an, in, a s˜ao consideradas como palavras irrelevantes ou stopwords.

A elimina¸c˜ao de stopwords consiste em remover os artigos (a, an, in, the, etc.), pre-posi¸c˜oes (about, above, across, after, against, along, among, around, at, before, behind, below, etc), operadores booleanos (and, or, not) e palavras bastante frequentes mas ir-relevantes. Usou-se neste trabalho uma stoplist da l´ıngua inglesa de 600 palavras mais comuns. 1

1WWW:

Referências

Documentos relacionados

(2013 B) avaliaram a microbiota bucal de oito pacientes submetidos à radioterapia na região de cabeça e pescoço através de pirosequenciamento e observaram alterações na

Alves (2001) ressalta que a variável custos da qualidade ambiental decorrente de gastos para manter o padrão de emissão dos resíduos, em conformidade com as leis que regulamentam

Dans le but de proposer une organisation didactique de l’expérience de recevoir le diagnostic médical, soutenue par notre expérience dans le domaine de l’annonce et prenant en

ções mais profundas as bordas são escarpadas.As cristas ossg. as entre os grupos de depressão são mais

2 - OBJETIVOS O objetivo geral deste trabalho é avaliar o tratamento biológico anaeróbio de substrato sintético contendo feno!, sob condições mesofilicas, em um Reator

Muitas vezes o agricultor quer tirar a soja o quanto antes da lavoura, pois segundo Holtz e Reis (2013), o maior tempo de permanência da soja na lavoura, traz um aumento das

Coletaram-se informações referentes à habilitação pro- fissional dos docentes; suas fontes de conhecimentos sobre a Guerra do Contestado; seu conhecimento referente aos redutos