UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIDADE ACADÊMICA DE GARANHUNS BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Texto

(1)

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIDADE ACADÊMICA DE GARANHUNS

BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

ANDERSON PINHEIRO CAVALCANTI

Journal Finder

: Uma aplicação para encontrar revistas

científicas utilizando um algoritmo de agrupamento de

características

TRABALHO DE CONCLUSÃO DE CURSO

Garanhuns

(2)

ANDERSON PINHEIRO CAVALCANTI

Journal Finder

: Uma aplicação para encontrar revistas

científicas utilizando um algoritmo de agrupamento de

características

Trabalho de Conclusão de Curso apresen-tado ao Curso de Bacharelado em Ciência da Computação, como requisito necessário para avaliação final na disciplina de TCC. Orientador: Tiago Buarque Assunção de Carvalho

Garanhuns

(3)

Ficha Catalográfica

Setor de Processos Técnicos da Biblioteca Setorial UFRPE/UAG

CDD: 004

1. Ciência da computação

2. Abstracts - Sistemas informacionais 3. Extração de características

4. Indexação de textos

I. Carvalho, Tiago Buarque Assunção de II. Título

C376j Cavalcanti, Anderson Pinheiro

Journal Finder: Uma aplicação para encontrar revistas científicas utilizando um algoritmo de agrupamento de características/ Anderson Pinheiro Cavalcanti.-Garanhuns, 2015.

63 fs.

Orientador: Tiago Buarque Assunção de Carvalho Monografia (Ciência da Computação) – Universidade Federal Rural de Pernambuco - Unidade Acadêmica de Garanhuns, 2015.

(4)

Agradecimentos

Por ter chegado até aqui e por tudo o que consegui até hoje agradeço primeira-mente a Deus. Por todos os ensinamentos e pela educação que me deram, agradeço aos meus pais José Carlos e Rosemary, amo vocês. Agradeço ao meu irmão Diego Cavalcanti por todo o apoio e por estar sempre comigo.

(5)

Resumo

A crescente disponibilização de documentos de texto na Internet vem fazendo com que a tarefa de classificação de texto ganhe cada vez mais relevância. A classificação de textos pode ser aplicada em uma grande variedade de contextos como, por exemplo: indexação automática de textos, identificação de autores de textos, filtragem de emails, classificação hierárquica de páginas da Internet e geração automática de metadados. A classificação de textos é a tarefa de associar textos em linguagem natural a rótulos pré-definidos. O maior problema da classificação de texto tem sido a grande quantidade de termos nos documentos usados como características (atributos) que representam esses documentos. Isto acaba sendo um problema para a maioria dos algoritmos de classificação. Para isso abordagens de redução de características são aplicadas antes da classificação. Extração de características é uma abordagem que têm sido proposta para a redução de características. Agrupamento de características é uma técnica efetiva para redução de características na classificação de textos. O trabalho tem por objetivo a implementação e execução de um algoritmo de agrupamento para extração de características, bem como a sua utilização em uma aplicação, Journal Finder, a qual encontra as revistas científicas mais relevantes para publicação de um artigo, recebendo como entrada apenas o abstract. Foram realizados testes com o algoritmo de agrupamento, em duas bases de dados, para verificar a sua acurácia. Foram obtidos taxas de acertos de 94.2% para a base Newsgroup e 93.64% para base COIL 2000. Além disso foram realizados testes com a aplicação Journal Finder. Para cada abstract oJournal Finder ranqueia 10 revistas prováveis para submissão do artigo. Para 300abstracts não utilizados no treino, foi verificado o ranque da revista, da qual foi retirado o abstract para análise. Foram realizadas 3 análises diferentes para determinar se a revista estaria na primeira posição, entre as 3 e entre as 5 posições mais relevantes, respectivamente. A TOP 1 obteve 26%, a TOP 3 obteve 66% e a TOP 5 obteve 93% de acerto.

(6)

Abstract

The growing availability of text documents on the Internet has been rendering text classification efforts more relevant. Text classification may be applied in a plethora of contexts, such as indexation of text authors, e-mail filtering, hierarchical classification of webpages, and automatic generation of metadata. Text classification is the task of associating texts in natural language to predefined labels. The greatest challenge in text classification has proven to be the large amount of terms used in documents to connote features (attributes) that represent these documents. This illustrates a problem in the majority of text classification algorithms [in the literature]. For that reason, feature reduction techniques have been applied prior to classification. Feature extraction is an approach that has been proposed to carry out feature reduction. Feature grouping is an effective technique for the reduction of features in text classification. The object of this work is the implementation and deployment of a grouping algorithm for feature extraction, as well as its utilization in a real-life application, Journal Finder, which retrieves the most relevant scientific magazines, periodicals, and journals to the publication of a paper, receiving solely its abstract as input. We carried out tests with the grouping algorithm in two data bases in order to verify its accuracy. An accuracy rate of 94.2% was obtained for the Newsgroup data base, and one of 93.64% for the COIL 2000 data base. Furthermore, we executed tests with the Journal Finder application. For each abstract, Journal Finder ranks the top 10 most probable publishing mediums for the submission of the paper. The rank of the publishing medium from which the abstract was taken to perform the analysis, for each of the 300 abstracts that had not been used in the training phase, was observed. We performed three different analyses. The first (TOP 1) verified that the magazine would be in the first position of greater relevance. The second (TOP 3) verified that the magazine would be among the three most important positions and the last (TOP 5) verified that the magazine would be among the five most important positions. The TOP 1 had 26% accuracy; TOP 3 was 66% accurate; and the TOP 5 had 93% accuracy.

(7)

Lista de Figuras

Figura 1 – Processo de agrupamento. . . 15

Figura 2 – Pseudocódigo do algoritmo de agrupamento. . . 23

Figura 3 – Base 20 Newsgroup subdividida em assuntos diferentes. . . 27

Figura 4 – Diagrama salvando indíces. . . 28

Figura 5 – Procedimento para salvar base transformada. . . 28

Figura 6 – Gráfico de barras para a classificação da base Newsgroups utilizando o 1-NN. . . 29

Figura 7 – Gráfico de barras para a classificação da base Newsgroups utilizando o 3-NN. . . 30

Figura 8 – Gráfico de barras para a classificação da base Newsgroups utilizando o 5-NN. . . 30

Figura 9 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 1-NN. . . 31

Figura 10 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 3-NN. . . 31

Figura 11 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 5-NN. . . 31

Figura 12 – Fração de tempo de classificação para base Newsgroup - Com FFC X Sem FCC. . . 32

Figura 13 – Tempo de classificação da base COIL 200 com FFC e sem FFC. . . 33

Figura 14 – Extração de características para um novo abstract. . . 36

Figura 15 – Pseudocódigo do algoritmo que retorna a lista de revistas mais rele-vantes.. . . 37

Figura 16 – Diagrama do algoritmo que encontra as revistas com maior relevância 37 Figura 17 – Tela que recebe o abstract. . . 38

Figura 18 – Tela que mostra a relevância das revistas. . . 38

Figura 19 – Gráfico de barras para a primeira posição. . . 39

Figura 20 – Gráfico de barras para as 3 primeiras posições. . . 40

Figura 21 – Gráfico de barras para as 5 primeiras posições. . . 41

Figura 22 – Gráfico pizza com percentual dos não listados entre as 10 posições. 42 Figura 23 – Gráfico de linha com as porcentagens das posições que mais apare-ciam entre as 10 posições de maior relevância. . . 42

(8)

Lista de Tabelas

Tabela 1 – Um simples conjunto de documentos D. . . 18

Tabela 2 – Padrões de palavras distribuídos em 2 classes. . . 19

Tabela 3 – Exemplo com três agrupamentos formados. . . 21

Tabela 4 – Similaridade dos padrões de palavras para três agrupamentos. . . . 23

Tabela 5 – Matrizes de Pesos. . . 25

Tabela 6 – Conjunto de dados transformados. . . 26

Tabela 7 – Base Newsgroup transformada. . . 28

Tabela 8 – Resultados para base Newsgroup. . . 29

Tabela 9 – Resultados para a base COIL 2000. . . 30

Tabela 10 – Tempo da classificação da base Newsgroup com limiares diferentes. 32 Tabela 11 – Tempo da classificação da base COIL 2000 com limiares diferentes. 32 Tabela 12 – Base de abstracts tranformada. . . 35

Tabela 13 – Teste com vários limiares para a base de abstracts. . . 35

Tabela 14 – Matriz de Peso Soft TSpara a base de abstracts. . . 35

Tabela 15 – Matriz de dados transformados D’S para a base de abstracts. . . 36

Tabela 16 – Exemplo de características extraídas para um novo abstract. . . 36

Tabela 17 – Revistas numeradas de 1 a 15. . . 40

Tabela 18 – Detalhes sobre as revistas utilizadas na criação da base. . . 48

(9)

Lista de abreviaturas e siglas

AC Agrupamento de Características

FFC Fuzzy Self-Constructing Feature Clustering KNN K-Nearest Neighbors

(10)

Sumário

1 Introdução . . . . 11

2 Fundamentação Teórica . . . . 13

2.1 Aprendizagem de Máquina . . . 13

2.2 Redução de Dimensionalidade . . . 13

2.2.1 Extração de Características . . . 14

2.2.2 Agrupamento de Características . . . 14

2.3 Journal Finder . . . 16

2.4 Algoritmo para Classificação K-Nearest Neighbors . . . 16

2.5 Avaliando a Precisão da Classificação . . . 17

3 O algoritmo de Agrupamento. . . . 18

3.1 O algoritmoFuzzy Self-Constructing Feature Clustering . . . 18

3.2 Extração de Características para Agrupamento . . . 24

4 Validação do Algoritmo de Agrupamento . . . . 27

4.1 Bases de Dados . . . 27

4.2 Avaliação do Desempenho na Classificação . . . 29

4.3 Avaliação do Tempo na Classificação . . . 31

5 O Trabalho Desenvolvido . . . . 34

5.1 Criação da Base. . . 34

5.2 Base deAbstractsno Modelo “Bag of Words” . . . 34

5.3 Escolha do Melhor Limiar . . . 35

5.4 Extração de Características para um NovoAbstract . . . 36

5.5 Ordem de Relevância das Revistas para oAbstract . . . 36

5.6 Telas da Aplicação . . . 37

6 Testes e Resultados. . . . 39

6.1 Metodologia de Teste . . . 39

6.2 Resultados Obtidos . . . 39

7 Conclusão e Trabalhos Futuros . . . . 44

(11)

APÊNDICES

47

(12)

11

1 Introdução

Com o desenvolvimento da tecnologia no decorrer dos anos, o uso massivo dos computadores e o surgimento da internet, a quantidade de informação disponível e acessível em todo o mundo cresceu exponencialmente. Essa informação pode ser encontrada, boa parte, em forma textual e digitalizada. Com um grande volume de documentos, misturando os mais diversos temas e áreas, torna-se difícil a busca por um determinado assunto dentro dessa coleção, ou até mesmo a sua classificação, pois sua estrutura não é conhecida.

Esse incrível aumento de documentos on-line, possibilitado pela expansão da Internet (GRAHAM,2002), renovou os interesses na classificação automática de documentos e na mineração de dados. A classificação de textos é a tarefa de associar textos em linguagem natural a rótulos pré-definidos. Esse problema vem sendo tratado desde 1960, porém só por volta de 1990, a classificação de textos começou a ser amplamente aplicada, graças ao desenvolvimento de máquinas mais rápidas e da facilidade de publicação de textos em forma eletrônica (SEBASTIANI,2002).

Os trabalhos iniciais na área de classificação eram principalmente baseados em métodos heurísticos, isto é, em aplicar um conjunto de regras baseadas em conheci-mento especializado. Atualmente, o foco tem se voltado quase que completamente para aprendizagem automática e técnicas de clustering, passando a englobar mui-tos conceimui-tos de extração de informação, e possuindo muitas características em comum com outras tarefas como extração de conhecimento e mineração de textos (KUSH-MERICK; THOMAS,2003).

O maior problema da classificação de texto nos dias de hoje tem sido a grande quantidade de termos nos documentos usados como características (atributos) que representam esses documentos. Isto acaba sendo um problema para a maioria dos algoritmos de classificação. Portanto, é necessário reduzir a quantidade de atributos, sem contudo sacrificar a precisão na classificação.

Para isso abordagens de redução de características são aplicadas antes da classificação. Seleção de características e extração de características são duas grandes abordagens que têm sido propostas para a redução de características. Em geral, para classificação de texto, abordagens de extração de características são mais efetivas que técnicas de seleção de características (LEWIS,1992). Vários algoritmos de extra-ção de características foram propostos para melhorar a complexidade computacional. Entretanto, a complexidade dessas abordagens ainda é elevado.

(13)

Capítulo 1. Introdução 12

características na classificação de texto. A ideia de AC é agrupar características origi-nais nos agrupamentos com um alto grau de parentesco semântico, ou seja, agrupar características que são semelhantes em um mesmo agrupamento e características que não são semelhantes em outros agrupamentos. Cada agrupamento é tratado como uma simples nova característica, e, portanto, a dimensionalidade do vetor de característica pode ser drasticamente reduzida.

Este trabalho tem como objetivo utilizar o algoritmo de agrupamento criado por (JIANG; LIOU; LEE, 2011) em uma aplicação que ajuda pesquisadores a encontrar revistas que podem ser mais adequadas para a publicação de um determinado artigo científico, tendo como entrada apenas oabstract do artigo.

(14)

13

2 Fundamentação Teórica

Neste capítulo serão descritos conceitos de aprendizagem de máquina, redução de dimensionalidade, extração de características, agrupamento de características e

Journal Finder uma abordagem que ajuda pesquisadores a encontrar as revistas mais relevantes para publicação de um artigo. Estes são conceitos teóricos necessários para o entendimento deste trabalho de graduação.

2.1 Aprendizagem de Máquina

A área de aprendizagem de máquina é uma área especializada no estudo e construção de sistemas que sejam capazes de aprender de forma automatizada a partir de dados (BRINK; RICHARDS; FETHEROLF, 2014). De acordo com Simon (1983) aprendizado é qualquer mudança em um sistema que melhore o seu desempenho na segunda vez que ele repetir a mesma tarefa, ou outra tarefa da mesma população. Após efetuado o aprendizado, também denominado treinamento, um sistema pode ser utilizado para classificar ou estimar saídas para instâncias desconhecidas.

Os métodos para aprendizagem de máquina são divididos em duas categorias: supervisionado e não-supervisionado. A abordagem de aprendizado supervisionado consiste em utilizar uma série de exemplos (chamados de instâncias), já classificados, para induzir um modelo que seja capaz de classificar novas instâncias de forma precisa, com base no aprendizado obtido na fase de treinamento. Já na abordagem de aprendizado não-supervisionado, o conjunto de dados utilizado não possui classificação, ou seja, a saída do conjunto de dados de treinamento não possui uma saída esperada para cada uma de suas instâncias. Esta é a abordagem indicada quando o objetivo do sistema não é construir um modelo de predição, e sim um modelo cuja função seja encontrar regularidades nos dados que possam vir a ser úteis (THEODORIDIS; KOUTROUMBAS,1999).

2.2 Redução de Dimensionalidade

O termo dimensionalidade é associado ao número de características de uma representação, ou seja, a dimensão do espaço de características (atributos). O custo de medição e a precisão do classificador são as principais razões para que a dimensão seja a menor possível.

(15)

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

e, consequentemente, o processo de comparação será mais rápido e usará menos memória (JAIN; DUIN; MAO,2000).

A RD também é necessária para retirar (ou atenuar) dados irrelevantes e redun-dantes (LIU; MOTODA,1998), para que estes não influenciem na precisão e aumentem o custo da classificação. As características irrelevantes são aquelas que não pos-suem informação útil para o problema em questão, por exemplo, um valor constante para todos os exemplos em certo atributo.

Seleção de características e extração de características são duas abordagens que têm sido propostas para a redução de características. O termo seleção refere-se a algoritmos que procuram refere-selecionar o melhor subconjunto de um conjunto de características de entrada. Já algoritmos de extração são métodos que criam novas ca-racterísticas a partir de transformações ou combinações do conjunto de caca-racterísticas original. Em geral, abordagens de extração de características são mais efetivas que técnicas de seleção de características (LEWIS,1992).

2.2.1 Extração de Características

Quando os dados de entrada para um algoritmo são muito grandes para serem processados e são consideravelmente redundantes (muitos dados porém pouca infor-mação) esses deverão ser transformados em um conjunto reduzido de características mais representativo (também chamado vetor de características). Transformar os dados de entrada em um conjunto de características é chamado de extração de características. Se as características extraídas forem cuidadosamente escolhidas, se espera que esse conjunto represente a parte relevante da informação para se executar a tarefa desejada ao invés de utilizar todos os dados de entrada.

De acordo com Campos (2001), a extração de características é o processo que cria novas características a partir de transformações ou combinações do conjunto de características inicial, ou seja, criam-se novas características que sejam mais expressivas e que melhor representam a variabilidade dos dados.

As técnicas de extração de características são largamente utilizadas no reconhecimento de padrões, pois são capazes de extrair as características mais signifi-cativas nos dados, principalmente em aplicações onde a dimensionalidade dos dados é um fator limitante.

2.2.2 Agrupamento de Características

(16)

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

em agrupar uma determinada coleção de padrões em agrupamentos significativos. O agrupamento de características é a classificação não supervisionada de padrões em agrupamentos (JAIN; DUIN; MAO,2000).

A ideia de agrupamento de características é agrupar características que são si-milares em um mesmo agrupamento, e agrupar as características que são menos similares em outros agrupamentos. Cada agrupamento é tratado como uma simples nova característica, e, portanto, a dimensionalidade do vetor de característica pode ser drasticamente reduzida.

De acordo com Dias (2004), problemas de agrupamento podem ser defini-dos formalmente da seguinte maneira: dado um conjunto com

n

elementos

X

=

{

x

1

, x

2

, ..., x

n

}

, o agrupamento consiste em obter um conjunto

G

=

{

G

1

, G

2

, ..., G

n

}

de

k

agrupamentos(

k

n

), onde os objetos contidos em um agrupamento

C

i possuam

maior similaridade entre si do que com os objetos de qualquer um dos demais agrupa-mentos do conjunto

C

. A Figura 1 mostra o processo de agrupamento, mediante os parâmetros de entrada.

Figura 1 – Processo de agrupamento.

Algoritmo de agrupamento

Parâmetros

G1{x3, x7, ..., x34}

G2{x1, x4, ..., x17}

G3{x12, x3, ..., x25} x1, x2, ... , xn

O problema de agrupamento tem sido abordado em diversos contextos, o que reflete o seu grande apelo e utilidade na análise exploratória de dados.

Para processar documentos, o modelo “Bag of words” (SALTON; MCGILL,1983) é comumente utilizado. Seja

D

=

{

d

1

, d

2

, . . . , d

n

}

um conjunto de

n

documentos,

onde

d

1

, d

2

, ..., d

n são documentos individuais, e cada documento pertence a uma

classe no conjunto

C

=

{

c

1

, c

2

, ..., c

n

}

. Se um documento pertence a duas ou

mais classes, então duas ou mais cópias do documento com diferentes classes são incluídas em

D

. Seja o conjunto de palavras

W

=

{

w

1

, w

2

, ..., w

m

}

de um conjunto

de documentos. Cada documento

d

i

,

1

i

n

, é representado como

d

i

=

<

d

i1

, d

i2

, . . . , d

im

>

, onde cada

d

ij denota o número de ocorrências da característica

w

j no iésimo documento. A tarefa de extração de característica é achar um novo

conjunto de palavra

W

=

{

w

′1

, w

′2

, ..., w

k

}

,

k

m

, tal que

W

e

W

′ trabalhem

de modo equivalente para toda propriedade desejada em

D

. Depois da redução de características, cada documento

d

i é convertido para uma nova representação

(17)

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

por

D

=

{

d

′1

, d

′2

, ..., d

n

}

. Se

k

m

, o custo computacional com operações em

D

pode ser drasticamente reduzido.

2.3 Journal Finder

Uma revista científica é uma revista onde se aceita publicações periódicas de artigos, destinada a promover o progresso da ciência, geralmente noticiando novas pesquisas. Revistas científicas contém artigos que foram submetidos a revisão por pares, numa tentativa de assegurar que estes artigos vão ao encontro dos padrões de qualidade e validade científica da publicação (KRONICK,1976).

Quando um pesquisador realiza uma pesquisa em determinada área, ele procura revistas científicas para publicar a sua pesquisa. Entretanto, existem inúmeras revistas científicas para cada área de estudo existente no mundo. Com isso, se torna uma tarefa difícil encontrar a revista científica mais adequada para publicação. Para ajudar os pesquisadores, algumas propostas como (FINDER,2014; FINDER, 2013) foram lançadas recentemente para toda comunidade científica. Essas propostas são sites que recebem o título e oabstract de um artigo e, através de um algoritmo, realizam uma pesquisa semântica em uma base com várias revistas científicas, e retornam uma lista com as 10 revistas mais adequadas para publicação do artigo.

2.4 Algoritmo para Classificação K-Nearest Neighbors

Podemos encontrar na literatura vários algoritmos existentes para realizar a classificação automática de padrões. Mas para esse trabalho foi escolhido apenas um, que é bastante utilizado pela comunidade, devido a sua simplicidade e eficácia.

O K-Nearest Neighbors (KNN), também chamado de método do vizinho mais próximo, é um algoritmo de aprendizagem supervisionado, pertencente a um grupo de técnicas denominado deInstance-based Learning ouLazy Learning que tem sido usado em muitas aplicações no campo da mineração de dados, reconhecimento de padrões estatísticos, processamento de imagens e entre outros. É considerado um dos melhores métodos para a classificação de texto, é simples, efetivo e escalonável para grandes aplicações.

O algoritmo KNN classifica um dado elemento desconhecido (de teste) baseado nas categorias dos K elementos vizinhos mais próximos, ou seja, os elementos do conjunto de treinamento que obtiveram os graus de similaridade mais altos com o elemento de teste.

(18)

frequen-Capítulo 2. Fundamentação Teórica 17

temente usada (WEBB,2002). Foi utilizada esta distância neste trabalho. A distância euclidiana entre os pontos

p

= (

p

1

, p

2

, . . . , p

n

)

e

q

= (

q

1

, q

2

, . . . , q

n

)

,

em um espaço euclidiano n-dimensional é definida pela equação (2.1) como mostra a seguir:

d(p, q) = q(p1−q1)2+ (p2−q2)2+...+ (pnqn)2 =

v u u t

n X

i=1

(piqi)2. (2.1)

2.5 Avaliando a Precisão da Classificação

Cross Validation, às vezes chamado de validação cruzada, é uma prática esta-tística de particionamento de uma amostra dos dados em subconjuntos de tal modo que a análise é inicialmente executada em um único subconjunto, enquanto os outros subconjuntos são mantidos para treino (KOHAVI,1995).

(19)

18

3 O algoritmo de Agrupamento

Este capítulo apresenta todo o procedimento realizado para execução do algo-ritmo de agrupamentoFuzzy Self-Constructing Feature Clustering, que foi desenvolvido por (JIANG; LIOU; LEE,2011). O algoritmo cria grupos de características e extrai uma nova característica para cada grupo. Com as novas características extraídas, é possível classificá-las, com precisão, em um tempo muito menor que o tempo necessário para classificar todas as características.

3.1 O algoritmoFuzzy Self-Constructing Feature Clustering

O algoritmoFuzzy Self-Constructing Feature Clustering (FFC) foi desenvolvido por (JIANG; LIOU; LEE, 2011). O objetivo do algoritmo é agrupar características semelhantes, com base em um teste de similaridade, para reduzir a dimensionalidade do vetor de características, e com isso deixar o classificador mais rápido, consumir menos memória e aumentar a precisão do classificador.

Supomos, que obtemos um conjunto de documentos

D

de

n

documentos

d

1

, d

2

, ..., d

n, junto com um vetor de características

W

de

m

palavras

w

1

, w

2

, ..., w

m

e

p

classes

c

1

, c

2

, ..., c

n,semelhante ao conjunto de documentos da Tabela 1.

Tabela 1 – Um simples conjunto de documentos D.

office

(w1)

build

(w2)

learn

(w3)

floor

(w4)

room

(w5)

work

(w6)

person

(w7)

waste

(w8)

side

(w9)

visit

(w10)

classe

d1 0 1 0 0 1 1 0 0 0 1 c1

d2 0 0 0 0 0 2 1 1 0 0 c1

d3 0 0 0 0 0 0 1 0 0 0 c1

d4 0 0 1 0 2 1 2 1 0 1 c1

d5 0 0 0 1 0 1 0 0 1 0 c2

d6 2 1 1 0 0 1 0 0 1 0 c2

d7 3 2 1 3 0 1 0 1 1 0 c2

d8 1 0 1 1 0 1 0 0 0 0 c2

(20)

Capítulo 3. O algoritmo de Agrupamento 19

É criado um padrão de palavra para cada palavra em

W

. Para cada palavra

w

i,

é definido um padrão de palavra

x

i, por:

xi =< xi1, xi2, ...., xip > = < P(c1|wi), P(c2|wi), ..., P(cp|wi)>, (3.1)

onde

P(cj|wi) = Pn

q=1dqi×δqj Pn

q=1dqi

, (3.2)

para

1

j

p

. Note que

d

qi indica o número de ocorrências de

w

i no

documento

d

q. O valor de

δ

qj é definido como:

δqj = 

 

 

1, se o documentodqj pertence a classecj

0, caso contrário

(3.3)

Portanto, nós temos

m

padrões de palavras no total. Por exemplo, supomos que temos quatro documentos

d

1

, d

2

, d

3 e

d

4 pertencentes as classes

c

1

, c

1

, c

2 e

c

2,

respectivamente. Supomos também que as ocorrências da palavra

w

1 nos documentos

sejam 1, 2, 3 e 4, respectivamente. Então, o padrão de palavra

x

1 de

w

1 é:

P

(

c

1

|

w

1

) =

1×1+2×1+3×0+4×0

1+2+3+4

= 0

.

3

P

(

c

2

|

w

1

) =

1×0+2×0+3×1+4×1

1+2+3+4

= 0

.

7

x1 =<0.3,0.7> . (3.4)

São esses padrões de palavras, que o algoritmo de agrupamento irá encontrar. A Tabela 2 mostra os padrões de palavras calculados para as palavras da Tabela 1.

Tabela 2 – Padrões de palavras distribuídos em 2 classes.

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

0.0 0.2 0.2 0.0 1.0 0.5 1.0 0.67 0.0 1.0

1.0 0.8 0.8 1.0 0.0 0.5 0.0 0.33 1.0 0.0

O objetivo é agrupar as palavras do conjunto

W

em agrupamentos, baseado nos padrões de palavras. Seja

G

um agrupamento contendo q padrões de palavras

(21)

Capítulo 3. O algoritmo de Agrupamento 20

m

=

< m

1

, m

2

, . . . , m

p

>

e o desvio padrão

σ

=

< σ

1

, σ

2

, . . . , σ

p

>

de

G

são definidos como:

mi = Pq

j=1xji

|G| , (3.5)

σi = v u u t

Pq

j=1(xjimji)2

|G| , (3.6)

para

1

i

p

, onde

|

G

|

denota o número de elementos do conjunto, ou seja, o número de padrões de palavras contidas em

G

. A similaridade do padrão de palavra

x

i

=

< x

i1

, x

i2

, . . . , x

ip

>

para o agrupamento

G

é definido pela seguinte função de

pertinência:

µGj(xi) = p Y

q=1

exph(xiqmjq σjq )

2i

. (3.7)

Notemos que

0

µ

Gj

(

x

i

)

1

. O padrão de palavra próximo à média

do agrupamento é considerado como muito semelhante a este conjunto, ou seja,

µ

Gj

(

x

i

)

1

. Ao contrário, o padrão de palavra muito distante do agrupamento é

pouco semelhante a ele, ou seja,

µ

Gj

(

x

i

)

0

. Por exemplo, supomos que

G

1 é um

agrupamento existente com um vetor de média

m

1

=

<

0

.

6

,

0

.

4

>

e um vetor de

desvio padrão

σ

1

=

<

0

.

4

,

0

.

6

>

. A similaridade do padrão de palavra

x

1 mostrado

em (3.4) para o agrupamento

G

1 torna-se:

µ

G1

(

x

1

) =

exp

(

0.30.6 0.4

)

2

×

(

0.70.4 0.6

)

2

µ

G1

(

x

1

) = 0

,

5697

×

0

,

7788 = 0

,

4437

(22)

Capítulo 3. O algoritmo de Agrupamento 21

Seja

k

o número atual de agrupamentos existentes. Os agrupamentos são

G

1

, G

2

, . . . , G

k, respectivamente. Cada agrupamento

G

j tem média

m

j

=

< m

j1

, m

j2

, . . . , m

jp

>

e desvio

σ

j

=

< σ

j1

, σ

j2

, ..., σ

jp

>

.

A Tabela 3 mostra um exemplo com 3 agrupamentos formados com seus res-pectivos tamanhos, médias e desvios. O vetor de média e o vetor de desvio padrão possuem tamanho 2, pois são calculados para padrões de palavras que possuem 2 classes como mostra a Tabela 2.

Tabela 3 – Exemplo com três agrupamentos formados.

agrupamento tamanhoS médiam desvioσ

G1 3 <1, 0> <0.5, 0.5>

G2 5 <0.08, 0.92> <0.6095, 0.6095>

G3 2 <0.5833, 0.4167> <0.6179, 0.6179>

Seja

S

j o tamanho do agrupamento

G

j. Inicialmente, nós temos

k

= 0

. Então

não existem agrupamentos no início. Para cada padrão de palavra

x

i

=

< x

i1

, x

i2

, . . . , x

ip

>,

1

i

m

nós calculamos, conforme (3.7), a semelhança de

x

i para cada agrupamento existente.

Dizemos que

x

i passa no teste de similaridade do agrupamento

G

j se

µGj(xi)≥ρ (3.8)

onde

0

ρ

1

, é um limiar de pertinência no grupo, predefinido. Se o usuário pretende ter agrupamentos maiores, então o usuário pode definir um limiar mais próximo de 1. Caso contrário, o usuário deve definir um limiar mais próximo de 0. Quando o limiar aumenta, o número de agrupamentos também aumenta. Quando o limiar diminui, o número de agrupamentos também diminui, gerando grupos maiores.

Três casos podem ocorrer. Primeiro, não existe nenhum agrupamento formado. Então será criado um novo agrupamento

G

hcom

(23)

Capítulo 3. O algoritmo de Agrupamento 22

onde

x

0 é o primeiro padrão de palavra lido pelo algoritmo, então ele será

adicionado ao novo agrupamento,

σ

0

=

< σ

0

, σ

0

, ..., σ

0

>

é um vetor de desvio

padrão constante definido pelo usuário. Notemos que o novo agrupamento

G

hcontém

apenas um membro, o padrão de palavra

x

0. Não é possível estimar o desvio, se o

agrupamento contém poucos membros. E também não podemos iniciar o desvio com valor 0, já que estamos calculando a similaridade por (3.7). Então inicializamos o desvio por (3.9). Finalmente, o número de agrupamentos e o tamanho do agrupamento devem ser inicializados, i.e.,

k=k+ 1, Sh = 1. (3.10)

Segundo, não há agrupamentos em que

x

ipassou no teste de similaridade. Para

este caso, nós assumimos que

x

i não é semelhante o bastante a nenhum agrupamento

existente e um novo agrupamento

G

h

, h

=

k

+ 1

, é criado e sua média e desvio são

definidas por:

mh =xi,σh =σ0. (3.11)

Terceiro, se há agrupamentos existentes em que

x

i passou no teste de

similari-dade, então

G

t será o agrupamento com o maior grau de pertinência, i.e.,

t=arg max 1≤jk(µGj(xi)). (3.12)

Neste caso, nós consideramos

x

i como o mais semelhante para o agrupamento

G

t, e

m

t e

σ

t do agrupamento

G

t deve ser modificado para incluir

x

i como seu

membro. A modificação para o agrupamento

G

t é descrita assim:

mtj =

St×mtj+xij

St+ 1

, (3.13)

σtj =

AB+σ0, (3.14)

A= (St−1)(σtjσ0)

2

+St×m 2 tj+x

2 ij

St

, (3.15)

B = St+ 1

St

(St×mtj+xij

St+ 1

)2

, (3.16)

para

(24)

Capítulo 3. O algoritmo de Agrupamento 23

e finalmente

St=St+ 1. (3.17)

A Tabela 4 mostra o valor da similaridade de cada agrupamento da Tabela 3 calculada para cada padrão de palavra existente mostrados na Tabela 2.

Tabela 4 – Similaridade dos padrões de palavras para três agrupamentos.

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

µG1(x) 0.00 0.00 0.00 0.00 1.00 0.13 1.00 0.41 0.00 1.00

µG2(x) 0.96 0.92 0.92 0.96 0.01 0.38 0.01 0.15 0.96 0.01

µG3(x) 0.16 0.46 0.46 0.16 0.40 0.96 0.40 0.96 0.16 0.40

O pseudocódigo desse algoritmo de agrupamento é mostrado na Figura 2. Figura 2 – Pseudocódigo do algoritmo de agrupamento.

Como podemos ver, para executar o algoritmo não é necessário que o usuário informe a quantidade de agrupamentos que ele deseja. O usuário deve informar um valor para o limiar de pertinência no grupo (3.8), e com base nesse limiar os agrupamentos são formados automaticamente. Além disso o usuário deve inicializar o desvio padrão inicial

σ

0 e definir o valor de

γ

que será utilizado para forma a matriz de

(25)

Capítulo 3. O algoritmo de Agrupamento 24

3.2 Extração de Características para Agrupamento

A extração de características é o processo que transforma um conjunto de característica inicial em um conjunto reduzido mais representativo. Esse conjunto reduzido são grupos formados pelas características do cojunto inicial. Cada grupo formado é representado por uma nova característica. A nova característica é a soma ponderada das ocorrências das caracaterísticas de cada grupo. Formalmente, extração de característica pode ser expressado da seguinte maneira:

D′ =DT, (3.18)

onde

D= [d1d2...dn]T, (3.19)

D

= [d′ 1d

′ 2...d

n]

T, (3.20)

T =

      

t11 ... t1k

t21 ... t2k

... ... ... tm1 ... tmk

      

, (3.21)

com

di = [di1di2. . . dim], (3.22)

d

i = [d

i1d

i2. . . d

ik], (3.23)

para 1 i n. Sendo T uma matriz de pesos. O objetivo da redução de característica é encontrar uma apropriação T tal que

k

é menor que

m

. Através do algoritmo de agrupamento, os padrões de palavras foram agrupados, e palavras no vetor de característicaW também são agrupadas consequentemente. Para um agrupamento,

(26)

Capítulo 3. O algoritmo de Agrupamento 25

nova característica extraída. Nesse caso, os elementos de Tem (3.21) são definidos como segue:

tij = 

 

 

1, se j = arg max 1αk(µ(xi))

0, caso contrário.

, (3.24)

Ou seja,

t

ij terá valor 1 se

j

for igual a maior similaridade obtida para o padrão

de palavra

x

i, e terá valor 0 caso contrário. Na abordagemsoft, cada padrão de palavra

é permitido para contribuir com todas as novas características extraídas. Os elementos deTem (3.21) são definidos como segue:

tij =µGj(xi). (3.25)

Ou seja, cada elemento da matriz T terá o valor da similaridade obtida para o padrão

x

i. A abordagem mixed é uma combinação da abordagem hard com a

abordagem soft. Para esse caso, os elementos de T em (3.21) são definidos como segue:

tij = (γtHij + (1−γt S

ij, (3.26)

onde

t

Sij é obtido por (3.25) e

t

Hij é obtido por (3.24), e

γ

é uma constante definida pelo usuário entre 0 e 1. Note que

γ

não está relacionada ao agrupamento. Trata-se da fusão de características da extraçãohard e da extraçãosoft. Quanto menor for

γ

maior será a precisão da matriz soft. Caso contrário, quanto maior for

γ

maior será a precisão para a matriz hard.

A Tabela 5 mostra as três matrizes de pesos definidas pelas equações (3.24), (3.25) e (3.26) respectivamente, que foram derivadas da matriz de similaridade mostrada na Tabela 4.

Tabela 5 – Matrizes de Pesos.

Hard TH Soft TS Mixed TM

0 1 0 0.00 0.96 0.16 0.00 0.99 0.03

0 1 0 0.00 0.92 0.46 0.00 0.98 0.09

0 1 0 0.00 0.92 0.46 0.00 0.98 0.09

0 1 0 0.00 0.96 0.16 0.00 0.99 0.03

1 0 0 1.00 0.01 0.40 1.00 0.00 0.08

0 0 1 0.13 0.38 0.96 0.02 0.07 0.99

1 0 0 1.00 0.01 0.40 1.00 0.00 0.08

0 0 1 0.41 0.15 0.96 0.08 0.03 0.99

0 1 0 0.00 0.96 0.16 0.00 0.99 0.03

(27)

Capítulo 3. O algoritmo de Agrupamento 26

A Tabela 6 mostra três conjuntos de dados transformados (D’H, D’S e D’M)

obtidos pela equação (3.23) calculados para as três matrizes de pesos mostradas na Tabela 5. Temos então um conjunto final com três novas características extraídas

w

1′

, w

2′

e

w

3′.

Tabela 6 – Conjunto de dados transformados.

Hard D’H Soft D’S Mixed D’M

w’1 w’2 w’3 w’1 w’2 w’3 w’1 w’2 w’3

d’1 2 1 1 2.14 1.33 2.23 2.02 1.06 1.24

d’2 1 0 3 1.68 0.94 3.29 1.13 0.18 3.05

d’3 1 0 0 1.00 0.01 0.40 1.00 0.00 0.08

d’4 5 1 2 5.55 1.52 4.40 5.11 1.10 2.48

d’5 0 2 1 0.13 2.31 1.30 0.02 2.06 1.06

d’6 0 5 1 0.14 5.13 2.39 0.02 5.02 1.27

d’7 0 10 2 0.56 10.08 4.49 0.11 10.01 2.49

d’8 0 3 1 0.14 3.24 1.76 0.02 5.02 1.27

d’9 0 4 0 0.01 3.78 1.26 0.00 3.95 0.25

Os conjuntos de dados transformados mostrados na Tabela 6, são os conjuntos reduzidos que foram obtidos com o agrupamento de características. As características

w

1′

, w

2′

e

w

3′ são as novas características extraídas que agora representam o conjunto

(28)

27

4 Validação do Algoritmo de Agrupamento

Este capítulo apresenta detalhes sobre as bases de dados utilizadas para realização dos experimentos de validação do algoritmo de agrupamento e a acurácia obtida na classificação das bases.

4.1 Bases de Dados

Foram utilizadas 2 bases de dados bastantes utilizadas para análise dos re-sultados. As bases são: COIL 2000 e NewsGroups. A base NewsGroups completa possui 20000 documentos, mas para esse trabalho foi utilizada a versão reduzida com 2000 documentos. A versão reduzida também foi utilizada por (LUO; YUAN; LUO, 2011;CHENG; MIAO; WANG,2014). A base COIL 2000 foi coletada noUCI machine learning repository (LICHMAN,2013).

A base COIL 2000 é um conjunto de dados usado no Desafio COIL 2000 e contém informações sobre os clientes de uma companhia de seguros. As informações sobre os clientes são compostas por 86 variáveis (características) que inclui dados sóciodemográficos (atributos 1-43) e dados de uso do produto (atributos 44-86). Os dados foram fornecidos por uma empresa de mineração de dados e é baseado em um problema de negócios do mundo real. A base possui 9822 registros de clientes.

A base reduzida da 20Newsgroups contem cerca de 2000 artigos tirados da

Usenet Newsgroups. Estes artigos são uniformemente distribuídos em 20 classes (20 grupos de notícias diferentes), onde cada classe corresponde a um assunto diferente e possui 100 artigos. Alguns dos grupos de notícias estão intimamente relacionados entre si (por exemplo comp.sys.ibm.pc.hardware / comp.sys.mac.hardware), enquanto outros são altamente independentes (por exemplo misc.forsale / soc.religion.christian). A Figura 3 mostra uma lista dos 20 grupos de notícias, subdivididos de acordo com o assunto:

Figura 3 – Base 20 Newsgroup subdividida em assuntos diferentes.

comp.graphics

comp.os.ms-windows.misc comp.sys.ibm.pc.hardware comp.sys.mac.hardware comp.windows.x

rec.autos

rec.motorcycles rec.sport.baseball rec.sport.hockey

sci.crypt sci.electronics sci.med sci.space

misc.forsale talk.politics.misc

talk.politics.guns talk.politics.mideast

talk.religion.misc alt.atheism

(29)

Capítulo 4. Validação do Algoritmo de Agrupamento 28

A base COIL 2000 encontra-se no formato correto para entrada no algoritmo, mas para a baseNewsgroupé necessário realizar um procedimento antes da execução do algoritmo. Para realizar os experimentos com a base Newsgroup foi necessário transformar a base em dois arquivos, sendo o primeiro o conjunto de todas as palavras presentes em todos os documentos e o segundo sendo um arquivo que possui quantas vezes uma determinada palavra aparece em um determinado documento, para que no final tivéssemos a base no modelo “Bag of Words”, semelhante a Tabela 1. A Figura 4 mostra o diagrama para salvar os indíces da baseNewsgroup.

Figura 4 – Diagrama salvando indíces.

Ler todos as palavras de todos

os documentos.

Remover caracteres

especias. (@#$%&*+-?/:;{}[])

Remover palavras repetidas.

Conjunto de palavras final.

O pseudocódigo da Figura 5 mostra como é realizado o procedimento para salvar a base no modelo “Bag of Words” como mostra a Tabela 7.

Figura 5 – Procedimento para salvar base transformada.

Entrada:

Conjunto de todas palavras

W={w ,w ,...,w }

1 2 m

D={d ,d ,...,d }

Conjunto de Documentos

1 2 n

Saída:

Base transformada

D’

Salva Base

Procedimento

cada documento

para

d 0 ≤ i ≤ n

i

para

cada palavra

w 0 ≤ j ≤ m

j

adicione em D’ quantas vezes w

j

aparece em

d

i

fim para;

fim para;

retorno

com a base transformada

D’;

fim procedimento

Tabela 7 – Base Newsgroup transformada.

abadon abandoned

. . .

zucker classe

d1 1 0

. . .

0 0

d2 0 1

. . .

0 0

d3 0 4

. . .

1 0

...

...

...

...

...

...

(30)

Capítulo 4. Validação do Algoritmo de Agrupamento 29

4.2 Avaliação do Desempenho na Classificação

Foram realizados experimentos com as duas bases para verificar a acurácia da classificação após o agrupamento de características. Foi utilizado o 10-Fold Cross Validation para avaliar a precisão dos classificadores. A Tabela 8 mostra os resultados de acurácia média para a baseNewsgroup utilizando os limiares com valores 0.35, 0.6 e 0.7, bem como a utilização do K-NN com os valores de K=1, K=3 e K=5, respectiva-mente. As Figuras 6, 7 e 8 mostram os gráficos de barras das acurácias apresentadas na Tabela 8.

Tabela 8 – Resultados para base Newsgroup.

Limiar 0.35 0.6 0.7

Nº de Grupos 22 155 294

K-NN 1-NN 3-NN 5-NN 1-NN 3-NN 5-NN 1-NN 3-NN 5-NN

Hard 91.85 92.1 92.25 71.55 72.15 75.1 64.25 66.65 69.35

Soft 92.05 90.05 88.45 93.45 90.15 89.4 92.2 90.25 88.85

Mixed 94.2 93.15 92.35 92.25 91.15 90.55 93.2 91.15 90.45

Para cada limiar utilizado, foi obtido diferentes números de agrupamentos como mostra a Tabela 8. Os gráficos mostram a acurácia utilizando três limiares diferentes para cada matriz de peso existente (Hard, Soft e Mixed). Podemos verificar que obtemos a melhor acurácia utilizando o classificador 1-NN e o limiar com valor 0.35 para a matriz de pesoMixed.

Figura 6 – Gráfico de barras para a classificação da base Newsgroups utilizando o 1-NN.

60 65 70 75 80 85 90 95 100

0.35 0.6 0.7

A c u r á c ia M é d ia

Limiares

Hard Soft Mixed

Acur

(31)

Capítulo 4. Validação do Algoritmo de Agrupamento 30

Figura 7 – Gráfico de barras para a classificação da base Newsgroups utilizando o 3-NN.

60 65 70 75 80 85 90 95 100

0.35 0.6 0.7

A c u r á c ia M é d ia Limiares Hard Soft Mixed Acur ácia Média

Figura 8 – Gráfico de barras para a classificação da base Newsgroups utilizando o 5-NN.

60 65 70 75 80 85 90 95 100

0.35 0.6 0.7

A c u r á c ia M é d ia Limiares Hard Soft Mixed Acur ácia Média

A Tabela 9 mostra os resultados de acurácia média para a base COIL 2000 utilizando os limiares com valores 0.97, 0.997 e 0.9997, bem como a utilização do K-NN com os valores de K=1, K=3 e K=5, respectivamente. As Figuras 9, 10 e 11 mostram os gráficos de barras das acurácias apresentadas na Tabela 9.

Tabela 9 – Resultados para a base COIL 2000.

Limiar 0.97 0.977 0.9777

Agrupamentos 14 40 54

K-NN 1-NN 3-NN 5-NN 1-NN 3-NN 5-NN 1-NN 3-NN 5-NN

Hard 90.56 92.91 93.59 90.34 92.73 93.55 90.65 93.01 93.56

Soft 90.34 93.15 93.63 90.45 93.06 93.50 90.45 93.10 93.57

Mixed 90.28 93.00 93.64 90.68 93.08 93.48 90.48 93.02 93.56

(32)

Capítulo 4. Validação do Algoritmo de Agrupamento 31

Figura 9 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 1-NN.

89 90 91 92 93 94

0.97 0.977 0.9777

A c u r á c ia M é d ia Limiares Hard Soft Mixed Acur ácia Média

Figura 10 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 3-NN.

89 90 91 92 93 94

0.97 0.977 0.9777

A c u r á c ia M é d ia Limiares Hard Soft Mixed Acur ácia Média

Figura 11 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 5-NN.

89 90 91 92 93 94

0.97 0.977 0.9777

A c u r á c ia M é d ia Limiares Hard Soft Mixed Acur ácia Média

4.3 Avaliação do Tempo na Classificação

(33)

Capítulo 4. Validação do Algoritmo de Agrupamento 32

com a utilização do FFC (22, 155, 294 e 500 características) e sem FFC (29420 características) e a taxa de acerto obtida na classificação da baseNewsgroups para os diferentes números de características existentes.

Tabela 10 – Tempo da classificação da base Newsgroup com limiares diferentes.

Limiar 0.35 0.6 0.7 0.75 Sem FFC

Nº de Grupos 22 155 294 500 29420

Com FFC 0,033m 0,036m 0,037m 0,041m 251,18m Taxa de Acerto 92.05 92.25 92.2 91.74 92.12

A Figura 12 mostra a fração de tempo de classificação da baseNewsgroupentre a utilização do FFC e sem a utilização do FFC. O gráfico mostra que quando o valor de

k aumenta, ou seja, quanto mais características o classificador possuir, maior será o tempo de classificação.

Figura 12 – Fração de tempo de classificação para base Newsgroup - Com FFC X Sem FCC.

0 0,00002 0,00004 0,00006 0,00008 0,0001 0,00012 0,00014 0,00016 0,00018

k=22 k=155 k=294 k=500

Fração de Tempo - Sem FFC X Com FFC

Da mesma forma que a Tabela 10, a Tabela 11 mostra o tempo (em segundos) para classificação da base COIL 2000, com a utilização do FFC e sem a utilização do FFC.

Tabela 11 – Tempo da classificação da base COIL 2000 com limiares diferentes.

Limiar 0.97 0.997 0.9997 0.99993 Sem FFC

Nº de Grupos 14 40 54 70 86

Com FFC 1,982s 3s 3,05s 9s 14s

Taxa de Acerto 90.34 90.45 90.45 90.38 91.65

(34)

Capítulo 4. Validação do Algoritmo de Agrupamento 33

Figura 13 – Tempo de classificação da base COIL 200 com FFC e sem FFC.

0 2000 4000 6000 8000 10000 12000 14000 16000

k=14 k=40 k=54 k=70

Com FFC

Sem FFC

Com os testes realizados podemos verificar que o algoritmo realiza agrupamen-tos satisfatórios, pois foram obtidas taxas de aceragrupamen-tos de 94.2% para a baseNewsgroup

(35)

34

5 O Trabalho Desenvolvido

A aplicaçãoJournal Finder surgiu para ajudar os pesquisadores a encontrar as revistas mais relevantes para publicação de um artigo, apenas com o texto doabstract

do artigo. Essa aplicação recebe o título e o abstract de um artigo e, através de um algoritmo, realiza uma pesquisa semântica em uma base com várias revistas científicas, e retorna uma lista com as 10 revistas mais adequadas para publicação do artigo. Essa aplicação já existe (FINDER, 2014;FINDER,2013), mas para este trabalho de graduação foi desenvolvida uma aplicação semelhante, que tem por entrada apenas o abstract, e com base no algoritmo de agrupamento de (JIANG; LIOU; LEE,2011), realiza a extração de características e classifica oabstract em uma ordem de relevância para 10 revistas científicas.

5.1 Criação da Base

Para desenvolvimento da aplicação, inicialmente foi necessário criar uma base de dados com abstracts de várias revistas científicas. Foram escolhidas 15 revistas científicas da área de computação, com QualisA1, para obtenção de 1500abstracts

distribuídos uniformemente em 100 abstracts por revista. A Tabela 18 no Apêndice mostra as informações de cada revista utilizada, assim como o número deabstracts

por volume que foram usados para criação da base.

O critério utilizado para a escolha dosabstractsfoi pegar os 100 últimos artigos publicados na revista, partindo do último volume publicado. Foram escolhidas revistas relacionadas a aprendizagem de máquina, que possuemQualisA1.

5.2 Base deAbstractsno Modelo “Bag of Words”

Após a criação da base é necessário transformar a base para o modelo ”Bag of Words“. A obtenção das características (indíces) e o procedimento para salvar a base foram realizados da mesma forma que foi utilizado na base Newsgroup(Figura 4 e 5). A base criada possui 8684 características que são todas as palavras, sem repetição, existentes nos 1500 abstracts da base. A Tabela 12 mostra a base de

abstracts transformada, onde temos as ocorrências das 8684 palavras (w1,w2,. . . ,w8684)

(36)

Capítulo 5. O Trabalho Desenvolvido 35

Tabela 12 – Base de abstracts tranformada.

abdomen(w1) ability (w2)

. . .

zeroed (w8684) classe

a1 0 0

. . .

0 1

a2 0 1

. . .

0 1

a3 0 0

. . .

0 1

...

...

...

...

...

...

a1500 0 0

. . .

0 15

5.3 Escolha do Melhor Limiar

Foram realizados testes para escolha do limiar que possuísse a melhor taxa de acerto na classificação, após o agrupamento de características na base criada, como especificado na seção 5.1, utilizando a abordagem de extração de característicasSoft.

Os valores do limiar foram definidos de 0.1 a 0.9. Foi utilizado o 10-Fold Cross Validationpara verificação da taxa de acerto na classificação da base com a utilização do classificador 1-NN.

Tabela 13 – Teste com vários limiares para a base de abstracts.

Limiar 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Agrupamentos 8 13 16 17 76 87 157 362 1442

Taxa de Acerto 53.46 72.13 83.53 83.53 84.2 83.66 83.2 84.06 83.06

Como podemos ver na Tabela 13, o limiar 0.5, com 76 agrupamentos formados obteve a maior taxa de acerto para classificação da base criada. Salvamos então a matriz de peso SoftTS mostrada na Tabela 14 e a matriz de dados transformadosD’S

mostrada na Tabela 15 que foram obtidas com a utilização do limiar 0.5 na execução do algoritmo, para realizar a extração de características (seção 5.4).

Tabela 14 – Matriz de Peso Soft TSpara a base de abstracts.

G1 G2

. . .

G76

w1 1.00 0.68

. . .

0.26

w2 0.42 1.0

. . .

0.07

...

...

...

...

...

w8684 0.15 0.07

. . .

0.01

A matriz de pesoSoft TS mostrada na Tabela 14 foi obtida após a criação dos 76

(37)

Capítulo 5. O Trabalho Desenvolvido 36

Tabela 15 – Matriz de dados transformados D’S para a base de abstracts.

w’1 w’2

. . .

w’76

a’1 95.44 64.21

. . .

23.10

a’2 105.57 67.19

. . .

22.48

...

...

...

...

...

a’1500 53.92 38.11

. . .

14.90

D’S mostrada na Tabela 15 é a matriz de características extraídas calculada por (3.18)

que foi obtida multiplicando os valores da matriz de peso da Tabela 14 pelos valores das ocorrências das palavras nos documentos da base mostrados na Tabela 12.

5.4 Extração de Características para um Novo Abstract

A aplicação receberá um novoabstract que não foi utilizado no treinamento e então serão extraídas as características para esse novoabstract. Inicialmente oabstract

será dividido em um vetor com todas as palavras presentes nele. Após isso será criado um vetor com a quantidade de vezes que cada palavra pertencente ao conjunto de características da base aparece no abstract recebido. Depois disso será multiplicado esse vetor pela matriz de peso TS, como mostrado na Tabela 14. Temos então as

características extraídas para o novoabstract. A Figura 14 mostra um diagrama com os passos para extração de características de um novo abstract, onde a aplicação recebe oabstract, lê todas as palavras presentes nele, verifica quantas vezes as palavras do conjunto de palavras da base aparecem noabstract, ou seja, é criado um vetor (A) com as ocorrências das palavras da base noabstract e então é multiplicado pela matriz de pesoSoft TSmostrada na Tabela 14. A Tabela 16 mostra um exemplo de características

extraídas para um novoabstract.

Figura 14 – Extração de características para um novo abstract.

Abstract

Ler todas as palavras do

Abstract.

Verificar quantas vezes as palavras do conjunto de características aparecem no Abstract.

(vetor A)

Extrair Características

A’ = A * TS

Tabela 16 – Exemplo de características extraídas para um novo abstract.

w’1 w’2

. . .

w’76

a’new 61.46 43.45

. . .

17.18

5.5 Ordem de Relevância das Revistas para o Abstract

(38)

Capítulo 5. O Trabalho Desenvolvido 37

(Tabela 16) e todas as características extraídas (Tabela 15). A Figura 15 mostra o pseu-docódigo do algoritmo que calcula a distância euclidiana das características extraídas doabstract com todas as características extraídas e retorna uma lista, ordenada pelas menores distâncias, das revistas mais relevantes para oabstract de entrada.

Figura 15 – Pseudocódigo do algoritmo que retorna a lista de revistas mais relevantes.

Entrada:

Conjunto de caracterís!cas extraídas

A’ ={a’ ,a’ ,...,a’ }

x x1 x2 xm

A’ ={a’

,a’

,...,a’

}

Abstract com as caracterís!cas extraídas

new new1 new2 newn

Saída:

Lista de revistas relevantes

Procedimento

Journal Finder

cada caracterís!ca extraída

para

a’ , 0 ≤ i ≤ tamanho da base

i

calcula distância entre A’ e A’

x new

salva as menores distâncias por revistas

fim para;

ordena pela menor distância;

retorno com a lista de revistas ordenadas pelas menores distâncias

;

fim procedimento

A Figura 16 mostra o diagrama do algoritmo que encontra a relevância das revistas. Inicialmente o algoritmo recebe oabstract com as características extraídas e calcula a sua distância com todas as características extraídas do base de dados. Então o algoritmo pega as menores distâncias de cada classe, ordena pelas menores distâncias entre as 15 revistas e retorna a lista com as 10 revistas mais relevantes.

Figura 16 – Diagrama do algoritmo que encontra as revistas com maior relevância

Abstract com características

extraídas.

Calcular Distância Euclidiana.

Pegar menores distâncias de cada classe. Conjunto com todas

as características extraídas da base.

Ordenar as menores distâncias.

Relevância das revistas.

5.6 Telas da Aplicação

(39)

Capítulo 5. O Trabalho Desenvolvido 38

do abstract (Figura 17) e a outra para mostrar as 10 revistas mais relevantes para publicação (Figura 18).

Figura 17 – Tela que recebe o abstract.

Figura 18 – Tela que mostra a relevância das revistas.

(40)

39

6 Testes e Resultados

Este capítulo descreve a metodologia de teste para avaliar a eficácia da aplica-ção e mostra os gráficos gerados a partir dos resultados obtidos.

6.1 Metodologia de Teste

Para validar a aplicação foi necessário executá-la dando como entradaabstracts

que pertenciam as mesmas revistas da base que foi criada, mas de volumes diferentes dos que foram salvos. Para cada revista presente na base (Tabela 18 no Apêndice) foram verificados 20 novosabstracts, dando um total de 300 abstracts. Osabstracts

foram escolhidos aleatoriamente entre os volumes que não pertenciam a base de dados.

6.2 Resultados Obtidos

Para cada revista foi analisado se a revista que foi retirado o abstract seria classificado entre as 10 revistas mais relevantes para publicação. Foram realizadas 3 análises diferentes com os resultados obtidos. Na primeira análise foi verificado se a revista da qual foi retirado o abstract para análise, estaria na primeira posição mais relevante para publicação do artigo com esseabstract. Será considerado acerto se a revista estiver na primeira posição e será considerado erro caso contrário. Essa análise foi denominadaTop 1. A Figura 19 mostra o gráfico de barras para essa análise.

Figura 19 – Gráfico de barras para a primeira posição.

0 2 4 6 8 10 12 14 16 18 20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Revistas

Top 1

Acertos

Erros

Quan

!

dade de

Ab

s

(41)

Capítulo 6. Testes e Resultados 40

O gráfico da Figura 19 mostra os 20abstracts(eixo Y) de cada revista (eixo X) que foram analisados. A linha vermelha, localizada no valor 10 do eixo Y, é o limiar que determina se a revista está entre oTop 1mais da metade dos teste, caso os valores do eixo X ultrapassem essa linha, ou se a revista não está entre oTop 1, mais da metade dos testes, caso contrário. Nesse gráfico podemos perceber que apenas 4 revistas estavam entre oTop 1e 11 revistas não estavam entre oTop 1.

A Tabela 17 mostra a listagem das revistas da base criada de acordo com a numeração mostrada no eixo X do gráfico da Figura 18.

Tabela 17 – Revistas numeradas de 1 a 15.

Número Nome da revista

1 ACM Transactions on Intelligent Systems and Technology 2 Computer Vision and Image Understanding (Print)

3 Fuzzy Sets and Systems

4 IEEE Transactions on Evolutionary Computation 5 IEEE Transactions on Fuzzy Systems

6 IEEE Transactions on Image Processing

7 IEEE Transactions on Knowledge and Data Engineering (Print) 8 IEEE Transactions on Neural Networks and Learning Systems 9 Image and Vision Computing

10 Machine Learning (Dordrecht. Online) 11 Medical Image Analysis (Print)

12 Neural Computation

13 Neural Networks

14 Pattern Recognition 15 Pattern Recognition Letters

A segunda análise verificou se a revista, que foi retirado oabstract para análise, estava entre as 3 primeiras posições mais relevantes para publicação. Essa análise foi denominadaTop 3. A Figura 20 mostra o gráfico de barras para essa análise.

Figura 20 – Gráfico de barras para as 3 primeiras posições.

0 2 4 6 8 10 12 14 16 18 20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

TOP 3

Acertos

Erros

Quan

!

dade de

Ab

s

tracts

(42)

Capítulo 6. Testes e Resultados 41

No gráfico da Figura 20 podemos perceber uma melhoria, onde 10 revistas tinha mais acertos que erros, 4 revistas tinha mais erros que acertos e 1 revista teve o mesmo número de acertos e erros.

A terceira análise verificou se a revista que foi retirado osabstractspara análise estava entre as 5 primeiras posições mais relevantes para publicação. Essa análise foi denominadaTop 5. A Figura 21 mostra o gráfico de barras para essa análise.

Figura 21 – Gráfico de barras para as 5 primeiras posições.

0 2 4 6 8 10 12 14 16 18 20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

TOP 5

Acertos Erros

Quan

!

dade de

Ab

s

tracts

Revistas

No gráfico da Figura 21 podemos perceber um resultado bem melhor, onde ape-nas 1 revista não estava entre as 5 primeiras posições mais relevantes para publicação, pois seu número de erros é maior que o número de acertos, e todas as outras possuem mais acertos que erros, ou seja, a revista que foi retirado oabstract quase sempre está entre o Top 5 de maior relevância.

(43)

Capítulo 6. Testes e Resultados 42

Figura 22 – Gráfico pizza com percentual dos não listados entre as 10 posições.

95% 5%

Total

Não Listados

Foi analisado também qual as posições que mais apareciam as revistas listadas entre as 10 posições. A Figura 23 mostra o gráfico de linha com as 10 posições. Figura 23 – Gráfico de linha com as porcentagens das posições que mais apareciam entre as 10

posições de maior relevância.

0 0,05 0,1 0,15 0,2 0,25 0,3 0,35

1º 2º 3º 4º 5º 6º 7º 8º 9º 10º

Posições

P

or

cen

tag

em (decimal)

Analisando o gráfico da Figura 23 podemos perceber que as primeiras posições eram as que mais apareciam na análise dos 300abstracts, e também percebemos que a primeira posição foi a que mais apareceu dentre todas as outras posições. De 300

Imagem

Tabela 1 – Um simples conjunto de documentos D.

Tabela 1

– Um simples conjunto de documentos D. p.19
Tabela 2 – Padrões de palavras distribuídos em 2 classes.

Tabela 2

– Padrões de palavras distribuídos em 2 classes. p.20
Tabela 4 – Similaridade dos padrões de palavras para três agrupamentos.

Tabela 4

– Similaridade dos padrões de palavras para três agrupamentos. p.24
Tabela 5 – Matrizes de Pesos.

Tabela 5

– Matrizes de Pesos. p.26
Tabela 6 – Conjunto de dados transformados.

Tabela 6

– Conjunto de dados transformados. p.27
Figura 3 – Base 20 Newsgroup subdividida em assuntos diferentes.

Figura 3

– Base 20 Newsgroup subdividida em assuntos diferentes. p.28
Figura 5 – Procedimento para salvar base transformada.

Figura 5

– Procedimento para salvar base transformada. p.29
Figura 6 – Gráfico de barras para a classificação da base Newsgroups utilizando o 1-NN.

Figura 6

– Gráfico de barras para a classificação da base Newsgroups utilizando o 1-NN. p.30
Tabela 8 – Resultados para base Newsgroup.

Tabela 8

– Resultados para base Newsgroup. p.30
Figura 7 – Gráfico de barras para a classificação da base Newsgroups utilizando o 3-NN.

Figura 7

– Gráfico de barras para a classificação da base Newsgroups utilizando o 3-NN. p.31
Figura 8 – Gráfico de barras para a classificação da base Newsgroups utilizando o 5-NN.

Figura 8

– Gráfico de barras para a classificação da base Newsgroups utilizando o 5-NN. p.31
Tabela 9 – Resultados para a base COIL 2000.

Tabela 9

– Resultados para a base COIL 2000. p.31
Figura 9 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 1-NN.

Figura 9

– Gráfico de barras para a classificação da base COIL 2000 utilizando o 1-NN. p.32
Figura 11 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 5-NN.

Figura 11

– Gráfico de barras para a classificação da base COIL 2000 utilizando o 5-NN. p.32
Figura 10 – Gráfico de barras para a classificação da base COIL 2000 utilizando o 3-NN.

Figura 10

– Gráfico de barras para a classificação da base COIL 2000 utilizando o 3-NN. p.32
Figura 12 – Fração de tempo de classificação para base Newsgroup - Com FFC X Sem FCC.

Figura 12

– Fração de tempo de classificação para base Newsgroup - Com FFC X Sem FCC. p.33
Tabela 11 – Tempo da classificação da base COIL 2000 com limiares diferentes.

Tabela 11

– Tempo da classificação da base COIL 2000 com limiares diferentes. p.33
Figura 13 – Tempo de classificação da base COIL 200 com FFC e sem FFC.

Figura 13

– Tempo de classificação da base COIL 200 com FFC e sem FFC. p.34
Tabela 12 – Base de abstracts tranformada.

Tabela 12

– Base de abstracts tranformada. p.36
Figura 15 – Pseudocódigo do algoritmo que retorna a lista de revistas mais relevantes.

Figura 15

– Pseudocódigo do algoritmo que retorna a lista de revistas mais relevantes. p.38
Figura 17 – Tela que recebe o abstract.

Figura 17

– Tela que recebe o abstract. p.39
Figura 18 – Tela que mostra a relevância das revistas.

Figura 18

– Tela que mostra a relevância das revistas. p.39
Figura 19 – Gráfico de barras para a primeira posição.

Figura 19

– Gráfico de barras para a primeira posição. p.40
Figura 20 – Gráfico de barras para as 3 primeiras posições.

Figura 20

– Gráfico de barras para as 3 primeiras posições. p.41
Tabela 17 – Revistas numeradas de 1 a 15.

Tabela 17

– Revistas numeradas de 1 a 15. p.41
Figura 21 – Gráfico de barras para as 5 primeiras posições.

Figura 21

– Gráfico de barras para as 5 primeiras posições. p.42
Figura 22 – Gráfico pizza com percentual dos não listados entre as 10 posições.

Figura 22

– Gráfico pizza com percentual dos não listados entre as 10 posições. p.43
Figura 24 – Gráfico de barras acumulativo com os percentuais das posições que mais apareciam entre as 10 posições de maior relevância.

Figura 24

– Gráfico de barras acumulativo com os percentuais das posições que mais apareciam entre as 10 posições de maior relevância. p.44
Tabela 18 – Detalhes sobre as revistas utilizadas na criação da base.

Tabela 18

– Detalhes sobre as revistas utilizadas na criação da base. p.49
Tabela 19 – Detalhes sobre os abstracts utilizados nos testes.

Tabela 19

– Detalhes sobre os abstracts utilizados nos testes. p.53

Referências