• Nenhum resultado encontrado

Flávia Rodrigues Costa. Predição de comportamento humano através de técnicas de Processamento de Linguagem Natural

N/A
N/A
Protected

Academic year: 2021

Share "Flávia Rodrigues Costa. Predição de comportamento humano através de técnicas de Processamento de Linguagem Natural"

Copied!
59
0
0

Texto

(1)

Flávia Rodrigues Costa, Predição de Comportamento Humano através de técnicas de Processamento de Linguagem Natural

Flávia Rodrigues Costa

Predição de comportamento humano através de

técnicas de Processamento de Linguagem Natural

Monografia de Final de Curso

28/08/2020

Monografia apresentada ao Departamento de Engenharia Elétrica da PUC/Rio como parte dos requisitos para a obtenção do título de Especialização em Business Intelligence.

Orientadores: Profª. Manoela Kohler

(2)

2

Dedicatória

Dedico este trabalho,

A todos aqueles que disponibilizam seu tempo em favor do aprendizado e desenvolvimento científico.

A minha família pelo incentivo e suporte.

A meus colegas de trabalho pela troca de conhecimento e aprendizado.

(3)

3

Agradecimentos

Aos professores do curso BI-Master Business Intelligence por terem me ajudado a vislumbrar novas perspectivas na minha carreira e permitido elevar meu nível de conhecimento.

A minha orientadora, a Profª. Manoela Kohler por todo o conhecimento compartilhado ao longo do curso e suporte na elaboração desta monografia.

Aos meus companheiros do curso BI-Master Business Intelligence por toda a troca e parceria.

(4)

4 RESUMO

Tarefas de senso comum ainda são desafiadoras visto que a inteligência de máquina possui originalmente uma desvantagem em relação ao cérebro humano por carecer de cultura e contexto das relações. Sendo a linguagem o maior insumo para entendimento do comportamento humano, as técnicas de processamento de linguagem natural (PLN) são adequadas para esse objetivo, tendo esse tipo de aprendizado diversas aplicações, sobretudo na área de computação afetiva. Com o crescimento de dados não estruturados, mais dados e técnicas para pesquisa em PLN tem surgido nos últimos anos. Nesta monografia foi explorado o datasetEvent2mind que contém anotações de intenções e emoções associadas a vários eventos que relatam o dia a dia de pessoas. Diversas técnicas de PLN foram aplicadas para exploração dos eventos estudados, no entanto um dos objetivos principais do presente trabalho é a previsão de intenções e emoções através de utilização de representações vetoriais de palavras e textos (gerados especificamente pelos algoritmos Word2Vec e Doc2Vec). Através dos vetores (embeddings) foram treinados diversos modelos de classificação para previsão de comportamento (intenções e emoções), e utilizando técnicas de agrupamento dos vetores também conseguimos analisar as nuances da linguagem que essa técnica permite captar.

(5)

5 ABSTRACT

Common sense tasks are still challenging, since machine intelligence originally has disadvantages compared to the human brain due to its lack of culture and relationships context. Since language is the best input for understanding human behavior, natural language processing (NLP) techniques are suitable for this purpose, having several applications, especially in affective computing. The growth of unstructured data allows the development of research in NLP, with more data and techniques emerging in the last years. In this monograph, the Event2mind dataset, which contains notes of intentions and emotions associated with various events reporting people's daily lives, was inspected. Several PLN techniques were applied to explore the events, yet one of the main goals of this work is the prediction of intentions and emotions through the use of vector representations of words and texts (generated specifically by the Word2Vec and Doc2Vec algorithms). Through the vectors (embeddings) several classification models were applied to predict behavior (intentions and emotions) and using vector grouping techniques we were also able to analyze the language nuances that this technique allows to find.

(6)

6

LISTA DE FIGURAS

Figura 1 - Crescimento de dados coletados, impulsionado por dados não estruturados………...18

Figura 2 - Aplicação de parser elaborado pela Universidade de Stanford ………...23

Figura 3 - Os estágios de análise em processamento de linguagem natural……....24

Figura 4 - Comparação entre uma representação vetorial com uma matriz esparsa e uma matriz densa para a palavra “cat“, no contexto da frase “The cat sat on the mat”...25

Figura 5 - Exemplo de contextos para a palavra “dor” em uma sentença que descreve sintomas de uma doença………...……….…...26

Figura 6 - Representação de contextos positivos e negativos, considerando uma janela de quatro palavras………....27

Figura 7 - Diferença entre as arquiteturas apresentada por Mikolov (2013)...28

Figura 8 - Ranking de palavras ordenadas pela similaridade de Cossenos em relação a palavra “france”...29

Figura 9 - Esquema para aprendizado do vetor de parágrafo. ………...29

Figura 10 - Esquema para aprendizado do vetor de parágrafo na versão PV-DBOW………....…...…….….30

(7)

7

Figura 12 - Fontes de dados (corpora) no dataset Event2Mind………...32

Figura 13 - Contagem de intenções (campo “Xintent”) mostrando muitos registros sem anotação………...……...32

Figura 14 - Contagem de classificações de polaridade (campo “Xsent”) com registros sem anotação ………..………..………...33

Figura 15 - Esquema das tarefas de classificação propostas no trabalho………...34

Figura 16 - Gráfico de distribuição da polaridade (1 = negativa a 5 = positiva)...35

Figura 17 - Intenções e Emoções com polaridade mais negativa (XSent = 1)...36

Figura 18 - Wordcloud de Eventos com polaridade mais negativa (XSent = 1)...36

Figura 19 - Intenções e Emoções com polaridade neutra (XSent = 3)...36

Figura 20 - Wordcloud de eventos com polaridade neutra (XSent = 3)...37

Figura 21 - Intenções e Emoções com polaridade mais positiva (XSent = 5)...37

Figura 22 - Wordcloud de Eventos com polaridade mais positiva (XSent = 5)...37

Figura 23 - Intenções menos frequentes no dataset ordenada de forma alfabética……….………...38

Figura 24 - Embeddings de eventos com redução de dimensionalidade e marcação de classe K-means………...…...40

(8)

8

Figura 26 - Embeddings de Intenções com redução de dimensionalidade (2D)...41

Figura 26b - Embeddings de Intenções com redução de dimensionalidade (3D)...41

Figura 27 - Análise de palavras similares no modelo de Intenções………...42

Figura 28 - Embeddings de emoções com redução de dimensionalidade (2D)...43

Figura 28b - Embeddings de emoções com redução de dimensionalidade (3D)...43

Figura 29 - Análise de palavras similares no modelo de emoções………..44

Figura 30 - Gráfico mostrando representatividade das 5 palavras mais importantes em cada agrupamento (clusters 0 a 6)...45

Figura 31 - Gráficos de percentual de polaridade positiva e negativa por cluster, para a pessoa X e Y………...………...………….…..46

Figura 32 - Gráfico mostrando representatividade das 5 palavras mais importantes em cada agrupamento (clusters 0 a 6).………...………...………...…...47

Figura 33 - Gráficos de percentual de polaridade positiva e negativa por cluster, para a pessoa X e Y.………...………...………...………...………....47

(9)

9

LISTA DE TABELAS

Tabela 1 - Evolução do Estudo de PLN………...…...…...…..……...…...…...…….….16

Tabela 2 - Composição de categorias gramaticais no projeto Corpus Brasileiro…...17

Tabela 3 - Resumo das acurácias nos modelos com input de embeddings de eventos.……...…...…...…..……...…...…...…..……...…...…...…..……....…...…...…...49

Tabela 4 - Matriz de confusão de predição de classes de emoção a partir de eventos.……...…...…...…..……...…...…...…..……...…...…...…..……...…...…....…..50

Tabela 5 - Matriz de confusão de predição de classes de emoção a partir de eventos……...…...…...…..……...…...…...…..……...…...…...…..……...…...…...…...50

Tabela 6 - Matriz de confusão de predição de polaridade de emoção a partir de eventos……...…...…...…..……...…...…...…..……...…...…...…..……...…...…..…....51

Tabela 7 - Resumo das acurácias nos modelos com input de embeddings de intenções……...…...…...…..……...…...…...….……...…...…...…..……...…...…..…...51

Tabela 8 - Matriz de confusão de predição da polaridade de emoção a partir de intenções……...…...…...…..……..…...…...…..……...…...…...…..……...…...…...…..51

Tabela 9 - Matriz de confusão de predição da classe de emoção a partir de intenções……...…...…...…….…...…...…...…..……...…...…...…..……...…...…..52

Tabela 10 - Avaliação de frases de eventos para predição de intenções e emoções

utilizando os melhores modelos

(10)

10

Sumário

1. INTRODUÇÃO...11 1.1 MOTIVAÇÃO...12 1.2 OBJETIVOS DO TRABALHO...12 1.3 DESCRIÇÃO DO TRABALHO...12 1.4 ORGANIZAÇÃO DA MONOGRAFIA ...13 2. DESCRIÇÃO DO PROBLEMA ...14

2.1 LINGUAGEM E COMPORTAMENTO HUMANO...14

2.2 LINGUÍSTICA COMPUTACIONAL...15

2.3 DEFINIÇÃO DE CORPUS LINGUÍSTICO...16

2.4 BIG DATA E DADOS NÃO ESTRUTURADOS...17

2.5 TEXT ANALYTICS...18

2.6 TRABALHOS RELACIONADOS...20

3 METODOLOGIAS ...22

3.1 TAREFAS DE PLN...22

3.2 RELAÇÕES ENTRE PALAVRAS...24

3.3 WORD EMBEDDING...25

3.4 WORD2VEC...26

3.5 REPRESENTAÇÕES DISTRIBUÍDAS DE TEXTO...29

4 ARQUITETURA DO SISTEMA PROPOSTO...31

4.1 DATASET...31 4.2 TAREFAS GERAIS...33 5 RESULTADOS...35 5.1 ANÁLISE EXPLORATÓRIA...35 5.2 PRÉ PROCESSAMENTO...38 5.3 EMBEDDINGS...39

5.3 CLUSTERS DE INTENÇÕES E EMOÇÕES...44

5.3.1 CLUSTER DE INTENÇÕES ...45

5.3.2 CLUSTER DE EMOÇÕES...46

5.4 TAREFAS DE CLASSIFICAÇÃO...48

6 CONCLUSÕES E TRABALHOS FUTUROS...54

(11)

11

1. INTRODUÇÃO

Compreender uma narrativa requer raciocínio de bom senso sobre os estados mentais de pessoas em relação a eventos. Por exemplo, se "Alex está arrastando os pés no trabalho", uma das hipóteses para a intenção do indivíduo pode ser que ele está procrastinando o trabalho. Também podemos inferir que a reação emocional do indivíduo pode ser se sentir "preguiçoso" ou "entediado". Além disso, embora não seja explicitamente mencionado, podemos inferir que outras pessoas são afetadas pela situação, e essas pessoas podem demonstrar estados emocionais de frustração e impaciência (RASHKIN, SAP, ALLAWAY, SMITH, CHOI, 2018). A modelagem desse tipo de evento e das emoções humanas pode não ser, a princípio, uma tarefa trivial para o aprendizado de máquina.

Nas últimas décadas, as descobertas nos campos da neurociência e psicologia sobre emoções estão atraindo cada vez mais pesquisadores das áreas de ciência da computação e inteligência artificial (SPINOLA; GUDWIN, QUEIROZ, 2005). O maior interesse nessas áreas são as crenças de que as emoções têm um papel essencial nos processos cognitivos, competências para resolução de problemas e tomada de decisão em seres humanos. Essas descobertas foram fundamentais para produzir um número crescente de projetos teóricos e experimentais, tanto em Inteligência Artificial como Alife (Artificial Life ou Vida Artificial) e atualmente duas áreas de ciência da computação usam emoção em suas pesquisas. A primeira área lida com a interação homem-computador que se concentra nas interações entre homem e máquina e possíveis melhorias nessa relação. A intenção do pesquisador é determinar ferramentas de engenharia de desenvolvimento para medir, modelar e responder às emoções com novos sensores, algoritmos e dispositivos de hardware. “Computação afetiva”, é um termo cunhado utilizado para classificar projetos nesta categoria. A segunda área envolve sistemas de arquitetura interna baseados em emoções com uma tentativa de incluir emoções nos processos de máquinas, como uma 'emoção artificial'. Em geral, projetos baseados em emoções esperam que incluindo um modelo de emoção no sistema computacional, eles possam melhorar o desempenho da máquina em termos de competência para tomada de decisão, seleção de ações, controle de comportamento e sistema autônomo e resposta confiável.

A inferência sobre intenções e estados emocionais de indivíduos quando não são explicitamente mencionadas, pode se utilizar de uma ampla gama de aplicações de Processamento de Linguagem Natural (RASHKIN et al, 2018).

A linguagem, sendo gerada através de interações humanas se torna um dos maiores insumos para o campo da inteligência artificial no estudo do comportamento humano, especialmente em formato de texto, sendo produzido em larga escala nos dias de hoje. Com a naturalização da relação entre homem e máquina, propiciado principalmente pelo uso de celulares, o Processamento da Linguagem Natural ou PLN, tem ganhado um papel central, e suas tecnologias têm se tornado cada vez mais difundidas (BIRD; KLEIN, LOPER, 2009). As técnicas computacionais para PLN podem ser simples como contagem de palavras ou mais complexas, podendo envolver o aprendizado de máquina para entendimento de enunciados.

(12)

12 1.1 MOTIVAÇÃO

A predição de comportamento humano é uma difícil tarefa para o aprendizado de máquina. No entanto o ganho de informação tem aplicação em vários campos. Trabalhos anteriores sobre inferência de linguagem natural são focados na vinculação linguística como (Bowman et al., 2015; Bos e Markert, 2005), enquanto o trabalho desenvolvido por Rashkin (2018) foca na inferência baseada no senso comum. Seu trabalho buscou gerar deduções a partir de sentenças, com modelos capazes de inferir informações implícitas sobre estados mentais que não foram estudadas pela maioria dos sistemas anteriores. O dataset colaborativo gerado por esse trabalho abre também novas possibilidades de aplicações técnicas.

Em um artigo sobre computação afetiva, Paradeda (2020) fala sobre os usos dessa nova e pouco explorada área da computação. De forma geral, a predição do comportamento e emoções humanas na inteligência artificial pode ter as aplicações citadas abaixo:

● Chatbots para uso empresarial; ● Robôs de Companhia;

● Sistemas de automação em veículos;

● Aplicativos ou sistemas de apoio psicológico; ● Pesquisa sociológica;

● Mapeamento de tipos psicológicos para seleção de emprego, perfil criminal, entre outros.

1.2 OBJETIVOS DO TRABALHO

Esta monografia explora o uso de PLN em um corpus de ações, intenções e emoções humanas. Dessa forma os objetivos principais são:

(a) Exploração do dataset Event2Mind, que contém intenções e emoções humanas, utilizando técnicas de PLN;

(b) Utilização de algoritmos de criação de representações vetoriais (embeddings) em palavras e textos que exprimem intenções e emoções;

(c) Utilização das saídas dos algoritmos mencionados no item (b) para classificação de emoções e intenções, explorando as chamadas tarefas de senso comum em PLN.

1.3 DESCRIÇÃO DO TRABALHO

O desenvolvimento dessa monografia envolveu cinco etapas:

Estudo dos métodos de PLN, e de técnicas de representações vetoriais de palavras e textos (WORD2VEC e DOC2VEC);

(13)

13 Aplicação dos algoritmos de representações vetoriais nas descrições de eventos, intenções e emoções;

Criação de agrupamentos e classificadores para intenções e emoções; Análise dos resultados.

1.4 ORGANIZAÇÃO DA MONOGRAFIA

Esta monografia está dividida em quatro capítulos adicionais, descritos a seguir: O capítulo 2 descreve o problema fundamental: o entendimento do comportamento e emoções humanas através da linguagem e como isso pode ser fomentado através da inteligência artificial.

O capítulo 3 fundamenta as metodologias: PLN, suas técnicas e os algoritmos de

Embeddings explorados: Word2Vec e Doc2Vec.

O capítulo 4 detalha a arquitetura do sistema proposto. O capítulo 5 apresenta os resultados obtidos.

Finalmente, o capítulo 6 apresenta as conclusões do trabalho e identifica possíveis trabalhos futuros.

(14)

14 2. DESCRIÇÃO DO PROBLEMA

A linguagem é um dos maiores insumos ao entendimento do comportamento humano. Ela cria a sociedade, expressa nossas maiores aspirações, nossos pensamentos mais básicos, emoções e filosofias de vida. Toda linguagem está, em última análise, a serviço da interação humana (EVERETT, 2019).

A linguagem nunca será inteiramente compreendida sem um conjunto, compartilhado de valores, estruturas sociais e relações de conhecimento. Todas as línguas do planeta apontam para as expressões de pensamento, restritas pela gramática, motivadas pelo significado ou ligadas socialmente.

De acordo com Everett (2019) quanto ao papel do cérebro na linguagem, é preciso ser cauteloso diante da ideia popular de que o cérebro é um computador. Um computador é um artefato muito diferente de um órgão por carecer de cultura.

Dessa forma, trabalhar com linguagem natural torna-se um desafio. Goldberg (2017) ressalta o quanto a linguagem humana é altamente ambígua e em constante evolução. Pessoas são ótimas na produção e compreensão de linguagem, além de serem capazes de expressar, perceber e interpretar significados muito elaborados e sutis. Ao mesmo tempo, enquanto nós, humanos, somos grandes usuários da linguagem, também temos dificuldade no entendimento e descrição das regras que governam a linguagem.

2.1 LINGUAGEM E COMPORTAMENTO HUMANO

Na definição de Fiorin (2013), a linguagem é a capacidade específica da espécie humana de se comunicar por meio de signos.

Hjelmslev ressalta a importância da linguagem em citação feita por Fiorin: A linguagem [...] é uma inesgotável riqueza de múltiplos valores. A linguagem é inseparável do homem e segue-o em todos os seus atos. A linguagem é o instrumento graças ao qual o homem modela seu pensamento, seus sentimentos, suas emoções, seus esforços, sua vontade e seus atos, o instrumento graças ao qual ele influencia e é influenciado, a base última e mais profunda da sociedade humana (1975: 1-2)

Everett discorre sobre o surgimento da linguagem:

A linguagem surgiu através de símbolos inventados culturalmente. Os humanos ordenaram esses símbolos iniciais e formaram símbolos superiores a partir deles. Ao mesmo tempo, os símbolos foram acompanhados por gestos e pela modulação da altura da voz: a entonação. Os gestos e a entonação funcionam conjunta e individualmente para chamar a atenção, para tornar perceptivamente mais salientes alguns dos símbolos usados em um enunciado – os mais relevantes para o ouvinte. Esse sistema de símbolos, ordenamento, gestos e entonação surgiu cooperativamente; cada componente adicionando alguma coisa que levou a algo mais intrincado, mais eficaz. Nenhum desses componentes era parte da linguagem até que todos eles fossem – há quase

(15)

15 dois milhões de anos. A linguagem foi culturalmente inventada e modelada e tornou - se possível por causa dos cérebros maiores e mais densos. Essa combinação de cérebro e cultura explica por que somente os humanos têm sido capazes de falar até agora. (EVERETT, 2019).

Em capítulo sobre a neurociência cognitiva da aquisição da linguagem humana, Stromswold (2000) afirma que a capacidade de aprender um idioma é uma habilidade exclusivamente humana. A aquisição de idiomas é um tópico importante em neurociência cognitiva. Talvez a questão mais fundamental sobre aquisição de linguagem seja até que ponto a capacidade de aprender a língua é o resultado de mecanismos ou predisposições inatas. Existem evidências de mecanismos inatos que predispõe crianças a perceberem estímulos linguísticos. Isso ocorre devido ao desenvolvimento de regiões do cérebro que já estão funcionais e anatomicamente desenvolvidas no nascimento. Aliado a isso, a exposição a estímulos linguísticos, e culturais, geram um ajuste fino neural que é necessário para a aquisição da linguagem.

2.2 LINGUÍSTICA COMPUTACIONAL

Na definição de Vieira (2004), a Linguística Computacional preocupa-se com a compreensão da língua e de técnicas computacionais adequadas para o tratamento da língua escrita e falada, tanto para sua interpretação como sua geração.

De acordo com Da Silva (2006), o estudo computacional da linguagem tem sido desenvolvido desde os anos 50, conforme mostrado abaixo na tabela 1.

(16)

16 Tabela 1 - Evolução do Estudo de PLN

Da Silva (2006) também ressalta que uma peculiaridade desse domínio de pesquisa é o fato de agregar uma heterogeneidade de objetivos: desde investigar meios de empregar o computador como ferramenta para investigar material lingüístico (por exemplo, a criação de programas para calcular estatísticas de ocorrências de palavras em textos ou para indexar palavras e segmentos de texto), até a meta de criar uma inteligência artificial.

2.3 DEFINIÇÃO DE CORPUS LINGUÍSTICO

Em linguística, um corpus é uma coleção de dados linguísticos (geralmente contidos em um banco de dados) usado para pesquisa acadêmica e ensino. O plural de corpus é uma corpora (Nordquist, 2020). O primeiro corpus computacional organizado sistematicamente foi o Corpus Standard da Brown University do inglês americano atual (comumente conhecido como Corpus Brown), compilado na década de 1960 pelos linguistas Henry Kučera e W. Nelson Francis.

Na língua portuguesa temos como exemplo o captado pelo projeto Corpus Brasileiro. A tabela 2 mostra a composição dos dados.

(17)

17 Tabela 2 - Composição de categorias gramaticais no projeto Corpus Brasileiro:

Kennedy (2016), aponta que um corpus constitui uma base empírica não apenas para identificar os elementos e padrões estruturais que compõem os sistemas que usamos em uma linguagem, mas também para mapear nosso uso desses sistemas. Um corpus pode ser analisado e comparado com outras corpora. Mais importante, ele pode ser analisado para mostrar com que frequência determinadas características fonológicas, lexicais, gramaticais, discursivas ou pragmáticas ocorrem, e onde elas ocorrem.

De acordo com Nordquist (2020) uma corpora pode conter vários tipos de linguagem. Por exemplo, existem corpora de linguagem falada e de linguagem escrita. Além disso, alguns corpora de vídeo registram recursos paralinguísticos, como gestos.

2.4 BIG DATA E DADOS NÃO ESTRUTURADOS

Segundo Dumbill (2012), Big Data é o tipo de dado que excede a capacidade de processamento dos sistemas de banco de dados tradicionais, e que se tornou viável à medida que surgiram abordagens econômicas para domar o volume, a velocidade e a variabilidade de dados massivos. Dentro desses dados, encontram-se padrões e informações valiosos, anteriormente ocultos devido à quantidade de processamento necessário para extraí-los. Raramente os dados se apresentam de uma forma perfeitamente ordenada e pronta para processamento. Os dados de origem são diversos e não se enquadram em estruturas relacionais organizadas, como por exemplo: texto de redes sociais, dados de imagem, ou um feed bruto diretamente de um sensor. Dumbill (2012) também aponta que um uso comum do processamento de Big Data é a obtenção de dados não estruturados para extração de significado ordenado, para consumo humano ou como entrada estruturada para um aplicativo. Um exemplo é a análise de entidade, que é o processo de determinar a que um nome se refere.

De acordo com Eberendu (2016), levantamentos recentes mostram que os dados estruturados representaram apenas 23,7% das informações nas organizações, enquanto os dados não estruturados representam 61,8%.

Conforme mostrado na figura 1, com dados coletados pela Credit Suisse, em 2017 o crescimento dos dados não estruturados organizacionais foi de 79,2%.

(18)

18 Figura 1 - Crescimento de dados coletados, impulsionado por dados não estruturados. Fonte: Credit Suisse.

Gandomi (2015) afirma que de acordo com a definição cunhada pela IBM, pode-se incluir veracidade como o quarto V do Big Data (além de volume, variedade e velocidade), o que representa a falta de confiabilidade inerente a algumas fontes de dados. Como exemplo, podemos citar os sentimentos dos clientes nas mídias sociais cuja natureza é incerta, pois envolvem julgamento humano. No entanto, eles contêm informações valiosas. A necessidade de lidar com dados imprecisos e incertos é outra faceta do Big Data, abordada utilizando ferramentas e análises desenvolvidas para gerenciamento e mineração de dados. O processamento de texto não estruturado alimentado pelo influxo maciço de dados de mídias sociais gera valor comercial, porém inicialmente adotou técnicas convencionais de análise de sentimentos (pré Big Data).

2.5 TEXT ANALYTICS

Na definição de Gandomi (2015) Text Analytics (ou mineração de texto) refere-se a gama de técnicas que extraem informações de dados textuais. Feeds de redes sociais, e-mails, blogs, fóruns on-line, respostas a pesquisas, documentos corporativos, notícias e registros de call center são exemplos de dados de texto. A análise de texto envolve análise estatística, linguística computacional e aprendizado de máquina. A análise de texto permite que se convertam grandes volumes de texto gerado por humanos em resumos significativos, que suportam a tomada de decisão baseada em evidências. Os principais temas em Text Analytics são:

a) Extração de informações - extraem dados oriundos de texto não estruturado. Duas subatividades da extração de informações são: reconhecimento de entidades e extração de relacionamento. Por exemplo, algoritmos podem extrair informações estruturadas, como nome, dosagem e frequência de medicamentos, de prescrições médicas.

(19)

19 b) Sumarização de texto - produz automaticamente um resumo sucinto de um

ou vários documentos. O resumo resultante transmite as informações principais dos textos originais. As aplicações incluem artigos científicos e de notícias, anúncios, e-mails e blogs. Em termos gerais, a sumarização segue duas abordagens: a abordagem extrativa e a abordagem abstrata. Na sumarização extrativa, um resumo é criado a partir das unidades de texto originais (geralmente frases). O resumo resultante é um subconjunto do documento original. As técnicas de compactação presentes na metodologia extrativa não exigem um "entendimento" do texto. Em contraste, as técnicas de resumo abstratas retiram informações semânticas do texto. Os resumos contêm unidades de texto que não estão necessariamente presentes no texto original, apenas seu significado.

c) Resposta a perguntas - fornecem respostas para perguntas feitas em linguagem natural. Siri da Apple e o Watson da IBM são exemplos de sistemas comerciais de controle de qualidade. Esses sistemas foram implementados nos setores de saúde, finanças, marketing e educação. As técnicas de perguntas e respostas são classificadas em três categorias: a abordagem baseada em recuperação de informações (information retrieval ou IR), a abordagem baseada no conhecimento e a abordagem híbrida. Sistemas baseados em IR geralmente têm três subcomponentes. O primeiro é o processamento da pergunta, usado para determinar detalhes, como o tipo de pergunta, o foco da pergunta e o tipo de resposta, usados para criar uma consulta. O segundo é o processamento de documentos para recuperar passagens pré-escritas relevantes de um conjunto de documentos existentes usando a consulta formulada no processamento de perguntas. Terceiro, o processamento de respostas, usado para extrair respostas elegíveis da saída do componente anterior, classificá-las e retornar ao candidato aquela com a melhor classificação.

d) Análise de sentimento (ou mineração de opinião) - analisam textos que contém opiniões de pessoas em relação a entidades como produtos, organizações, indivíduos e eventos. São divididas em três subgrupos: a nível de documento, de sentença e de aspecto. As técnicas no nível do documento determinam se o documento inteiro expressa um sentimento negativo ou positivo. Enquanto certas técnicas categorizam um documento em duas classes, negativa e positiva, outras incorporam mais classes de sentimentos. As técnicas no nível da frase também visam determinar polaridade, porém devem primeiro distinguir frases subjetivas das objetivas e portanto, tendem a ser mais complexas em comparação com as técnicas no nível do documento. As técnicas baseadas em aspectos reconhecem todos os sentimentos em um documento e identifica os aspectos da entidade a que cada sentimento se refere. Por exemplo, as análises de produtos de clientes geralmente contêm opiniões sobre diferentes aspectos (ou recursos) de um produto. Usando técnicas baseadas em aspectos, o fornecedor pode obter informações valiosas sobre os diferentes recursos do produto que seriam perdidos se o sentimento fosse classificado apenas em termos de polaridade.

(20)

20 2.6 TRABALHOS RELACIONADOS

Vieira (2004) afirma que grande parte dos problemas de pesquisa em PLN está relacionada com a ambiguidade, referências ao contexto e a dificuldade de representação de conhecimento do senso comum, todos fatores muito presentes na interpretação da língua.

Alm (2005) desenvolveu um trabalho para predição de emoções baseada em texto com o objetivo de classificar a afinidade emocional das frases no domínio narrativo dos contos de fadas de crianças. O estudo de Alm aborda dois problemas básicos: primeiro, que emoções descrevem mais apropriadamente uma certa passagem de texto. Segundo, dada uma passagem de texto e uma marcação emocional especificada, como renderizar o contorno prosódico de forma a transmitir conteúdo emocional. No entanto, a classificação feita no estudo abrange um grupo limitado de emoções ou polaridades.

Nos últimos anos, vários estudos aplicaram abordagens computacionais para a compreensão e modelagem do comportamento humano em escala, como Yin (2014) que analisou o comportamento de usuários em redes sociais levando em conta também o elemento temporal para explicar suas intenções e preferências. Para isso utilizou a abordagem de sistemas de recomendação.

De acordo com Cambria (2016), compreender as emoções é um aspecto importante do desenvolvimento e crescimento pessoal e, como tal, é um elemento-chave para a emulação da inteligência humana. Além de ser importante para o avanço da Inteligência Artificial, o processamento emocional também é importante para a tarefa intimamente relacionada à detecção de polaridade.

Trabalhos anteriores se basearam principalmente em dispositivos específicos ou plataformas que exigem definições estruturadas de comportamentos a serem medidos. O presente trabalho utiliza o dataset Event2Mind desenvolvido no projeto conduzido por Rashkin (2018) que realizou uma classificação da intenção dos eventos captados em corpus linguísticos de forma colaborativa, com o intuito de mostrar que era possível a construção de modelos computacionais para inferência de atividades humanas. Os eventos coletados fazem deste dataset um ótimo recurso para busca de exemplos concretos de atividades humanas, fornecendo

outputs mais amplos que a polaridade de emoções e intenções. No trabalho de

Rashkin, a técnica aplicada foi uma rede neural recorrente encoder-decoder. Wilson (2019) também utiliza o dataset Event2Mind para predição de atividades humanas, fazendo um match das atividades levantadas com as relatadas em postagens captadas pelo API do Twitter, dessa forma aumentando o domínio do estudo. Uma vez criados clusters das ações levantadas, a ideia do trabalho foi predizer a chance de um usuário engajar em uma determinada atividade. O algoritmo para classificação utilizado foi uma rede neural LSTM utilizando encoders para dados de input.

No site NPL in progress são acompanhados os trabalhos mais recentes de vários tipos de tarefas de PLN. Na categoria de tarefas de senso comum (disponível em

http://nlpprogress.com/english/common_sense.html), também é mencionado o

(21)

21 ● SWAG (Situations with Adversarial Generations) - Questões de múltipla

escolha sobre como proceder em determinadas situações (Zellers, 2018); ● Winograd Schema Challenge - O sistema deve identificar o antecedente de

um pronome ambíguo em uma declaração. Exemplo: O troféu não cabe na mala porque é muito grande. O que é muito grande? Resposta 0: o troféu. Resposta 1: a mala (Levesque, 2012);

● Visual Commonsense Reasoning (VCR) - Tarefa para a compreensão visual no nível da cognição. Ao examinar uma imagem, podemos inferir facilmente a atividade executada (por exemplo, [pessoa1] pediu panquecas). Embora essa tarefa seja fácil para os seres humanos, é muito difícil para os sistemas de visão de hoje, exigindo cognição de ordem superior e raciocínio de senso comum sobre o mundo. Além de responder a perguntas visuais desafiadoras expressas em linguagem natural, um modelo deve fornecer uma justificativa explicando por que sua resposta é verdadeira (Zellers, 2019);

● ReCoRD (Reading Comprehension with Commonsense Reasoning Dataset) - É um conjunto de dados de compreensão de leitura que requer raciocínio de senso comum. ReCoRD consiste em consultas geradas automaticamente a partir de artigos de notícias da CNN e Daily Mail; a resposta para cada consulta é um intervalo de texto de uma passagem resumida das notícias correspondentes. O objetivo do ReCoRD é avaliar a capacidade de uma máquina de raciocínio de senso comum na compreensão da leitura (Zhang, 2018).

No tocante a trabalhos com a língua portuguesa, Freitas (2013) descreve o desenvolvimento de um léxico com elementos afetivos da língua, que foi criado com dois objetivos: fornecer subsídios para uma aplicação de técnicas de PLN e contribuir para a caracterização do vocabulário afetivo da língua portuguesa, sobretudo em contextos informais (corpus Reli, disponível em

(22)

22 3 METODOLOGIAS

Segundo a definição de Bird (2009), as técnicas de PLN podem ser definidas de uma forma ampla, para descrever qualquer tipo de manipulação por computador da linguagem natural. Essa manipulação pode ser tão simples quanto a contagem de frequências de palavras para comparar diferentes estilos de escrita. No outro extremo, o PNL envolve a compreensão de enunciados humanos, pelo menos ao ponto de possibilitar a extração de respostas proveitosas.

As técnicas empregadas no presente trabalho estão dentro do campo de domínio da PLN. Serão detalhadas as tarefas gerais de PLN e também um enfoque nas técnicas aplicadas: Word Embeddings e os algoritmos Word2Vec e Doc2Vec.

3.1 TAREFAS DE PLN

A linguagem pode ser estudada com dois grandes objetivos: o seu próprio entendimento, ou entendimento de seu significado com o propósito de geração de linguagem natural. Um resumo feito em vídeo tutorial pela plataforma de ensino

Edureka (Disponível em https://www.youtube.com/watch?v=5ctbvkAMQO4), são apresentadas as tarefas técnicas para atingir os objetivos mencionados em PLN:

a) Pré-processamento - É o primeiro passo em PLN, necessário para permitir tratamentos mais avançados. Trata-se de remoção de palavras ou termos que não transmitem significado (stopwords), assim como remoção de acentos, maiúsculos e qualquer outro processo de normalização das palavras. Palavras ou termos não padronizados podem afetar tanto análises mais simples como complexas;

b) Tokenização - Se refere a tarefa computacional de delimitar palavras num texto. Também pode ser referido como segmentação de palavras;

c) Segmentação de sentença - Da mesma forma que a Tokenização, nessa tarefa é realizada uma delimitação da sentença inteira, ou seja, do agrupamento de palavras formando um significado. Nesse tipo de tarefa (segmentação de palavras ou texto) é necessário encontrar o delimitador e isso pode ser mais desafiador a depender da língua estudada;

d) Stemming - É o processo de normalizar as palavras de acordo com sua raiz. Na palavra “amoroso” por exemplo, encontramos o radical “amor”. Agrupar palavras com a mesma raiz no mesmo radical (ou termo de indexação) pode aumentar a taxa de sucesso ao corresponder documentos a uma consulta; e) Lematização - Essa tarefa se concentra na análise morfológica da palavra.

De forma similar ao Stemming a Lematização também reduz várias palavras a um termo comum, porém o output nesse caso é uma palavra que não necessariamente compartilha o mesmo radical. Por exemplo, as conjugações que dão origem às palavras “fui”, “ido”, “indo” e “foram” estão associadas ao verbo “ir”;

f) Etiquetagem Morfológica ou Part-of-speech tagging (POS) - Essa tarefa atribui classes morfológicas às palavras. Essa análise além de sua importância para entendimento de uma língua específica, consegue

(23)

23 possibilitar o desenvolvimento de outras tarefas em PLN. Ao classificar a palavra “saudade” com um substantivo, por exemplo, algoritmos podem conseguir distinguir mais facilmente seu significado;

g) Reconhecimento de entidade - Utiliza marcação e análise parcial na identificação das entidades e nos relacionamentos entre essas entidades. Por exemplo, na sentença “O presidente do Brasil discursou no Rio de Janeiro”, podemos reconhecer diversas entidades como (presidente = cargo público), (Brasil = localização/país) e (Rio de Janeiro = localização);

h) Chunking ou Análise sintática superficial - Realiza o agrupamento de elementos linguísticos (baseado na categoria morfológica das palavras); i) Análise sintática ou Parsing - Constrói a estrutura sintática da sentença,

baseada na gramática formal. A representação é feita através de uma árvore sintática complexa, em que podem ser verificadas relações entre as palavras. Existem muitos pontos em comum entre as tarefas de Etiquetagem Morfológica, Análise Sintática superficial e a Análise Sintática completa. A figura 2 mostra um

parser hospedado no site da Universidade de Stanford que realiza algumas das

tarefas citadas:

Figura 2 - Aplicação de parser elaborado pela Universidade de Stanford (disponível em http://nlp.stanford.edu:8080/parser/index.jsp)

Conforme apresentado na figura 2, na frase em inglês “My cat loves tuna” (“Meu gato ama atum”), é aplicada inicialmente a etiquetagem morfológica (tagging). Na seção parse vemos a árvore sintática onde são identificados o pronome, o verbo e os substantivos. Na parte inferior, numa análise mais complexa, vemos a relação de dependência entre as palavras (gato-meu, gato-ama, etc).

(24)

24 Não se verifica um consenso na classificação e hierarquia das tarefas de PLN, porém a maioria daquelas citadas são mencionadas por autores como Jurafsky (2000), compiladas por Stiilpen Júnior (2016), e Indurkhya (2010). As quatro primeiras tarefas são incluídas em uma geral chamada de Normalização de texto por Jurafsky (2000).

Considerando as tarefas citadas, é possível notar que existe uma complexidade crescente com relação ao significado, não necessariamente ligada a complexidade computacional da tarefa. Indurkhya (2010) mostra a hierarquia de análise da linguagem, conforme esquema na figura 3.

Figura 3 - Os estágios de análise em processamento de linguagem natural (adaptado de Indurkhya, 2010).

3.2 RELAÇÕES ENTRE PALAVRAS

De acordo com Jurafsky (2014), a noção de similaridade entre palavras é muito útil em tarefas semânticas maiores, sendo muito utilizado em PLN. A noção de similaridade não se restringe apenas a sinônimos. As palavras “gato” e “cão” não são sinônimas, mas certamente são similares.

Além de similaridade, também existe o conceito de relacionamento entre palavras. Nas palavras “café” e “caneca”, por exemplo, não encontramos características em comum (café é um grão e caneca, um objeto). No entanto é possível verificar que essas palavras têm um relacionamento.

Outro tipo comum de relacionamento entre palavras é o campo semântico. Um campo semântico é um conjunto de palavras que cobrem um domínio específico e mantêm relações estruturadas entre si. As palavras podem estar relacionadas por estar incluídas, por exemplo, no campo semântico “hospitais”: cirurgião, bisturi,

(25)

25 enfermeira, anestesia, hospital. Intimamente relacionada aos campos semânticos está a idéia de um quadro semântico. Um quadro semântico é um conjunto de palavras que denotam perspectivas ou participantes de um determinado tipo de evento. Considerando por exemplo o evento “transação comercial”, este pode ser codificado lexicalmente usando verbos como “comprar” (o evento da perspectiva do comprador), “vender” (da perspectiva do vendedor), “pagar” (com foco no aspecto monetário) ou substantivos como “comprador”.

As palavras também têm significados ou conotações afetivas. A palavra conotação aqui é expressa para significar aspectos de uma palavra referentes às emoções de um escritor ou leitor, sentimentos, opiniões ou avaliações. Sendo assim, podemos encontrar conotações positivas ou negativas. A avaliação positiva ou negativa expressada através da linguagem é denominada análise de sentimento.

3.3 WORD EMBEDDING

Word Embedding é uma técnica que possibilita várias análises no nível semântico

e sintático, permitindo operações matemáticas para expressar similaridade, relacionamento, polaridade, além de identificar palavras nos mesmos campos e quadros semânticos.

De acordo com Jurafsky (2014), Word Embedding é a expressão de uma palavra como um vetor, um ponto com alta dimensionalidade no espaço. Dessa forma, o

Word Embedding é considerado um vetor de semântica. Esse tipo de vetor pode

pertencer a duas classes: matriz esparsa e matriz densa, conforme exemplificado na figura 4.

Figura 4 - Comparação entre uma representação vetorial com uma matriz esparsa e uma matriz densa para a palavra “cat“, no contexto da frase “The cat sat on the

mat”. Disponível em https://www.slideshare.net/perone/word-embeddings-introduction.

A matriz esparsa é binária e com uma dimensionalidade muito alta. A matriz densa é contínua e com menor dimensionalidade.

(26)

26 Uma vez que a palavra é representada de forma vetorial de forma contínua abrem-se muitas possibilidades:

1. Aplicação de funções matemáticas;

2. Cálculo de similaridade com outras palavras, de forma mais eficiente computacionalmente;

3. Criação de representação gráfica no espaço vetorial; 4. Utilização do vetor como input para outros modelos.

Existem alguns tipos de técnicas que atuam na transformação para matriz densa, como por exemplo o modelo clássico de linguagem neural (Bengio, 2013),

Word2Vec (Mikolov, 2013), GloVe (Pennington, 2014), BERT (Devlin, 2018), Doc2Vec e Sentence2Vec (Mikolov, 2014), etc.

3.4 WORD2VEC

Word2Vec é uma ferramenta com o objetivo de calcular representações distribuídas

contínuas de palavras (disponível em

https://code.google.com/archive/p/word2vec/).

A lógica principal do Word2Vec é que uma palavra é similar a outra quando utilizada em um mesmo contexto. Do ponto de vista do modelo, podemos definir contexto como o conjunto de palavras no entorno da palavra principal, como exemplificado na figura 5.

Figura 5 - Exemplo de contextos para a palavra “dor” em uma sentença que descreve sintomas de uma doença. Fonte: elaborado pela autora.

Dessa forma, os embeddings serão formados pela modelagem da palavra e seus contextos, através de uma tarefa de classificação. Jurafsky (2014) demonstra uma aplicação de modelagem através de uma regressão logística (função de ativação sigmóide). Dessa forma é criada uma função probabilística entre palavras e

(27)

27 contextos para uma classificação de resposta binária: dentro/fora do contexto, conforme apresentado na figura 6.

Figura 6 - Representação de contextos positivos e negativos, considerando uma janela de quatro palavras. Fonte: elaborado pela autora.

Na documentação do algoritmo, Mikolov (2013) descreve a implementação como um modelo baseado em redes neurais hierárquico utilizando a função de ativação

Softmax ou a utilização de Negative Sampling. A simplicidade do modelo reside no

fato de que não é um modelo de Deep Learning, pois não possui múltiplas camadas. No entanto, também é possível treinar modelos desenvolvidos com Deep Learning. Na tarefa de predição das palavras no contexto os pesos gerados pelo modelo gerarão os embeddings.

O Word2Vec pode utilizar uma das duas arquiteturas: a) Bag-of-Words (CBOW)

b) Skip-Gram

A grande diferença entre as arquiteturas é a resposta do modelo de classificação. De acordo com Mikolov (2013), o modelo CBOW prevê a palavra atual com base no contexto, e Skip-gram prevê palavras ao redor dada a palavra atual, conforme esquema na figura 7.

(28)

28 Figura 7 - Diferença entre as arquiteturas apresentada por Mikolov (2013).

Mikolov (2013) também afirma que o Skip-gram leva mais tempo para convergência, porém mais adequado para palavras raras, enquanto o CBOW é mais rápido e melhor para palavras frequentes. Como o modelo logístico citado por Jurafsky (2014) tem como resposta o contexto, é classificado como Skip-gram.

Uma vez calculadas as representações vetoriais, uma forma simples de investigá-las é encontrar as palavras mais próximas de uma palavra especificada pelo usuário, através da função de similaridade de Cossenos.

Cosseno = √∑ 𝑎 ∗ 𝑏

√∑𝑎 2 ∗ √∑𝑏 2

Para a palavra 'france', a distância exibirá as palavras mais semelhantes a ela, conforme demonstrado na figura 8.

(29)

29 Figura 8 - Ranking de palavras ordenadas pela similaridade de Cossenos em

relação a palavra “france” (disponível em

https://code.google.com/archive/p/word2vec/).

3.5 REPRESENTAÇÕES DISTRIBUÍDAS DE TEXTO

O trabalho posterior de Mikolov (2014) teve como foco expandir a criação de vetores contínuos de palavras para parágrafos, sentenças e até documentos.

O algoritmo gera uma matriz densa que é treinada para prever palavras constantes no parágrafo. Dessa forma a lógica é muito similar ao WORD2VEC, com a diferença de que a identificação dos parágrafos também entra, juntamente com as palavras no contexto, na predição da palavra principal, como mostrado na figura 9:

Figura 9 - Esquema para aprendizado do vetor de parágrafo. Fonte: Mikolov (2014).

Este é um processo em duas etapas, pois o treino para a obtenção dos vetores de palavras acontece antes, e posteriormente o parágrafo é adicionado para contribuir com o acerto. Outra vantagem é que ao ser incluído, o parágrafo atua como uma memória, fornecendo mais riqueza ao contexto. Devido a essa característica, esse

(30)

30 modelo é chamado de modelo de vetor de parágrafo de memória distribuído (Distributed Memory Model of Paragraph Vectors ou PV-DM).

Outra abordagem proposta para geração de vetores de parágrafo pode ignorar o contexto de palavras no input mas fazer com que o modelo faça a predição de palavras aleatórias pertencentes ao parágrafo no output. Como não considera ordem de palavras é um modelo do tipo Bag-of-words, e, portanto, é chamado de modelo de vetor de parágrafo distribuído “Bag-of-words” ou Distributed bag of words

version of paragraph vectors (PV-DBOW). Nessa versão o vetor de parágrafo é

treinado para para prever palavras num contexto menor. O esquema desse modelo é mostrado na figura 10.

Figura 10 - Esquema para aprendizado do vetor de parágrafo na versão

PV-DBOW. Fonte: Mikolov (2014).

Esta arquitetura requer menor armazenamento de dados, sendo apenas necessário armazenar os pesos do classificador Softmax em oposição ao modelo anterior que utiliza também os vetores de palavras.

Nos experimentos relatados por Mikolov (2014) cada vetor de parágrafo é uma combinação de dois vetores: um gerado pela arquitetura DM e outro pela

PV-DBOW. O primeiro funciona bem para a maioria das tarefas, com performances no

estado da arte. Mas a combinação dos dois modelos é geralmente mais consistente em vários tipos de tarefas, e por isso mais recomendado.

(31)

31 4 ARQUITETURA DO SISTEMA PROPOSTO

Os experimentos feitos no presente trabalho visam a utilização dos vetores de palavras e parágrafos para classificação de tópicos e predição de tarefas de senso comum. Nesse contexto, o objetivo é entender se os vetores gerados através da modelagem do dataset são capazes de servir como input na classificação de emoções e intenções, considerando os eventos mapeados.

4.1 DATASET

O dataset Event2Mind (Rashkin, 2018) contém 25 mil frases relatando eventos (disponível em https://uwnlp.github.io/event2mind/). As fontes dos eventos são três diferentes corpora: ROC Story trainingset (Mostafazadeh, 2016), Google Syntactic

N-grams (Goldberg, 2013), e Spinn3r corpus (Gordon, 2009). Os eventos foram

derivados de um conjunto de frases verbais da corpora, baseada em análise sintática (Klein and Manning, 2003).

Os eventos possuem intenções e emoções, incluídas por anotadores humanos. Com isso a base total possui 57 mil registros. Além disso, a base possui a classificação das emoções com índices variando de 1 a 5 (polaridade negativa para positiva).

Dessa forma, a estrutura segue o esquema mostrado na figura 11:

Figura 11 - Estrutura do dataset estudado.

Na figura 12 vemos as fontes dos dados (corpora) do dataset criado por Rashkin (2018), onde temos prevalência do Corpus ROC Story (Mostafazadeh, 2016) com 58% dos registros e do Google Syntactic N-grams (Goldberg, 2013) com 26% dos registros.

(32)

32 Figura 12 - Fontes de dados (corpora) no dataset Event2Mind.

Numa exploração superficial do dataset também verificamos falta de preenchimento para muitas intenções (campo “Xintent”, vide figura 13) e de classificações de sentimento (figura 14).

Figura 13 - Contagem de intenções (campo “Xintent”) mostrando muitos registros sem anotação (preenchimento “none” com cerca de 20%).

(33)

33 Figura 14 - Contagem de classificações de polaridade (campo “Xsent”) com registros sem anotação (cerca de 19%).

4.2 TAREFAS GERAIS

As tarefas a serem executadas no trabalho são divididas em três partes: a) Criação de embeddings para eventos, intenções e emoções; b) Agrupamento de intenções e emoções;

c) Tarefas de classificação;

As tarefas de classificação podem ser detalhadas da seguinte forma: ● Predição de intenções utilizando embeddings de eventos; ● Predição de emoções utilizando embeddings de eventos; ● Predição de emoções utilizando embeddings das intenções;

As tarefas de predição de intenções e emoções foram exploradas por Rashkin (2018) utilizando uma rede neural do tipo encoder-decoder. No presente trabalho o aprendizado para criação dos embeddings será realizado com o próprio corpus disponibilizado, diferentemente de Rashkin (2018) que utilizou o corpus do Google

News. Essa forma de experimento propõe o entendimento sobre a suficiência de

dados do próprio corpus para um bom aprendizado do modelo. Além disso pretende-se testar se dessa forma há uma especialização do aprendizado.

Outra experimentação é a exploração de outros tipos de classificadores como: redes neurais recorrentes (LSTM), K-Nearest Neighbor e Multilayer Perceptron.

Serão testados agrupamentos de intenções e emoções através do algoritmo

K-means após redução da dimensionalidade utilizando análise de componentes.

Os embeddings também serão avaliados de forma qualitativa na forma de alguns exemplos, utilizando a similaridade de cossenos.

(34)

34 Figura 15 - Esquema das tarefas de classificação propostas no trabalho.

(35)

35 5 RESULTADOS

A seguir serão apresentados os resultados das investigações no dataset

Event2Mind e da execução das tarefas propostas.

5.1 ANÁLISE EXPLORATÓRIA

A análise exploratória foi feita no software Power BI, para compreensão do conteúdo dos campos de eventos, intenções, emoções e polaridade das emoções. As intenções e emoções foram incluídas de forma colaborativa no dataset. Essa análise também visa determinar necessidades de pré-processamento.

A figura 16 mostra que a maior parte do dataset retrata eventos com polaridade classificada como positiva.

Figura 16 - Gráfico de distribuição da polaridade (1 = negativa a 5 = positiva).

A maior parte das intenções estão escritas em forma verbal como mostram as figuras 17, 19 e 21. Como essas intenções foram realizadas por anotadores humanos não existe uma padronização na forma como são expressas, sendo descritas muitas vezes como um objeto de desejo, ao invés de uma qualidade ou ação. Nas figuras 18, 20 e 22 pode-se analisar os eventos tratados no dataset através de nuvens de palavras. Na polaridade mais negativa (de valor 1, conforme figura 18) a palavra “takes” se destaca. Na figura 22 a nuvem de palavras mostra que para a polaridade mais positiva (valor 5) os verbos “gives” e “buys” se destacam. Na figura 23 é observado que existem também anotações de intenções com uma descrição menos estruturada.

(36)

36 Figura 17 - Intenções e Emoções com polaridade mais negativa (XSent = 1).

Figura 18 - Wordcloud de Eventos com polaridade mais negativa (XSent = 1).

(37)

37 Figura 20 - Wordcloud de eventos com polaridade neutra (XSent = 3).

Figura 21 - Intenções e Emoções com polaridade mais positiva (XSent = 5).

(38)

38 Figura 23 - Intenções menos frequentes no dataset ordenada de forma alfabética. 5.2 PRÉ PROCESSAMENTO

Para a etapa de análise exploratória torna-se necessária a etapa de pré-processamento no dataset. Foi utilizado o pacote NLTK (Bird, 2009) criado com foco em PLN para a linguagem Python. Em resumo essa etapa compreende:

a) Retirada de caracteres especiais b) Remoção de stop words

c) Lematização 5.3 EMBEDDINGS

Os embeddings foram criados utilizando a implementação DOC2VEC do pacote

Gensim do Python (ŘEHŮŘEK, 2011).

Baseando-se na análise feita por Pennington (2014), serão criados embeddings com 400 dimensões, com o objetivo de captar o máximo de informação, considerando que o dataset não é extenso. Para captação do valor dos embeddings todos os modelos foram treinados com 250 iterações.

Os modelos de embeddings foram analisados graficamente através de plotagem no espaço vetorial utilizando a implementação do PCA (principal components analysis) no Python.

As arquiteturas e janelas de contexto das palavras escolhidas para compor os

embeddings são as listadas abaixo:

a) Eventos - Modelo combinado (arquiteturas PV-DM e PV-DBOW) com janela de contexto de 10 palavras: As frases descritivas dos eventos possuem uma estrutura em que a ordem das palavras tem importância. Dessa forma faz sentido utilização de um modelo que não seja apenas do tipo “bag of words” além de uma janela de contexto maior. Na figura 24, é possível analisar que

(39)

39 esses parâmetros geraram embeddings com uma melhor separação no espaço vetorial.

b) Intenções - Modelo DBOW com janela de contexto de 10 palavras: Como as intenções são inseridas por anotadores humanos, nem sempre a frase segue uma estrutura definida. A arquitetura combinada foi preterida nesse caso após a análise gráfica, que mostra clusters de intenções mais bem definidos no modelo do tipo “bag-of-words”.

c) Emoções - Modelo DBOW com janela de contexto de 10 palavras: Também é outra informação inserida por anotadores e, portanto, sem estrutura. Assim como nas intenções o modelo do tipo “bag-of-words” mostrou clusters mais definidos quando aplicada a redução de dimensionalidade.

Através dos gráficos nas figuras 24, 26 e 28, é possível visualizar os agrupamentos de vetores nos modelos finais.

O modelo DOC2VEC também gera word embeddings, sendo possível realizar avaliação de similaridade para as palavras. Dessa forma foram definidas palavras-chave para análise de eventos, intenções e emoções e foram trazidas as dez palavras mais próximas, de acordo com a similaridade cosseno, conforme figuras 25, 27 e 29.

Os embeddings de eventos tiveram sua dimensionalidade reduzida para 35 após a análise dos componentes, manter 95% da variabilidade dos dados dos embeddings. A imagem na figura 24 mostra uma nítida separação em grupos, confirmada pela plotagem por cores das classes obtidas por K-means.

(40)

40 Figura 24 - Embeddings de eventos com redução de dimensionalidade e

marcação de classe K-means.

Figura 25 - Análise de palavras similares no modelo de Eventos.

Pela análise de palavras similares na tabela da figura 25, é possível avaliar que dentre as palavras escolhidas, as que possuem maior proximidade é o par “asks” e “begs”, com o valor de similaridade cosseno de 0,7057, o que faz sentido dada a tradução: “pedir” e “implorar”. Essa palavra também mostra alta similaridade com a

(41)

41 palavra “talks” (“fala”). Nesse exemplo, os embeddings foram capazes de associar a forma verbal das palavras similares.

Os embeddings de intenções foram reduzidos para dimensionalidade 129 captando 95% da variabilidade. Os vetores também mostram grupos bem definidos através da plotagem, conforme figura 26. No entanto ao classificar através de K-means e avaliar a plotagem em 2D, nota-se que a definição de grupos contempla dimensões que não podem ser vistas nesse tipo de gráfico. Na figura 26b o mesmo gráfico em 3D mostra como os blocos de vetores ficam mais definidos.

(42)

42 Figura 26b - Embeddings de Intenções com redução de dimensionalidade (3D).

Figura 27 - Análise de palavras similares no modelo de Intenções.

A análise da tabela na figura 27 mostra que no modelo de intenções, as similaridades são mais fracas. O maior valor de similaridade cosseno é para a palavra-chave “make” com a palavra “sure” com valor de 0,2632. Nesse exemplo, a associação faz sentido pois as palavras aparecem no mesmo contexto na expressão “make sure”.

Para o modelo de emoções os embeddings tiveram uma redução de dimensão 400 para 92, e apresenta também boa definição no espaço vetorial, conforme figura 28. As cores do gráfico, definidas pelo algoritmo K-means mostram também uma interposição de grupos na perspectiva 2D. Através do gráfico em 3D é possível verificar grupos mais bem delineados, embora para dois grupos (clusters 2 e 6) ainda pareçam mesclados (figura 28-b).

(43)

43 Figura 28 - Embeddings de emoções com redução de dimensionalidade (2D).

(44)

44 Figura 29 - Análise de palavras similares no modelo de emoções.

No modelo de emoções as proximidades também são baixas em relação ao modelo de eventos. A maior similaridade cosseno é entre a palavra-chave “powerfull” e “clap” com valor de 0,46.

5.3 CLUSTERS DE INTENÇÕES E EMOÇÕES

Os objetivos pa ra a realização das tarefas de agrupamento em clusters no presente trabalho são descritos abaixo:

a) Avaliar mais profundamente os embeddings através de seus agrupamentos; b) Servir como target para as tarefas de classificação propostas.

A criação de clusters mostra como o processo de análise de significado pode partir de um nível de abstração alto para baixo (frases e vetores de números, respectivamente) para depois retornar para uma abstração inferior numa forma mais resumida (palavras). Esse tipo de tarefa pode ser aplicada para criação de tags de documentos e classificação de tópicos, por exemplo.

Para criação dos clusters foi utilizada a implementação K-means na biblioteca

sklearn no Python (Trappenberg, 2019). O número de clusters foi decidido através

de análise gráfica da representação dos embeddings no espaço vetorial conforme já apresentado nas figuras 26 e 28.

Para avaliação da consistência de significado entre os clusters optou-se pela utilização de análise qualitativa, através de uma contagem de palavras para cada agrupamento.

O dataset disponibiliza a polaridade das emoções classificadas pelos anotadores, tanto do realizador da ação referida como pessoa x, como da pessoa influenciada

(45)

45 pela ação, chamada de pessoa y. Dessa forma também foi calculada a polaridade média por cluster da intenção.

5.3.1 CLUSTER DE INTENÇÕES

Para o cluster de intenções foram criados sete agrupamentos (clusters 0 a 6). O número de intenções em cada cluster está bem balanceado, com uma média de 3.700 em cada grupo.

A análise dos clusters visa inicialmente a exploração das nuances de significados captados pelos embeddings. Para essa análise foram aplicados os processos de

tokenização e remoção de stopwords através do pacote NLTK do Phyton.

Numa análise inicial foram detectadas palavras que são prevalentes em todos os grupos, pois são palavras usadas como apoio para descrição das intenções. São essas: “person”, “get”, “make” e “something”, que foram retiradas da contagem de palavras. Algumas palavras ainda aparecem em mais de um cluster, porém com representatividades diferentes, conforme apresentado na figura 30.

Figura 30 - Gráfico mostrando representatividade das 5 palavras mais importantes em cada agrupamento (clusters 0 a 6).

Também foi gerado um percentual de emoção com polaridade positiva (valores 4 a 5) e negativa (valores 1 a 2) atribuída pelos colaboradores no trabalho. No dataset é fornecido duas polaridades de emoções: da pessoa X e pessoa Y. Pessoa X é a

(46)

46 pessoa realizadora da ação associada a uma intenção, e a pessoa Y é a pessoa receptora da ação. As médias variam a cada cluster como pode ser visto na figura 31.

Figura 31 - Gráficos de percentual de polaridade positiva e negativa por cluster, para a pessoa X e Y.

Com base nas figuras 30 e 31, é nota-se que em alguns grupos é possível identificar intenções claras, como no cluster 2 que mostra benefícios materiais (palavras “work”, “use”, “car” e “buy”). Em alguns grupos fica mais evidente a intenção de ajuda, e em outros o autocuidado. A análise da média de polaridade no gráfico 31 complementa a análise das intenções. Todos os clusters têm uma média de polaridade positiva maior, conforme já apontado na análise exploratória. Porém, comparativamente, os clusters 0 e 2 são os que possuem a maior polaridade positiva, e os clusters 5 e 3 a maior polaridade negativa.

5.3.2 CLUSTER DE EMOÇÕES

O processo para análise do cluster de emoções foi similar ao de intenções, com etapas de tokenização e remoção de stopwords. Para essa informação foram criados sete clusters conforme agrupamentos mostrados no gráfico 28.

(47)

47 Figura 32 - Gráfico mostrando representatividade das 5 palavras mais importantes

em cada agrupamento (clusters 0 a 6).

Figura 33 - Gráficos de percentual de polaridade positiva e negativa por cluster, para a pessoa X e Y.

Em todos os clusters encontra-se palavras que são muito prevalentes como: “like”, “happy” e “good” tendo sido retiradas para o gráfico 32. Nota-se também que alguns

(48)

48 termos não descrevem emoções de forma exata como por exemplo “see”,”new”,”really” (“ver”, “novo”, “realmente”), etc.

A polaridade apresenta média bem diferente entre clusters, conforme figura 33. O cluster 6 tem a maior percentual médio de polaridade positiva tanto para o gerador da ação (pessoa X) quanto para o receptor da ação (pessoa Y). E o cluster 4 apresenta uma polaridade negativa percentualmente maior, sobretudo para o receptor da ação.

5.4 TAREFAS DE CLASSIFICAÇÃO

Nas tarefas de predição buscamos a utilização de embeddings para classificar intenções e emoções, utilizando técnicas variadas. Também foram explorados diferentes tipos de targets para identificação de intenções e emoções.

Além dos clusters de intenções e emoções, foram criadas classes de intenções através dos verbos de ação mais frequentes para testes de de classificação. Para as intenções, as palavras utilizadas para criação dos novos grupos foram: “get”, “make”, “help”, “see”, “show”, “know”, “go”, “give”, “take”, “keep”, “fell”, “enjoy”, “work”, “wants”, “find”, “look”, “avoid”. Para as emoções foi feito o mesmo processo, criando-se agrupamentos de acordo com palavras-chave: “happy”, “glad”,

“satisfied”,“excited”, “relieved”,”proud”,”bad” ,”sad”, “better”, “tired”.

Para a tarefa de classificação foram utilizados dois tipos de modelos de redes neurais: Multilayer Perceptron e LSTM (Long Short Term Memory) que é um tipo de modelo cujos neurônios, diferentemente das redes Feed-forward, possuem retroalimentação. Também foi treinado um modelo do tipo K-Nearest Neighbors. Ao todo foram testados os seguintes modelos de classificação:

a) Multilayer Perceptron com uma camada escondida b) Multilayer Perceptron com duas camadas escondidas c) K-Nearest Neighbors com K=2

d) LSTM com uma camada escondida e) LSTM com duas camadas escondidas f) LSTM com três camadas escondidas

Para os modelos de Multilayer Perceptron o número de neurônios da primeira camada escondida foi calculado pela seguinte regra:

𝑛𝑒𝑢𝑟ô𝑛𝑖𝑜𝑠 𝑑𝑎 𝑝𝑟𝑖𝑚𝑒𝑖𝑟𝑎 𝑐𝑎𝑚𝑎𝑑𝑎

=

𝑐𝑎𝑚𝑎𝑑𝑎𝑠 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 + 𝑐𝑎𝑚𝑎𝑑𝑎𝑠 𝑑𝑒 𝑠𝑎í𝑑𝑎

2

Na segunda camada escondida do modelo Multilayer Perceptron, foi aplicada redução do número de neurônios pela metade.

Para os modelos de LSTM o número de neurônios em cada camada foi calculado com base em potências de dois de forma decrescente nas camadas. Foi aplicado

Referências

Documentos relacionados

Os resultados revelam que os estudantes apresentaram dificuldades na elaboração dos mapas conceituais devido a não utilização deste instrumento no processo de ensino, porém

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