• Nenhum resultado encontrado

Reconhecimento de informações padronizadas no conteúdo de emails

N/A
N/A
Protected

Academic year: 2021

Share "Reconhecimento de informações padronizadas no conteúdo de emails"

Copied!
78
0
0

Texto

(1)

Reconhecimento de Informac¸˜oes

Padronizadas no Conte ´udo de Emails

Ricardo Jo˜ao Teixeira Santos Mestre

Relat´orio de Projecto/Dissertac¸˜ao

Mestrado Integrado em Engenharia Inform´atica e Computac¸˜ao Orientador: Doutor Luis Paulo Reis

(2)

Conte ´udo de Emails

Ricardo Jo˜ao Teixeira Santos Mestre

Relat´orio de Projecto/Dissertac¸˜ao

Mestrado Integrado em Engenharia Inform´atica e Computac¸˜ao

Aprovado em provas p´ublicas pelo j´uri:

Presidente: Doutor Pedro Ferreira Souto

Arguente: Doutor Paulo Cortez

Vogal (Orientador): Doutor Luis Paulo Reis

(3)

A informac¸˜ao que ´e recebida diariamente na caixa de email ´e, em grande parte dos casos, uma preocupac¸˜ao devido ao seu volume. No entanto, a gest˜ao e organizac¸˜ao da informac¸˜ao das caixas de correio electr´onico comec¸a j´a a contar com algumas tecnologias que permitem aceder `a informac¸˜ao de uma forma r´apida, simples e eficaz.

Este projecto intitula-se “Reconhecimento de Informac¸˜ao Padronizada no Conte´udo de Emails” e decorreu na Portugalmail - Comunicac¸˜oes, S.A, e consiste no desenvolvi-mento de um sistema, a ser incorporado na plataforma de webmail, capaz de reconhecer v´arios tipos de informac¸˜ao existentes no conte´udo de emails.

A motivac¸˜ao deste projecto passa por criar um novo conceito de servic¸o de email, im-plementado funcionalidades que permitam ao sistema ajudar o utilizador na interpretac¸˜ao do conte´udo do seus emails, apresentado de uma forma distinta, a informac¸˜ao relevante que neles possa estar contida.

O objectivo passa por desenvolver uma ferramenta capaz de reconhecer, interpretar e apresentar v´arios tipos de informac¸˜ao contida em emails. Assim sendo, durante o projecto espera-se desenvolver uma metodologia eficaz na detecc¸˜ao de eventos calendariz´aveis no conte´udo de emails, criar um conjunto de m´odulos capazes de reconhecer diferentes tipos de informac¸˜ao e retornar diferentes tipos de dados e finalmente conceber um sistema ao qual ´e poss´ıvel acoplar esses m´odulos.

Depois de definidas as funcionalidades a desenvolver e estudada a linguagem a utilizar, foram desenvolvidos alguns m´odulos para reconhecer diferentes tipos de informac¸˜ao. Destes m´odulos, destaca-se o reconhecimento de eventos calendariz´aveis, onde se aplicaram algoritmos de aprendizagem e classificac¸˜ao em conjunto com express˜oes regulares. A concepc¸˜ao deste m´odulo levou a num estudo, do qual se pretendia saber compreender de que forma as express˜oes regulares, em conjunto com o algoritmo Bayesiano, podem ajudar eficazmente na detecc¸˜ao de informac¸˜ao espec´ıfica em ambientes sem contexto e com bastante ru´ıdo. Este estudo acabou por se converter na base desta tese, do qual foi poss´ıvel concluir que as express˜oes regulares s˜ao bastante eficazes na filtragem de emails que n˜ao contˆem eventos e, com o devido treino, o algoritmo bayesiano tem capacidade para reconhecer com bastante efic´acia emails que os contˆem.

No final do projecto, as expectativas foram superadas, tendo sido atingidos pratica-mente todos os objectivos propostos ficando apenas por concluir a integrac¸˜ao com o cal-end´ario da plataforma devido ao facto de ainda se encontrar em desenvolvimento. Foi concebido um prot´otipo, como prova do conceito, funcionando com trˆes m´odulos difer-entes, entre os quais se encontra o reconhecimento de eventos calendariz´aveis.

(4)

The information that is received daily in the mailbox is, for most of the cases, a con-cern due to it’s volume. However, the management and organization of the information in mailboxes is a task that is already supported by some technologies that allow the access to information in a faster, simpler and accurate way.

This project, titled “Recognition of Standardized Information on Emails Content”, took place in Portugalmail - Comunicac¸˜oes, S.A and consists in a system able to recognize various types of information in the content of emails. This system is to be incorporated in the webmail platform.

This project is motivated by the creation of a new concept of email service, develop-ping new features that allow the system to help the user getting relevant information from his emails content, presenting that information in a more friendly and distinctive way.

The main goals is to develop a tool capable of recognising, interpreting and presenting several kinds of information contained on emails. In the end of this, it is expected to develop an effective methodology to recognition schedulable events on emails content, create a group of modules capable of recognising different kinds of information returning different kinds of results and finally concebe a system to attach all these modules.

After defining the features, there were developed some modules, each one with it’s recognition system. The main module of this thesis is the schedulable event recognition module. It uses learning and classification algorithms together with regular expressions. It lead the a study with the goal to undestand how significant regular expressions, com-bined with bayesian algorithm, are to detect information effectively in no context and noisy environmets. This study was converted on this thesis’s background, from which it was possible to conclude that regular expressions are very effective filtering emails that don’t contain schedulable events and that bayesian algorithm, with the proper training, is capable of doing a nice job detecting emails that do contain events.

In the end of this project, almost all the objectives were completed, missing the in-tegration with the calendar because it is still being developed. Anyway, it was possible to create a functional prototype as a proof of concept. It is working with three modules, where one of them is the schedulable event recognizer.

(5)

Um especial agradecimento para...

... os meus pais, que em toda a minha vida me desafiaram a compreender a minha capacidade para alcanc¸ar o sucesso e sem os quais a realizac¸˜ao deste projecto nunca teria sido poss´ıvel.

... os meus amigos, que nos bons e maus momentos sempre me apoiaram e fizeram acreditar que este dia acabaria por chegar.

... o Eng. Nuno Lopes, orientador da Portugalmail, pelo acolhimento na instituic¸˜ao e apoio prestado duranta o desenvolvimento do projecto.

... o Professor Doutor Luis Paulo Reis, orientador da FEUP, pelo apoio e disponibili-dade prestados durante todo o projecto.

... toda a equipa da Portugalmail pelo ambiente criado que sem d´uvida foi um factor decisivo para manter a boa disposic¸˜ao e vontade de concluir este projecto.

(6)

1 Introduc¸˜ao 1 1.1 A Portugalmail . . . 1 1.2 Motivac¸˜ao e Enquadramento . . . 2 1.3 Objectivos . . . 2 1.4 Estrutura da Tese . . . 2 2 Email Inteligente 4 2.1 Introduc¸˜ao . . . 4 2.2 Conceitos . . . 5

2.2.1 Processamento de Linguagem Natural . . . 6

2.2.2 Reconhecimento de Padr˜oes . . . 7 2.2.3 Text Mining . . . 9 2.3 Trabalhos Desenvolvidos . . . 11 2.3.1 Previs˜ao de resposta . . . 11 2.3.2 Sum´arios . . . 11 2.3.3 Falta de anexo . . . 12 2.3.4 Detecc¸˜ao de Spam . . . 12 2.4 Funcionalidades da Portugalmail . . . 14 2.5 Sum´ario do Cap´ıtulo . . . 14 3 Projecto 15 3.1 Concepc¸˜ao de Ideias . . . 15 3.1.1 Brainstorming . . . 15 3.1.2 Question´ario . . . 18 3.1.3 Conclus˜oes . . . 20 3.2 Definic¸˜ao do Projecto . . . 20

3.2.1 Definic¸˜ao das Tecnologias . . . 20

3.2.2 Levantamento de Requisitos . . . 22

3.3 Sum´ario do Cap´ıtulo . . . 22

4 Detecc¸˜ao de Eventos num Email 23 4.1 Conceito . . . 23 4.2 Teorema de Bayes . . . 25 4.2.1 Introduc¸˜ao Te´orica . . . 25 4.2.2 Da Teoria `a Pr´atica . . . 26 4.3 M´odulos Desenvolvidos . . . 27 4.3.1 Dicion´ario . . . 27

(7)

4.3.2 Filtro de Eventos . . . 28

4.3.3 Analisador sint´actico . . . 29

4.3.4 Filtro de Datas . . . 31

4.3.5 Servic¸o de Reconhecimento de Informac¸˜ao . . . 31

4.4 Resultados . . . 34

4.4.1 Evoluc¸˜ao da classificac¸˜ao de emails consoante o treino do algoritmo 35 4.4.2 Conclus˜oes . . . 39

4.5 Prot´otipo . . . 39

4.6 Sum´ario do Cap´ıtulo . . . 41

5 Outras Funcionalidades Desenvolvidas 43 5.1 Keywords Detector . . . 43 5.2 Sumarizac¸˜ao de Conte´udo . . . 44 5.3 Traduc¸˜ao de Linguagem SMS . . . 46 5.4 Localizac¸˜ao Geogr´afica . . . 47 5.5 Youtube . . . 49 5.6 Flickr . . . 51 5.7 Sum´ario do Cap´ıtulo . . . 53 6 Conclus˜oes 54 6.1 Conclus˜oes e Inovac¸˜oes da Soluc¸˜ao . . . 54

6.2 Limitac¸˜oes da Soluc¸˜ao . . . 55

6.3 Trabalho Futuro . . . 55

Referˆencias 57

A Brainstorming MindMap 58

B Question´ario 62

C Testes de performance entre tecnologias 65

(8)

1.1 Portugalmail - Comunicac¸˜oes, S.A. Logotipo . . . 1

3.1 Brainstorming do Projecto . . . 16

3.2 Funcionalidades por Categorias . . . 17

3.3 Quais os tipos de emails que recebe na sua caixa de email? . . . 18

3.4 Quais os tipos de emails costuma enviar ou acc¸˜oes que costuma realizar na web? . . . 19

3.5 Na sua actividade di´aria, com que frequˆencia envia emails com anexo? . . 19

3.6 Na sua actividade di´aria, com que frequˆencia realiza marcac¸˜oes de eventos? 19 3.7 Comparac¸˜ao de Tecnologias . . . 21

4.1 An´alise sint´actica feita pelo Lingua::Linkparser . . . 30

4.2 Sintaxer - Exemplo 1 . . . 30

4.3 Sintaxer - Exemplo 2 . . . 31

4.4 Sintaxer - Exemplo 3 . . . 31

4.5 Diagrama de fluxo de informac¸˜ao . . . 33

4.6 Gr´afico da evoluc¸˜ao dos emails avaliados correctamente como contendo eventos consoante o treino do algoritmo . . . 36

4.7 Gr´afico da evoluc¸˜ao dos emails avaliados incorrectamente como contendo eventos consoante o treino do algoritmo . . . 37

4.8 Gr´afico da evoluc¸˜ao dos emails avaliados incorrectamente como contendo eventos consoante o treino do algoritmo . . . 38

4.9 Gr´afico da evoluc¸˜ao dos emails avaliados incorrectamente como n˜ao con-tendo eventos consoante o treino do algoritmo . . . 38

4.10 Prot´otipo - Email contendo um evento . . . 40

4.11 Prot´otipo - Reconhecimento de um evento no conte´udo de um email . . . 40

4.12 Prot´otipo - Reconhecimento de mais do que um evento no conte´udo de um email . . . 40

4.13 Prot´otipo - Email contendo um evento, um v´ıdeo e um ´album de fotografias 41 4.14 Prot´otipo - Reconhecimento de um evento, um v´ıdeo e um ´album de fo-tografias no conte´udo de um email . . . 41

5.1 Exemplo - Keywords Detector . . . 44

5.2 Exemplo - Sumarizac¸˜ao de emails sem assunto . . . 45

5.3 Exemplo - Sumarizac¸˜ao de emails com assunto . . . 46

5.4 Exemplo - Email com abreviaturas . . . 47

5.5 Exemplo - Email filtrado sem abreviaturas . . . 47

(9)

5.7 Exemplo - Resultado do reconhecimento de localizac¸˜ao geogr´afica (Texto) 49 5.8 Exemplo - Resultado do reconhecimento de localizac¸˜ao geogr´afica (Browser) 49 5.9 Exemplo - Resultado do reconhecimento de localizac¸˜ao geogr´afica (Mapa)

49

5.10 Exemplo - Reconhecimento de links do Youtube num email . . . 50

5.11 Exemplo - Apresentac¸˜ao de v´ıdeos do Youtube num email . . . 51

5.12 Exemplo - Email com links para fotografias do Flickr . . . 52

5.13 Exemplo - Apresentac¸˜ao das fotografias do Flickr num Email . . . 53

A.1 Brainstorming MindMap do Projecto - Inbox . . . 58

A.2 Brainstorming MindMap do Projecto - Leitura do Email . . . 59

A.3 Brainstorming MindMap do Projecto - Escrever Email . . . 60

A.4 Brainstorming MindMap do Projecto - Contactos . . . 60

A.5 Brainstorming MindMap do Projecto - Eventos . . . 60

A.6 Brainstorming MindMap do Projecto - Estatisticas . . . 61

A.7 Brainstorming MindMap do Projecto - Outras Ideias . . . 61

(10)

3.1 Resultados da Comparac¸˜ao de Tecnologias . . . 21

4.1 Exemplo de filtragem de frases . . . 29

4.2 Tipos de ligac¸˜oes gramaticais seleccionadas . . . 30

4.3 Exemplos de datas reconhecidas pelo filtro de datas . . . 32

4.4 Exemplos de resultados obtidos usando o filtro de datas . . . 32

4.5 Casos de teste . . . 35

4.6 Legenda . . . 35

4.7 Evoluc¸˜ao da classificac¸˜ao correcta de emails que contˆem eventos con-soante o treino . . . 35

4.8 Legenda . . . 36

4.9 Evoluc¸˜ao da classificac¸˜ao correcta de emails que n˜ao contˆem eventos con-soante o treino . . . 37

4.10 Legenda . . . 37

5.1 Pontuac¸˜oes atribu´ıdas ao sum´ario sem assunto da mensagem . . . 46

5.2 Pontuac¸˜oes atribu´ıdas ao sum´ario com assunto da mensagem . . . 46

C.1 Tempos de execuss˜ao - Java . . . 65

C.2 Tempos de execuss˜ao - Perl . . . 65

(11)

SMTP Simple Mail Transfer Protocol RFC Request for Comments

OCR Optical Character Recognition GLN Gerac¸˜ao de Linguagem Natural IMAP Internet Message Access Protocol POP3 Post Office Protocol 3

IMP Internet Messaging Program

DIMP Dynamic IMP

PHP Hypertext Processor

LAPP Linux, Apache, PostgreSQL, PHP/Python/Perl LDAP Lightweight Directory Access Protocol

GPS Global Positioning System CSV Comma Separated Values DCG Definite Clause Grammar

(12)

Introduc¸˜ao

Este cap´ıtulo faz uma introduc¸˜ao ao projecto desenvolvido na Portugalmail, comec¸ando por uma apresentac¸˜ao da empresa e quais os seus objectivos no mercado. De seguida descreve-se qual a motivac¸˜ao que levou `a realizac¸˜ao do projecto e como este se enquadra nas necessidades da Portugalmail, relatando tamb´em quais os objectivos que se preten-dem atingir. Por fim ´e feita uma descric¸˜ao da estrutura deste documento com um breve resumo de cada cap´ıtulo.

1.1

A Portugalmail

A Portugalmail - Comunicac¸˜oes, S.A. ´e uma pequena/m´edia empresa que dedica o seu neg´ocio `as tecnologias de informac¸˜ao e comunicac¸˜ao. Foi criada a 20 de Marc¸o de 1999 com o objectivo de criar e dar suporte a um servic¸o de email gratuito em portuguˆes. Desde ent˜ao a empresa tem vindo a crescer implementando outros servic¸os web nomeadamente registo de dom´ınios, alojamento Internet, publicidade online, servic¸o de blog (Blog.com), um site comunit´ario sobre futebol (www.futebolar.com) e software de gest˜ao PHC.

Figura 1.1: Portugalmail - Comunicac¸˜oes, S.A. Logotipo

A Portugalmail tem como objectivo ser uma referˆencia no fornecimento de servic¸os de correio electr´onico. Nesse contexto, o servic¸o de email est´a dividido em duas cat-egorias diferentes: o email para utilizadores individuais e a plataforma para empresas.

(13)

Os utilizadores individuais podem criar contas com o dom´ınio portugalmail.pt ou por-tugalmail.com. Os clientes profissionais s˜ao clientes que procuram na Portugalmail uma soluc¸˜ao de outsourcings para gest˜ao do email, manutenc¸˜ao e equipamento.

Media Capital, Onitelecom, Grupo Sonae, Grupo M. Coutinho, AICCOPN (Associac¸˜ao dos Industriais da Construc¸˜ao Civil e Obras P´ublicas) e o Minist´erio da Sa´ude (atrav´es do programa MCSP - Miss˜ao para os Cuidados de Sa´ude Prim´arios) s˜ao alguns dos maiores clientes activos da Portugalmail.

1.2

Motivac¸˜ao e Enquadramento

O projecto desenvolvido, designado “Reconhecimento de Informac¸˜oes Padronizadas no Conte´udo de Emails”, foi proposto pela Portugalmail com o objectivo de implementar funcionalidades inovadoras e criativas na nova plataforma de webmail que se encontra em desenvolvimento. Pretende tamb´em trazer um novo conceito de servic¸o de email para o mercado. Uma das inovac¸˜oes propostas por este projecto ´e o m´odulo da secret´aria, que se trata de uma assistente pessoal que interage com o utilizador de forma inteligente e o ajuda nas mais variadas tarefas relacionadas com a gest˜ao da sua caixa de correio electr´onico. Para realizar estas tarefas a secret´aria conta com a ´area da inteligˆencia arti-ficial que lhe permite obter um grau de relacionamento com o utilizador muito mais hu-mano. A detecc¸˜ao de informac¸˜ao relevante no conte´udo dos emails e apresentac¸˜ao dessa mesma informac¸˜ao de uma forma mais percept´ıvel e us´avel, ´e uma das caracter´ısticas propostas para implementac¸˜ao e ´e neste contexto que esta tese se baseia.

1.3

Objectivos

Este projecto tem como objectivo dotar o m´odulo da secret´aria com a capacidade de reconhecer, processar e apresentar num formato mais simples e intuitivo, todo o tipo de informac¸˜ao ´util e que obedec¸a a algum tipo de padr˜ao, contida nos emails do utilizador. Espera-se que com este sistema, a Portugalmail consiga ganhar uma vantagem compet-itiva obtida atrav´es da criatividade e de um servic¸o inovador, que permite ao utilizador manter-se contact´avel de uma forma organizada e simples. Na base desta tese, pretende-se propor uma nova abordagem nesta tarefa utilizado algoritmos de aprendizagem em conjunto com algoritmos de reconhecimento de informac¸˜ao e express˜oes regulares de forma a obter resultados com o m´aximo de precis˜ao poss´ıvel.

1.4

Estrutura da Tese

Esta tese est´a apresentada em seis cap´ıtulos, sendo que o primeiro cap´ıtulo faz uma apresentac¸˜ao da empresa onde decorreu o projecto e uma introduc¸˜ao ao trabalho proposto.

(14)

´

E feita uma contextualizac¸˜ao do problema e descritos quais os objectivos a atingir. No segundo cap´ıtulo ´e feita uma contextualizac¸˜ao mais aprofundada do problema, s˜ao explicados alguns conceitos ligados ao reconhecimento de padr˜oes e ´e dada a conhecer a realidade actual relactivamente a este tema.

No terceiro cap´ıtulo ´e feita a concepc¸˜ao do problema e s˜ao descritas as estrat´egias utilizadas para a definic¸˜ao de soluc¸˜oes. ´E ainda elaborado um estudo das tecnologias a utilizar.

O cap´ıtulo quatro refere-se `a proposta de soluc¸˜ao para o problema principal desta tese: o reconhecimento de eventos num email. ´E dado a conhecer o Teorema de Bayes e como este se aplica na soluc¸˜ao, s˜ao descritos e esquematizados outros m´odulos desenvolvidos para dar suporte `a soluc¸˜ao criada, s˜ao realizados testes e tiradas conclus˜oes sobre os mes-mos. Finalmente ´e apresentado um prot´otipo funcional da soluc¸˜ao.

O cap´ıtulo cinco est´a reservado `a descric¸˜ao e ilustrac¸˜ao de outras funcionalidades de-senvolvidas para o projecto, que tˆem como objectivo reconhecer outros tipos de informac¸˜ao ´util no conte´udo de emails.

Finalmente, no sexto cap´ıtulo, s˜ao elaboradas as conclus˜oes finais do trabalho de-senvolvido, bem como as inovac¸˜oes e limitac¸˜oes inerentes `a soluc¸˜ao apresentada. S˜ao tamb´em apresentadas as perspectivas de desenvolvimentos futuros.

(15)

Email Inteligente

Neste cap´ıtulo ´e feita uma contextualizac¸˜ao do problema proposto para este trabalho. ´

E dada uma perspectiva da realidade actual relativamente ao reconhecimento de informac¸˜ao em v´arios contextos e s˜ao explicados alguns conceitos que orbitam em torno desta ´area.

2.1

Introduc¸˜ao

Nos ´ultimos anos tem-se vindo a notar um crescimento exponencial no que toca ao aparecimento e desenvolvimento de novas tecnologias. Criatividade, inovac¸˜ao e compe-titividades˜ao as palavras na vanguarda do mundo tecnol´ogico actual, na usabilidade e na comunicac¸˜ao. S˜ao in´umeras as fontes de informac¸˜ao que est˜ao dispon´ıveis e que bom-bardeiamos utilizadores a toda a hora por correio electr´onico, SMS, Instant Messaging, RSS feeds, entre muitas outras. Podemos ent˜ao afirmar que a palavra “informac¸˜ao” ga-nhou um peso e um valor dif´ıceis de ignorar.

No entanto, todo este desenvolvimento tecnol´ogico levou a uma mudanc¸a de h´abitos no quotidiano das pessoas que, a seu ritmo, foram pondo de parte a renitˆencia existente em relac¸˜ao a este conceito, aderindo a ele e alimentando-o. Twitter, Redes Sociais (Facebook, Hi5, LinkedIn), Youtube, Picasa e o pr´oprio email s˜ao alguns exemplos de sucesso que tˆem vindo a ganhar cada vez mais adeptos.

A partilha de informac¸˜ao tornou-se assim um h´abito. O facto de ser poss´ıvel o acesso a todos os tipos de informac¸˜ao no momento em que ela ´e disponibilizada, ´e um privil´egio. No entanto, como quase tudo na vida, h´a sempre uma outra face da medalha. Um dos maiores problemas ligados a este tema prende-se com a gest˜ao da informac¸˜ao, a sua organizac¸˜ao e o grau de complexidade que essa tarefa pode atingir. Para isso v˜ao surgindo cada vez mais soluc¸˜oes que ajudam o utilizador a organizar de uma forma autom´atica e “inteligente” a informac¸˜ao, tornado-a ainda mais dispon´ıvel.

(16)

Nos dias que correm, e cada vez mais, o email ´e uma ferramenta indispens´avel na vida da maioria das pessoas que utiliza o computador como ferramenta de comunicac¸˜ao. No entanto, o uso do email (e at´e do n´umero de contas de email por utilizador) tem aumentado e consequentemente o tempo despendido na sua gest˜ao acompanhou esse aumento. Um estudo realizado pela Fuser.com1 indica que cerca de 87% dos utilizadores de Internet dos Estados Unidos gastam mais de 7 horas por semana a gerir os seus emails e contas de redes sociais [1].

Tendo em conta este problema, comec¸aram a ser desenvolvidos mecanismos para aju-dar os utilizadores a gerir, de uma forma mais eficaz, os seus emails. Desde os detectores de SPAM e filtros personalizados at´e `a integrac¸˜ao de outros servic¸os com o email, tudo vale para poupar tempo de gest˜ao. `A medida que as necessidades v˜ao surgindo, e a tec-nologia evolui, novos m´etodos v˜ao sendo desenvolvidos at´e que a inteligˆencia artificial, e mais concretamente o reconhecimento de padr˜oes, comec¸aram a ter alguma relevˆancia nesta ´area, vulgarmente designada por Email Inteligente (Intelligent Email). Em 2008, foi escrito um artigo por Dredze2et al.[2] que explica a abordagem feita sobre trˆes aspectos essenciais, com base no problema da sobrecarga do email, do ponto de vista do utilizador: a gerac¸˜ao de palavras-chave sumariando o conte´udo dos emails, a previs˜ao de necessidade de resposta a um email e a previs˜ao de falta de anexo.

“Este trabalho demonstra que a representac¸˜ao do comportamento do uti-lizador em relac¸˜ao ao email tem um papel significativo na construc¸˜ao de in-terfaces de email inteligente. Para al´em disso, a inteligˆencia artificial permite que os sistemas de email possam prever e responder melhor ao comporta-mento do utilizador”[2]

2.2

Conceitos

Para que o conceito de email inteligente seja uma realidade, existe todo um conjunto de tecnologias envolvidas que acabam por convergir em duas ´areas principais: a estat´ıstica e a inteligˆencia artificial. Alguns exemplos de tecnologias s˜ao o processamento de lin-guagem natural, o reconhecimento de padr˜oes e o text mining sobre os quais se falar´a neste cap´ıtulo dando uma noc¸˜ao te´orica sobre em que consistem e como est˜ao relacciona-dos entre si.

1www.Fuser.com

(17)

2.2.1 Processamento de Linguagem Natural

“Processamento de Linguagem Natural consiste no desenvolvimento de modelos computacionais para a realizac¸˜ao de tarefas que dependem de informac¸˜oes expressas numa linguagem natural.” [3]

“Dotar as m´aquinas de capacidade de compreens˜ao e resposta ao que as pessoas se referem, de forma a que estas possam interagir com o computador naturalmente n˜ao tendo por isso de se adaptar `as suas limitac¸˜oes.”[4]

O processamento de Linguagem Natural ´e um campo das ciˆencias de computac¸˜ao que torna a comunicac¸˜ao entre computadores e humanos muito mais simples.

Existem j´a algumas aplicac¸˜oes desta ´area em v´arios contextos. Eis algumas funciona-lidades onde o processamento da linguagem natural est´a presente:

• traduc¸˜oes de textos em diferentes linguagens; • extracc¸˜ao de informac¸˜ao;

• gerac¸˜ao de linguagem natural; • compreens˜ao de linguagem natural; • resposta a quest˜oes;

• sistemas de di´alogo;

• simplificac¸˜ao/sumarizac¸˜ao de texto; • convers˜ao de texto para fala.

´

E importante distinguir duas vertentes nesta ´area: os Sistemas de Gerac¸˜ao de Lin-guagem Natural, que convertem uma linLin-guagem formal, entendida por computadores, numa linguagem natural, entendida por humanos, e os Sistemas de Compreens˜ao de Lin-guagem Natural, que fazem o trabalho oposto, ou seja, interpretam frases escritas por humanos e convertem-nas em linguagem formal que pode ser posteriormente interpretada pelos sistemas inform´aticos.

O processamento de linguagem natural ´e feito em trˆes etapas na seguinte ordem: an´alise morfol´ogica, an´alise sint´actica (que por sua vez se subdivide em trˆes tipos de gram´aticas: regulares, livres de contexto e sens´ıveis ao contexto) e an´alise semˆantica.

• An´alise morfol´ogica: nesta etapa o analisador identifica as palavras ou express˜oes isoladas na frase separadas por car´acteres delimitadores (ex: espac¸o, ponto, ponto e v´ırgula) e as classifica de acordo com a sua categoria gramatical. A morfologia trata as palavras quanto `a sua estrutura, forma, flex˜ao e classificac¸˜ao.

(18)

• An´alise sint´actica: o analisador sint´actico constr´oi ´arvores de derivac¸˜ao para cada frase baseado nas DCGs (Definite Clause Grammars). Desta forma ´e poss´ıvel ve-rificar a concordˆancia nominal e verbal bem como o posicionamento dos termos na frase. Existem trˆes gram´aticas formais que podem ser utilizadas. Estas gram´aticas est˜ao organizadas segundo a Hierarquia de Chomsky e designam-se por Gram´aticas sens´ıveis ao contexto(Tipo 1), Gram´aticas livres de contexto (Tipo 2) e Gram´aticas regulares(Tipo 3) [5]. As gram´aticas de Tipo 1 ser˜ao utilizadas no m´odulo do anal-isador sint´actico (Secc¸˜ao4.3.3) e as de Tipo 3 ser˜ao utilizadas em v´arios m´odulos que implementem express˜oes regulares.

• An´alise semˆantica: o analisador semˆantico examina o significado das estruturas criadas pelo analisador sint´actico. Este processo pode ocorrer enquanto as ´arvores s˜ao criadas ou ent˜ao posteriormente.

A grande quest˜ao nesta ´area reside na palavra ”compreens˜ao“. H´a uns anos atr´as, os sistemas referidos acima funcionavam relativamente bem para dom´ınios fechados porque se tratava de um ambiente controlado e restrito do ponto de vista do vocabul´ario e con-ceitos. No entanto, sentiu-se a necessidade de levar o processamento da linguagem natural um pouco mais longe, entrando em ambientes com dom´ınios variados que levou ao en-contro de novas barreiras que ainda hoje n˜ao foram totalmente ultrapassadas, sendo a ambiguidadeuma delas. A ambiguidade existe e, segundo Chantree [6], n˜ao ´e poss´ıvel elimin´a-la, pelo que os designers de sistemas GLN (Gerac¸˜ao de Linguagem Natural) ten-tam a todo o custo evit´a-la.

´

E poss´ıvel classificar a ambiguidade a trˆes n´ıveis:

• ambiguidade lexical (palavras com v´arios significados);

• ambiguidade semˆantica (v´arias interpretac¸˜oes de uma frase dependendo da combinac¸˜ao das palavras);

• ambiguidade pragm´atica (frases com v´arios significados dependendo do contexto). Chantree afirma ainda que por vezes a ambiguidade n˜ao deve ser eliminada e prop˜oe uma ferramenta (The NLG Tool) que, com a ajuda do utilizador, aprende em que casos a ambiguidade deve ser mantida ou n˜ao [6].

2.2.2 Reconhecimento de Padr˜oes

”Reconhecimento de Padr˜oes ´e a disciplina cient´ıfica cujo objectivo con-siste na classificac¸˜ao de objectos num conjunto de categorias ou classes.“ [7] Reconhecimento de padr˜oes ´e a ciˆencia que tem como objectivo identificar e classificar padr˜oes de objectos baseado num conjunto de regras e caracter´ısticas. As t´ecnicas de

(19)

reconhecimento de padr˜oes s˜ao muito utilizadas para automatizar processos de tomada de decis˜ao sem necessidade de intervenc¸˜ao humana.

Quando se fala em reconhecimento de padr˜oes, existem trˆes abordagens poss´ıveis: • reconhecimento de padr˜oes estat´ıstico - reconhecimento da natureza estat´ıstica

da informac¸˜ao que se quer representar e dos resultados a serem apresentados. Dado um conjunto de amostras de exemplos do padr˜ao a representar, ´e feito uma an´alise estat´ıstica que as define e separa em grupos ou classes. A efic´acia da representac¸˜ao ´e determinada atrav´es da classificac¸˜ao da separac¸˜ao das amostras. No final, dado um conjunto de padr˜oes de treino de cada classe, o objectivo ´e estabelecer fronteiras de decis˜ao para o contexto do problema. Exemplos:

– Vis˜ao autom´atica - processamento de imagens de sat´elite, rob´otica e identificac¸˜ao de pessoas atrav´es de fotos e impress˜oes digitais [8];

– Reconhecimento de car´acteres – a esta ´area est˜ao associados os sistemas OCR (Optical Character Recognition). Estes sistemas detectam variac¸˜oes de luz, constroem matrizes que depois, atrav´es de software de reconhecimento de padr˜oes, traduzem em car´acteres. Nesta ´area tamb´em se aplica a escrita `a m˜ao e j´a existem canetas que detectam o que o utilizador escreve e armazenam a informac¸˜ao em mem´oria [8];

– Sistema de imageologia – sistemas que ajudam os m´edicos a reconhecer doenc¸as atrav´es da an´alise de imagens [8];

– Reconhecimento da fala – a fala ´e o meio mais natural que o ser humano usa para comunicar pelo que se tˆem vindo a desenvolver sistemas que compreen-dam a fala e a traduzam em acc¸˜oes. Isto pode, por exemplo, ser usado para aumentar a efic´acia da produc¸˜ao em ambientes complexos ou ajudar pessoas amputadas a interagir com o sistema. Ao reconhecimento da fala est´a implici-tamente ligado o processamento de sinal e reconhecimento de voz [8];

• reconhecimento de padr˜oes sint´actico - reconhecimento de natureza estrutural e hier´arquica, onde um padr˜ao ´e formado por um conjunto de primitivas e relac¸˜oes entre elas, ou seja, ´e tida em conta a informac¸˜ao estrutural da inter-relac¸˜ao entre o-bjectos e n˜ao de oo-bjectos isolados. Normalmente esta estruturac¸˜ao ´e feita em ´arvore, sendo as suas folhas os elementos mais simples (primitivas) tornando-se cada vez mais complexo `a medida que nos aproximamos da raiz at´e formar o padr˜ao com-pleto. Exemplos:

– Tradutor de textos em v´arias l´ınguas – sistemas que com base em gram´aticas interpretam textos sintacticamente e os traduzem para outras l´ınguas.

(20)

– Gerador de Sum´arios – sistemas que interpretam textos e os recriam de forma condensada mantendo ao m´aximo a semˆantica do texto.

• reconhecimento de padr˜oes com redes neuronais - pode ser visto como um me-lhoramento do reconhecimento de padr˜oes estat´ıstico, no sentido em que, com redes neuronais, ´e poss´ıvel aplicar m´etodos de aprendizagem. ´E feito um estabelecimento de conex˜oes com camadas intermedi´arias de neur´onios artificiais entre os valores de todas as caracter´ısticas que definem os padr˜oes e todas as classes de objectos que s˜ao consideradas como camada de sa´ıda. O treino da rede ´e feito corrigindo os pesos nas conex˜oes. Exemplos

– reconhecimento de faces – as redes neuronais s˜ao aplicadas no reconhecimento de faces pela sua facilidade de aprendizagem e treino. Um dos m´etodos mais significantes de reconhecimento de faces foi proposto por Rowley et. al [9] onde ´e usada uma rede neuronal multi-n´ıvel que ´e treinada para modelos de face e n˜ao-face [10].

– reconhecimento de voz – os sistemas de reconhecimento de voz utilizam re-des neuronais e s˜ao executados em 4 passos principais: digitalizac¸˜ao da fala, computac¸˜ao de caracter´ısticas do dom´ınio espectral, identificac¸˜ao de carac-ter´ısticas fon´eticas b´asicas usando uma rede neuronal e finalmente associac¸˜ao das caracter´ısticas encontradas no passo anterior com palavras [10].

Paralelamente com o estudo de reconhecimento de padr˜oes surgem normalmente os conceitos de sistemas de aprendizagem supervisionados(que ser˜ao abordados no cap´ıtulo 4), que s˜ao sistemas que “aprendem” usando dados de treino e que a partir da´ı conseguem deduzir de uma forma mais eficaz informac¸˜ao que n˜ao esteja expl´ıcita no conjunto de dados; e sistemas de aprendizagem n˜ao-supervisionados, em que a m´aquina se limita a representar os dados que lhe s˜ao fornecidos para tomadas de decis˜ao, prever futuros in-putse comunic´a-los a outras m´aquinas, n˜ao obtendo qualquer feedback sobre a validade dessa representac¸˜ao.

Na Portugalmail - Comunicac¸˜oes, S.A. s˜ao tamb´em adoptados alguns m´etodos de reconhecimento de padr˜oes como ´e o caso da filtragem de spam e gerac¸˜ao de estat´ısticas para fins de gest˜ao.

2.2.3 Text Mining

A express˜ao text mining refere-se `a descoberta de informac¸˜ao/conhecimento previa-mente desconhecida que pode ser encontrada em conjuntos de documentos.

Desde 1999 que o desenvolvimento nesta ´area tem aumentado [11]. Isto deve-se ao facto de haver uma maior necessidade de gest˜ao da informac¸˜ao que reside no vasto

(21)

conjunto de documentos de texto dispon´ıveis, como por exemplo, p´aginas web, artigos, reposit´orios e emails. Este tipo de informac¸˜ao distingue-se da informac¸˜ao residente nas bases de dados pela sua falta de estruturac¸˜ao. ´E, ali´as, esta a diferenc¸a entre text min-ing e data mining. Data mining ´e um processo de extracc¸˜ao de informac¸˜ao impl´ıcita, desconhecida e potencialmente ´util de dados estruturados, escondidos ou mesmo desco-nhecidos [12].

O text mining funciona `a base da descoberta de padr˜oes em textos, ou seja, da des-coberta de relac¸˜oes entre t´opicos, palavras, ou frases, que se repetem ao longo de v´arios documentos diferentes. Estes padr˜oes s˜ao definidos atrav´es do n´umero de vezes que as palavras aparecem juntas no texto. Quanto maior for o n´umero de ocorrˆencias, maior a ligac¸˜ao entre essas palavras, o que leva `a deduc¸˜ao de alguns conceitos.

Existem duas abordagens poss´ıveis em text mining: abordagem estat´ıstica (Bayesiana) e a abordagem da assunc¸˜ao de padr˜oes.

A abordagem estat´ıstica ´e uma abordagem indutiva, ou seja, quanto maior for o n´umero de amostras, maior ´e o n´umero de relac¸˜oes e consequentemente melhor ´e o resultado pois as relac¸˜oes s˜ao mais s´olidas e reais. A esta abordagem d´a-se tamb´em o nome de abor-dagem Bayesiana pois tem como base o teorema de Bayes. Este teorema relaciona a probabilidade condicional de dois eventos aleat´orios e ´e muito usado para calcular proba-bilidades `a posteriori com base em observac¸˜oes. Em estat´ıstica, no entanto, existe alguma incerteza sobre a aplicac¸˜ao deste teorema relativamente a um outro teorema designado de teorema frequentista. A diferenc¸a entre eles ´e que o frequentista calcula probabilidades de eventos com base numa frequˆencia de ocorrˆencia ou subconjuntos de populac¸˜oes como porc¸˜oes de um todo, ao passo que o Bayesiano calcula probabilidades baseado em crenc¸as e graus de incerteza [13]. Este assunto ser´a explicado mais em pormenor na secc¸˜ao4.2.1. A abordagem da assunc¸˜ao de padr˜oes (tamb´em designada abordagem usando um agente treinado) ´e uma abordagem dedutiva pois o processo ´e iniciado com uma assunc¸˜ao e a partir da´ı s˜ao pesquisados casos na amostra de dados que corroborem essa assunc¸˜ao.

A abordagem estat´ıstica funciona melhor quando o conjunto de dados ´e estruturado, ao passo que para casos em que os dados n˜ao est˜ao estruturados a segunda abordagem ´e mais eficiente.

Em termos de quantidade de dados a processar, segundo Newman [14], a abordagem estat´ıstica tem um potencial de analisar todo o conte´udo de um registo, no entanto o tamanho da amostra de documentos ´e normalmente menor do que 50,000 registos. No caso da abordagem usando um agente treinado, visto que apenas pesquisa padr˜oes pr´e-determinados e s´o tem de analisar fracc¸˜oes de texto, ´e poss´ıvel processar milh˜oes de registos. Isto significa que a segunda abordagem, (agente treinado), ´e normalmente usada ao n´ıvel de produc¸˜ao de dados e a primeira abordagem, estat´ıstica, ´e usada ao n´ıvel do utilizador final [14].

(22)

2.3

Trabalhos Desenvolvidos

Est˜ao j´a a ser feitos esforc¸os no sentido de tornar o conceito de email inteligente cada vez mais real e presente. `A medida que o conceito vai sendo estudado, v˜ao sendo desenvolvidas funcionalidades que apoiam o utilizador nas suas tarefas di´arias envolvendo o email. Desde a produc¸˜ao de sum´arios at´e `a detecc¸˜ao de falta de anexo numa mensagem, s˜ao cada vez mais as funcionalidades que nos aproximam da realidade de virmos a ter um email que nos auxilie desde as tarefas mais b´asicas at´e `as mais complexas ou aborrecidas de realizar. De seguida, ser˜ao apresentadas algumas das funcionalidades referidas, cujos estudos indicam ter resultados bastante positivos e est˜ao relaccionadas com o tema deste projecto.

2.3.1 Previs˜ao de resposta

De todos os tipos de emails que circulam nas caixas de correio, muitos deles s˜ao emails que, dado o seu contexto, necessitam de uma resposta por parte do utilizador. O mundo do neg´ocio ´e um excelente exemplo disso, em que a taxa de recepc¸˜ao deste tipo de emails ´e elevada, pelo que o tempo para verificac¸˜ao, selecc¸˜ao e resposta destas mensagens pode ser bastante grande. Deste modo, Dredze et. al [15] prop˜oe uma soluc¸˜ao que passa por prever e etiquetar emails que precisem de uma resposta e quais os que j´a foram respondidos. O m´etodo adoptado utiliza dados do assunto da mensagem, um conjunto de palavras chave que indiciem a necessidade de resposta, o papel que os destinat´arios do email tˆem na mensagem (CC, BCC, TO), as relac¸˜oes entre eles, a existˆencia de datas e horas no corpo da mensagem, a forma como ´e dirigido o email (“Caro Jo˜ao,” ou “Ol´a Teresa,”) e detecc¸˜ao de quest˜oes, de forma a minimizar o erro da detecc¸˜ao.

O resultado deste estudo indicou que o modelo consegue um resultado muito pr´oximo da capacidade humana [2,16].

2.3.2 Sum´arios

Uma outra funcionalidade desenvolvida por Dredze et. al foi a sumarizac¸˜ao de emails por via de palavras-chave. O autor afirma que deste modo o utilizador tem acesso a uma informac¸˜ao complementar que em alguns casos de teste se revelou mais esclarecedora que o pr´oprio assunto. Segundo Dredze et. al, uma boa palavra-chave para sumariar um email deve ser espec´ıfica o suficiente para descrever a mensagem e ao mesmo tempo comum a v´arios emails, estar associada a conceitos coerentes com o utilizador e ser representa-tiva do conceito do email permitindo que o utilizador possa tomar decis˜oes em relac¸˜ao `a mensagem. De modo a balizar estes requisitos ´e necess´ario definir limites. Para definir os limites superior e inferir s˜ao usados dois modelos conceptuais: LSA (Latent Semantic Analysis) - uma t´ecnica de processamento de linguagem natural que analisa as relac¸˜oes

(23)

entre um conjunto de documentos e os termos que eles contˆem produzindo um conjunto de conceitos relacionados com os documentos e os termos - e LDA (Latent Dirichlet Allocation) - um modelo hier´arquico probabil´ıstico Bayesiano a trˆes n´ıveis que permite criar uma representac¸˜ao expl´ıcita de um documento usando a probabilidade do facto de um determinado t´opico nesse documento ser relevante ou n˜ao [17]. As palavras chave foram geradas usando TF-IDF (Term Frequency-Inverse Document Frequency), uma me-dida estat´ıstica usada para avaliar a importˆancia de uma palavra para um documento numa colecc¸˜ao [18].

2.3.3 Falta de anexo

Uma das formas mais comuns de trocar ficheiros ´e atrav´es do email usando os anexos. No entanto, acontece imensas vezes o utilizador esquecer-se de anexar o ficheiro antes de enviar a mensagem. J´a existem v´arias soluc¸˜oes para este problema, desde fazer um simples highlight do bot˜ao para anexar o ficheiro at´e soluc¸˜oes mais complexas como detectar e alertar o utilizador que o anexo est´a em falta. Esta ´ultima abordagem foi j´a estudada e desenvolvida. Dredze et. al modelou um sistema de previs˜ao de anexo [19,16] que se baseia num conjunto de factores tais como:

• conte´udo da mensagem (posic¸˜ao de palavras-chave no texto e tamanho do texto); • destinat´arios do email;

• padr˜ao do comportamento do utilizador (reenvio de emails repetidos com e sem anexo);

• hist´orico da percentagem de vezes que foram enviados emails para determinados destinat´arios com anexo;

2.3.4 Detecc¸˜ao de Spam

Nos ´ultimos anos o spam tornou-se um dos maiores problemas para a sustentabilidade da internet [20]. A quantidade de spam tem vindo a aumentar `a medida que surgem novas formas de divulgar informac¸˜ao (email, redes sociais, web sites, blogs, motores de busca) o que levou ao desenvolvimento de novas t´ecnicas de anti-spam. Existem v´arias raz˜oes pelas quais o spam aumenta de dia para dia:

• Gerac¸˜ao de receitas – os spammers criam conte´udo sint´etico nas p´aginas web e usando o AdSense conseguem gerar receitas atrav´es das visitas;

• Aumento do ranking nos motores de busca – incorporac¸˜ao de t´ecnicas de optimizac¸˜ao para motores de pesquisa com o objectivo de melhorar o ranking do site e assim au-mentar o tr´afego aumentando tamb´em as receitas;

(24)

• Promoc¸˜ao de produtos e servic¸os – os spammers s˜ao pagos por empresas para promoc¸˜ao dos seus produtos. Normalmente isto ´e feito atrav´es dos emails, f´oruns e coment´arios de blogs.

• Roubo de informac¸˜ao – instalac¸˜ao il´ıcita de programas nos computadores dos uti-lizadores que provocam o aparecimento de pop-ups com publicidade, ou o roubo de informac¸˜ao com o enderec¸o de email;

• Phishing – roubo de informac¸˜ao fazendo-se passar por uma entidade leg´ıtima (caso dos bancos, por exemplo);

Existem diversas t´ecnicas para combater o spam, no entanto apesar de algumas serem bastante boas, existe sempre, ou quase sempre, uma forma de contornar os detectores de spam. Basta que os spammers tenham acesso `a informac¸˜ao de como estas ferramentas funcionam. Alguns exemplos de software de combate ao spam s˜ao:

• HoneySpam que simula ser uma v´ıtima de spam real para obter o m´aximo de informac¸˜ao sobre o spammer e assim consiga bloque´a-lo;

• o Phonetic String Matching que usa quatro filtros (normalizac¸˜ao, desambiguac¸˜ao, comparac¸˜ao de strings aproximadas, m´odulo de composic¸˜ao de regras) para sinalizar um email como sendo spam ou n˜ao;

• ProMail que usa os meta-dados do email para detectar o enderec¸o, o IP, entre outras caracter´ısticas e a partir da´ı constr´oi um perfil de utilizador criando um grafo e calculando se o email ´e spam ou n˜ao;

• Zombie based Approach detecta emails enviados por spam-bots comparando o pro-tocolo SMTP do email com o propro-tocolo RFC standard;

• SMTP Logs Mining Approach que ´e um m´etodo de aprendizagem autom´atica que extrai caracter´ısticas dos logs do servidor SMTP e constr´oi um grafo calculando pontuac¸˜oes para cada n´o e a partir da´ı classifica os emails como sendo spam ou n˜ao; Cada uma destas ferramentas tem os seus benef´ıcios e falhas pelo que nenhuma ´e infal´ıvel, n˜ao deixando de ser uma preciosa ajuda.

Assim como as ferramentas de anti-spam evolu´ıram, o pr´oprio spam tamb´em evoluiu mudando de formato passando a conter imagens. Dessa forma a sua detecc¸˜ao torna-se bem mais complicada. Os sistemas OCR s˜ao capazes de extrair o texto de imagens mas revelam-se ineficazes se os spammers colocarem ru´ıdo nas imagens. Como apoio ao OCR surgiram ferramentas que detectam o ru´ıdo das imagens, que lˆeem os cabec¸alhos dos ficheiros das imagens em busca de informac¸˜ao ´util e que interpretam o histograma de cores da pr´opria imagem de forma a tornar mais eficaz a detecc¸˜ao de spam. No entanto este campo est´a ainda pouco desenvolvido [20].

(25)

2.4

Funcionalidades da Portugalmail

Neste momento, a Portugalmail utiliza o reconhecimento de padr˜oes no antispam uti-lizando todos os exemplos de software listados na secc¸˜ao anterior com a excepc¸˜ao o Hon-eySpam. Utiliza tamb´em o reconhecimento de padr˜oes para fins estat´ısticos que servem tanto os interesses dos clientes profissionais como os da pr´opria empresa. Utiliza um conjunto de ferramentas que torna poss´ıvel a gest˜ao do tr´afego de mensagens nos servi-dores, listas de espera, taxa de armazenamento dos discos e gest˜ao das contas dos clientes. Dovecot (servidor de IMAP e POP3), Postfix (agente de transferˆencia de emails) e Amavis (um scanner de correio electr´onico) s˜ao as tecnologias utilizadas para efectuar o proces-samento do email. O Perl ´e usado para criar scripts que analisam e detectam padr˜oes dos logs do email, extraindo informac¸˜ao que ´e passada para o Cacti, uma ferramenta de visualizac¸˜ao gr´afica de dados.

2.5

Sum´ario do Cap´ıtulo

Com este cap´ıtulo pretendeu-se fazer uma introduc¸˜ao ao conceito de email inteligente e reconhecimento de padr˜oes relacionando-os entre si. Foram apresentadas as barreiras e algumas das soluc¸˜oes existentes nesta ´area bem como trabalhos j´a desenvolvidos que aproximam cada vez mais o conceito de email inteligente da realidade. Finalmente s˜ao dadas a conhecer os tipos de actividades que a Portugalmail exerce nesta ´area.

(26)

Projecto

Este cap´ıtulo retrata a fase de planeamento do projecto. Nesta fase foi feito um levan-tamento de requisitos, estudo de tecnologias existentes, definic¸˜ao de tecnologias a utilizar e esboc¸o do planeamento de tarefas a realizar. A concepc¸˜ao de ideias foi feita atrav´es de uma sess˜ao de brainstorming onde foram propostas funcionalidades a desenvolver. Foi tamb´em realizado um question´ario para obter feedback dos utilizadores. Seguiu-se um processo de avaliac¸˜ao dos resultados obtidos. Finalmente foi levado a cabo um estudo de tecnologias a utilizar para o desenvolvimento das funcionalidades.

3.1

Concepc¸˜ao de Ideias

A concepc¸˜ao de ideias ´e, provavelmente, a fase mais importante de qualquer pro-jecto. Nesta fase, o objectivo ´e definir, de uma forma minimamente concreta, em que vai consistir todo o projecto, quais as tarefas a realizar, em que consistem, quem as vai re-alizar, quem ´e o respons´avel, prazos para o in´ıcio e fim de cada tarefa, dependˆencias entre tarefas e outras quest˜oes que possam ser relevantes dependendo do projecto em quest˜ao. Para este caso espec´ıfico foram utilizadas duas metodologias que decorreram ao mesmo tempo: uma sess˜ao de brainstorming com alguns elementos da equipa da Portugalmail e um question´ario para obter algum feedback sobre as necessidades dos utilizadores de email.

3.1.1 Brainstorming

Brainstorming ´e uma t´ecnica de criatividade criada por Alex Osborn [21] muito uti-lizada em situac¸˜oes em que ´e necess´ario produzir um grande n´umero de ideias para um de-terminado problema com o objectivo de chegar a uma determinada soluc¸˜ao. Esta t´ecnica prop˜oe que um conjunto de pessoas, idealmente entre 8 e 12 pessoas, com experiˆencias

(27)

e competˆencias diferentes, se re´unam num ambiente informal e relaxado, para discutir ideias sobre um determinado problema com o objectivo de chegar a uma soluc¸˜ao. Inicial-mente ´e dado a conhecer qual o problema em quest˜ao e depois v˜ao sendo sugeridas ideias para a sua resoluc¸˜ao. Nenhuma ideia ´e descartada e cabe ao “secret´ario”, o elemento que ´e respons´avel por conduzir a sess˜ao, apontar as ideias que v˜ao surgindo. Uma das regras de ouro desta t´ecnica ´e que nenhuma ideia pode ser criticada, de forma a n˜ao intimidar os participantes na sua criatividade, para que da´ı surjam mais ideias.

Figura 3.1: Brainstorming do Projecto

Foi realizada uma sess˜ao de brainstorming na Portugalmail com o objectivo de re-alizar um levantamento de poss´ıveis funcionalidades a implementar neste projecto. Esta sess˜ao teve a durac¸˜ao de um dia e contou com a participac¸˜ao de 6 elementos da Portugal-mail: Felipe Costa, Rui Carneiro, Gonc¸alo Queir´os, Miguel Lima, Nuno Lopes e Ricardo Mestre. O “secret´ario” encarregue de conduzir a sess˜ao foi Felipe Costa, pois ´e o ele-mento que possui maior experiˆencia neste tipo de sess˜oes e ´e tamb´em o respons´avel pelo produto onde as funcionalidades v˜ao ser implementadas. Foram utilizados marcadores e post-itspara fazer o apontamento das ideias que iam surgindo. No in´ıcio da sess˜ao foi feita uma breve introduc¸˜ao ao problema e dado a conhecer o que se pretendia alcanc¸ar, qual a realidade actual sobre o tema, quais as soluc¸˜oes j´a existentes e finalmente quais as neces-sidades dos utilizadores de acordo com estudos j´a realizados por outros investigadores.

(28)

Foi dada tamb´em uma breve explicac¸˜ao sobre o conceito pretendido para a plataforma e como este projecto se deveria integrar. De seguida, foram lanc¸ados v´arios desafios onde, para um dado cen´ario (por exemplo, “Funcionalidades para pessoas que enviam muitos anexos”), era pedido a cada participante para escrever as suas sugest˜oes, uma por cada post-it, e partilh´a-las no fim do tempo estipulado (normalmente mini-sess˜oes de 5 minu-tos). O resultado final encontra-se na figura3.1.

No final da sess˜ao de brainstorming o resultado n˜ao podia ser mais positivo. Foram recolhidas perto de 100 funcionalidades diferentes, algumas bastante interessantes. As-sim sendo, era tempo de organizar os dados obtidos e filtrar, agrupar e ordenar por pri-oridades as funcionalidades de maior interesse quer para a Portugalmail quer para a tese em si. Realizou-se uma reuni˜ao com os respons´aveis da empresa para discutir e ajustar pormenores e obter o aval para seguir para a fase seguinte.

Foram ent˜ao criadas 7 categorias: “Inbox”, “Escrever email”, “Leitura de email”, “Contactos”, “Eventos”, “Estat´ısticas” e finalmente “Outras ideias” (ver figura3.2). A vers˜ao expandida deste diagrama encontra-se no anexoA.

Figura 3.2: Funcionalidades por Categorias

Assim sendo, a lista de funcionalidades definida para este projecto foi a seguinte: • Keywords detector; • Sumarizac¸˜ao de conte´udo; • Traduc¸˜ao de linguagem SMS; • Localizac¸˜ao geogr´afica; • Password box; • Youtube preview; • Flickr preview; • Detecc¸˜ao de eventos;

Cada funcionalidade ser´a explicada com mais pormenor nos cap´ıtulos4e5.

Tendo j´a um conjunto de funcionalidades listado deu-se in´ıcio ao levantamento de resultados do question´ario.

(29)

3.1.2 Question´ario

Os question´arios s˜ao uma forma bastante eficaz de conseguir perceber as necessidades e opini˜oes do p´ublico alvo relativamente a um determinado tema. No entanto, para este tipo de projectos, os question´arios revelam um problema. A fase ideal para realizar um question´ario num projecto de quatro meses ´e precisamente na fase de concepc¸˜ao de ideias, onde interessa saber quais as necessidades dos utilizadores, para planear a melhor forma de satisfazer essas necessidades e definir o que se ir´a desenvolver. No entanto, ´e ao mesmo tempo a pior fase pois o pr´oprio conceito em que se pretende trabalhar ainda n˜ao est´a bem definido nesta altura. Por esse motivo, a realizac¸˜ao de um question´ario n˜ao ´e trivial o que implica um cuidado extra relativamente `a informac¸˜ao que ´e pedida.

A par da realizac¸˜ao da sess˜ao de brainstorming conduziu-se um question´ario para obter uma opini˜ao dos utilizadores sobre qual o tipo de emails que mais circulam nas suas caixas de correio electr´onico e qual o tipo de actividades que mais efectuam enquanto navegam na internet. Este question´ario foi composto por 10 quest˜oes e um espac¸o de escrita livre. Foram obtidas 41 respostas. O question´ario encontra-se no anexoB. Um vers˜ao online encontra-se dispon´ıvel emhttp://tiny.cc/questionario. A maio-ria da populac¸˜ao que respondeu a este question´ario s˜ao jovens estudantes com idades compreendidas entre os 20 e os 24 anos, e portanto fazendo uso frequente do email.

Antes de analisar os gr´aficos ´e relevante dizer que as quest˜oes 1 e 2 (figuras3.3e3.4) s˜ao de escolha m´ultipla pelo que n˜ao ´e incorrecto que a soma das percentagens ultrapasse os 100% e que as quest˜oes 3 e 4 (figuras3.5e3.6) respeitam uma escala que varia entre 1 e 4 cujos significados s˜ao “1 - Nenhuma”, “2 - Pouca”, “3 - Alguma” e “4 - Muita”.

Para a quest˜ao “Quais os tipos de emails que recebe na sua caixa de email?”, 93% dos inquiridos respondeu “Emails com anexos”, 59% responderam “SPAM” e “Marcac¸˜oes de eventos” (ver figura 3.3). Para a quest˜ao “Quais os tipos de emails costuma enviar ou acc¸˜oes que costuma realizar na web?”, 88% dos inquiridos respondeu “Emails com anexos” e 57% respondeu “Marcac¸˜oes de eventos” (ver figura3.4).

(30)

Figura 3.4: Quais os tipos de emails costuma enviar ou acc¸˜oes que costuma realizar na web?

Com base nos resultados das respostas anteriores, foram analisadas a quest˜ao 3 e 4 para saber com que frequˆencia enviam emails com anexo e/ou com marcac¸˜ao de eventos. Para a quest˜ao “Na sua actividade di´aria, com que frequˆencia envia emails com anexo?”, 54% responderam “Alguma” (ver figura 3.5) e na quest˜ao “Na sua actividade di´aria, com que frequˆencia realiza marcac¸˜oes de eventos (reuni˜oes, encontros sociais, etc)?” 45% responderam “Pouca” (ver figura3.6).

Figura 3.5: Na sua actividade di´aria, com que frequˆencia envia emails com anexo?

(31)

3.1.3 Conclus˜oes

Segundo os resultados obtidos no question´ario ´e poss´ıvel concluir que o tipo de emails que mais circula nas caixas de correio electr´onico dos inquiridos cont´em anexos e eventos, sendo que os emails com anexos s˜ao enviados e recebidos com maior frequˆencia do que os restantes. Assim sendo, a criac¸˜ao de funcionalidades que tenham alguma relac¸˜ao com este tipo de emails de forma a ajudar o utilizador quer na tarefa de leitura quer de envio e at´e mesmo de pesquisa e gest˜ao de emails, poder´a ser uma mais valia para os clientes de email da Portugalmail.

O brainstorming foi, possivelmente, a melhor forma de pegar neste projecto para que, numa altura ainda prematura, j´a houvesse uma ideia consistente do que se pretendia.

3.2

Definic¸˜ao do Projecto

Terminada a fase de concepc¸˜ao de ideias e soluc¸˜oes, ´e tempo de realizar um estudo das tecnologias e definir um plano de tarefas.

3.2.1 Definic¸˜ao das Tecnologias

A definic¸˜ao de tecnologias ´e feita depois da concepc¸˜ao do projecto para que n˜ao haja quaisquer tipos de limitac¸˜oes que ponham em causa a criatividade do mesmo. Agora, fazendo um estudo de comparac¸˜ao entre tecnologias diferentes, basta verificar se est˜ao `a altura do projecto tanto a n´ıvel de desenvolvimento como de performance.

Para melhor compreens˜ao, quer do ambiente, quer de limitac¸˜oes tecnol´ogicas para o projecto, foi feito um estudo da plataforma onde ser˜ao implementadas as funcionalidades deste projecto.

Como j´a foi dito na secc¸˜ao 1.1, est´a a ser desenvolvida uma nova plataforma web para servic¸o de email. Esta aplicac¸˜ao segue uma arquitectura LAPP ( Linux, Apache, PostgreSQL, PHP ), que ´e normalmente composta por um conjunto de software open source gratuito e ´e usada para correr web sites ou servidores dinˆamicos. A aplicac¸˜ao est´a assente sobre a framework Horde. Esta framework ´e baseada em PHP e permite a utilizac¸˜ao de um consider´avel n´umero de funcionalidades.

Tendo em conta as ferramentas acima referidas, e outras tamb´em utilizadas na Por-tugalmail, foi tido em considerac¸˜ao apenas software opensource e o mais compat´ıvel poss´ıvel com a nova plataforma de webmail. Foram comparadas trˆes linguagens: Perl, Java e PHP. Ap´os alguma leitura sobre as capacidades de cada uma a n´ıvel de express˜oes regulares, foi feito um script com um simples em que o ´unico objectivo passava por realizar um parsing de um conjunto de ficheiros, utilizando express˜oes regulares, de-volvendo o mesmo resultado no menor tempo poss´ıvel. O uso de express˜oes regulares para este teste justifica-se pois este ´e um m´etodo utilizado para reconhecer padr˜oes de

(32)

informac¸˜ao em textos, e ´e sobre isso que se baseia o trabalho deste projecto. A amostra para testes consistiu num conjunto de 44771 ficheiros de texto. Os resultados obtidos encontra-se na tabela e gr´afico seguintes.

Figura 3.7: Comparac¸˜ao de Tecnologias

Tabela 3.1: Resultados da Comparac¸˜ao de Tecnologias

Java Perl PHP real 1.478 ms 0.769 ms 2.981 ms user 1.297 ms 0.677 ms 2.691 ms sys 0.123 ms 0.080 ms 0.103 ms

real Tempo desde o in´ıcio at´e ao fim da chamada do processo, incluindo as fatias de tempo de outros processos e o tempo que o processo se mant´em bloqueado.

user Tempo que o CPU usa para executar o processo. Os tempo de execuc¸˜ao de outros processos ou tempo de bloqueio n˜ao est˜ao inclu´ıdos.

sys Tempo que o CPU usa no kernel entre processos. Como no user este tempo diz respeito apenas ao processo.

Para atingir estes valores foi utilizada a func¸˜ao “time” do sistema operativo Linux. Foram feitos 10 testes para cada linguagem. Os valores da tabela s˜ao a m´edia dos resulta-dos obtiresulta-dos depois de terem sido retiraresulta-dos o melhor e o pior resultado de cada. As tabelas completas encontram-se no anexoC.

(33)

Tendo em conta os resultados obtidos, conclui-se que o Perl ´e a linguagem mais in-dicada para realizar parsing de texto pois produz os mesmos resultados que as outras duas linguagens em menos de metade do tempo relativamente ao Java e quatro vezes mais r´apido que o PHP. Acrescido a estes resultados, junta-se o facto de Perl ser uma lin-guagem cuja curva de aprendizagem ´e muito pequena o que, de certa forma, ´e uma mais valia para o sucesso deste projecto.

3.2.2 Levantamento de Requisitos

Tendo em conta os objectivos desta tese e os interesses da Portugalmail, definiram-se os seguintes requisitos:

• Reconhecer informac¸˜ao relativa a eventos calendariz´aveis utilizando algoritmos de classificac¸˜ao e express˜oes regulares;

• Tratar a informac¸˜ao reconhecida tornando-se mais percept´ıvel para o utilizador e apresent´a-la no ecr˜a;

• Permitir que o utilizador edite a informac¸˜ao reconhecida e a adicione directamente na sua agenda atrav´es da interface desenvolvida;

• Reconhecer links do Youtube e apresentar os v´ıdeos no ecr˜a;

• Reconhecer links de fotografias e ´albuns do Flickr e apresent´a-los no ecr˜a;

3.3

Sum´ario do Cap´ıtulo

Neste cap´ıtulo foi descrito o modo como foi conduzida uma sess˜ao de brainstorming da qual resultaram cerca de 100 ideias para funcionalidades a implementar na plataforma de webmail. Fez-se um levantamento dos resultados de um question´ario concluindo-se que os emails que a maioria dos inquiridos circula, cont´em anexos e eventos. Foi feita ainda uma comparac¸˜ao de tecnologias para decidir que ferramentas utilizar para o desen-volvimento do projecto concluindo-se que o Perl ´e a linguagem mais indicada. Finalmente foi definido um plano de desenvolvimento de tarefas que se encontra no anexoD.

(34)

Detecc¸˜ao de Eventos num Email

Este cap´ıtulo descreve o desenvolvimento da ferramenta “Detecc¸˜ao de eventos num email”. Comec¸a-se por contextualizar a funcionalidade nos objectivos do projecto e s˜ao dadas algumas definic¸˜oes sobre o Teorema de Bayes, que serviu de base para a sua construc¸˜ao. O algoritmo bayesiano por si s´o n˜ao chega para atingir um bom resultado pelo que foi necess´ario criar um conjunto de ferramentas que o suportem.

4.1

Conceito

A marcac¸˜ao de eventos atrav´es do email ´e uma tarefa bastante comum hoje em dia, e tal j´a foi confirmado no cap´ıtulo anterior atrav´es da figura 3.6. Com a facilidade de comunicac¸˜ao que existe actualmente ´e poss´ıvel estar sempre a par das ocorrˆencias. No ˆambito empresarial, e n˜ao s´o, a necessidade de obter a informac¸˜ao na hora ´e crucial para o bom desempenho dos funcion´arios. Um bom exemplo disso ´e a marcac¸˜ao de reuni˜oes e gest˜ao da agenda profissional. Sendo o email, o meio formal mais r´apido dispon´ıvel, surgiu a necessidade de gerir estes e outros tipos de eventos de uma forma mais simples e r´apida. E foi com base neste problema que surgiu a ideia de desenvolver uma funcionali-dade para a plataforma de webmail que fosse capaz de interpretar a informac¸˜ao recebida pelos utilizadores, process´a-la e apresent´a-la de uma forma mais simples e directa, de modo que a gest˜ao de informac¸˜ao se torne mais simples e expl´ıcita.

A detecc¸˜ao de eventos num email ´e uma das v´arias funcionalidades desenvolvidas neste projecto e tem como objectivo reconhecer padr˜oes que indiquem a presenc¸a de eventos num email e apresentar esses eventos numa interface que torne expl´ıcita a data, hora e o evento em si, e que, atrav´es de um clique, transfira a informac¸˜ao desse evento para a agenda do utilizador sem que este tenha o trabalho de o criar manualmente. A ideia

(35)

´e criar uma ponte entre o email e a agenda para que, desta forma, o utilizador n˜ao precise de memorizar o evento para depois o adicionar na agenda.

O analisador de informac¸˜ao contida no email ´e chamado quando o utilizador pretende abrir um email. Seleccionado o email, o analisador recebe a informac¸˜ao respectiva e inicia o processo de reconhecimento. Quando a plataforma recebe os resultados gera a p´agina com toda a informac¸˜ao (do email e do analisador). Pretende-se que, qualquer que seja a informac¸˜ao reconhecida pelo analisador, seja apresentada da forma mais subtil poss´ıvel. Esta ferramenta tem um papel de apoio na plataforma e n˜ao um papel principal. Quando o utilizador abre um email, parte-se do princ´ıpio que o seu objectivo ´e lˆe-lo, sendo que o excesso de informac¸˜ao no ecr˜a ir´a dispers´a-lo. Em suma, a informac¸˜ao est´a l´a, mas n˜ao de uma forma invasiva. No final, cabe ao utilizador decidir se pretende tirar partido dos recursos que lhe s˜ao disponibilizados.

Esta funcionalidade j´a foi encontrada em funcionamento na plataforma de email da Google, o Gmail, no entanto, ap´os alguns testes verificou-se que o seu estado de desen-volvimento ´e ainda muito prematuro pois a ferramenta revelou-se bastante fal´ıvel. Esta funcionalidade prop˜oe esse mesmo conceito, com a diferenc¸a que ser´a visualizada no contexto da secret´aria virtual.

O reconhecimento de padr˜oes ´e uma ´area bastante complexa dependendo do tema e contexto com que se est´a a trabalhar. Neste projecto, o foco principal s˜ao os emails, mais especificamente a informac¸˜ao contida neles. Os emails tˆem uma particularidade que torna este processo ainda mais complexo; o facto de serem completamente livres de regras, torna o contexto do conte´udo muito dif´ıcil de analisar. Os emails n˜ao s˜ao neces-sariamente formais e nessas condic¸˜oes torna-se muito dif´ıcil reconhecer padr˜oes. Um outro problema ´e que n˜ao existe um dom´ınio espec´ıfico, ou seja, nem todos os emails falam sobre o mesmo tema (medicina, futebol, neg´ocios, entre outros) podendo abordar v´arios dom´ınios, adoptam v´arios formatos e s˜ao escritos em v´arias l´ınguas n˜ao existindo tamb´em nenhum tipo de regras gramaticais (por vezes os textos s˜ao escritos com abre-viaturas e cal˜ao).

Tendo em conta este cen´ario, foram feitas bastantes pesquisas em livros e artigos cient´ıficos, com o objectivo de encontrar casos com problemas semelhantes no mesmo contexto (os emails) e estudar as soluc¸˜oes propostas. Chegou-se `a conclus˜ao que, para situac¸˜oes como esta, n˜ao existe nem ´e poss´ıvel atingir uma soluc¸˜ao infal´ıvel. No en-tanto, existem algoritmos de aprendizagem e classificac¸˜ao, como ´e o caso do algoritmo Bayesiano, que, tal como ser´a explicado na secc¸˜ao seguinte, utilizam casos previamente avaliados para conseguir classificar textos com um determinado grau de certeza.

(36)

4.2

Teorema de Bayes

4.2.1 Introduc¸˜ao Te´orica

Bayes, apesar de nunca ter exercido oficialmente a carreira de matem´atico, possu´ıa um amplo conhecimento de geometria e dominava todas as ´areas da matem´atica e filosofia da sua ´epoca. O primeiro artigo de Bayes, foi publicado com o t´ıtulo “Ensaio Voltado para Soluc¸˜ao de um Problema na Doutrina do Acaso” e explicava a forma como ele abor-dava os problemas propostos pelos matem´aticos anteriores a ele. O trabalho passou a ser conhecido como “Teorema de Bayes”, uma t´ecnica de estat´ıstica e estimativa que revolu-cionou uma das leis fundamentais da matem´atica [22].

O teorema de Bayes tem uma particularidade que ainda hoje gera bastante controv´ersia entre os matem´aticos mais conservadores, que ´e o seu car´acter subjectivo, ou seja, existe uma opini˜ao sobre os resultados baseada na quantidade de informac¸˜ao relativa ao facto de um evento ocorrer ou n˜ao. Essa informac¸˜ao influencia definitivamente os resultados da previs˜ao de um evento.

Hoje em dia o teorema de Bayes ´e aplicado em quase todas as ´areas do conhecimento e pesquisas cient´ıficas, desde as autoridades de sa´ude para prever o risco de epidemias at´e `as economias mundiais para prever a inflac¸˜ao.

Os resultados obtidos a partir do c´alculo da probabilidade variam entre 0 e 1, sendo 0 um evento imposs´ıvel de ocorrer, e 1 um evento certo de ocorrer. A f´ormula para o c´alculo da probabilidade segundo a lei de Bayes obt´em-se seguindo um conjunto de leis da probabilidade. De acordo com a definic¸˜ao da probabilidade condicional, a probabilidade de um evento A dado B ´e:

P(A | B) =P(A T

B)

P(B) (4.1)

Da mesma forma, a probabilidade de um evento B dado A traduz-se na seguinte ex-press˜ao:

P(B | A) =P(A T

B)

P(A) (4.2)

Combinado as duas express˜oes anteriores obtemos a seguinte equac¸˜ao:

P(A | B)P(B) = P(A\B) = P(B | A)P(A) (4.3)

Finalmente se ambos os lados forem divididos por P(B), sabendo que esta n˜ao ´e 0, obtem-se o teorema de Bayes:

P(A | B) = P(A T B) P(B) = P(B | A)P(A) P(B) (4.4)

(37)

P(A | B) = P(B | A)P(A)

P(B) (4.5)

onde,

P(A) : probabilidade `a priori de A sem o conhecimento de B P(A | B) : probabilidade condicional (`a posteriori) de A, dado B P(B | A) : probabilidade condicional (`a posteriori) de B, dado A P(B) : probabilidade `a priori de B sem o conhecimento de A

4.2.2 Da Teoria `a Pr´atica

Teoricamente, o teorema de Bayes encaixa perfeitamente no problema que se pretende resolver. Detectar eventos num email cujo conte´udo ´e demasiado vari´avel para reconhecer padr˜oes exige que este campo da matem´atica entre em acc¸˜ao. ´E certo que utilizando probabilidades, os resultados ser˜ao, em termos l´ogicos e racionais, os mais correctos, no entanto, isto n˜ao significa que na pr´atica seja assim t˜ao linear.

A aplicac¸˜ao do Teorema de Bayes na inform´atica ´e feita atrav´es do algoritmo Bayesiano. Este algoritmo simula o c´alculo da probabilidade de um evento ocorrer, dada uma base de conhecimento com eventos devidamente classificados. A performance deste algoritmo ´e directamente proporcional ao treino, ou seja, quanto mais informac¸˜ao houver sobre a classificac¸˜ao de eventos, maior ´e a probabilidade do algoritmo calcular com eficiˆencia a que grupo pertence determinado email. Um exemplo pr´atico da aplicac¸˜ao deste algoritmo pode ser encontrado em software anti-spam.

Neste projecto, o algoritmo Bayesiano ser´a utilizado para classificar emails que cont´em ou n˜ao eventos calendariz´aveis. Para isso foi necess´ario reunir uma amostra significativa de emails e classific´a-los manualmente em dois grupos: “Email com evento” e “Email sem evento”. Para obter esta amostra foram utilizados emails do dataset p´ublico da En-ron. Este ´e o dataset utilizado normalmente para trabalhos relacionados com emails pois cont´em uma parte da correspondˆencia electr´onica de v´arias contas de antigos fun-cion´arios da empresa Norte Americana Enron. De seguida, foi utilizado um m´odulo em Perl (AI::Categorizer), que se relevou bastante completo e f´acil de usar permitindo, com base numa amostra devidamente classificada, calcular a probabilidade de um determi-nado texto pertencer a um dos grupos acima referidos. A implementac¸˜ao do algoritmo Bayesiano deste m´odulo baseia-se na frequˆencia de palavras da base de conhecimento para obter informac¸˜ao sobre os factos e a partir da´ı realizar o c´alculo de acordo com o Teorema Bayesiano.

(38)

Foi criado um m´odulo que, recebendo o conte´udo de um email como input, o classifica utilizado o m´odulo AI::Categorizer e analisa os resultados obtidos. Dependendo do re-sultado, o algoritmo permite tamb´em que seja feita uma aprendizagem supervisionada,j´a referida no cap´ıtulo2, ou seja, se o utilizador n˜ao concordar com o resultado do algoritmo pode sempre classific´a-lo manualmente o que faz com que sejam ajustados os pesos dos casos de treino da base de conhecimento. Esta base de conhecimento encontra-se divi-dida em dois ficheiros de texto, um para o grupo “Email com evento” e outro para o grupo “Email sem evento”.

4.3

M´odulos Desenvolvidos

Para servir de apoio ao algoritmo Bayesiano explicado na secc¸˜ao anterior, surgiu a ne-cessidade de criar um conjunto de m´odulos que filtrem, organizem e tratem a informac¸˜ao de modo a que o resultado final seja o mais percept´ıvel poss´ıvel para o utilizador. De seguida ser˜ao explicados os m´odulos que est˜ao directamente relacionados com a detecc¸˜ao de eventos, de que forma ajudam o algoritmo bayesiano a gerar melhores resultados e de como devem esses resultados ser apresentados.

4.3.1 Dicion´ario

O Dicion´ario ´e um m´odulo que foi criado com o objectivo de apoiar alguns dos m´odulos desenvolvidos em certas tarefas que necessitem de um reposit´orio de vocabul´ario associado a valores, express˜oes, palavras, ou outros tipos de informac¸˜ao relevante. Este m´odulo ´e bastante simples. Tem apenas duas func¸˜oes cujo objectivo ´e recolher conjun-tos de dados de um reposit´orio e transformar essa informac¸˜ao em express˜oes regulares. O reposit´orio obedece a um determinado formato que n˜ao deve ser violado para que o m´odulo o saiba interpretar. Podem constar v´arios contextos no mesmo reposit´orio e cada contexto consiste num conjunto de pares chave-valor separados por uma v´ırgula, existindo apenas um par por linha. Quando a func¸˜ao encontra uma linha vazia ´e indicador de fim de contexto. Eis um exemplo da estrutura do reposit´orio:

Contexto A

<Palavra Aa>, <significado> <Express˜ao Ab>, <significado>

Contexto B

<Palavra Ba>, <significado> <Express˜ao Bb>, <significado>

Tanto o primeiro como o segundo token podem conter v´arios tipos de informac¸˜ao: palavras, n´umeros, express˜oes regulares, nomes de ficheiros, comandos de sistema, e

Referências

Documentos relacionados

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

Os principais objetivos deste projeto são o aumento da rentabilidade da unidade de Vilela, através da imputação de parte dos custos fixos aos produtos

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

Quando conheci o museu, em 2003, momento em foi reaberto, ele já se encontrava em condições precárias quanto à conservação de documentos, administração e organização do acervo,

Afinal de contas, tanto uma quanto a outra são ferramentas essenciais para a compreensão da realidade, além de ser o principal motivo da re- pulsa pela matemática, uma vez que é

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

O Departamento de Ar Isento de Óleo responde pela comercialização na Nigéria de compressores e equipamentos de ar comprimido, utilizados pela Indústria Pesada, nomeadamente