• Nenhum resultado encontrado

Extração de relações a partir de dados não estruturados baseada em deep learning e supervisão distante

N/A
N/A
Protected

Academic year: 2021

Share "Extração de relações a partir de dados não estruturados baseada em deep learning e supervisão distante"

Copied!
72
0
0

Texto

UNIVERSIDADE FEDERAL DE SERGIPE. CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA. PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO. Extração de relações a partir de dados não estruturados baseada em deep learning e supervisão distante. Fabrício Silva Melo. Programa de Pós-Graduação em. Ciência da Computação/UFS. São Cristovão. 2018. UNIVERSIDADE FEDERAL DE SERGIPE. CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA. PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO. Fabrício Silva Melo. Extração de relações a partir de dados não estruturados baseada em deep learning e supervisão distante. Dissertação submetida ao Programa de Ciência da Computação da Universidade Federal de Sergipe como requisito parcial para a obtenção do título de Mestre em Ciência da Computação.. Orientador: Hendrik Teixeira Macedo. São Cristovão. 2018. Fabrício Silva Melo M528e Extração de relações a partir de dados não estruturados baseada em deep. learning e supervisão distante / Fabrício Silva Melo. – São Cristovão, 2018. 71 f. : il.. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Sergipe, 2018.. Orientador: Hendrik Teixeira Macedo.. 1. Processamento de linguagem natural. 2. Extração de informação. 3. Extração de relação. I. Hendrik Teixeira Macedo(Orien.). II. Título.. CDU 004.4. Resumo Extração de relação é a tarefa de extrair relações entre entidades nomeadas de textos em lin- guagem natural. Este trabalho apresenta uma técnica de extração de informação para extração de relações com redes neurais convolucionais treinadas para o reconhecimento de padrões de sentenças representadas sobre word2vec de baixa dimensão e position embeddings. Importantes estudos relacionados à extração de relações com classificadores treinados sob supervisão distante usaram um conjunto de dados construído por Riedel, Yao e McCallum (2010) como meio para treinar e testar classificadores de relações. No entanto, importantes limitações acerca desses dados foram levantadas: o uso de uma metodologia de amostragem estatisticamente inapropriada na seleção de amostras que constituem o conjunto de dados; a falta de avaliação da precisão dos classificadores por tipo (classe) de relação; e a negligência do problema de desequilíbrio na distribuição de classes nesse conjunto de dados, bem como de medidas para treinar os clas- sificadores em meio a dados desbalanceados. Diante do problema exposto, essa dissertação tem o objetivo de propor e avaliar um modelo baseado em deep convolutional neural networks para melhorar a precisão de classificação de relações entre entidades nomeadas extraídas sob supervisão distante. Foi feita uma avaliação da distribuição de amostras em cada tipo de relação em um conjunto de dados construído por supervisão distante, a partir da base de conhecimento FreeBase, largamente utilizado para treinamento pelos mais recentes trabalhos de extração de relações. Foi constatado que esses trabalhos fizeram referência à qualidade de classificação de relações generalizando conclusões bastante otimistas baseadas em um conjunto de dados fortemente desbalanceado, usando, inclusive, metodologias de amostragem estatisticamente inapropriadas na construção do conjunto de teste. Esse conjunto de dados foi tratado utilizando amostragem estratificada aleatória para seu uso no treinamento e teste do modelo convolucional proposto utilizando validação cruzada k-fold estratificada. Os experimentos demonstram que o modelo proposto pode alcançar 87.0% de precisão e 88.0% de recall. Esses resultados provam que nosso modelo supera o estado da arte em classificação de relações.. Palavras-chave: Extração de relação, Classificação de relação, Supervisão distante, redes con- volucionais.. Abstract Relation extraction is the task of extracting relation between named entities from natural lan- guage texts. This work presents an information extraction technique for extracting relation with convoluted neural networks trained for the recognition of sentence patterns represented on low-dimension word2vec and position embeddings. Significant studies related to the rela- tion extraction with trained classifiers under distant supervision used a data set constructed by Riedel, Yao e McCallum (2010) as a means to train and test relation classifiers. However, important limitations to this data were raised: the use of a statistically inappropriate sampling methodology in the selection of samples constituting the data set; the lack of evaluation of the accuracy of classifiers by type (class) of relation; and the neglect of the problem of imbalance in the distribution of classes in this data set, as well as of measures to train the classifiers amid unbalanced data. In view of the above problem, this dissertation aims to propose and evaluate a "deep convolutional neural networks" based model to improve the classification precision of relation between named entities extracted under distant supervision. An evaluation of the distribution of samples in each type of relationship was made in a dataset constructed by distant supervision, from the FreeBase knowledge base, widely used for training by the most recent relation extraction work. It was found that these studies made reference to the quality of classifi- cation of relations generalizing very optimistic conclusions based on a strongly unbalanced data set, using, also, sampling methodologies statistically inappropriate in the construction of the test set. This data set was treated using random stratified sampling for use in the training and testing of the proposed convolutional model using stratified k-fold cross-validation. Experiments show that the proposed model can achieve 87.0% precision and 88.0% recall. This result prove that our model outperform the art of state on the relation classification.. Keywords: Relation extraction, Relation classification, Distant supervision, Convolutional net- work.. Lista de siglas e abreviações. * Operador de convolução. CBoW Continuous Bag of Words. CNN Convolutional neural network. CRF Conditional Random Fields. EI Extração de Informação. HMM Hidden Markov model. LDA Latent Dirichlet Allocation. LSA Latent Semantic Analysis. MLP Multi layer perceptron. NNLM Neural Network Language Model. PLN Processamento de Linguagem Natural. POS Part-of-spreech. RecurrentNN Recurrent Neural Network. RecursiveNN Recursive Neural Network. REN Reconhecimento de entidades nomeadas. SVD Singular Value Decomposition. SVM Support Vector Machines. Lista de ilustrações. Figura 1 – Arquitetura para extração de relação. . . . . . . . . . . . . . . . . . . . . . 18 Figura 2 – Representação vetorial de palavras one-hot. . . . . . . . . . . . . . . . . . 22 Figura 3 – Arquitetura do modelo de linguagem neural de Bengio et al. (2003). . . . . 25 Figura 4 – Arquitetura do modelo de representação de palavras word2vec skip-gram. . 27 Figura 5 – Arquitetura do modelo de representação de palavras word2vec CBoW. . . . 31 Figura 6 – Representação gráfica de uma camada convolucional. . . . . . . . . . . . . 35 Figura 7 – Ilustração da rotação de um kernel. . . . . . . . . . . . . . . . . . . . . . . 36 Figura 8 – Ilustração de uma operação de convolução. . . . . . . . . . . . . . . . . . . 36 Figura 9 – Representação gráfica de backpropagation em camadas de convolução. . . . 37 Figura 10 – Rotação da matriz de erro em 180∘. . . . . . . . . . . . . . . . . . . . . . . 38 Figura 11 – Convolução para obter um novo conjunto de pesos. . . . . . . . . . . . . . 39 Figura 12 – Convolutional Neural Networks para classificação em análise de sentimentos. (KIM, 2012). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Figura 13 – Arquitetura da rede neural convolucional para classificação de relação. . . . 47 Figura 14 – Curva de treinamento da CNN usando o conjunto de dados de Riedel, Yao e. McCallum (2010) original. . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Figura 15 – Impacto do uso de dropout e ruído gaussiano sobre a performance do modelo. com uma única camada convolucional. . . . . . . . . . . . . . . . . . . . . 56 Figura 16 – Arquitetura da rede neural convolucional com duas camadas convolucionais. sequenciais para classificação de relação. . . . . . . . . . . . . . . . . . . . 59 Figura 17 – Efeito do número de camadas convolucionais sobre a performance de classi-. ficação de relações. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60. Lista de tabelas. Tabela 1 – Conjunto de treinamento gerado por supervisão distante para extração de relações. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21. Tabela 2 – Comparação de nossos resultados com os resultados da literatura. . . . . . . 51 Tabela 3 – Performance do modelo convolucional proposto. Avaliação por classe de. relação no dataset de teste de Riedel, Yao e McCallum (2010). . . . . . . . 53 Tabela 4 – Número de amostras por tipo de relação, do dataset de Riedel, Yao e McCal-. lum (2010). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Tabela 5 – Configurações de dropout e ruído gaussiano. . . . . . . . . . . . . . . . . . 55 Tabela 6 – Impacto do uso de dropout e ruído gaussiano sobre a performance do modelo.. Avaliação por classe de relação. . . . . . . . . . . . . . . . . . . . . . . . . 57 Tabela 7 – Configuração das camadas convolucionais para os experimentos em profun-. didade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Tabela 8 – Performance dos modelos convolucionais de arquitetura profunda. Avaliação. por classe de relação no dataset de teste. . . . . . . . . . . . . . . . . . . . 61. Sumário. 1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1 Definição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Formulação de Hipóteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14. 1.3.1 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Visão geral da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15. 2 Revisão Literária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1 Extração de Relações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2 Métodos de extração de relação . . . . . . . . . . . . . . . . . . . . . . . . . . 18. 2.2.1 Métodos supervisionados e semisupervisionados . . . . . . . . . . . . 19 2.2.2 Supervisão distante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20. 2.3 Representação de palavras em espaço vetorial . . . . . . . . . . . . . . . . . . 22 2.4 Word embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23. 2.4.1 Neural Network Language Model . . . . . . . . . . . . . . . . . . . . 24 2.4.2 Word2vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25. 2.5 Redes Neurais Convolucionais . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.1 Convolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.2 Propagação direta em camadas convolucionais . . . . . . . . . . . . . . 34 2.5.3 Backpropagation em camadas convolucionais . . . . . . . . . . . . . . 37 2.5.4 Camadas de Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . 40. 2.6 Redes Neurais Convolucionais aplicadas ao processamento de linguagem natural 41. 3 Método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.1 Conjunto de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2 Conjunto de dados filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4 Arquitetura da rede neural convolucional . . . . . . . . . . . . . . . . . . . . . 46. 3.4.1 Camada de entrada: word embeddings e position embeddings . . . . . . 46 3.4.2 Camada convolucional . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.3 Camada de pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.4 Camada de classificação - softmax . . . . . . . . . . . . . . . . . . . . 49. 3.5 Reprodutibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49. 4 Experimentos, Resultados e Discussão . . . . . . . . . . . . . . . . . . . . . . . . 50 4.1 Avaliação de amostras geradas por supervisão distante . . . . . . . . . . . . . . 50. 4.2 Classificação de relações por rede neural convolucional . . . . . . . . . . . . . 55 4.3 Classificação de relações por redes neurais convolucionais de arquitetura profunda 58. 5 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64. Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65. 11. 1 Introdução. A Extração de Informação (EI) é uma tarefa de Processamento de Linguagem Natural (PLN) usada para recuperar automaticamente informações estruturadas de documentos textuais não estruturados e/ou semi-estruturados, tais como entidades, relações e atributos que descrevem as referidas entidades. Duas importantes e fundamentais tarefas da extração de informação são denominadas reconhecimento de entidades e extração de relações. A primeira refere-se a encontrar nomes de entidades como pessoas, organizações e locais. Essa última refere-se a relações entre entidades (JIANG, 2012; JÚNIOR et al., 2015; JÚNIOR; BARBOSA; MACEDO, 2016; RODRIGUES; TEIXEIRA, 2015; SARAWAGI, 2008; ZADGAONKAR, 2015).. Embora o reconhecimento de entidades seja de grande valor, em alguns cenários de extração, uma lista de nomes de pessoas, eventos ou organizações sem caracterizar os relaci- onamentos existentes entre elas não é suficiente; há a necessidade explícita de relacionar as entidades extraídas a partir de textos, pois esses naturalmente não são particionados em registros estruturados (RODRIGUES; TEIXEIRA, 2015; SARAWAGI, 2008; ZENG et al., 2014).. Várias técnicas têm sido desenvolvidas para a extração de relação usando inteligência artificial, desde métodos baseados em regras até métodos de aprendizagem de máquina. A abordagem mais comum e direta é tratar a tarefa como um problema de classificação dentro da fronteira de sentenças. Métodos representativos para a classificação de relações tratados na litera- tura utilizam paradigma supervisionado e aprendizagem estatística e alcançaram considerável precisão (JIANG, 2012; SANTOS; XIANG; ZHOU, 2015; ZENG et al., 2014).. Recentemente, o uso de supervisão distante, um paradigma de futuro promissor utilizado para produzir dados de treinamento aliado a técnicas de deep learning, tornou-se uma área atraente para múltiplas aplicações de processamento de linguagem natural, incluindo extração de relações (LOPEZ; KALITA, 2017; NGUYEN; GRISHMAN, 2015; SANTOS; XIANG; ZHOU, 2015; QU et al., 2018; XU et al., 2015; YAO et al., 2013; ZENG et al., 2014; ZENG et. Capítulo 1. Introdução 12. al., 2015; ZHANG; WANG, 2015). A ideia principal de supervisão distante, ou aprendizagem distante, é utilizar alguma heurística para construir dados de treinamento usando uma base de conhecimento construída colaborativamente por humanos para obter relações e pares de entidades que participam dessas relações.. Nos últimos anos, abordagens modernas usando redes neurais de aprendizagem profunda (deep neural networks) dominaram a área de reconhecimento de padrões e aprendizagem de máquina. Elas representam o estado da arte nesse campo. A maioria dos trabalhos com deep learning para classificação de textos utilizam word embeddings como aprendizagem de repre- sentações de palavras através de modelos neurais que aprendem as representações internas com base em grandes quantidades de dados de treinamento sem rótulos (COLLOBERT et al., 2011; NGUYEN; GRISHMAN, 2015; QU et al., 2018; SANTOS; XIANG; ZHOU, 2015; XU et al., 2015; YAO et al., 2013; ZENG et al., 2014; ZENG et al., 2015; ZHANG; WANG, 2015; MIKOLOV et al., 2013; SANTOS; MACEDO, 2018; SANTOS et al., 2018).. Em tarefas de extração e classificação de relações, além de word embeddings, têm sido usadas posições relativas de palavras (position embeddings) em relação às entidades como entrada de uma camada convolucional (NGUYEN; GRISHMAN, 2015). Essa ideia pressupõe que as posições das entidades são fornecidas e que cada exemplo de entrada contém uma relação. Isso ajuda a rede a ponderar o quão próxima cada palavra é para cada entidade. A proposta é que as palavras mais próximas das entidades geralmente contêm informações mais úteis sobre a classe de relação. Variações desse modelo têm sido apresentadas com bom desempenho de classificação em uma variedade de formas de modelar as sentenças de entrada, tornando as redes convolucionais uma excelente alternativa para novas arquiteturas de classificação de texto com fragmentos de entradas maiores. (ZENG et al., 2014; SANTOS; XIANG; ZHOU, 2015; NGUYEN; GRISHMAN, 2015; XU et al., 2015; ZENG et al., 2015). Tanto os métodos supervisionados quanto aqueles treinados por supervisão distante têm apresentado considerável precisão. No entanto, o primeiro requer grande esforço para rotular dados manualmente e está restrito a um limitado número de tipos de relações, restringindo seu uso em tarefas com grande quantidade de dados. Já os métodos de supervisão distante ainda apresentam uma certa fragilidade quanto à qualidade dos dados utilizados para gerar os conjuntos de treino e testes de classificadores de relação.. Nesse contexto, este trabalho avalia o uso de métodos estatísticos válidos no tratamento de conjuntos de dados de treinamento e teste gerados por supervisão distante para classificadores de relações e explora a aprendizagem de características de alto nível, a partir de sentenças com comprimento arbitrário, provida por word embeddings e por redes neurais convolucionais para classificação de relações entre entidades nomeadas.. Capítulo 1. Introdução 13. 1.1 Definição do problema. Necessariamente, a avaliação de precisão em extração e classificação de relações tipica- mente é baseada em amostras de sentenças que formam um conjunto de testes. Assim é possível proceder uma declaração de qualidade de classificação para avaliar sua adequação para fins específicos.. Importantes estudos relacionados à extração de relações com classificadores treinados sob supervisão distante (FAN et al., 2014; HOFFMANN et al., 2011; JI et al., 2017; LIN et al., 2016; SURDEANU et al., 2012; ZENG et al., 2015) usaram um conjunto de dados construído por 1. como meio para treinar e testar classificadores de relações. Esse conjunto de dados foi construído alinhando as relações Freebase com o corpus do NYT (New York Times), com frases dos anos 2005-2006 como conjunto de treino e frases de 2007 utilizadas como teste. Isso configura uma amostragem não probabilística (BORNSTEIN; JAGER; PUTNICK, 2013).. No entanto, três importantes limitações acerca dos trabalhos treinados sob supervisão distante devem ser notadas no conjunto de dados de Riedel, Yao e McCallum (2010):. ∙ o uso de uma metodologia de amostragem estatisticamente inapropriada, na seleção de amostras que constituem o conjunto de dados;. ∙ a falta de avaliação da precisão dos classificadores por tipo (classe) de relação;. ∙ a falta de consideração do problema de desequilíbrio na distribuição de classes nesse conjunto de dados, bem como de medidas para treinar os classificadores em meio a dados desbalanceados.. A primeira limitação diz respeito à amostragem não probabilística. Na construção de seu conjunto de dados, Riedel, Yao e McCallum (2010) não usou seleção aleatória. Assim, não se pode generalizar resultados com precisão estatística acerca dos trabalhos que usaram esse conjunto de dados sem qualquer alteração, como fizeram (FAN et al., 2014; HOFFMANN et al., 2011; JI et al., 2017; LIN et al., 2016; SURDEANU et al., 2012; ZENG et al., 2015).. Quanto à avaliação por classe de relação, o trabalho de Adel, Roth e Schütze (2016) traz um apresentação dos resultados evidenciando a métrica de precisão por tipo de relações, mas não evidencia as métricas de recall e medida F1. Bem como não evidencia a distribuição de amostras por classe de relação.. Até agora, na literatura, os esforços estão focados em desenvolver métodos de repre- sentação e classificação de relações a partir de sentenças. De fato os problemas de amostragem estatística, de distribuição de amostras por classe e de avaliação de classificadores por classe são bem conhecidos pela comunidade de machine learning (DING et al., 2018; GARCÍA et al., 1 Disponível em:<https://github.com/thunlp/NRE>. https://github.com/thunlp/NRE. Capítulo 1. Introdução 14. 2018; LIN; TANG; YAO, 2013; WANG; YAO, 2012), mas não estão tão evidentes em problemas de extração de relações.. Assim, considerando que os resultados reportados na literatura a respeito de classificado- res de relações treinados sob supervisão distante têm usado um conjunto de dados construído sem rigor estatístico e que não foram apresentadas evidências que esses classificadores possuem capacidade geral de predição, esta pesquisa buscou responder os seguintes problemas:. ∙ Os classificadores de relação são de fato classificadores gerais? Ou seja, eles apresentam capacidade de classificar diferentes tipos de relações com precisão aceitável?. ∙ A reconstrução de conjuntos de dados de treinamento gerados por supervisão distante utilizando amostragem estatística poderia melhorar a tarefa de classificação de relações extraídas sob supervisão distante?. ∙ A precisão de classificadores de relações extraídas sob supervisão distante pode ser pode ser melhorada utilizando word embeddings associados a position embeddings de menores dimensões que aqueles apresentados na literatura como entrada de classificadores baseados em CNNs?. 1.2 Formulação de Hipóteses. A hipótese levantada por esta pesquisa é que:. Dada a construção de conjuntos de treinamento por amostragem estratificada aleatória e pela aprendizagem de características de alto nível, favorecida por word embeddings associados a position embeddings retificados, reconhecidas pelas camadas convolucionais, pode-se incremen- tar o desempenho de um classificador de relações baseado em CNNs treinadas por supervisão distante.. 1.3 Objetivo. Diante do problema exposto, essa dissertação tem o objetivo de propor e avaliar um modelo baseado em deep convolutional neural networks para melhorar a precisão de classificação de relações entre entidades nomeadas extraídas sob supervisão distante.. 1.3.1 Objetivos específicos. ∙ Avaliar a qualidade de conjuntos de dados construídos por supervisão distante que têm sido propostos na literatura para treinamento e teste de classificadores de relações;. Capítulo 1. Introdução 15. ∙ Avaliar aprendizagem de características de alto nível, a partir de sentenças com compri- mento arbitrário, provida por word embeddings e position embeddings;. ∙ Propor e avaliar uma arquitetura baseada em redes neurais convolucionais para classifica- ções de relações entre entidades nomeadas.. 1.4 Visão geral da dissertação. O Capítulo 2 é dedicado à revisão literária, de forma a explicar os principais conceitos, técnicas e métodos importantes para compreensão da dissertação, dando ênfase aos conceitos e métodos de extração de relação, word embeddings, em especial word2vec, a formulação matemática de redes neurais convolucionais bem como sua aplicação em tarefas de PLN e extração de relações.. No Capítulo 3 está descrito o processo para a condução dos experimentos realizados, os dados utilizados, as métricas de avaliação, a arquitetura do modelo proposto e os parâmetros necessários à reprodução desse trabalho. O Capítulo 4 traz os resultados e discussão acerca dos experimentos executados.. E, finalmente, o Capítulo 5 traz as conclusões do trabalho, principais contribuições e indicações de trabalhos futuros.. 16. 2 Revisão Literária. 2.1 Extração de Relações. Extração de informação a partir de textos é uma importante tarefa em processamento de linguagem natural (PLN). Seu objetivo é extrair informação estruturada que seja relevante para a necessidade do usuário a partir de grandes volumes de textos semiestruturados ou não estruturados (BACH; BADASKAR, 2007; JIANG, 2012).. Duas importantes e fundamentais tarefas da extração de informação são muito comuns e estão intimamente relacionadas. O reconhecimento de entidades nomeadas e a extração de relações. A primeira refere-se a encontrar nomes de entidades como pessoas, organizações e locais. Essa última refere-se à identificação de relações semânticas entre essas entidades (BACH; BADASKAR, 2007; HONG, 2005; JIANG, 2012; SARAWAGI, 2008).. O reconhecimento de entidades nomeadas (REN) busca palavras ou frases importantes (como nomes de cidades, nomes de pessoas ou datas) em um determinado texto. Desta forma, essa valiosa tarefa tem sido aplicada em muitos campos diferentes de pesquisa, que vão desde as tarefas padrão de processamento de linguagem natural, como sistemas automáticos de per- guntas e respostas (RODRIGO et al., 2013; PEÑAS et al., 2013), tradução automática (CHEN; ZONG; SU, 2013), análise de redes sociais (JUNG, 2012), pesquisa semântica (HABERNAL; KONOPÍK, 2013) ou sumarização (GLAVAŠ; ŠNAJDER, 2014; KABADJOV; STEINBERGER; STEINBERGER, 2013) em domínios biomédicos (ATKINSON; BULL, 2012).. Os trabalhos que representam o estado da arte em REN são baseados em aprendizagem de máquina com treinamento supervisionado. Os exemplos mais usuais aplicam Modelos Ocultos de Markov (HMM -Hidden Markov model) (ZHOU; SU, 2002), Árvores de Decisão (CARRE- RAS; MÀRQUEZ; PADRÓ, 2003; SEKINE, 1998), máxima entropia (BORTHWICK et al., 1998; BORTHWICK, 1999; CHIEU; NG, 2002), SVM - Support Vector Machines (ISOZAKI;. Capítulo 2. Revisão Literária 17. KAZAWA, 2002) e CRF -Conditional Random Fields (LAFFERTY; MCCALLUM; PEREIRA, 2001; MCCALLUM; LI, 2003). Algumas combinações desses métodos usando os pontos mais fortes de cada um produziram bons resultados (FLORIAN et al., 2003; GANESH et al., 2008; SRIHARI; NIU; LI, 2000; YU, 2007), no entanto a principal deficiência da aprendizagem su- pervisionada é a exigência de um grande corpus anotado, o que é muito difícil de obter para linguagens menos informatizadas, onde não se têm tantos corpus rotulados (SAHA; EKBAL, 2013).. A extração de relação refere-se ao método de busca e identificação de relações prede- finidas dentro de um conjunto de entidades em documentos de texto. Uma entidade no texto é uma representação para nomear um objeto do mundo real. As entidades incluem, mas não estão limitadas a, nomes das pessoas, de locais, de instalações e de organizações. Uma sentença que inclua essas entidades pode expressar as relações entre elas. Por exemplo, na frase "Presidente Clinton estava em Washington hoje", existe a relação "Localizado"entre a pessoa "Clinton"e o lo- cal "Washington". Na frase "Steve Balmer, CEO da Microsoft, disse ..."a relação de "Papel(CEO, Microsoft)"pode ser extraída. (JUNG et al., 2012).. Em um outro exemplo, a partir da sentença "Facebook co-founder Mark Zuckerberg", podemos extrair a relação Founder_Of(Mark Zuckerberg, Facebook).. Várias técnicas têm sido propostas para extração de relações. A mais comum e direta abordagem trata a tarefa como um problema de classificação de um dado par de entidades de texto co-ocorrentes em uma sentença como válida ou não (JIANG, 2012; XIANG et al., 2016).. A Figura 1 demonstra a arquitetura para um sistema simples de extração de informações. Começa por processar um documento usando vários procedimentos. Primeiro, o texto bruto do documento é dividido em frases usando um segmentador de sentenças, e cada sentença é subdividida em palavras usando um tokenizador. Em seguida, cada frase é marcada com tags POS (Part-of-spreech) , que atribui uma categoria à qual uma palavra é atribuída de acordo com suas funções sintáticas (substantivo, pronome, adjetivo, determinante, verbo, advérbio, preposição, conjunção e interjeição), o que será muito útil no próximo passo, denominado detecção de entidade. Nesta etapa, são procuradas menções de entidades potencialmente interessantes em cada frase. E, finalmente, a detecção de relação para procurar relações prováveis entre diferentes entidades no texto (BIRD; KLEIN; LOPER, 2009; JIANG, 2012; RODRIGUES; TEIXEIRA, 2015).. Por outro lado, algumas abordagens têm tratado a tarefa de extração de relação dividindo- a em duas subtarefas distintas, detecção de relação e classificação de relação. A detecção de relações está envolvida na identificação de cada par de entidades de exemplos positivos de relações que podem casar em uma das muitas categorias de relação. Enquanto a classificação de relação atribui uma classe específica a cada relação detectada. Para cada tarefa, aplicamos carac- terísticas linguísticas distintas que variam de tokens lexicais a estruturas sintáticas, bem como a informação do tipo semântico das entidades (HONG, 2005). A aplicação da distância relativa de. Capítulo 2. Revisão Literária 18. texto bruto. segmentação de sentenças. tokenização. análise sintática (tagging). detecção de entidades. detecção de relações. lista de relações (tuplas). Figura 1: Arquitetura para extração de relação.. cada palavra às duas entidades também têm sido usada por trabalhos recentes para facilitar o problema de detecção e aumentar o desempenho tanto da detecção quanto da classificação da relação (ZENG et al., 2014; NGUYEN; GRISHMAN, 2015).. 2.2 Métodos de extração de relação. As principais abordagens para extração de relações entre entidades podem ser classifica- das em três categorias principais, métodos baseados em conhecimento, métodos baseados em aprendizagem de máquinas e abordagem híbrida.. Na extração de relações baseada em conhecimento, regras de casamento de padrões (pattern matching) são criadas manualmente para cada domínio. Geralmente, estes sistemas con- sistem num conjunto de padrões que usam propriedades gramaticais, sintáticas (como palavras precedentes), lexicais e ortográficas (como capitalização maiúscula/minúscula) em combinação com dicionários. Essa abordagem apresenta melhores resultados para domínios restritos e são capazes de detectar relações complexas que são difíceis com os modelos de aprendizagem. No entanto, os sistemas baseados em conhecimento não possuem a capacidade de portabilidade e ro- bustez e, além disso, o alto custo de manutenção das regras aumenta mesmo quando os dados são ligeiramente alterados. Esse tipo de sistema é frequentemente dependente do domínio, específico da linguagem e não necessariamente se adapta bem a novos domínios e idiomas. (HEARST, 1992; KONSTANTINOVA, 2014; PASCA, 2004; RILOFF; JONES, 1999; ZADGAONKAR, 2015). A extração de relações por métodos de aprendizado de máquinas tem sido largamente utilizada atualmente por ser facilmente treinável, adaptável a diferentes domínios e línguas, assim como sua manutenção também é menos custosa. De acordo com o método de treinamento. Capítulo 2. Revisão Literária 19. utilizado as técnicas de aprendizagem de máquinas podem ser agrupadas em quatro categorias; aprendizagem supervisionada, aprendizagem semisupervisionada, aprendizagem não supervisio- nada e, mais recentemente, supervisão distante ou aprendizagem auto-supervisionada. A ideia de aprendizagem supervisionada é estudar as características de exemplos positivos e negativos de relações extraídas sobre uma grande coleção de documentos anotados e regras de construção que capturam instâncias de um determinado tipo.. De forma geral, os métodos para extração de relações entre entidades podem ser clas- sificados em métodos baseados em conhecimento (onde o especialista humano cria regras ou expressões regulares), métodos supervisionados (onde o ser humano fornece conjuntos de treina- mento rotulados) e métodos autosupervisionados (onde o conjunto de treinamento é etiquetado automaticamente) (ETZIONI et al., 2008; KONSTANTINOVA, 2014; ZADGAONKAR, 2015).. 2.2.1 Métodos supervisionados e semisupervisionados. Os métodos supervisionados aprendem automaticamente classificadores de relações baseados em técnicas de aprendizagem de máquina usando um conjunto de treinamento de domínio específico devidamente rotulado (ETZIONI et al., 2008; KONSTANTINOVA, 2014; ZADGAONKAR, 2015). Assim a extração de relação é modelada como um problema de classi- ficação, onde uma função de mapeamento f (.) classifica se há ou não relação entre as entidades e1 e e2 em uma sentença S = w1,w2, . . . ,e1 . . . ,w j, . . .e2, . . . ,wn, utilizando características T (S) extraídas a partir de S (BACH; BADASKAR, 2007):. fR(T (S)) =. +1 se e1 e e2 estão relacionadas−1 caso contrário (2.1) Métodos supervisionados usam treinamento rotulado manualmente e dados de teste para. validação. Apresentam a vantagem de portabilidade a diferentes domínios, desde que novos dados de treinamento para esses domínios estam disponíveis. No entanto, o desenvolvimento dessa abordagem é bastante custosa para criar grandes corpus adequadamente rotulados, pois exigem muito trabalho manual nessa etapa (ETZIONI et al., 2008; KONSTANTINOVA, 2014; ZADGAONKAR, 2015). Mas se o treinamento e os dados do teste forem restringidos ao mesmo domínio tendem a ter um desempenho elevado.. A aprendizagem semisupervisionada tornou-se um tópico importante na extração de relação. Como alternativa a tamanho esforço manual, métodos "fracamente supervisionados", geralmente baseados em bootstrapping, foram desenvolvidos para fazer construção de dados de treinamento com mais facilidade, através de reamostragem partindo de pequenas amostras rotuladas manualmente usadas como valores iniciais (sementes). Essa abordagem usa poucos exemplos como treinamento, treina um classificador e usa-o para rotular uma quantidade maior de exemplos que serão utilizados juntamente com aqueles rotulados manualmente para treinamento de um novo classificador para atuação em um grande corpus. A ideia principal dessa técnica é. Capítulo 2. Revisão Literária 20. usar a saída de um classificador fraco como dados de treinamento para a próxima iteração. É um paradigma que aprende uma tarefa a partir de um pequeno conjunto de dados rotulados e um grande conjunto de dados não rotulados (BACH; BADASKAR, 2007; KONSTANTINOVA, 2014; ZADGAONKAR, 2015; SARAWAGI, 2008).. As sementes são usadas para extrair padrões de um grande corpus, que são então usadas para extrair mais instâncias e novamente para extrair novos padrões de uma maneira iterativa. A seleção de sementes iniciais é um problema complexo. Se elas não refletem com precisão os conhecimentos contidos no corpus, a qualidade das extrações pode ser baixa. Além disso, muitas iterações são necessárias. Mas esse tipo de método ainda requer uma certa quantidade de esforço manual, tanto para criar sementes quanto para ajudar a manter a aprendizagem no caminho certo ajustando parâmetros ao longo das iterações.. O uso de métodos semisupervisionados foi um grande avanço para automatização do processo de aprendizagem, no entanto troxe uma série de outros problemas para a precisão do processo. A vulnerabilidade a erros de ambiguidade na rede semântica usada para marcar as palavras das sentenças são responsáveis pela propagação de ruído das fases iniciais para as fases posteriores, ou seja, a distorção indesejada de significado das palavras, o que compromete bastante o uso desses métodos (KONSTANTINOVA, 2014; ZADGAONKAR, 2015).. Em geral, os métodos de extração supervisionados são difíceis de estender-se a novos domínios por falta de dados rotulados e de adaptar-se às relações de entidade de ordem superior. Eles são relativamente pesados e não se ajustam bem com quantidades crescentes de dados de entrada. Em sua maioria exigem pré-processamento em forma de árvore de decisão ou árvores de análise de dependência (KONSTANTINOVA, 2014; ZADGAONKAR, 2015). Assim, na era do Big Data, o grande esforço para rotular manualmente os dados de treinamento torna esses métodos inapropriados para grandes corpus textuais.. 2.2.2 Supervisão distante. Com o crescimento exponencial de dados na Web, muito conhecimento humano tem sido construído por um grande número de usuários e armazenado em bases de conhecimento estruturado, como relações de entidade. Com essa disponibilidade de dados é possível usar um grande conjunto de pares de entidades conhecidos por terem uma relação alvo para gerar dados de treinamento.. Para explorar grandes bases de conhecimento, tais como Freebase (BOLLACKER et al., 2008) e DBpedia (LEHMANN et al., 2015), para etiquetar automaticamente entidades no texto e usar o texto anotado para extrair características e treinar classificadores a aprendizagem por supervisão distante ou auto-supervisão tem sido aplicada (MINTZ et al., 1992; RIEDEL; YAO; MCCALLUM, 2010; RIEDEL et al., 2013; XIANG et al., 2016; TAKAMATSU; SATO; NAKAGAWA, 2012; ZENG et al., 2015). Ao contrário dos sistemas supervisionados, essa. Capítulo 2. Revisão Literária 21. Tabela 1: Conjunto de treinamento gerado por supervisão distante para extração de relações.. Par de entidades: <Barack Obama,United States>. Instâncias de relações Freebase president_of(Barack Obama,United States)burn_in(Barack Obama,United States). Menções de relações em texto livre. Barack Obama was the 44th and current president of the United States.(president_of) Barack Obama ended United States military involvement in the Iraq War.(NA) Barack Obama was burn in Honolulu, Hawaii, United States.(burn_in) Barack Obama ran for the United States Senate in 2004.(Senate_of). abordagem não requer dados rotulados manualmente e pode ser aplicada a grandes corpus. Desde que extraiam as relações que são definidas pelos vocabulários, estas aproximações são menos prováveis produzir relações não informativas ou incoerentes.. Em vez de criar manualmente algumas tuplas de sementes (como feito com bootstrap- ping), a ideia principal de supervisão distante é usar um banco de dados de relações para obter muitos exemplos de treinamento. A abordagem de aprendizagem distante, ou supervisão distante, utiliza uma base de conhecimento estruturado construída colaborativamente por humanos em forma de relações de entidades como conjunto de treinamento, como por exemplo a FreeBase (com 1.9 bilhões de tuplas) (KONSTANTINOVA, 2014; ZADGAONKAR, 2015), para fornecer um conjunto de treinamento de relações e pares de entidades que participam dessas relações, de acordo com a Tabela 1. A suposição de supervisão distante é que se duas entidades participam de uma relação, qualquer frase que contenha essas duas entidades poderia expressar essa relação (MINTZ et al., 1992).. Como essa suposição nem sempre é válida, autores também usaram características extraídas de frases diferentes contendo um mesmo par de entidades para criar um vetor de características supostamente mais confiável. Eles usaram características lexicais e sintáticas denominadas de tag de entidade. (JIANG, 2012; YAO; RIEDEL; MCCALLUM, 2013). Na etapa de treinamento, todas as entidades são identificadas em sentenças usando um tagger de entidade nomeada que rotula pessoas, organizações e locais. Se uma sentença contém duas entidades e essas entidades são uma instância de uma das relações Freebase, características são extraídas dessa sentença e são adicionados ao vetor de características de relações (MINTZ et al., 1992).. Na etapa de teste, as entidades são novamente identificadas usando o tagger de entidade nomeada. Cada par de entidades detectado em uma sentença é considerado uma potencial instância de relação, e sempre que essas entidades aparecem juntas, as características são extraídos na sentença e adicionados a um vetor de características para esse par de entidades. Em uma abordagem mais clássica, se um par de entidades ocorre em 10 frases no conjunto de teste, e cada frase tiver 3 características extraídas dele, o par de entidades terá 30 características associadas (MINTZ et al., 1992).. Capítulo 2. Revisão Literária 22. 2.3 Representação de palavras em espaço vetorial. O processamento de linguagem natural permite que computadores possam entender a língua usada pelos humanos através de métodos de inteligência artificial.. No passado a linguagem natural era processada representando palavras como símbolos atômicos discretos usando métodos estatísticos. No entanto, essas codificações são arbitrárias e não fornecem informações úteis sobre as relações que podem existir entre os símbolos individuais. Isso significa que o modelo pode aproveitar muito pouco do que ele aprendeu sobre uma dada palavra quando ele está processando dados sobre uma outra palavra de significado similar. Representar palavras como identificações únicas e discretas também leva à escassez de dados, e normalmente significa que possivelmente precisemos de mais dados para formar modelos estatísticos bem sucedidos.. O uso de representações vetoriais pode superar alguns desses obstáculos. Para que isso seja possível, palavras devem ser representadas de forma numérica para que a máquina possa reconhecê-las. A ideia central é representar dados textuais, sejam palavras, frases ou documentos, como pontos em um espaço vetorial.. Tradicionalmente um método comum é tratar um texto como um Bag-of-word (saco de palavras). Onde cada texto é representado como um vetor 1 por V, onde V é o tamanho do vocabulário. Cada coluna é uma palavra e o valor é o número de vezes que a palavra aparece.. Já do ponto de vista da representação de palavras, um vetor de comprimento V é preen- chido com o número 1 na posição correspondente à palavra, enquanto as outras posições são ocupadas com o número 0. Essa é a representação one-hot ou 1-hot.. Em um exemplo compacto suponha que o vocabulário tenha apenas quatro palavras, ou seja cão, gato, late, mia. Assim, em uma codificação de 1-hot (conforme Figura 2), o vetor de cão é (1,0,0,0) e o vetor de gato é (0,1,0,0).. Figura 2: Representação vetorial de palavras one-hot.. Notamos então que cada palavra é uma dimensão, e na codificação one-hot, só essa dimensão é 1, as outras dimensões são 0. Neste caso, qualquer resultado do produto interno de duas palavras nessa codificação vetorial será 0, indicando que dois vetores são perpendiculares.. Por exemplo, considerando um corpus formado pelas sentenças "I am a programmer" e "I like a dog" temos o vocabulário:. Capítulo 2. Revisão Literária 23. { I, am, a, programmer, like, dog, cat }, onde o palavra "I" pode ser repre- sentada vetorialmente por:. x =. . x1 x2 x3 x4 x5 x6 x7.  =. . 1 · · · I 0 · · ·am 0 · · ·a 0 · · · programmer 0 · · · like 0 · · ·dog 0 · · ·cat.  (2.2). e a palavra "am" pode ser representada por:. x =. . x1 x2 x3 x4 x5 x6 x7.  =. . 0 · · · I 1 · · ·am 0 · · ·a 0 · · · programmer 0 · · · like 0 · · ·dog 0 · · ·cat.  (2.3). Embora essa seja uma melhoria em relação à abordagem estatística, ignora o contexto e o tamanho dos dados aumentam significativamente com o tamanho do vocabulário. Além disso os vetores one-hot são esparsos e de alta dimensão. Pois em aplicações reais o tamanho do vocabulário em uma espécie de corpus de textos, normalmente tem alguns milhares de palavras.. 2.4 Word embedding. Embora a ideia de usar a representação vetorial one-hot tenha sido usada por algum tempo, o interesse em representar palavras por word embedding, técnica que mapeia grande quantidade de texto para vetores de menores dimensões, tem sido crescente recentemente (BENGIO et al., 2003; MNIH; HINTON, 2007; MIKOLOV et al., 2013).. Word embedding é um método para projetar palavras para vetores contínuos. Envolve uma transformação matemática de um espaço com uma dimensão por palavra a um espaço vetorial contínuo de dimensão muito menor (normalmente entre 100 e 600 dimensões), onde as palavras ou frases do vocabulário são mapeadas para vetores de números reais (MIKOLOV et al., 2013; RONG, 2014).. Duas diferentes abordagens usadas para gerar esse mapeamento categorizam esse princí- pio: os métodos baseados em contagem (como Latent Semantic Analysis - LSA (DUMAIS, 2004), Latent Dirichlet Allocation - LDA (BLEI; NG; JORDAN, 2003)) e métodos preditivos (como. Capítulo 2. Revisão Literária 24. Neural Network Language Model - NNLM (BENGIO et al., 2003), RecursiveNN , RecurrentNN , CNN ( Convolutional neural network) e word2vec (MIKOLOV et al., 2013)).. A primeira etapa da incorporação de palavras é usar a codificação one-hot para transfor- mar o vocabulário em um espaço vetorial esparso de alta dimensão. De forma geral, os métodos baseados em contagem calculam as estatísticas de quantas vezes uma palavra co-ocorre com suas palavras vizinhas em um grande corpus textual e, em seguida, um vetor pequeno e denso obtido através da decomposição de matriz (SVD - Singular Value Decomposition) contendo as estatísticas para cada palavra é usado para representá-las. Já os modelos preditivos fazem a predição de uma palavra a partir de seus vizinhos em termos de pequenos vetores densos aprendidos (considerados parâmetros do modelo) através de alguma arquitetura de redes neurais artificiais.. No entanto, os modelos baseados em predição superam em performance e eficiência computacional os modelos baseados em contagem (BARONI; DINU; KRUSZEWSKI, 2014) e têm sido utilizados para melhorar o desempenho em várias tarefas de PLN, inclusive extração de relações (NGUYEN; GRISHMAN, 2015; JÚNIOR et al., 2015; JÚNIOR; BARBOSA; MACEDO, 2016; RODRIGUES; TEIXEIRA, 2015).. 2.4.1 Neural Network Language Model. No modelo introduzido por Bengio et al. (2003), a predição probabilística é obtida pela probabilidade de uma palavra wt dado seu contexto, ou seja, P(wt |wt−n+1, . . .wt−1) . Em primeiro lugar, cada palavra wt−i (representada com um inteiro em [1,N]) no contexto de n−1 palavras é mapeada para um vetor de característica d-dimensional associado Cwt−i , que é a coluna wt−i da matriz de parâmetros C. O vetor Ck contém características aprendidas para a palavra k. Seja o vetor x denotado pela concatenação dos n−1 vetores de característica:. x = (Cwt−n+1,1, . . . ,Cwt−n+1,d,Cwt−n+2,1, . . .Cwt−2,d,Cwt−1,1, . . .Cwt−1,d) (2.4). A predição probabilística da palavra seguinte, partindo de x, é então obtida usando uma arquitetura de rede neural artificial padrão para classificação probabilística, usando a função de ativação softmax nas unidades de saída:. P(wt = k|wt−n+1, . . .wt−1) = eak. ∑ N l=1 eal. (2.5). onde. ak = bk + h. ∑ i=1. Wki tanh. ( ci +. (n−1)d. ∑ j=1. Vi jx j. ) (2.6). onde os vetores b, c e matrizes W, V são também parâmetros (em adição à matriz C). Vamos denotar θ para a concatenação de todos os parâmetros. A capacidade do modelo é controlada. Capítulo 2. Revisão Literária 25. pelo número de unidades ocultas h e pelo número de características de palavras aprendidas d.. Figura 3: Arquitetura do modelo de linguagem neural de Bengio et al. (2003).. A rede neural é treinada usando um algoritmo de otimização baseado em gradiente para maximizar a função de log-verossimilhança. J(θ) = ∑ t. logP(wt |wt−n+1, . . .wt−1) (2.7). O gradiente ∂J(θ) ∂θ. pode ser calculado usando o algoritmo de retropropagação de erro (backpropagation), estendido para fornecer o gradiente em relação a C, bem como em relação aos outros parâmetros. Observe que o gradiente na maior parte de C é zero (e não precisa ser computado ou usado), apenas aqueles correspondentes a palavras na subsequência de entrada têm um gradiente diferente de zero.. Devido ao grande número de exemplos (de milhões a centenas de milhões) de trei- namento utilizados para gerar essa representação vetorial de palavras, o único algoritmo de otimização prático conhecido para ajustar essas redes neurais artificiais é o algoritmo de gradiente descendente estocástico. Assim, o gradiente de J(θ) é calculado iterativamente usando um único exemplo (palavra) de cada vez ou um mini-lote de exemplos (até 100 palavras) para executar a atualização dos parâmetros da rede (BENGIO et al., 2003).. 2.4.2 Word2vec. O word2vec é uma representação distribuída de palavras, ou word embeddings, baseada em rede neural simples com uma única camada oculta, completamente conectada. Os neurônios da camada oculta são todos funções de ativação lineares. A camada de entrada tem tantos. Capítulo 2. Revisão Literária 26. neurônios quanto o número de palavras no vocabulário de treinamento V . O tamanho da camada oculta é definido pela dimensionalidade desejada dos vetores de palavras resultantes N. O tamanho da camada de saída é o mesmo que a camada de entrada. Assim, assumindo que o vocabulário para a aprendizagem de vetores de palavras consiste em V palavras e N dimensões de vetores de palavras, a entrada para conexões de camadas ocultas pode ser representada pela matriz W de tamanho V ×N com cada linha representando uma palavra do vocabulário.(GOLDBERG; LEVY, 2013; MIKOLOV et al., 2013; RONG, 2014). Da mesma forma, as ligações da camada oculta para a camada de saída podem ser descritas pela matriz W’ de tamanho N×V . Nesse caso, cada coluna da matriz W’ representa uma palavra do vocabulário dado. A entrada para a rede é codificada usando a representação 1-hot, onde apenas uma linha de entrada é definida como 1 e o restante das linhas de entrada é definido como 0 (zero). (RONG, 2014). Existem dois tipos de arquitetura de rede word2vec, Continuous Bag of Words (CBoW) e Skip-gram. Ambas descrevem como a rede neural aprende as representações de palavras adjacentes (contexto) para cada palavra. Considerando que a aprendizagem de representações de palavras é essencialmente sem supervisão, de alguma maneira deve-se criar rótulos para treinar o modelo. Skip-gram e CBoW são duas maneiras de diferentes de executar essa tarefa, onde rótulos para a entrada dada são criados (o que depende da arquitetura). (GOLDBERG; LEVY, 2013; MIKOLOV et al., 2013; RONG, 2014). Para ambas as arquiteturas, assumimos que a palavra atual em uma frase é wi. Na arquitetura CBoW a entrada para o modelo pode ser dada por wi−2, wi−1, wi+1, wi+2, as palavras precedentes e seguintes da palavra atual em que estamos. A saída da rede neural será wi. Daí então CBoW é a tarefa de prever a palavra dada seu contexto. Onde o número de palavras usadas depende da configuração do tamanho da janela.. Já na arquitetura Skip-gram a entrada para o modelo é a palavra atual wi, e a saída pode ser dada wi−2, wi−1, wi+1, wi+2. Portanto, a tarefa aqui é prever o contexto dado uma palavra. Além disso, as palavras mais distantes são dadas menos peso por amostragem aleatória deles. Quando o parâmetro do tamanho da janela é definido, só é configurado o tamanho máximo da janela. O tamanho real da janela é escolhido aleatoriamente entre 1 e o tamanho máximo para cada amostra de treino, resultando em palavras com a distância máxima observada com uma probabilidade de 1C enquanto as palavras diretamente ao lado da palavra dada são sempre observadas. (RONG, 2014). De acordo com Mikolov et al. (2013) Skip-gram funciona bem com pequena quantidade de dados de treinamento, representando bem mesmo palavras raras ou frases. Enquanto que CBoW é várias vezes mais rápido para treinar e apresenta precisão um pouco melhor para as palavras frequentes.. Capítulo 2. Revisão Literária 27. Modelo Skip-gram. O Skip-gram é um modelo para prever as palavras que rodeiam (contexto) uma dada palavra. A entrada do modelo é uma simples palavra wI e a saída são as palavras em seu contexto {wO,1,wO,2, . . . ,wO,C} definidas por uma janela de tamanho C.. Por exemplo, considerando a sentença "I drove my car to the store". Uma ins- tância de treinamento potencial pode ser a palavra car como entrada e as palavras {"I","drove", "my","to","the","store"} como saída. Onde todas essas palavras são codificadas como vetores one-hot do tamanho do vocabulário.. Definimos então a propagação direta do modelo neural skip-gram como apresentado na Figura 4.. Figura 4: Arquitetura do modelo de representação de palavras word2vec skip-gram.. x representa o vetor one-hot correspondente à palavra de entrada em uma instância de treinamento e {y1, . . . ,yC} são vetores one-hot correspondentes às palavras de saída na instância de treinamento. A matriz W de tamanho N×V é a matriz de peso entre a camada de entrada e a camada oculta, onde a i-ésima linha representa o peso correspondente à i-ésima palavra no vocabulário. Cada vetor de palavras de saída está associado a uma matriz de peso W’ de tamanho V ×N e uma camada oculta de N neurônios (N é um parâmetro de treinamento, normalmente entre 100 e 300). (RONG, 2014). A entrada para a camada oculta é simplesmente a soma ponderada de suas entradas.. Capítulo 2. Revisão Literária 28. Sendo o vetor de entrada x codificado em one-hot, somente os pesos relacionados aos elementos diferentes de zero contribuirão para a camada oculta. Sendo assim, para a entrada x com xk = 1 e xk′ = 0 para todo k ̸= k′ as saídas da camada oculta serão equivalentes à k-ésima linha de W, W(k,.). Ou, matematicamente,. h = W ·xT = WT(k,.) = v T wI (2.8). W = [. v1 v2 v3 v4 v5 v6 v7 ]. =. . v11 v21 v31 v41 v51 v61 v71 v12 v22 v32 v42 v52 v62 v72 v13 v23 v33 v43 v53 v63 v73 .... ... .... ... .... ... .... v1N v2N v3N v4N v5N v6N v7N.  (2.9). W ·x = [. v1 v2 v3 v4 v5 v6 v7 ] . 0 1 0 0 0 0 0.  = v2 (2.10). Note que nesse caso não foi usada função de ativação, presumidamente porque as entradas são representadas por vetores one-hot, ou seja, com valores discretos de 0 ou 1. Da mesma forma, a entrada para cada um dos C×N neurônios de saída é calculada pela soma ponderada dessas entradas. Sendo assim a entrada do i-ésimo neurônio da c-ésima palavra de saída é dada por. uC, j = v′ T w jh (2.11). Contudo devemos observar que a camada de saída para cada palavra de saída compartilha os mesmos pesos uC, j = u j. Assim, o j-ésimo nó da c-ésima palavra de saída pode ser calculada via função softmax.. p(wC, j = wO,C|wI) = yC, j = exp(v′TwO ·vwI). ∑wv∈V exp(v′ T wv ·vwI). (2.12). Em outras palavras, esse valor é a probabilidade que a saída do j-ésimo neurônio da c- ésima palavra de saída seja igual ao atual valor do j-ésimo índice do vetor de saída (representado como one-hot).. Capítulo 2. Revisão Literária 29. Onde exp(x) = ex, vT é transposição de v e vT · v é o produto interno do vetor v.. p(wO,1,wO,2, · · · ,wO,C|wI) = C. ∏ c=1. exp(v′TwO,c ·vwI). ∑wv∈V exp(v′ T wv ·vwI). (2.13). W′ =. . v′T1 v′T2 v′T3 v′T4 v′T5 v′T6 v′T7.  =. . v′11 v ′ 12 v. ′ 13 · · · v′1N. v′21 v ′ 22 v. ′ 23 · · · v′2N. v′31 v ′ 32 v. ′ 33 · · · v′3N. v′41 v ′ 42 v. ′ 43 · · · v′4N. v′51 v ′ 52 v. ′ 53 · · · v′5N. v′61 v ′ 62 v. ′ 63 · · · v′6N. v′71 v ′ 72 v. ′ 73 · · · v′7N.  (2.14). Sabendo como as entradas são propagadas através da rede, podemos derivar os gradientes de erro necessários para o algoritmo Backpropagation que vamos usar para aprender tanto W e W’. O primeiro passo na derivação dos gradientes é definir uma função de custo. Esta função de custo será. E =−log p(wO,1,wO,2, · · · ,wO,C|wI). =−log C. ∏ c=1. exp(v′TwO,c ·vwI). ∑ V j′=1 exp(v′. T wv ·vwI). =− C. ∑ c=1. exp(v′TwO,c ·vwI)+C · log V. ∑ j′=1. exp(v′Twv ·vwI) (2.15). Que é simplesmente a probabilidade das palavras de saída (as palavras no contexto da palavra de entrada) dada a palavra de entrada. Onde, j é o índice da c-ésima palavra de saída. Se tomarmos a derivada em relação a uc, j obtemos. ∂E ∂uc, j. = yc, j− tc, j (2.16). Onde tc, j = 1 se o j-ésimo nó da c-ésima palavra de saída verdadeira é igual a 1 (de sua codificação one-hot), caso contrário tc, j = 0. Assim, yc, j− tc, j é o erro de previsão para o nó c, j (ou o j-ésimo nó da c-ésima palavra de saída).. Agora que temos a derivada de erro em relação às entradas da camada final, podemos encontrar a derivada em relação à matriz de saída W’. Usando a regra de cadeia teremos:. Capítulo 2. Revisão Literária 30. ∂E ∂w′i j. = C. ∑ c=1. ∂E ∂uc, j. · ∂uc, j ∂w′i j. = C. ∑ c=1. (yc, j− tc, j) ·hi (2.17). Portanto, a equação de atualização do gradiente descendente para a matriz de saída W’ com taxa de aprendizagem η =]0,1] é. w′(new)i j = w ′(old) i j −η ·. C. ∑ c=1. (yc, j− tc, j) ·hi (2.18). Para derivar a equação de atualização para os pesos da camada oculta W iniciamos computando a derivada do erro em relação à camada oculta.. ∂E ∂hi. = V. ∑ j=1. ∂E ∂u j ·. ∂u j ∂hi. = V. ∑ j=1. C. ∑ c=1. (yc, j− tc, j) ·w′i j (2.19). Computamos então a derivada do erro em relação à W. ∂E ∂wki. = V. ∑ j=1. ∂E ∂hi · ∂hi. ∂wki. = V. ∑ j=1. C. ∑ c=1. (yc, j− tc, j) ·w′i j · xk (2.20). e, finalmente, nossa equação de gradiente descendente para os pesos da entrada. w(new)i j = w (old) i j −η ·. V. ∑ j=1. C. ∑ c=1. (yc, j− tc, j) ·w′i j · x j (2.21). Modelo CBoW. O outro modelo Word2Vec - continuous bag-of-words (CBOW) é tão direto quanto skip- gram. Em muitos aspectos, eles são imagens espelhadas um do outro. Por exemplo, se você olhar para o diagrama do modelo na Figura 5 CBOW é similar ao modelo skip-gram, com as entradas e saídas invertidas.. Capítulo 2. Revisão Literária 31. Figura 5: Arquitetura do modelo de representação de palavras word2vec CBoW.. A camada de entrada consiste nas palavras de contexto de entrada {x1, . . . ,xC} codifica- das como vetores one-hot para uma janela de palavras de tamanho C e vocabulário de tamanho V . A camada oculta é um vetor N-dimensional h. Finalmente, a camada de saída é a palavra de saída y no exemplo de treinamento que também é codificado com um vetor one-hot. Os vetores de entrada codificados como one-hot são conectados à camada oculta através de uma matriz de peso W de tamanho V ×N, enquanto a camada oculta está conectada a camada de saída através da matriz de peso W’, de tamanho N×V .. A propagação direta , cálculo da saída a partir da entrada, pressupõe que conhecemos as matrizes de peso de entrada e saída. O primeiro passo é avaliar a saída da camada oculta h, computando. h = 1 C. W · ( C. ∑ i=1. xi) (2.22). Que é o produto da média ponderada dos vetores de entrada pela matriz W. Notemos então que a computação de saída da camada oculta é uma das únicas diferenças entre o modelo CBOW e o modelo skip-gram. Em seguida, calculamos as entradas para cada nó na camada de saída. u j = v′ T w j ·h (2.23). Capítulo 2. Revisão Literária 32. Onde v′wj é a j-ésima coluna da matriz de peso de saída W’. Enquanto, a saída yi é obtida computando a função soft-max da entrada u j.. yi = p(yi|w1, . . . ,wC) = exp(ui). ∑ V j′=1 exp(u. ′ j). (2.24). Dado o funcionamento da propagação direta, a aprendizagem das matrizes de peso W e W’, através de treinamento com gradiente descendente, é inicializada com valores aleatórios. Em seguida, alinhamos sequencialmente exemplos de treinamento em nosso modelo e observamos o erro, que é alguma função da diferença entre a saída esperada e a saída real. Então, calculamos o gradiente desse erro em relação aos elementos de ambas as matrizes de peso e atualizamos a direção desse gradiente. Este procedimento de otimização geral é conhecido como gradiente descendente estocástico, mas o método pelo qual os gradientes são derivados é conhecido como backpropagation (retropropagação).. O primeiro passo é definir a função objetivo, para maximizar a probabilidade condicional da palavra de saída dado o contexto de entrada, dada por. E =−logp(wO|wI,1, . . . ,wI,C). =−u j*+ log V. ∑ j′=1. exp(u j′). =−vTwo ·h+ log V. ∑ j′=1. exp(v′Tw j ·h) (2.25). Para atualizar os pesos da camada oculta para saída, o primeiro passo é calcular a derivada da função de erro em relação à entrada para o nó na camada de saída.. ∂E ∂u j. = y j− t j (2.26). Onde t j = 1 se j = j*, a predição do erro do nó j na camada de saída. Em seguida, tomamos a derivada do erro (E) em relação ao peso de saída w′i j usando a regra da cadeia.. ∂E ∂w′i j. = ∂E ∂u j ·. ∂u j ∂w′i j. = (y j− t j) ·hi (2.27). Agora que temos o gradiente em relação a um peso de saída arbitrário wi j, podemos. Capítulo 2. Revisão Literária 33. definir a equação do gradiente descendente estocástico.. w′(new)i j = w ′(old) i j −η ·. C. ∑ c=1. (y j− t j) ·hi (2.28). ou, v′(new)j = v. ′(old) j −η · (y j− t j) ·h (2.29). 2.5 Redes Neurais Convolucionais. As redes neurais convolucionais são uma variação dos perceptrons multicamadas (MLP - Multi layer perceptron) . Por uma inspiração biológica, as CNNs emulam o mecanismo básico do córtex visual animal. Os neurônios nas CNNs compartilham pesos ao contrário dos MLPs, onde cada neurônio possui um vetor de peso separado. Este compartilhamento de pesos acaba reduzindo o número total de pesos treináveis, portanto, introduzindo esparsidade.. Utilizando a estratégia de compartilhamento de pesos, os neurônios são capazes de realizar convoluções nos dados com o filtro de convolução formado pelos pesos. Isto é seguido por uma operação de pooling que é uma forma de subamostragem não-linear que reduz progres- sivamente o tamanho espacial da representação, reduzindo assim a quantidade de parâmetros e computação na rede.. Após várias camadas de convolução e pooling, o tamanho da matriz de entrada (tamanho do mapa de características) é reduzido e características mais complexas são extraídas. Eventual- mente, com um mapa de características pequeno o suficiente, o conteúdo é comprimido em um vetor de uma dimensão e é alimentado em um MLP totalmente conectado para processamento.. Normalmente, entre a camada de convolução e a camada de pooling é aplicada uma camada ReLu na qual uma função de ativação não saturada de um lado é aplicada elemento a elemento, como por exemplo, f (x) = max(0,x), limitando os menores valores de saída da camada a zero.. A última camada do MLP totalmente conectado, visto como a saída, é uma camada de perda que é usada para especificar como o treinamento na rede penaliza o desvio entre os rótulos previstos e verdadeiros.. 2.5.1 Convolução. Convolução é o processo de soma do produto de duas matrizes elemento a elemento ao longo de uma região compreendida pela superposição de uma das matrizes rotacionada 1800. (denominada filtro ou kernel) em função de seu deslocamento. A operação de convolução é denotada pelo operador *(asterisco) .. Capítulo 2. Revisão Literária 34. Dada uma matriz de entrada X e um filtro (kernel) F de dimensões J×K, uma operação de convolução resulta em uma matriz C, dada por. C = X *F. C(i, j) = j0. ∑ a=− j0. k0. ∑ b=−k0. X(i−a, j−b)F(a,b) (2.30). onde j0 = (J−1)/2 e k0 = (K−1)/2.. Por exemplo, se tivermos duas matrizes de três por três, o primeiro um kernel e a segunda uma matriz de características, a convolução é o processo de deslizar tanto as linhas quanto as colunas do kernel e depois multiplicar entradas e somas locais correspondentes. O elemento nas coordenadas (1, 1) (ou seja, o elemento central) da matriz resultante seria uma combinação ponderada de todas as entradas da matriz, com pesos atribuídos pelo kernel:. C(1,1) =.   1 2 34 5 6. 7 8 9. *  a b cd e f. g h i.   (2.31). = (1 · i)+(2 ·h)+(3 ·g)+(4 · f )+(5 · e)+(6 ·d)+(7 · c)+(8 ·b)+(9 ·a) (2.32). A convolução é idêntica à correlação cruzada, exceto que o kernel é "invertido"(horizontal e verticalmente). Ou seja, rotacionado em 180o. 2.5.2 Propagação direta em camadas convolucionais. Em redes neurais convolucionais, a camada de convolução é aplicada nos dados de entrada usando um filtro de convolução para produzir um mapa de característica.. Realizamos a operação de convolução, deslizando esse filtro sobre a matriz de entrada. Em cada local,

Referências

Documentos relacionados

Mineração de conhecimento interativa em níveis diferentes de abstração: Como é  difícil  prever  o  que  exatamente  pode  ser  descoberto  de  um  banco 

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

A presente pesquisa teve como objetivo implantar um registro amplo de saúde empregando a metodologia do linkage probabilístico de registros para integrar os dados contidos nos

29 Table 3 – Ability of the Berg Balance Scale (BBS), Balance Evaluation Systems Test (BESTest), Mini-BESTest and Brief-BESTest 586. to identify fall

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Apesar de o mercado acionário brasileiro ter se tornado mais importante para a economia brasileira, sobretudo entre o período de 2002 para 2005 (Tabela 3), sua repre- sentatividade

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 é

 Numéricos das das Propriedades Propriedades do do Ar Ar Úmido, Úmido, Cartas Cartas Psicrométricas, Psicrométricas, Processos Processos Psicrométricos, Psicrométricos,