• Nenhum resultado encontrado

VITOR MASSARO CREMONEZ RECOMENDAÇÃO ENTRE USUÁRIOS DE REDES SOCIAIS POR CONTEÚDO

N/A
N/A
Protected

Academic year: 2021

Share "VITOR MASSARO CREMONEZ RECOMENDAÇÃO ENTRE USUÁRIOS DE REDES SOCIAIS POR CONTEÚDO"

Copied!
52
0
0

Texto

(1)

VITOR MASSARO CREMONEZ

RECOMENDAÇÃO ENTRE USUÁRIOS DE REDES

SOCIAIS POR CONTEÚDO

LONDRINA–PR 2016

(2)
(3)

VITOR MASSARO CREMONEZ

RECOMENDAÇÃO ENTRE USUÁRIOS DE REDES

SOCIAIS POR CONTEÚDO

Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.

Orientador: Prof. Dr. Sylvio Barbon Júnior

LONDRINA–PR 2016

(4)

Vitor Massaro Cremonez

Recomendação entre usuários de redes sociais por conteúdo/ Vitor Massaro Cremonez. – Londrina–PR,

2016-50p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Sylvio Barbon Júnior – Universidade Estadual de Londrina, 2016.

1. Palavra-chave1. 2. Palavra-chave2. I. Orientador. II. Universidade xxx. III. Faculdade de xxx. IV. Título

(5)

VITOR MASSARO CREMONEZ

RECOMENDAÇÃO ENTRE USUÁRIOS DE REDES

SOCIAIS POR CONTEÚDO

Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.

BANCA EXAMINADORA

Prof. Dr. Sylvio Barbon Júnior Universidade Estadual de Londrina

Orientador

Prof. Dr. Rodolfo Miranda de Barros Universidade Estadual de Londrina Membro

da Banca

Prof. Dr. Evandro Baccarin

Universidade Estadual de Londrina Membro da Banca

(6)
(7)

Este trabalho é dedicado às crianças adultas que, quando pequenas, sonharam em se tornar cientistas.

(8)
(9)

AGRADECIMENTOS

Dedico este trabalho à todas as pessoas que me apoiaram e me incentivaram, durante todo o processo de graduação, sempre objetivando a dar um passo à frente.

Primeiramente dedico à Universidade Estadual de Londrina, pela oportunidade da realização do curso, proporcionando um ambiente criativo, amigável e com muita quali-dade de ensino.

Ao meu orientador, por todo o suporte, apoio confiança dedicado à elaboração deste trabalho e paciência em todo o processo de revisão do mesmo.

Aos meus pais e irmão, pela paciência e apoio incondicional em todas as fases da minha formação acadêmica.

A todos os meus colegas de graduação pelas inúmeras horas de trabalho realizados juntos e toda motivação trocada durante todo o período de formação.

E a todas as pessoas que direta ou indiretamente fizeram parte da minha formação, muito obrigado.

(10)
(11)

“Se você está atravessando o inferno, continue atravessando.” (Winston Churchill)

(12)
(13)

CREMONEZ, V. C.. Recomendação entre usuários de redes sociais por conteúdo. 50 p. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Uni-versidade Estadual de Londrina, Londrina–PR, 2016.

RESUMO

Graças à internet, o mundo moderno está mais conectado do que nunca. As redes sociais online fornecem um ambiente perfeito para conectar de forma efetiva as pessoas dentro da rede. Entender as preferências e gostos dos usuários fornece o poder de direcionamento de conteúdos, amizades e pessoas a outros usuários. Usando os dados gerados pelos usuários na rede, é possível montar um perfil baseado nos dados gerados por eles para a realização desta tarefa. Com o uso de mineração de dados, o presente trabalho propõe a extração dos assuntos mais abordados por cada usuário dentro de redes sociais, extraindo um conjunto dos termos mais influentes abordados por cada um. Usando técnicas de medição de distância entre os termos e suas respectivas frequências de aparição é feita a extração do nível de distância entre os usuários baseados nos termos gerados por eles.

(14)
(15)

CREMONEZ, V. C.. Recommendation among users of social networks by con-tent. 50 p. Final Project (Bachelor of Science in Computer Science) – State University of Londrina, Londrina–PR, 2016.

ABSTRACT

Due the Internet, the modern world is more connected than ever. Online social networks provides a perfect environment to effectively connect people within the network. Under-standing the preferences and tastes of users offers the possibility of targeting content, friends and people to another users. Using the data generated by the users in the net-work, it is possible to assemble a profile based on the data generated by them within the network to perform this task. With the use of data mining, the present work proposes the extraction of the subjects most addressed by each user within social networks, extracting a set of terms most approached by each user. Using techniques of distance measurement between the terms and frequencies uttered, the level of distance between users is extracted based on the terms generated by them.

(16)
(17)

LISTA DE ILUSTRAÇÕES

Figura 1 – Representação dos passos para a mineração de dados . . . 29

Figura 2 – Documento como exemplo de entrada . . . 31

Figura 3 – Documento de saída rotulado . . . 32

(18)
(19)

LISTA DE TABELAS

Tabela 1 – Tabela de tagset do pos-tagger . . . 33

Tabela 2 – Textos proferidos por usuários por data. . . 41

Tabela 3 – Termos isolados proferidos por cada usuário extraídos dos textos. . . . 41

Tabela 4 – Processo de extração dos termos influentes . . . 42

Tabela 5 – TT das palavras mais usadas por todos usuários . . . 42

Tabela 6 – Tabela TT das palavras mais usadas pelo usuário A. . . 43

Tabela 7 – Tabela TT das palavras mais usadas pelo usuário B . . . 43

Tabela 8 – Tabela normalizada dos termos e frequência de aparição . . . 44

Tabela 9 – Frequência de palavras proferidas dos usuários 𝑋1 á 𝑋6 . . . 45

Tabela 10 – Frequência de palavras normalizadas dos usuários 𝑋1 á 𝑋6 . . . 45

(20)
(21)

LISTA DE ABREVIATURAS E SIGLAS

MD Mineração de Dados MT Mineração de Texto TT Trending-topics RSO Redes Sociais Online

(22)
(23)

SUMÁRIO

1 INTRODUÇÃO . . . . 23 2 PROBLEMA . . . . 25 3 HIPÓTESE . . . . 27 4 FUNDAMENTAÇÃO TEÓRICA . . . . 29 4.1 Mineração de dados . . . 29 4.1.1 Pré-processamento . . . 30 4.2 Pos-tagging . . . 30 4.3 MeetU . . . 34 4.4 Twitter e trending-topics . . . 34

4.5 Medidas de distância e similaridade . . . 34

5 MODELO PROPOSTO . . . . 37

6 METODOLOGIA. . . . 39

7 RESULTADOS E DISCUÇÕES . . . . 41

8 CONCLUSÃO. . . . 47

(24)
(25)

23

1 INTRODUÇÃO

Na era da informação, onde dados são criados e fornecidos para usuários em uma taxa crescente, possuir a maior quantidade de dados já não é mais um grande diferencial, entregar os dados que os usuários desejam obter sem eles ao menos perceberem é. Sugestão direcionada é uma das melhores maneiras de entregar dados que os usuários desejam obter. Esses dados podem variar entre sugestões de consumo de postagens de texto, vídeo, imagem e pessoas, no caso, sugestão de outros usuários.

Conteúdos direcionados são utilizados pelas maiores empresas de informática atu-almente, seja entregando uma notícia, matéria, produto, lugar etc. Oferecer o conteúdo que o usuário deseja ver, aumenta a satisfação de usar aquela plataforma e gera maior fidelidade por parte do mesmo.

Ao manter um registro do comportamento do internauta por meio de páginas visitadas, postagens e comentários feitos na rede, é possível montar um perfil do usuário, rico em informações de interesses do mesmo. Uma forma de sugerir perfis para outros usuários seria se baseando no nível de similaridade de interesses entre eles.

Redes Sociais Online (RSOs) são ambientes onde as pessoas discutem e expressam pensamentos e opiniões sobre qualquer assunto. Devido à grande quantidade de dados ge-rados, as RSOs tem se mostrado extremamente valiosas para extração de opinião pública, de modo a encontrar inúmeras opiniões sobre certos tópicos [1].

Porém, os métodos utilizados para mineração de texto geralmente são aplicados para textos tradicionais da web, como artigos e reportagens. Os textos minerados de redes sociais, entretanto, possuem a presença de abreviações, gírias, erros gramaticais e uso de diferentes idiomas na mesma estrutura. Em redes sociais como Facebook [2], Tinder [3], MeetU [4], uma das informações mais importantes que se pode sugerir para os usuários são outros usuários. No Facebook, por exemplo, sugerir uma pessoa para um usuário, com gostos e personalidade parecida, da a certeza de uma amizade de mais qualidade. No Tinder e MeetU, sugerir perfis para outros usuários com um grande nível de similaridade entre eles oferece a oportunidade de um maior desenvolvimento de uma nova relação de amizade ou até mesmo em um nível mais íntimo.

Para extrair esses termos, é feito o uso de Mineração de Texto. Usando técnicas para limpeza dos textos obtidos de redes sociais, e de tokenização é então obtido um texto pré-processado e pronto para extração dos termos influentes.

Através do uso de processamento de linguagem natural, usando técnicas de POS-Tagging (POST) é feita então a extração dos termos mais importantes e influentes gerados pelos usuários em forma de texto 4.2. Todos os tokens obtidos pelo pré-processamento

(26)

24

recebem uma etiqueta por meio do processo de POST e somente as etiquetas que são consideradas influentes são selecionadas.

Para utilização de um POSTagger para a língua portuguesa foi feito o uso do POSTagger Lx-Tagger, que apresenta o uso de soluções para problemas específicos de lin-guagem no desenvolvimento de Taggers para o português, descritos em [5]. Estas soluções são suficientemente genéricas para serem reutilizadas neste trabalho.

A obtenção dos respectivos termos e suas frequências de aparição obtidos dos usuários geram tabelas de Trending-Topics (TT) de palavras, exclusivas para cada usuário. Para obter o nível de distância entre os usuários, sendo a distância de 0, a com-paração entre usuários similares em todos os sentidos, é realizado o cálculo da distância entre os termos proferidos de 2 usuários diferentes, levando em conta os termos proferidos e a frequência de aparição dos mesmos para cada usuário 4.5.

O mundo é formado por uma grande rede na qual as pessoas estão conectadas. Cada pessoa tem preferência por determinados assuntos ou categorias. Este trabalho visou numerar o nível de distância entre usuários de uma rede social baseado no comportamento dos mesmos dentro dela.

(27)

25

2 PROBLEMA

RSOs, são serviços que surgiram como um novo meio de comunicação entre in-divíduos e organizações. Estes serviços oferecem uma plataforma essencial para usuários compartilharem pensamentos, ideias, status e experiências. Esses dados compartilhados são ricos de informações sobre os usuários e quem eles são. Medir o nível de proximidade entre os usuários de uma RSO garante uma melhor experiência de uso, aumentando as chances deles encontrarem pessoas na qual se identificam, garantindo uma maior satisfa-ção de uso. Será usado minerasatisfa-ção de textos para extrair informações dos dados gerados pelos usuários. Porém textos em microblogs normalmente possuem uma linguagem mais casual e informal. Devido a isto, os usuários publicam de maneira simplificada, utilizando a linguagem coloquial, abreviações, gírias e geralmente utilizando links, emojis, fotos, ví-deos, e entre outros [1]. Embora todas essas características determinem o texto como uma fonte de informações desestruturadas, nos quais os métodos tradicionais não as integram em sua análise, elas são extremamente valiosas e com a ajuda de diferencidas técnicas de mineração de dados são trabalhadas para obtenção de conhecimento e análise do mesmo. Este trabalho tem como base estudar uma nova solução para detecção de tópicos aborda-dos por usuários em RSOs para medição do nível de similaridade entre usuários distintos. A rede social utilizada será o MeetU [4], e uma hipótese para o problema será descrita no Capítulo 3.

(28)
(29)

27

3 HIPÓTESE

A hipótese deste trabalho é de calcular a distância de interesses entre usuários obtendo a medida por meio dos substantivos e frequência de aparição proferidos pelos usuários afim de realizar uma recomendação adequada entre eles. A comparação entre palavras chaves geradas entre diferentes usuários possibilitarão então a comparação do nível de similaridade entre ambos baseados em palavras chaves geradas por eles.

(30)
(31)

29

4 FUNDAMENTAÇÃO TEÓRICA

4.1

Mineração de dados

A área de Mineração de Dados (MD) teve origem na década de oitenta e tem como principal objetivo a extração de informações relevantes a partir de grandes volumes de dados [6]. A Mineração de Texto (MT) é análoga à mineração de dados, diferenciando nos dados que serão processados. No caso da mineração de texto os dados não estão estruturados ou estão semi-estruturados, um exemplo de MT seria a varredura de uma página HTML, arquivos de diferentes tipos de formatos, emails entre outro.[7] A mineração de texto é dividida em algumas etapas, representadas pela Figura 1.

Primeiramente é feita a coleta de textos baseados em arquivos de entrada, no caso deste trabalho, os textos serão retirados de postagens e comentários abertos publicados no MeetU.

∙ A etapa de pré-processamento é responsável por converter os textos em uma representação que possa ser manipulado pelos métodos de extração de conhecimento, fazendo as correção ortográficas e filtrando palavras sem significado semântico relevante (remoção de stop-words) para a análise da etapa de processamento.

∙ Na etapa de processamento é onde se obtém as informações mais relevantes dos textos processados, realizando a separação das partes constitutivas do texto. Essa etapa envolve, ainda, o desenvolvimento de algoritmos a serem utilizados na mineração textual. ∙ O pós-processamento é a etapa em que se faz a avaliação e a validação dos resul-tados visando obter melhor conhecimento do algoritmo usado na mineração. É importante destacar a utilização frequente da análise de conteúdo em conjunto com a mineração de texto na descoberta de conhecimento em textos. A Análise de Conteúdo é definida como um conjunto de técnicas de análise das comunicações visando obter, por procedimentos, sistemáticos e objetivos, a descrição de conteúdo das mensagens, indicadores que permi-tam a inferência de conhecimentos relativos às variáveis inferidas de entrada.[7]

(32)

30

4.1.1 Pré-processamento

Na fase de pré-processamento procura-se converter os textos em uma representação que possa ser manipulado pelos métodos de extração de conhecimento. Algumas dessas manipulações incluem realização da lematização, a remoção de stop-words e tokenização do texto de entrada descritas em [8].

∙ Stemming

A lematização ou stemming visa identificar cada palavra na sua forma base. As palavras podem ser escritas em diferentes formas gramaticais, mas ainda carregam a mesma informação. Durante esta fase os afixos e outros componentes léxicos são removidos de cada token, e somente a base permanece. Por exemplo, “trabalhou” e “trabalhando” são transformados em “trabalho”. Os verbos são também transformados na sua forma base.

∙ Stop-Words

Existem muitas palavras comuns em um texto, como: o, a, os, as, aquilo, quando; sendo geralmente artigos, pronomes e preposições que geralmente não carregam qualquer informação específica e, portanto, não são de qualquer ajuda na extração de informações e termos relevantes nos dados de entrada. Estas palavras ocorrem em todos os textos com grande frequência, e não se relacionam com o conteúdo do texto. Enquanto eles são se-manticamente importantes, a extração de conhecimento a partir do dados, ou Knowledge Discovery from Data (KDD) em cima de uma entrada com stop-words é interferida. Por-tanto, uma lista contendo essas stop-words pode ser aplicada ao texto. Todas as palavras que correspondentes à lista de stop-words são então removidas.

∙ Tokenização

A tokenização significa transformar um fluxo de caracteres em um fluxo de tokens. Isso é feito removendo letras maiúsculas, pontuações, colchetes etc. Basicamente, cada token é uma palavra, embora a definição de uma palavra não seja direta. Uma palavra pode ser definida como uma sequência de caracteres alfanuméricos rodeada por espaço em branco.

4.2

Pos-tagging

Part of speech tagging (POST) é uma prática importante, com aplicações em di-versas áreas, incluindo síntese e reconhecimento de fala, tradução e procura de textos em grandes bases de dados [9].

Part of speech (POS) é um método precursor de muitas tarefas de processamento natural de linguagem. Textos POST oferecem uma ótima fonte de informações sobre um texto do que uma simples sequência de palavras não analisadas. Embora menos

(33)

informa-31

tiva do que uma análise sintática completa que oferece, adicionalmente, um nível superior de informação e as relações entre as palavras estruturais. POST podem ser feitos com muito mais precisão e rapidez de análise.

Uma das tarefas na qual POST provou ser de grande uso é na tradução de textos. Para isso é necessária a extração de rótulos para cada palavra em um texto de entrada para melhor definir verbos, auxiliares, adjetivos, entre outros. O processo de tagging é exatamente este processo de extração dos rótulos das palavras baseadas em uma tabela tagset [10].

Existem dois fatores que fazem o processo de tagging de palavras um problema complicado. O primeiro é que muitas palavras possuem múltiplos POS. O segundo é que novas palavras aparecem o tempo todo. Não podemos simplesmente olhar para uma palavra e achar um POS respectivo para ela. Temos que analisar todo um contexto para determinar qual POS se adequa à aquela palavra naquela posição do texto. Um exemplo que ilustra bem este problema podemos ver nas frases:

We can can the can.

We are able to put the can into a can.

Não é difícil para uma pessoa processar os exemplos acima baseado em um con-texto na qual as palavras aparecem e determinar que o primeiro “can” é um auxiliar, o segundo é um verbo e o terceiro um pronome. Para uma máquina este trabalho não é tão intuitivo. Por isso, uma das dificuldades do processo de tagging das palavras é ofere-cer uma algoritmo com o conhecimento também necessário capaz de fazer o processo de tagging baseado também no contexto [11].

Um exemplo dos resultados de entrada e saída de dados obtidos a partir de um POS-Tagger é referenciado nas Figuras 2 e3 respectivamente.

(34)

32

Figura 3 – Documento de saída rotulado (Fonte: [12])

Para realizar a rotulação das palavras, o POS-Tagger possui uma tabela (tabela de Tagset) na qual se pode consultar e encontrar o significado do respectivo etiquetamento da palavra realizada pelo processo de POST, referenciada pela Tabela1.

(35)

33

Tabela 1 – Tabela de tagset do pos-tagger (Proposto em [5])

Tag Categoria Examplos

ADJ Adjectivo bom, brilhante, eficaz, . . .

ADV Advérbio hoje, já, sim, felizmente, . . .

CARD Cardinal zero, dez, cem, mil, . . .

CJ Conjunção e, ou, tal como, . . .

CL Cliticos o, lhe, se, . . .

CN Nome computador, cidade, ideia, . . .

DA Artigo Definido o, os, . . .

DEM Demonstrativo este, esses, aquele, . . .

DFR Fracções meio, terço, décimo, %, . . .

DGTR Números Romanos VI, LX, MMIII, MCMXCIX, . . .

DGT Dígitos 0, 1, 42, 12345, 67890, . . .

DM Marcadores de Discurso olá, . . .

EADR Endereço Electrónico http://www.di.fc.ul.pt, . . .

EOE Final de Enumeração etc

EXC Exclamativa ah, ei, etc.

GER Gerúndio sendo, afirmando, vivendo, . . .

GERAUX Gerúndio "ter"/"haver"em termos com-postos

tendo, havendo . . .

IA Artigo Indefinido uns, umas, . . .

IND Indefinidos tudo, alguém, ninguém, . . .

INF Infinitivo ser, afirmar, viver, . . .

INFAUX Infinitivo "ter"/"haver"em termos com-postos

ter, haver . . .

INT Interrogativos quem, como, quando, . . .

ITJ Interjeição bolas, caramba, . . .

LTR Letras a, b, c, . . .

MGT Classe de Magnitude unidade, dezena, dúzia, resma, . . .

MTH Meses Janeiro, Dezembro, . . .

NP Sintagma Nominal idem, . . .

ORD Ordinal primeiro, centésimo, penúltimo, . . . PADR Parte de Endereço Rua, av., rot., . . .

PNM Parte de Nome Próprio Lisboa, António, João, . . .

PNT Pontuação ., ?, (, . . .

POSS Possessivos meu, teu, seu, . . .

PPA Particípio Passado que não ocorre em termos compostos

afirmados, vivida, . . . PP Sintagma Preposicional algures, . . .

PPT Particípio Passado em termos compos-tos

sido, afirmado, vivido, . . . PREP Preposição de, para, em redor de, . . . PRS Pronome Pessoal eu, tu, ele, . . .

QNT Quantificadores todos, muitos, nenhum, . . . REL Pronome Relativo que, cujo, tal que, . . . STT Títulos Sociais Presidente, dra., prof., . . .

SYB Símbolos @, #, &, . . .

TERMN Terminações opcionais (s), (as), . . .

UM um ou "uma" um, uma

UNIT Abreviatura de unidade de medida kg., km., . . . VAUX Verbos finitos "ter"ou "haver"em forma

verbal composta

temos, haveriam, . . .

V Verbos falou, falaria, . . .

(36)

34

4.3

MeetU

O MeetU [4], criado em 2016, é uma rede social que oferece um ambiente perfeito para interações entre usuários e conhecer pessoas de um grupo em comum com o seu, como faculdade, escola ou trabalho. Cada grupo possui um mural, que é uma página com diversas postagens mostradas em ordem cronológica do grupo. Todos os membros podem postar no mural do seu respectivo grupo que participa.

Um dos focos principais do MeetU é criar novos relacionamentos e em um nível mais íntimos entre usuários. Por isso, a rede propõe um novo tipo de interação, na qual os usuários podem se conhecer em anonimato (Meet) a partir de postagens anônimas. É possível alterar seu perfil entre 2 status, anônimo e aberto. As postagens anônimas escondem a identidade do usuário que postou ou comentou algo, mascarando sua foto de perfil com uma imagem anônima e o sexo da pessoa. Duas pessoas com status anônimo podem se conhecer dentro da rede e revelar, em um chat privado, a identidade uma da outra, e essa, é a interação que recebe o nome de “Meet” na rede social. A grande quantidade de dados públicos gerados pelos usuários através da rede social oferece um potencial de extração de informações valiosas dos usuários, possibilitando melhorar a exibição de conteúdo para eles e medir o nível de intimidade entre usuários distintos na rede, aumentando a satisfação de uso da rede social e melhorar a indicação de usuários como sugestão de amizade ou um nível mais íntimo.

4.4

Twitter e trending-topics

O Twitter [13] é um site de microblog onde os usuários compartilham mensagens curtas chamadas de tweets. Esses tweets tendem a se espalhar para um grande número de usuários em muito pouco tempo. Usuários no Twitter não só fazem tweets sobre seus pro-blemas pessoais ou eventos nas proximidades, mas também tópicos sobre os mais gerais assuntos ou notícias. Devido à grande quantidade e diversidade de informações em tempo real contido no site, o Twitter lista um conjunto recém-atualizado do trending-topics. Trending topics (TT) compreendem os principais termos que estão sendo discutidos atu-almente no Twitter. Esta lista de TT é atualizado em tempo real, e fornece um reflexo dos principais interesses da comunidade atual, isto é, os assuntos mais discutidos no momento. Tornou-se uma característica atraente para os usuários do Twitter, desenvolve-dores de aplicações em tempo real, e pesquisadesenvolve-dores de mídia social, graças à capacidade de detectar trending-topics na primeira fase [14].

4.5

Medidas de distância e similaridade

As medidas de distância e similaridade são essênciais para resolver muitos pro-blemas de reconhecimento de padrões, como classificação, agrupamento e propro-blemas de

(37)

35

recuperação. Do ponto de vista científico e matemático, a distância é definida como um grau quantitativo de distância entre dois objetos. Um sinônimo para distância inclui a dessimilaridade. Essas medidas de distância que satisfazem as propriedades métricas são simplesmente chamadas de métricas, enquanto outras medidas de distância não métri-cas são ométri-casionalmente chamadas de divergência. Sinônimos para similaridade incluem medidas de proximidade [15].

Quando 2 objetos possuem distância igual à 0, podemos dizer que os objetos estão no mesmo lugar, se formos comparar a distância entre os atributos dos objetos e obtivemos a distância igual a 0, podemos dizer que ambos são idênticos [16].

Para calcular a distância entre objetos, podemos utilizar uma série de algoritmos de medidas de distância. As medidas de distância são técnicas muito úteis que têm sido utilizadas em uma ampla gama de aplicações, como teoria de conjuntos fuzzy, tomada de decisões multicriterais, decisões de negócios etc. Entre a grande variedade de distâncias que podemos encontrar na literatura, a Distância de Minkowski representa a generali-zação para uma ampla gama deles, como a Distância de Hamming, Distância Euclidiana, Distância Geométrica e a Distância Harmônica [17].

A distância normalizada de Minkowski de dimencao n é um mapeamento 𝑑𝑚 :

𝑅𝑛𝑥𝑅𝑛→ 𝑅 tal que: 𝑑𝑚(𝐴, 𝐵) = (︃ 1 𝑛 𝑛 ∑︁ 𝑖=1 |𝑎𝑖− 𝑏𝑖|𝜆 )︃1𝜆 (4.1) onde 𝑎𝑖 e 𝑏𝑖 são os iézimos argumentos dos conjuntos A e B e 𝜆 é um parâmetro

tal que 𝜆𝜖(−∞, ∞). Se o parâmetro 𝜆 possuir diferentes valores em sua atribuição é então obtido um cálculo de distância diferente para cada valor atribuído [17].

Considerando a Fórmula 4.1 para o cálculo de distância, para 𝜆 = 1 obtemos a fórmula da Distância de Hamming normalizada, para 𝜆 = 0 obtemos a fórmula da distância geométrica normalizada, para 𝜆 = −1 obtemos a fórmula da Distância Hamônica normalizada e para 𝜆 = 2 nós obtemos a formula da distância euclidiana normalizada. que é a maneira mais habitual de calcular a distância entre dois pontos A e B no espaço n-dimensional é conhecida por distância euclidiana [18].

𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎𝑒𝑢𝑐𝑙𝑖𝑑𝑖𝑎𝑛𝑎 = ⎯ ⎸ ⎸ ⎷ 𝑑 ∑︁ 𝑛=1 |𝑃𝑖− 𝑄𝑖|2 (4.2)

(38)
(39)

37

5 MODELO PROPOSTO

A Figura4ilustra os procedimentos adotados de acordo com a hipótese formulada neste trabalho para resolver o problema de detecção do nível de distância entre usuários baseados em dados gerados por eles em redes sociais.

Figura 4 – Modelo proposto

O primeiro passo é a aquisição dos dados. Sendo o autor deste trabalho também o fundador da rede social MeetU, os dados serão obtidos a partir de um backup do banco de dados de produção.

Após o processo de aquisição dos dados, as postagens e comentários passarão pela etapa de pré-processamento dos dados. Neste processo, o texto é inteiramente convertido em letras minúsculas. As acentuações, pontuações e espaços múltiplos serão removidos, resultando em um texto limpo, pronto para servir como base para o processo de pos-tagging.

Ainda na etapa de pré processamento, os textos de entrada passarão pelo processo de pos-tagging para etiquetamento das palavras baseadas na tabela de tagset do trabalho

1.

Estamos interessados em obter apenas substantivos do processo de POST, pois através deles podemos obter as palavras chaves mais importantes de uma postagem ou comentário. Para isso, será selecionado apenas as palavras que contenham o etiquetamento “CN”, obtido a partir do processo de POST baseado na Tabela 1de tagset.

Neste momento teremos palavras, que foram extraídas do banco original, pré-processadas, limpas e selecionados partir do passo de POS-Tagging. Montaremos então

(40)

38

uma base de dados com essas palavras. Será armazenada nesta base a palavra em si, o usuário que a gerou e o timestamp do momento em que foi gerada. Desta forma podemos extrair desta base com simples consultas SQL uma tabela de trending topics similar ao Twitter, e também uma tabela de TT por usuário com o tempo variável.

O último passo será então a detecção do nível de similaridade entre usuários base-ados nas tabelas de TT por usuários montadas no passo anterior. Para verificar esse nível de distância temos que comparar duas tabelas de TT usuários distintos. Para comparar o nivel de distância entre 2 tabelas de palavras diferentes usaremos o algoritmo de distância euclidiana para realização do cálculo.

(41)

39

6 METODOLOGIA

Neste capítulo é tratado as configurações e definições de cada método utilizado neste trabalho.

O MeetU foi a rede social escolhida para este trabalho. Por ser um trabalho feito como estágio pelo próprio autor deste trabalho, foi possível extrair, os conteúdos dela apenas com consultas SQL a partir de um backup do banco.

Grande parte das postagens e comentários proferidos dentro da rede social possuem uma linguagem mais coloquial, uso de caracteres especiais, espaçamentos desnecessários, erros ortográficos ou presença de gírias. O pré-processamento então é necessário para retirada dos espaçamentos desnecessários, exclusão acentos, caracteres especiais e erros ortográficos.

O processo seguinte é realizar a extração dos termos mais influentes proferidos pelos usuários, para isso, todos os termos passam por um processo de etiquetamento com a ajuda de um POSTagger.

Este trabalho usou o POSTagger proposto em [5] para extração dos termos mais in-fluentes proferidos pelos usuários. Para realização desse processo foi feito o etiquetamento de cada termo e selecionados os etiquetamentos que possuem “CN”, baseados na tabela de tagset 1, que são termos substantivos e que possuem maior relevancia na obtenção de gostos e detecção de personalidade dos usuários.

O uso do cálculo de Distância Euclidiana foi usada para calcular as distâncias das tabelas TT obtidas, assim foi possível obter a distância entre cada usuário baseado nos termos proferidos por eles e frequência de aparição.

(42)
(43)

41

7 RESULTADOS E DISCUÇÕES

Seguindo os passos pré-estabelecidos pelo Capítulo6. Iniciamos a implementação do modelo proposto realizando a obtenção dos dados. O primeiro passo foi juntar em uma única tabela todos os textos de comentários e postagens abertas realizadas pelos usuários do MeetU, colocando os dados estruturados no formato da Tabela2e guardando os textos e atributos com o timestamp e usuário que proferiu tal texto.

Tabela 2 – Textos proferidos por usuários por determinada data.

Id Texto Usuário Timestamp

1 texto-1 id-usuario-1 timestamp-1 2 texto-2 id-usuario-2 timestamp-2 3 texto-3 id-usuario-3 timestamp-3 4 texto-4 id-usuario-4 timestamp-4

Prosseguindo com o a fase de pré-processamento, foi feita a limpeza dos textos das postagens e comentários usando o Algoritmo 7de pré-processamento de texto.

Algorithm 1 Algoritmo de pré-processamento 1: function process(input)

2: output = removeAccents(input) ◁ remove acentuações

3: output = removePontuacao(output) ◁ remove pountuações 4: output = converteParaMinusculo(output) ◁ converte para minúsculo 5: output = removeMultipleSpaces(output) ◁ remove espaços múltiplos 6: return 𝑜𝑢𝑡𝑝𝑢𝑡

7: end function

Tabela 3 – Termos isolados proferidos por cada usuário extraídos dos textos da Tabela 2 Id Palavra Usuário Timestamp

1 palavra-1 id-usuario-1 timestamp-1 2 palavra-2 id-usuario-2 timestamp-2 3 palavra-3 id-usuario-3 timestamp-3 4 palavra-4 id-usuario-4 timestamp-4

Passando pelos procedimentos de pré processamento, foi feita a extração das pa-lavras mais relevantes e armazenadas em uma tabela no banco representada na forma da Tabela 3.

A extração dessas palavras foram realizadas na etapa de pré-processamento usando limpeza dos textos utilizando o Algoritmo 7 e uso do pos-tagging para rotulação das palavras baseado na Tabela de tagset 1. Um exemplo de resultado gerado pelo processo de POST pode ser visto na Tabela 4, onde as palavras com rótulos “CN” foram então extraídas e salvas na tabela de palavras.

(44)

42

Tabela 4 – Processo de extração dos termos influentes Texto Entrada Texto Saída (Palavras

de entrada para o Pos-Tagger)

Palavras taggeadas após o processo de POST

Palavras selecionadas pelo processo de POST Computador é uma

má-quina capaz de variados tipos de tratamento au-tomático de informações ou processamento de da-dos!!!!!?

computador e uma ma-quina capaz de variados ti-pos de tratamento auto-matico de informacoes ou processamento de dados computador/CN e/CJ uma/UM maquina/CN capaz/ADJ de/PREP variados/PPA tipos/CN de/PREP tratamento/CN automatico/ADJ de/PREP informa-coes/CN ou/CJ proces-samento/CN de/PREP dados/CN computador maquina tipos tratamento informacoes processamento dados

Nesta fase conseguimos extrair as palavras mais importantes dos dados de entrada e podemos guarda-las em uma tabela separadamente.

Com a obtenção da tabela de palavras, temos a capacidade de obter a tabela de trending topics da rede social e por usuário dos termos que estão se destacando na rede social apenas fazendo consultas SQL na tabela de palavras.

Tabela 5 – TT das palavras mais usadas por todos usuários Quantidade Palavra 38 gente 30 nao 30 noite 30 dia 29 meetu 23 pessoas 22 vida 19 uel 19 crush 19 tempo 18 meet 17 pra 17 voce 15 galera 14 rede 14 ferias 14 so 13 cade 13 match 13 comp 11 do 11 amor

A partir da tabela de palavras obtida, foi possível obter as tabelas TT de usuá-rios individualmente apenas acrescentando uma condição a mais na consulta SQL para obtenção da mesma.

(45)

43

Para comparar a distância entre 2 usuários, foi feita a consulta das tabelas TT de cada usuário separadamente, obtendo as palavras e frequências desses termos proferidos por cada usuário. Usando como exemplo 2 usuários distintos foram obtidas as 2 tabelas TT de cada usuário respectivamente 6 e8.

Tabela 6 – Tabela TT das palavras mais usadas pelo usuário A Palavra Quantidade crush 4 rede 3 perfil 3 notificacao 3 polemica 2 meetu 2 mundo 2 motivo 2 fofo 1 botao 1

Tabela 7 – Tabela TT das palavras mais usadas pelo usuário B Palavra Quantidade jogador 4 mina 4 aparencia 3 crush 3 amor 2 manha 2 momento 2 first 1 monstro 1 naipe 1 artista 1 cafajeste 1 favor 1 historia 1 meetu 1

Cada palavra da tabela TT por usuário possui uma frequência de aparição. Afim de obter uma comparação justa dos termos e frequência, feita a normalização das frequências de aparição de cada termo.

O algoritmo da Distância Euclidiana foi aplicado então afim de comparar a dis-tância entre os 2 usuários baseados na frequência de cada atributo, onde cada atributo seria o respectivo termo proferido por ele.

(46)

44

Tabela 8 – Tabela normalizada dos termos e frequência de aparição Palavra Frequência usuário A Frequência usuário B Frequência Normalizada usuário A Frequência Normalizada usuário B jogador 4 0 1,00 0,00 mina 4 0 1,00 0,00 aparencia 3 0 0,75 0,00 crush 3 4 0,75 1,00 amor 2 0 0,50 0,00 manha 2 0 0,50 0,00 momento 2 0 0,50 0,00 first 1 0 0,25 0,00 monstro 1 0 0,25 0,00 naipe 1 0 0,25 0,00 artista 1 0 0,25 0,00 cafajeste 1 0 0,25 0,00 favor 1 0 0,25 0,00 historia 1 0 0,25 0,00 meetu 1 2 0,25 0,50 rede 0 3 0,00 0,75 perfil 0 3 0,00 0,75 notificacao 0 3 0,00 0,75 polemica 0 2 0,00 0,50 mundo 0 2 0,00 0,50 motivo 0 2 0,00 0,50 fofo 0 1 0,00 0,25 botao 0 1 0,00 0,25

O precesso do cálculo de distância resultou em um valor real igual a 2,53.

Uma segunda comparação feita entre 2 usuários cujas as tabelas TT normalizadas são iguais resultou em uma distância entre eles igual a 0, ou seja, similaridade entre eles é de 100 por cento.

A rede social ainda possuí poucas postagens e comentários proferidos pelos usuá-rios, o processo de POST exclui bastante termos inúteis, as tabelas TT dos outros usuários da rede não são grandes o suficiente para obter diferenciados resultados para comparações da medição de distância.

Para um maior entendimento de como as frequências e termos das tabelas TT afetam nos resultados de distância entre usuários, uma base sintética foi criada afim de elucidar melhor os resultados.

Foram criados um total de 6 usuários, selecionadas as 10 palavras mais proferidas pelos mesmos, feito o processo de normalização de frequências e medição de distância.

(47)

45

Tabela 9 – Frequência de palavras proferidas dos usuários 𝑋1 á 𝑋6

Palavra 𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6 A 10 10 20 20 20 10 B 5 5 10 5 10 5 C 3 3 6 3 3 3 D 3 3 6 3 3 3 E 2 2 4 2 2 2 F 2 2 4 2 2 2 G 2 2 4 2 2 2 H 1 1 2 1 1 1 I 1 1 2 1 1 1 J 1 1 2 1 1 10

Tabela 10 – Frequência de palavras normalizadas dos usuários 𝑋1 á 𝑋6

Palavra 𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6 A 1,00 1,00 1,00 1,00 1,00 1,00 B 0,50 0,50 0,50 0,25 0,50 0,50 C 0,30 0,30 0,30 0,15 0,15 0,30 D 0,30 0,30 0,30 0,15 0,15 0,30 E 0,20 0,20 0,20 0,10 0,10 0,20 F 0,20 0,20 0,20 0,10 0,10 0,20 G 0,20 0,20 0,20 0,10 0,10 0,20 H 0,10 0,10 0,10 0,05 0,05 0,10 I 0,10 0,10 0,10 0,05 0,05 0,10 J 0,10 0,10 0,10 0,05 0,05 1,00

Tabela 11 – Comparação de distância entre o usuário 𝑋1 e os outros usuários

Comparação Distância 𝑋1==𝑋2 0,00 𝑋1==𝑋3 0,00 𝑋1==𝑋4 0,38 𝑋1==𝑋5 0,28 𝑋1==𝑋6 0,90

Como podemos ver, os usuários 𝑋1 e 𝑋2 possuem a mesma frequência de termos

proferidos das palavras, por isso, são similares entre eles e sua distância é igual a 0. O usuário 𝑋3 por sua vez possue uma maior frequência dos termos, porém igualmente

distribuídas. Após a normalização das frequências os usuários 𝑋1 e 𝑋3 passaram a ter a

(48)
(49)

47

8 CONCLUSÃO

Este trabalho apresentou um modelo capaz de comparar a distância entre usuários em redes sociais baseado nos dados gerados por eles.

A rede social utilizada neste trabalho foi o MeetU, que possui atualmente mais de 1.500 postagens feitas e mais de 5.000 comentários válidos realizados, na qual foram utilizados para extração de conhecimento.

Utilizando técnicas de mineração de dados, foi feita a extração dos termos mais importantes gerados pelos usuários dentro da rede social através de técnicas de pré-processamento de texto e uso de POSTagging para extração dos termos mais influentes.

Com todos os termos importantes gerados pelos usuários foi obtido uma série de termos repetidos, onde os mesmos foram agrupados pela quantidade de vezes que aparecem e obtido então os termos únicos com suas respectivas frequências de aparição (TT de cada usuário).

Baseado nos resultados obtidos, que incluem a obtenção da tabela de TT geral da rede social e de cada usuário, foi feita a comparação entre tabelas dos usuários afim de medir a distância entre eles.

Entre os diversos tipos de cálculo de distância existentes, a distância euclidiana foi a escolhida, por ser a mais comumente utilizada para o cálculo de distâncias e por resolver bem o problema em questão. O resultado disso mostrou o quão distante os usuários estão uns dos outros baseados nos termos gerados e frequência de aparição, porém não o quão similar eles são.

Uma aplicação prática futura deste trabalho, poderia ser, por exemplo, um enfoque em sugestão de amizade para usuários que sejam os mais similares possível entre eles. Para isto, bastaria realizar a comparação das tabelas TT dos usuários entre todos os usuários de uma rede social e medir a distância entre eles. Assim, seria obtido uma listagem de distâncias entre o usuário na qual deseja-se sugerir a amizade e todos os outros usuários na qual queremos comparar o nível distância. Podemos então, através desta listagem de distância entre usuários, ordenar crescentemente pela distância dos usuários que queremos sugerir. Assim as comparações que possuem menor distância entre eles serão os mais similares dentro daquele espaço de usuários da rede social.

(50)
(51)

49

REFERÊNCIAS

[1] HUANG, S. et al. Topic detection from microblog based on text clustering and topic model analysis. In: IEEE. Services Computing Conference (APSCC), 2014 Asia-Pacific. [S.l.], 2014. p. 88–92.

[2] FACEBOOK. Acessado em 13 Novembro 2016. Disponível em

https://www.facebook.com. Disponível em: <https://www.facebook.com>.

[3] TINDER. Acessado em 13 Novembro 2016. Disponível em https://www.gotinder.com. Disponível em: <https://www.gotinder.com>.

[4] MEETU. Acessado em 13 Novembro 2016. Disponível em https://meetu.com.br. Disponível em: <https://meetu.com.br>.

[5] BRANCO, A.; SILVA, J. Evaluating solutions for the rapid development of state-of-the-art pos taggers for portuguese. In: LREC. [S.l.: s.n.], 2004.

[6] REZENDE, S. O. et al. Mineração de dados. Sistemas inteligentes: fundamentos e aplicações, v. 1, p. 307–335, 2003.

[7] AZEVEDO, B.; BASTOS, H. Mineração de Dados Textuais Educacionais: Experiências e Perspectivas para a Análise de Postagens em Fóruns de Discussão. Tecnologias Digitais na Educação: Pesquisas e Práticas Pedagógicas, p. 21–43. [8] RUNESON, P.; ALEXANDERSSON, M.; NYHOLM, O. Detection of duplicate

defect reports using natural language processing. In: IEEE. 29th International Conference on Software Engineering (ICSE’07). [S.l.], 2007. p. 499–510.

[9] CHURCH, K. W. A stochastic parts program and noun phrase parser for unrestricted text. In: ASSOCIATION FOR COMPUTATIONAL LINGUISTICS. Proceedings of the second conference on Applied natural language processing. [S.l.], 1988. p. 136–143. [10] MARTIN, J. H.; JURAFSKY, D. Speech and language processing. International

Edition, v. 710, 2000.

[11] BRILL, E. Part-of-speech tagging. Handbook of natural language processing, Marcel Dekker, p. 403–414, 2000.

[12] RAJMAN, M.; BESANÇON, R. Text mining: natural language techniques and text mining applications. In: Data mining and reverse engineering. [S.l.]: Springer, 1998. p. 50–64.

[13] TWITTER. Acessado em 13 Novembro 2016. Disponível em https://twitter.com. Disponível em: <https://twitter.com>.

[14] ZUBIAGA, A. et al. Classifying trending topics: a typology of conversation triggers on twitter. In: ACM. Proceedings of the 20th ACM international conference on Information and knowledge management. [S.l.], 2011. p. 2461–2464.

[15] CHA, S.-H. Comprehensive survey on distance/similarity measures between probability density functions. City, v. 1, n. 2, p. 1, 2007.

(52)

50

[16] DUBUISSON, M.-P.; JAIN, A. K. A modified hausdorff distance for object matching. In: IEEE. Pattern Recognition, 1994. Vol. 1-Conference A: Computer Vision &amp; Image Processing., Proceedings of the 12th IAPR International Conference on. [S.l.], 1994. v. 1, p. 566–568.

[17] MERIGÓ, J. M.; GIL-LAFUENTE, A. M. Using the owa operator in the minkowski distance. International Journal of Computer Science, v. 3, n. 3, p. 149–157, 2008. [18] NETO, J. M.; MOITA, G. C. Uma introdução à análise exploratória de dados

Referências

Documentos relacionados

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

Nosso ponto de partida metodológico é observar e descrever a interação do individuo desde sua infância mais imatura com seu contexto social, cultural, econômico, político com

Triagem da infecção pelo HCV por meio de testes rápidos em indivíduos maiores de 18 meses.. Fonte: Manual Técnico para o Diagnóstico das

De maneira geral, o apoio, a valorização e os investimentos são os fatores que mais contribuem para o crescimento e desenvolvimento do paradesporto nacional,

Capitalismo Sindical” e consiste basicamente em dizer que processos políticos podem ter o seu princípio alterado em detrimento de uma outra classe social. No caso das Primaveras

Tabela 3 - Duração do ciclo após a germinação, produtividade, eficiência no uso da água em cenários climáticos futuros RCP4.5 para o milho semeado em 10 de outubro.. Já para

Segundo Brown (2004), apoiado principalmente no trabalho de Warren e Nisbet (1999), é possível conceber que os indivíduos, quer sejam professores ou estudantes, geralmente

Como prenuncia o próprio título do texto, O pensamento cria, embora fique evidente que aí se trata da relação entre música e artes visuais, não deixamos de notar que o foco