José Estevam de Andrade Junior Comparando Embeddings Contextuais no Problema de Busca de Similaridade Semântica em Português Natal – RN Abril de 2021 José Estevam de Andrade Junior Comparando Embeddings Contextuais no Problema de Busca de Similaridade Semântica em Português Trabalho de Conclusão de Curso de Engenha- ria de Computação da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Computação Orientador: Prof. Leonardo C. T. Bezerra Universidade Federal do Rio Grande do Norte – UFRN Departamento de Engenharia de Computação e Automação – DCA Curso de Engenharia de Computação Natal – RN Abril de 2021 Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede Andrade Junior, José Estevam de. Comparando Embeddings Contextuais no Problema de Busca de Similaridade Semântica em Português / José Estevam de Andrade Junior. - 2021. 50f.: il. Monografia (Graduação) - Universidade Federal do Rio Grande do Norte, Departamento de Engenharia de Computação e Automação, Engenharia de Computação, Natal, 2021. Orientador: Dr. Leonardo Cesar Teonacio Bezerra. 1. Aprendizado profundo - Monografia. 2. Processamento de linguagem natural - Monografia. 3. Similaridade semântica textual - Monografia. I. Bezerra, Leonardo Cesar Teonacio. II. Título. RN/UF/BCZM CDU 004 Elaborado por RAIMUNDO MUNIZ DE OLIVEIRA - CRB-15/429 José Estevam de Andrade Junior Comparando Embeddings Contextuais no Problema de Busca de Similaridade Semântica em Português Trabalho de Conclusão de Curso de Engenha- ria de Computação da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Computação Orientador: Prof. Leonardo C. T. Bezerra Trabalho aprovado. Natal – RN, 27 de Abril de 2021: Prof. Dr. Leonardo C. T. Bezerra - Orientador UFRN Prof. Dra. Márjory Cristiany Da Costa Abreu Sheffield Hallam University Dr. Jonathan Cardoso Silva Data Science Brigade Natal – RN Abril de 2021 Dedico este trabalho a meus pais, Andrade e Aurione, e a minha esposa, Giovana, por todo o apoio durante minha trajetória acadêmica. AGRADECIMENTOS Agradeço ao Professor Leonardo por todo o conhecimento compartilhado, pela empatia e paciência durante o desenvolvimento das nossas pesquisas. RESUMO Busca de similaridade semântica textual (STS, do inglês semantic textual similarity) é um problema de processamento de linguagem natural que tem por objetivo mensurar numericamente o quão similares dois pares de frases são semanticamente. Esse problema vem ganhando grande atenção tanto na indústria, por meio do desenvolvimento de di- versos sistemas de recomendação textuais, quanto na academia, principalmente com a popularidade de tarefas compartilhadas como as propostas pelo International Workshop on Semantic Evaluation (SemEval). Apesar do SemEval ter contribuído para o aumento dos trabalhos nesta área, ainda vemos poucos estudos focados em STS para a língua portuguesa. Pensando nisso, os workshops ASSIN e ASSIN 2 criaram tarefas compartilhadas de busca de similaridade semântica em português, disponibilizando conjuntos de dados que foram usados para avaliar modelos durante os eventos. Mais recentemente, um modelo BERT pré-treinado em português com fine-tuning (ptBERTft) estabeleceu o estado-da-arte para estes conjuntos. Neste trabalho, comparamos o desempenho dos embeddings contextuais produzidos por modelos BERT e Sentence-BERT (SBERT) para os conjuntos de dados criados nos workshops ASSIN e ASSIN 2. Os modelos BERT foram pré-treinados no português com (ptBERTft) ou sem (ptBERT) fine-tuning para STS. Por sua vez, os modelos SBERT adotados foram pré-treinados em bases multi-língues (mSBERT), inicialmente sem fine- tuning. Os resultados desta comparação mostram que os embeddings produzidos pelos modelos multilíngues SBERT são competitivos, ultrapassando os resultados do ptBERT e também os resultados observados durante as tarefas compartilhadas do ASSIN e ASSIN 2. De fato, para este conjunto de dados o resultado do mSBERT ficou atrás apenas dos resultados obtidos pelo ptBERTft. Na segunda parte da nossa investigação, realizamos um fine-tuning dos modelos multilíngues SBERT para os problemas propostos. Os resultados desta fase variam em função do conjunto de dados considerado. Para o ASSIN 2, o fine- tuning torna os modelos multilíngues SBERT competitivos com o ptBERTft, requerendo porém menos recursos computacionais. Para o ASSIN, no entanto, o ganho de performance obtido pelo fine-tuning não foi suficiente para igualar a performance do modelo ptBERTft. Palavras-chaves: Aprendizado profundo. Processamento de linguagem natural. Similari- dade semântica textual. Word embeddings. ABSTRACT Semantic textual similarity (STS) is a natural language processing problem that aims to measure how similar two pairs of sentences are semantically. This problem has been gaining great attention both in the industry, through the development of several textual recommendation systems, and in academia, mainly with the popularity of shared tasks such as those proposed by the International Workshop on Semantic Evaluation (SemEval). Although SemEval has contributed to the increase in works in this area, the literature still lacks studies focused on STS for the Portuguese language. To that end, the ASSIN and ASSIN 2 workshops created shared tasks for semantic similarity search in Portuguese, providing datasets that were used to evaluate models during the events. More recently, a model produced by a Portuguese pre-trained and fine-tuned BERT established the state-of-the-art for those datasets. This work compares the performance of the BERT and Sentence-BERT (SBERT) contex- tual embeddings on the datasets created in the workshops ASSIN and ASSIN 2. The BERT models were pre-trained in portuguese with (ptBERTft) and without (ptBERT) fine-tuning for STS. On the other hand, the SBERT models was pre-trained in a multilingual corpus (mSBERT), initially without fine-tuning. The results of this comparison showed that the embeddings produced by SBERT models were competitive, surpassing the results of ptBERT and also the results observed during the shared tasks ASSIN and ASSIN 2.In fact, the result of mSBERT was second only to the results obtained by ptBERTft. In the second part of our investigation, we fine-tuned the multilingual SBERT models for the proposed problems. The results of this step vary depending on the dataset. For ASSIN 2, the fine-tuning made the SBERT models competitive with ptBERTft, however requiring less computational resources. For ASSIN, by contrast, the performance gain obtained by fine-tuning was not enough to match the performance of ptBERTft. Keywords: Deep learning. Natural language processing. Semantic textual similarity. Word embeddings. LISTA DE ILUSTRAÇÕES Figura 1 – Rede neural MLP com múltiplas camadas . . . . . . . . . . . . . . . . 18 Figura 2 – Configuração de treinamento encoder-decoder. . . . . . . . . . . . . . . 21 Figura 3 – Mecanismo de atenção. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Figura 4 – Arquitetura Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figura 5 – A arquitetura BERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Figura 6 – Representação de entrada do BERT. . . . . . . . . . . . . . . . . . . . 25 Figura 7 – Arquitetura do SBERT para computar similaridade cosseno. . . . . . . 26 Figura 8 – Resultados para o conjunto ASSIN PT-BR obtidos por modelos pré- treinados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Figura 9 – Resultados para o conjunto ASSIN PT-PT obtidos por modelos pré- treinados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Figura 10 – Resultados para o conjunto ASSIN 2 obtidos por modelos pré-treinados. 40 Figura 11 – Comparação das performances de modelos pré-treinados sem e com fine-tuning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Figura 12 – Resultados para o conjunto ASSIN PT-BR obtidos após fine-tuning. . . 44 Figura 13 – Resultados para o conjunto ASSIN PT-PT obtidos após fine-tuning. . . 44 Figura 14 – Resultados para o conjunto ASSIN 2 obtidos após fine-tuning. . . . . . 45 LISTA DE TABELAS Tabela 1 – Resultados alcançados durante o workshop ASSIN para a tarefa STS [1]. 29 Tabela 2 – Exemplo de dados do ASSIN 2 para a tarefa STS. . . . . . . . . . . . . 30 Tabela 3 – Resultados alcançados durante workshop ASSIN 2 para a tarefa STS [2]. 31 Tabela 4 – Comparativo do estado-da-arte para os conjuntos de dados ASSIN e ASSIN 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Tabela 5 – Resultados utilizando os modelos pré-treinados. . . . . . . . . . . . . . 38 Tabela 6 – Resultados utilizando os modelos com fine-tuning. . . . . . . . . . . . . 42 LISTA DE ABREVIATURAS E SIGLAS STS Semantic textual similarity SemEval International Workshop on Semantic Evaluation NLP Natural language processing PROPOR Conferência Internacional sobre o Processamento Computacional da Língua Portuguesa ASSIN Avaliação de similaridade semântica e inferência textual NLI Natural language inference STIL Symposium in Information and Human Language Technology ML Machine learning IA Inteligência artificial PCA Principal component analysis MLP Multilayer perceptron CBOW Continuous bag-of-words MLP Multilayer perceptron GloVe Global vectors ELMo Embeddings from language models LSTM Long short-term memory PULO Portuguese unified lexical ontology TeP Thesaurus para o português do Brasil PT-PT Português de Portugal PT-BR Português do Brasil SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1 Delimitação do problema . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5 Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 CONCEITOS PRELIMINARES . . . . . . . . . . . . . . . . . . . . . 16 2.1 Aprendizado de máquina . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2 Multilayer perceptron (MLP) . . . . . . . . . . . . . . . . . . . . . . . 17 2.3 Processamento de linguagem natural (NLP) . . . . . . . . . . . . . . 18 2.4 Embeddings de palavras e contextuais . . . . . . . . . . . . . . . . . 20 2.4.1 Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.2 BERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.3 Sentence-BERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 SIMILARIDADE TEXTUAL SEMÂNTICA . . . . . . . . . . . . . . 27 3.1 Definição e relevância . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 STS em português . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1 ASSIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.2 ASSIN 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3 Análise do estado da arte . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 ANÁLISE EXPERIMENTAL . . . . . . . . . . . . . . . . . . . . . . 34 4.1 Modelos pré-treinados . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 SBERT sem fine-tuning . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3 SBERT com fine-tuning . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 46 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 12 1 INTRODUÇÃO Similaridade semântica textual (STS [3], do inglês semantic textual similarity) é uma tarefa que busca medir o quão similares duas sentenças textuais são. Essa é considerada uma importante tarefa em aplicações de processamento de linguagem natural (NLP [3], do inglês natural language processing), assim como recuperação [4] e extração [4] de informações, e sumarização [4] e clusterização [3] de textos. Essa importância é confirmada pela criação de tarefas compartilhadas na área de STS, como as tarefas propostas pelo International Workshop on Semantic Evaluation (SemEval). Endossada pela Association for Computational Linguistics, o SemEval trouxe um grande avanço nos estudos de STS para a língua inglesa. No entanto, ainda existe uma carência de estudos de mesma natureza para o português. Além de ser importante na academia, o STS tem demonstrado sua importância na indústria, principalmente com o desenvolvimento cada vez mais comum de sistemas de recomendação e de busca textual [5, 6, 7]. Além de ser muito comum em sistemas de busca como o Google, também há o desenvolvimento de aplicações que buscam plágio ou até perguntas repetidas em sites de perguntas e respostas, como Quora ou Yahoo respostas [8]. Pensando em estimular o desenvolvimento de uma literatura mais vasta para a área de STS em português, a Conferência Internacional sobre o Processamento Computacional da Língua Portuguesa (PROPOR 2016) realizou o Workshop de Avaliação de Similaridade Semântica e Inferência Textual (ASSIN), em que foi desenvolvida uma tarefa compartilhada com base em um conjunto de dados em português. O objetivo desta tarefa era atribuir um score entre 1 e 5 para cada par de sentenças indicando sua similaridade. Como o próprio nome já denota, neste workshop também foi considerada a tarefa de inferência textual (NLI, do inglês natural language inference), cujo objetivo é classificar se um par de sentenças de entrada apresentam uma relação de implicação, paráfrase, ou nenhuma das duas. Neste trabalho, no entanto, nosso foco é apenas na tarefa STS. O corpus gerado durante o workshop ASSIN, que foi o primeiro em português para ambas as tarefas, trouxe sentenças de textos jornalísticos reais. Aproveitando o agrupamento de notícias do Google News, os proponentes do conjunto de dados usaram modelos de espaços vetoriais para selecionar sentenças similares, que passaram por uma filtragem manual e foram anotadas por juízes humanos. Cada par de sentenças foi anotado por quatro pessoas e os pares considerados ruidosos foram excluídos. Participaram do ASSIN seis equipes, sendo três brasileiras e três portuguesas. Cada uma dessas equipes submeteram até três resultados dos seus respectivos sistemas. Em 2019, dessa vez no Symposium in Information and Human Language Tech- Capítulo 1. Introdução 13 nology (STIL), a segunda edição do workshop foi nomeada ASSIN 2, com o objetivo de fornecer um novo benchmark de avaliação semântica para a comunidade de língua portu- guesa. Nesta versão, também foram inseridos dados do SICK-BR (tradução do conjunto de dados SICK [9]), alterando alguns sinônimos das frases. Também foram criados pares de palavras manualmente, mas tentando o máximo possível não introduzir viés nos dados. Nesta segunda edição, houve nove equipes participantes, sendo cinco de Portugal e quatro do Brasil. Os modelos considerados durante o ASSIN 2 usaram abordagens mais recentes de NLP, incluindo embeddings contextuais, como o BERT [10]. Ademais, os participantes consideraram a possibilidade de fine-tuning para a tarefa compartilhada. Devido ao bom desempenho dessas técnicas no contexto do ASSIN 2, novos trabalhos continuam a aplicar técnicas recentes de NLP aos conjuntos de dados ASSIN e ASSIN 2. De fato, mais recentemente um modelo pré-treinado em português BERT com fine-tuning para o STS em português se tornou o estado-da-arte para estes conjuntos [11]. 1.1 Delimitação do problema Ainda que os resultados de modelos BERT sejam competitivos em problemas de STS, o treinamento dessas redes exige que todos os pares de sentenças existentes no corpus sejam consideradas como entrada do modelo. Esta abordagem pode causar um overhead computacional massivo, dependendo do tamanho do corpus considerado. Pensando nisso, Reimers e Gurevych[12] propuseram o Sentence-BERT (SBERT), uma rede siamesa com pesos compartilhados que consegue reduzir o custo computacional dos modelos BERT. Desde sua proposição, o SBERT tem sido utilizado com sucesso em tarefas onde o BERT havia obtido bons resultados [12, 13]. No entanto, até aqui nenhum trabalho analisando embeddings contextuais SBERT para o STS em português pode ser encontrado na literatura. 1.2 Objetivos O objetivo geral deste trabalho é avaliar a eficácia de embeddings contextuais produzidos por modelos BERT e SBERT no STS em português. Para atingir este objetivo geral, os seguintes objetivos específicos são propostos: 1. Comparar a eficácia de embeddings contextuais obtidos por modelos SBERT pré- treinados multilíngues com a eficácia de embeddings contextuais obtidos por modelos BERT pré-treinados em português com (ptBERTft) e sem (ptBERT) fine-tuning para o STS. Capítulo 1. Introdução 14 2. Avaliar o benefício do fine-tuning para o STS em português dos modelos SBERT considerados no objetivo anterior, comparando-os especificamente com o modelo ptBERTft. 1.3 Metodologia Na primeira parte do nosso trabalho, analisamos a eficácia dos embeddings contex- tuais produzidos por modelos pré-treinados BERT (em português) e SBERT (multilíngues) nos conjuntos ASSIN e ASSIN 2 sob uma perspectiva de aprendizado não-supervisionado. Mais precisamente, nesta etapa não realizamos nenhum treinamento ou fine-tuning que tenha acesso aos rótulos numéricos disponíveis nos conjuntos de dados. Efetivamente, os modelos pré-treinados são usados como extratores de características, produzindo os embed- dings que avaliamos através de sua correlação de Pearson com os rótulos originalmente presentes nos conjuntos. Esta abordagem de avaliação é a mesma adotada para avaliar os modelos considerados nos workshops ASSIN e ASSIN2, assim como no artigo original que propõe o SBERT [12]. Na segunda parte do trabalho, realizamos o fine-tuning dos modelos multilíngues SBERT para o STS em português. No contexto de transfer learning[] nos referimos ao termo fine-tuning como o ato de especializar o modelo a um domínio específico e não como configuração de parâmetros. Fazemos isso expondo o modelo que foi pré-treinado em uma tarefa generalista a dados de uma tarefa específica. Assim, o modelo inicializa esta etapa com os pesos da tarefa pré-treinada e durante o processo ajusta esses pesos ao domínio desejado. Tanto o fine-tuning quanto a avaliação dos modelos finais utilizam a correlação de Pearson como medida de qualidade, como explicado anteriormente. Para o fine-tuning, comparamos os embeddings contextuais apenas com os rótulos numéricos disponíveis nos conjuntos de validação. Os rótulos disponíveis no conjunto de teste são usados apenas para a avaliação dos embeddings produzidos pelos modelos após a finalização do processo de fine-tuning. 1.4 Resultados Nossos resultados iniciais com os embeddings contextuais produzidos pelos mode- los SBERT pré-treinados multilíngues foram competitivos, ultrapassando os resultados vencedores das tarefas compartilhadas do ASSIN. Mesmo que nesta etapa da análise o fine-tuning não tenha sido considerado, nossos resultados ficaram atrás apenas dos resultados encontrados com o uso do BERT pré-treinado em português com fine-tuning para o STS (ptBERTft [11]). Na segunda parte do trabalho, ao realizar o fine-tuning dos modelos multilíngues Capítulo 1. Introdução 15 SBERT para os conjuntos de dados ASSIN e ASSIN 2, todos os resultados foram melhorados, se tornando competitivos com o ptBERTft para o conjunto de dados ASSIN 2. Mais importante, o custo computacional para o fine-tuning do SBERT é consideravelmente menor que para o fine-tuning do BERT, o que reforça nossa contribuição. Para o conjunto ASSIN, ainda que o estado-da-arte não tenha sido alcançado, os embeddings contextuais produzidos pelos modelos multilíngues SBERT com fine-tuning se mantiveram competitivos e, como mencionado anteriormente, a um custo computacional menor. 1.5 Estrutura do documento Esta monografia contém cinco capítulos, incluindo esta introdução. O restante do documento está organizado como segue. O Capítulo 2 revisa brevemente os principais conceitos preliminares necessários para a compreensão deste trabalho. Em seguida, o Capítulo 3 discute os trabalhos relacionados identificados na literatura do STS em português. Os experimentos realizados são descritos e discutidos no Capítulo 4. Por fim, concluímos e detalhamos trabalhos futuros no Capítulo 5. 16 2 CONCEITOS PRELIMINARES Embeddings contextuais se tornaram uma importante ferramenta na resolução de problemas de processamento de linguagem natural (NLP). Nesta seção, revisamos brevemente os principais conceitos necessários para compreendê-los. Inicialmente, definimos aprendizado de máquina e diferenciamos seus principais tipos, focando naqueles que se relacionam com este trabalho. Em seguida, discutimos os principais conceitos de redes neurais artificiais, aprendizado profundo e processamento de linguagem natural. Por fim, detalhamos as arquiteturas de aprendizado profundo que têm sido utilizadas para gerar embeddings de palavras e contextuais, com foco nas que serão utilizadas neste trabalho. 2.1 Aprendizado de máquina Aprendizado de máquina (ML [14, 15, 16, 17], do inglês machine learning) é uma área da inteligência artificial (IA [17]) que busca aprender a partir da experiência. Especi- ficamente, sistemas de ML aprendem uma determinada tarefa sem serem explicitamente programados, reconhecendo padrões a partir dos dados que lhes foram alimentados. Essa área pode ser dividida em (pelo menos) três tipos de aprendizado diferentes: supervisionado, não-supervisionado e por reforço. No aprendizado supervisionado, a entrada do problema inclui as saídas esperadas do seu modelo final. Dessa maneira, alimentamos o sistema de forma que ele busque encontrar padrões nos dados que resultem na saída esperada, sempre nos preocupando com a generalização para além dos dados de treinamento. Já no aprendizado não-supervisionado nós não temos saídas esperadas. Por fim, o aprendizado por reforço considera que (pelo menos) um agente interage com o ambiente a partir de ações. Para cada ação que o agente toma, ele recebe premiações ou penalidades que o ajudam a entender se aquela ação foi correta ou não, ajustando assim seu processo de tomada de decisão. O aprendizado supervisionado, por sua vez, pode se dividir em problemas de classificação e regressão. O primeiro se baseia em saídas discretas (rótulos) que indicam as classes às quais as entradas apresentadas pertencem. Por exemplo, um problema de identificação de spams informa exemplos de mensagens pertencentes às classes “spam” e “não-spam” e os algoritmos de aprendizado supervisionado buscam um hiperplano que melhor divida estas classes. Já nos problemas de regressão lidamos com saídas contínuas. Assim, os algoritmos buscam padrões nos dados de forma a construir uma função ou modelo que melhor aproxime as saídas esperadas para o conjunto de entradas apresentado. O aprendizado não-supervisionado busca ou (i) produzir uma nova representação Capítulo 2. Conceitos preliminares 17 dos dados, ou (ii) agrupar os dados a partir de alguma medida de similaridade. No primeiro caso, podemos tomar como exemplo o algoritmo PCA [14, 16], que representa os dados originais a partir de seus componentes principais. Esta representação efetivamente reduz a dimensionalidade dos dados, usando pra isso transformações ortogonais que levam em consideração a dispersão dos dados de forma que haja pouca perda de informação. Já o agrupamento (ou clusterização) pode ser representado pelo algoritmo k-means [14, 15, 16], que busca agrupar dados similares com base em uma medida de distância (geralmente a distância Euclidiana). Em um processo iterativo de ajuste de centroides e associação de amostras, este algoritmo agrupa os dados em k grupos com base na proximidade entre as amostras e os centroides escolhidos. A área de ML é muito vasta e existem diversos outros algoritmos que poderiam ser descritos aqui. Para nosso trabalho, é importante falarmos sobre as redes neurais, que são modelos baseados no sistema nervoso de um animal. Dentre as diversas arquiteturas de redes neurais, destacamos a seguir uma das mais populares, o perceptron de múltiplas camadas (MLP [14, 15, 16, 17, 18], do inglês multilayer perceptron). 2.2 Multilayer perceptron (MLP) Uma rede neural MLP é uma rede formada por diversos neurônios artificiais agrupados em camadas, em que cada neurônio de uma camada pode estar conectado com a camada seguinte. Cada neurônio e conexão contêm um peso associado, que possibilita o aprendizado através das camadas. A estrutura de uma rede MLP é ilustrada na Figura 1. A quantidade de neurônios na primeira e na última camada da rede são definidas em função da dimensionalidade dos dados. Na primeira camada da rede, temos uma quantidade de neurônios equivalente à quantidade de variáveis de entrada do sistema. Na última camada, equivalente à saída do modelo em um problema de aprendizado supervisionado, a quantidade de neurônios é unitária em caso de um problema de regressão, ou corresponde ao número de classes em uma tarefa de classificação. Uma rede MLP pode ter uma ou mais camadas escondidas. A quantidade de camadas e neurônios nessa parte da rede são configuradas como hiperparâmetros que devem ser definidos de acordo com o problema. No caso de haver diversas camadas ocultas, podemos dizer que essa é uma rede profunda, alvo de estudo da área de aprendizado profundo (DL, do inglês deep learning). Podemos dizer que DL é um avanço no estudo de arquiteturas de redes neurais. Originalmente, redes com muitas camadas eram evitadas pelos desafios inerentes ao seu treinamento. Mais recentemente, o uso de arquiteturas especializadas, o aumento da disponibilidade de dados e a maior capacidade computacional viabilizaram o treinamento deste tipo de rede. A área de DL vem crescendo principalmente nas áreas de visão computacional e NLP, onde os dados de entrada requerem o uso de Capítulo 2. Conceitos preliminares 18 Figura 1 – Rede neural MLP com múltiplas camadas, onde os dados são processados de baixo para cima. Fonte: [18], adaptada. engenharia de características, tópico no qual as redes profundas se sobressaem. Nesta revisão, focaremos nas arquiteturas de DL para NLP devido à sua relação com o nosso trabalho. Para compreender estas arquiteturas, inicialmente discutimos brevemente como problemas de NLP são modelados para serem processados por redes MLP. 2.3 Processamento de linguagem natural (NLP) O objetivo da área de NLP é fazer com que computadores executem tarefas úteis envolvendo linguagem humana, como permitir comunicação humano-máquina, melhorar a comunicação humano-humano ou simplesmente fazer processamento de texto ou fala de forma útil [3]. No entanto, redes MLP esperam dados de entradas tabulares, organizados como conjuntos de observações (linhas) com suas características (colunas). Assim, a aplicação de redes MLP a problemas de NLP exige que os textos sejam convertidos em uma forma de representação adequada. A primeira etapa para codificar textos de entrada é usualmente denominada pré- processamento. Além da remoção de pontuações e diacríticos, esta etapa é necessária para que (i) palavras similares sejam tratadas de forma única; (ii) termos com pouca relevância sintática e/ou semântica sejam descartadas, e; (iii) defina-se a menor granularidade que será adotada para as partes do texto. Abaixo, exemplificamos cada um dos tópicos acima: Capítulo 2. Conceitos preliminares 19 Palavras similares são geralmente tratadas pelas técnicas de stemização e lematização, que são duas formas de flexionar uma palavra. A stemização reduz a palavra a seu radical, e.g., as palavras gato, gatos, gatas e gatinhos podem ser todas reduzidas ao seu radical gat. Já no caso da lematização, a palavra é substituída pelo seu lema, i.e., uma forma masculino e singular para substantivos e adjetivos ou infinitiva no caso de verbos. Como exemplo, as palavras tiver, tenho, tinha e tem podem ser representadas pelo lema ter. Termos irrelevantes são chamados de stop words [4]. Em português, por exemplo, esses termos podem ser artigos, pronomes e preposições, como: o, a, para, que, mas, seu, sua, eles, qual. A princípio, esses termos podem ser ignorados em um problema de NLP que se baseie em palavras-chaves sem maiores prejuízos à análise. Segmentação de textos em unidades básicas (tokens) é um processo conhecido como tokenização [3]. A opção mais simples é que cada palavra constitua um token: "criança risonha segurando pistola agua sendo espirrada agua" ↓ ["criança", "risonha", "segurando", "pistola", "agua", "sendo", "espirrada", "agua"] No entanto, também é possível considerar sequências de palavras, o que facilita o entendimento do contexto no texto. Tokens segmentados desta forma são conhecidos como n-gramas, onde a variável n representa o número de palavras em cada n-grama. O exemplo acima usando n = 2 levaria aos seguintes bigramas: ["criança risonha", "risonha segurando", "segurando pistola", "pistola agua", "agua sendo", "sendo espirrada", "espirrada agua"] Uma vez concluída a etapa de pré-processamento, o próximo passo é converter cada token em uma representação numérica, assim como esperado por algoritmos de aprendizado de máquina. As representações mais simples se baseiam na frequência dos termos. O bag-of-words (BOW) [3], por exemplo, cria um vetor de tokens de acordo com o vocabulário do conjunto de dados, onde o valor correpondente a cada token pode representar sua presença ou frequência: criança risonha segurando pistola agua sendo espirrada homem 1 1 1 1 2 1 1 0 Esse conceito também pode ser estendido para bag-of-n-grams para incluir contexto. No entanto, o custo computacional desta abordagem cresce significativamente com o Capítulo 2. Conceitos preliminares 20 aumento do valor de n. Outra extensão do BoW é o TF-IDF [19], que visa compensar as distorções que podem ser ocasionadas por documentos de entrada com comprimentos distintos. Uma alternativa às representações baseadas em frequência são os embeddings, representações numéricas aprendidas a partir de modelos de aprendizado de máquina não- supervisionados. Uma vez que os principais embeddings são obtidos a partir de aprendizado profundo, discutimos a seguir os principais exemplos e as arquiteturas usadas para obtê-los. 2.4 Embeddings de palavras e contextuais O objetivo de construir uma modelagem estatística de uma linguagem é aprender uma função de distribuição de probabilidade conjunta de uma sequência de palavras de uma determinada linguagem. Porém esse é um trabalho muito custoso devido à maldição da dimensionalidade, já que uma sequência de palavras no conjunto de testes tende a ser diferente de qualquer sequência de palavras vista no conjunto de treino. Daí surgiu a motivação para se aprender uma distribuição de representação para as palavras [20]. Nesse caso, o modelo aprende simultaneamente uma representação distribuída de cada palavra e uma função de probabilidade para as sequências de palavras, expressa em termos dessas representações. A generalização é alcançada porque uma sequência de palavras que nunca foi vista antes tem alta probabilidade se for formada por palavras similares (no sentido de ter uma representação próxima) às palavras que formam uma sentença já vista. Métodos de geração de embeddings de palavras populares como Word2Vec [21, 22], GloVe [23] e FastText [24] levam em consideração todas as sentenças em que uma determi- nada palavra aparece, com o objetivo de produzir um vetor de representação da palavra que seja global. Isso significa que, independente do contexto, cada palavra vai possuir uma representação única. Porém, sabemos que uma palavra pode ter diferentes sentidos dependendo do contexto em que ela está inserida. A fim de resolver esse problema, diferen- tes embeddings contextuais foram propostos. Nesta revisão, detalharemos os embeddings BERT [10], que produzem uma representação bi-direcional a partir de uma arquitetura de rede Transformer [25] com o uso do conceito de atenção. Ademais, detalhamos também os embeddings Sentence-BERT (SBERT [12]), que otimizam o uso das redes BERT. Uma vez que ambos BERT e SBERT se baseiam em redes Transformers, iniciamos esta etapa da revisão pelos conceitos que permitem a compreensão deste tipo de arquitetura. 2.4.1 Transformers Para compreender a arquitetura Transformer, é importante revisarmos brevemente os conceitos de configurações encoder-decoder [26] e de atenção [27]. O primeiro conceito refere-se ao tipo de treinamento que se adota para produzir embeddings a partir de tokens Capítulo 2. Conceitos preliminares 21 de entrada. Neste tipo de configuração, nosso interesse é no estado intermediário de representação dos dados, em vez de em sua saída. O uso destas redes pode ser ilustrado com um exemplo de tradução do francês para o inglês, mostrado na Figura 2. Em uma rede encoder-decoder, o encoder deve conseguir compreender texto em francês, mapeando assim os tokens de entrada do francês para uma representação interna à rede. Por sua vez, o decoder deve conseguir redigir textos em inglês, mapeando a representação interna aos tokens de saída em inglês. Uma vez treinada, entende-se que a representação interna dos tokens de entrada em francês representa um embedding que pode ser utilizado como entrada para outras redes neurais, por exemplo para tradução para um outro idioma. Também é possível treinar encoders tendo apenas uma sequência de entrada. Neste caso, a sequência-alvo é a sequência-fonte deslocada para a direita, e os embeddings produzidos representam um modelo de linguagem no idioma escolhido. Figura 2 – Exemplo de uma rede treinada na configuração encoder-decoder aplicado a um problema de tradução. Os embeddings de interesse situam-se na interface entre o encoder e o decoder. Fonte – [28] Por sua vez, atenção é uma técnica usada para contornar um problema comum nas arquiteturas sequenciais aplicadas a problemas de NLP (e.g. redes recorrentes [29]). Redes sequenciais tentam mapear o relacionamento entre um token na sequência-alvo com os tokens da sequência-fonte. No entanto, um token na sequência-alvo pode ter uma relação mais próxima com um ou mais tokens na sequência-fonte, em vez de com toda a sequência-fonte. Dessa forma, a rede utilizada para gerar a representação dos tokens acaba codificando informações que podem não ser relevantes para o problema em questão. Esse problema acontece principalmente quando a sequência de entrada é longa e rica em informação e fazer uma seleção dos trechos importantes acaba não sendo possível. Capítulo 2. Conceitos preliminares 22 Figura 3 – Mecanismo de atenção (esquerda) e combinação de múltiplos mecanismos de atenção na rede Transformer (direita). Fonte – [28] A ideia do mecanismo de atenção é tornar essa seleção explícita, consistindo de uma camada neural criada exclusivamente para entender essa relação de contexto entre tokens. A Figura 3 (esquerda) ilustra o mecanismo de atenção durante uma modelagem de linguagem. Em tons de laranja, podemos ver o quanto o mecanismo de atenção relacionou os tokens da sequência-fonte com o token it da sequência-alvo. Como tons mais claros representam valores mais elevados, vemos que o mecanismo de atenção entendeu que o token it apresenta uma relação contextual mais forte com os tokens de entrada The e animal. Inicialmente, esta solução foi aplicada em diversas arquiteturas sequenciais, levando a ganhos de eficácia. No entanto, como o mapeamento de todos os tokens da sequência-fonte com todos os tokens da sequência-alvo é quadrático, seu custo computacional se torna proibitivo se não usarmos uma abordagem paralelizável. Neste contexto, Vaswani et al.[25] propuseram a arquitetura Transformer, uma rede encoder-decoder baseada na ideia de paralelização do mecanismo de atenção. Nesta rede, os mecanismos de atenção são usados para gerar múltiplas representações dos tokens, em que cada representação pode se referir a uma relação contextual diferente. Isto é ilustrado na Figura 3 (direita), onde além da camada de atenção representada em tons de laranja já discutida temos também a camada de atenção representada em tons de verde. Vemos neste caso que enquanto uma camada de atenção está focando em The animal, a outra está focada em was too tired, modelando assim duas perspectivas contextuais diferentes. Fazendo uso massivo de mecanismos de atenção, os Transformers se baseiam na arquitetura tradicional de MLPs, treinadas sob a configuração encoder-decoder. A Figura 4 ilustra esta arquitetura. Embaixo, o Transformer recebe as sequências-fonte e alvo, que são concatenadas com codificações posicionais que ajudam a rede a entender a ordem entre os tokens. As caixas com fundo cinza claro da esquerda e da direita respectivamente representam o encoder e o decoder. Note que o encoder e o decoder diferem apenas pela Capítulo 2. Conceitos preliminares 23 Figura 4 – Arquitetura Transformer [25], que utiliza mecanismos de atenção de forma paralelizável e segue uma configuração encoder-decoder. presença de uma camada adicional de atenção no decoder. A rede Transformer considera N encoders-decoders empilhados, resumidos na Figura 4 pela notação N×. O embedding produzido pela rede é obtido do seu topo. 2.4.2 BERT A arquitetura bidirectional encoder representations from Transformers (BERT [10]) trouxe um grande avanço à área de NLP, se tornando o estado-da-arte em diversas tarefas. O BERT é um modelo de linguagem projetado para pré-treinar representações profundas bidirecionais a partir de textos não-rotulados. Sua abordagem bidirecional tem por objetivo modelar o contexto tanto à direita como à esquerda de um determinado token. Dois aspectos importantes desta abordagem são que, sem mudanças substanciais na sua arquitetura, ela pode ser usada (i) pré-treinada com ou sem fine-tuning e (ii) para tarefas que consideram sentenças individuais ou pares de sentenças (e.g. NLI e STS). A arquitetura de uma rede BERT pode ser vista na Figura 5, onde a versão pré- treinada é mostrada à esquerda e versões com fine-tuning ajustadas para diferentes tarefas são mostradas à direita. Na etapa de pré-treinamento, o modelo é treinado usando dados não-rotulados oriundos de diferentes tarefas. A princípio, é possível usar modelos BERT Capítulo 2. Conceitos preliminares 24 Figura 5 – A arquitetura BERT [10] em um contexto de pré-treinamento (esquerda) ou de fine-tuning para diferentes tarefas (direita). Fonte – [10, p. 5]. pré-treinados desta forma para produzir embeddings contextuais que podem ser usados para tarefas de aprendizado (não-)supervisionado. Na segunda etapa, de fine-tuning para uma determinada tarefa de aprendizado supervisionado, o modelo é inicializado com os parâmetros pré-treinados. Em seguida, esses parâmetros são re-ajustados utilizando dados rotulados da tarefa que se deseja resolver. Uma vez que o fine-tuning é realizado por tarefa, cada tarefa passa a ter um modelo ajustado individual, mesmo que tenham sido inicializados com os mesmos parâmetros pré-treinados. Com o objetivo de lidar com uma diversidade de tarefas, a representação da entrada do BERT pode consistir de uma sentença única ou de um par de sentenças. Ambas as possibilidades são ilustradas na parte de baixo dos modelos mostrados na Figura 5. O primeiro token dessa representação é sempre um token especial de classificação ([CLS]). Quando deseja-se utilizar um par de sentenças A e B como entrada, podemos identificar a separação entre as sentenças de duas maneiras. Primeiro, separamos com um token especial ([SEP]). Segundo, adicionamos um embedding treinado para cada token indicando a qual sentença ele pertence, seja sentença A ou B. Uma vez treinado o modelo, podemos recuperar o embedding BERT para cada token como ilustrado na Figura 6. Para um dado token, seu embedding BERT é construído somando os embeddings do (i) token, individualmente; (ii) de segmento, que identifica à qual sentença de entrada ele pertence, e; (iii) posicional, que identifica a ordem em que ele aparece na sequência correspondente. O estado escondido final correspondente ao token especial [CLS] é usado como uma representação agregada de sentenças para tarefas de classificação. Capítulo 2. Conceitos preliminares 25 Figura 6 – Representação de entrada do BERT [10]. 2.4.3 Sentence-BERT Apesar do BERT ter superado o estado-da-arte para diferentes tarefas de NLP, a necessidade de alimentar a rede com pares de sentenças em tarefas como STS acarreta um problema de escalabilidade. Segundo Reimers e Gurevych[12], essa abordagem gera um overhead computacional massivo já para um corpus de tamanho moderado: encontrar os pares similares em uma coleção de 10,000 sentenças requer cerca de 50 milhões de inferências computacionais (∼65 horas). Isso torna o uso do BERT inviável para busca de similaridade semântica, assim como para tarefas não-supervisionadas como clusterização. Nestes tipos de problemas, uma abordagem comum é mapear cada sentença de forma que sua representação em um novo espaço dimensional permita que as sentenças similares semanticamente fiquem próximas. Neste contexto, pesquisadores começaram a usar sentença individuais como entrada para o BERT para gerar um embedding de sentença de tamanho fixo, geralmente utilizando o token [CLS] ou até uma média dos embeddings de saída do BERT. Porém esta prática acaba gerando embeddings de sentenças com uma performance ruim [12]. Pensando nisso, Reimers e Gurevych[12] propuseram o Sentence-BERT (SBERT), ilustrado na Figura 7. A arquitetura de uma rede SBERT corresponde a uma rede siamesa [30, 31, 32], isto é, duas redes que compartilham pesos entre si. Apesar de cada lado da rede usar uma rede BERT, o custo computacional da arquitetura SBERT é consideravelmente menor dado que as redes siamesas compartilham pesos. No topo da rede, os embeddings produzidos por cada rede BERT são combinados através de similaridade de cosseno. Para assegurar que ambos os embeddings tenham o mesmo comprimento para este cálculo, cada embedding é inicialmente sujeito a uma operação de pooling1. No exemplo discutido anteriormente, os autores afirmam que as mudanças introduzidas pelo SBERT reduzem o esforço computacional para encontrar o par de sentenças mais similar de cerca 65 horas usando o BERT para cerca de 5 segundos usando o SBERT, mantendo no entanto 1No contexto de redes neurais, é uma operação que reduz a dimensionalidade dos dados aplicando uma função de agregação, neste caso max average. Capítulo 2. Conceitos preliminares 26 Figura 7 – Arquitetura do SBERT para computar similaridade cosseno. Fonte – [12, p. 5]. uma acurácia equivalente. Para fazer o fine-tuning para tarefas de aprendizado supervisionado, a arquitetura apresentada na Figura 7 pode ser usada diretamente para tarefas de regressão. Já para tarefas de classificação, os vetores u e v resultantes de cada lado da rede siamesa são concatenados, assim como sua diferença |u− v|. O vetor resultante (u, v, |u− v|) alimenta uma camada de ativação softmax, que ajusta a dimensionalidade dos dados e determina a probabilidade para cada classe do problema em questão. Neste capítulo, revisamos brevemente como as redes Transformer e os embeddings contextuais BERT e Sentence-BERT avançaram significativamente o estado-da-arte de diferentes problemas de NLP. No capítulo seguinte, definimos formalmente o problema STS, detalhamos os conjuntos de dados ASSIN e ASSIN 2 e revisamos os trabalhos que abordam o STS em português. Dentre estes, se destaca um modelo BERT pré-treinado em português e com fine-tuning para o STS. No entanto, como discutidas acima, as limitações de escalabilidade de modelos BERT no STS motivam a aplicação do SBERT neste trabalho, a qual detalharemos no Capítulo 4. 27 3 SIMILARIDADE TEXTUAL SEMÂNTICA A similaridade textual semântica (STS) é um problema relevante de NLP, como discutido anteriormente. Neste capítulo, apresentamos uma definição formal para este problema, discutindo inicialmente os esforços internacionais que confirmam sua relevância. Em seguida, focamos no STS em português, para o qual apresentamos as tarefas compar- tilhadas ASSIN e ASSIN 2, bem como os resultados obtidos pelos participantes destes eventos. Por fim, apresentamos uma análise do estado-da-arte para estes conjuntos de dados. 3.1 Definição e relevância STS pode ser considerada uma tarefa de regressão em que o objetivo é encontrar um score que represente a similaridade entre duas sentenças. Dada uma coleção de sentenças Ψ e duas sentenças A, B ∈ Ψ, em geral temos o score s(A, B) ∈ [1, 5]. Valores mais altos para este score indicam maior semelhança de significado entre as duas sentenças. Dentre os principais esforços nesta área, destaca-se o International Workshop on Semantic Evalu- ation (SemEval [33]), patrocinado pela Association for Computational Linguistics (ACL). O SemEval é uma série de workshops de pesquisa na área de NLP cujo objetivo é avançar o estado-da-arte em análise semântica e ajudar a criar conjuntos de dados anotados de alta qualidade. A cada ano, diversas tarefas compartilhadas são realizadas nestes workshops, em que sistemas de análise computacional semânticas projetados por diferentes times são apresentados e comparados. Várias tarefas de similaridade foram definidas no SemEval, incluindo tarefas de avaliação de similaridade semântica cross-lingual e multi-lingual [34]. 3.2 STS em português Como mencionado anteriormente, o primeiro conjunto de dados que chegou a incluir similaridade semântica entre pares de sentença em português foi o ASSIN [1]. Anos depois, o ASSIN 2 [2] propôs um novo conjunto de dados, baseado em sentenças do conjunto SICK-BR [35]. A seguir, descrevemos cada tarefa compartilhada e seu conjunto de dados correspondente. 3.2.1 ASSIN ASSIN, ou Avaliação de Similaridade Semântica e de Inferência Textual [1], foi uma avaliação realizada na Conferência Internacional sobre o Processamento Computacional Capítulo 3. Similaridade textual semântica 28 da Língua Portuguesa (PROPOR 2016), que consistiu de duas subtarefas relacionadas. Uma das tarefas, de similaridade semântica, é a que será tratada neste trabalho e foi formalmente definida acima. A outra tarefa é a de inferência textual, que consiste em classificar o par como tendo uma relação de implicação, paráfrase, ou nenhuma das duas. Esta última tarefa não será abordada neste trabalho. Os conjuntos de dados ASSIN se dividem em (i) PT-PT, contendo sentenças em português de Portugal e (ii) PT-BR, contendo sentenças em português do Brasil. Para a construção de cada conjunto de dados do ASSIN, foram compiladas sentenças de textos reais do gênero informativo (textos jornalísticos) a partir de agrupamentos de notícias por assunto fornecidos pelo Google News. O processamento destas notícias foi feito em três etapas. Inicialmente, foram usados modelos de espaço vetorial [36] para selecionar sentenças similares de documentos diferentes. Em seguida, estas sentenças passaram por um processo de filtragem manual, onde foram excluídos pares considerados ruidosos. Por fim, os pares de sentenças filtrados foram anotados por quatro juízes humanos. As diretrizes gerais para a pontuação são descritas a seguir: 1. As sentenças são completamente diferentes. É possível que elas falem do mesmo fato, mas isso não é visível examinando-as isoladamente, sem contexto. 2. As sentenças se referem a fatos diferentes e não são semelhantes entre si, mas são sobre o mesmo assunto (jogo de futebol, votações, variações cambiais, acidentes, lançamento de produtos). 3. As sentenças têm alguma semelhança entre si, e podem se referir ao mesmo fato ou não. 4. O conteúdo das sentenças é muito semelhante, mas uma (ou ambas) tem alguma informação exclusiva. A diferença pode ser mencionar uma data, local, quantidade diferente, ou mesmo um sujeito ou objeto diferente. 5. As sentenças têm praticamente o mesmo significado, possivelmente com uma diferença mínima (como um adjetivo que não altera a sua interpretação). Cada conjunto de dados (PT-PT e PT-BR) contém 5.000 frases, sendo 2.500 para treino, 500 para validação e 2.000 para teste. Durante o evento, no entanto, não houve separação entre conjuntos de treino e validação. Participaram do ASSIN seis equipes, sendo três brasileiras e três portuguesas. Cada equipe participante pôde enviar até três saídas dos seus sistemas para cada combinação de variante e subtarefa. As seis equipes participaram da tarefa de similaridade semântica, e quatro delas participaram da inferência textual. Na Tabela 1, podemos ver os resultados de cada submissão de todos os times em relação à tarefa STS. A coluna Execução indica o número da submissão da equipe Capítulo 3. Similaridade textual semântica 29 Tabela 1 – Resultados alcançados durante o workshop ASSIN para a tarefa STS [1]. ASSIN PT-BR ASSIN PT-PT Equipe Execução Pearson MSE Pearson MSE 1 0.58 0.50 0.55 0.83 Solo Queue 2 0.68 0.41 0.00 1.55 3 0.70 0.38 0.70 0.66 1 0.59 1.36 0.54 1.10 Reciclagem 2 0.59 1.31 0.53 1.14 3 0.58 1.37 0.53 1.18 Blue Man Group 1 0.65 0.44 0.63 0.73 2 0.64 0.45 0.64 0.72 1 0.65 0.44 0.68 0.70 ASAPP 2 0.65 0.44 0.67 0.71 3 0.65 0.44 0.68 0.73 1 0.62 0.47 0.64 0.72 LEC-UNIFOR 2 0.56 2.83 0.59 2.49 3 0.61 1.29 0.63 1.04 1 0.73 0.61 L2F/INESC-ID 2 0.63 0.70 3 0.63 0.79 Baseline (média) - 0.00 0.76 0.00 1.19 Baseline (sobreposição) - 0.63 0.46 0.64 0.75 correspondente. As colunas ASSIN PT-BR e ASSIN PT-PT indicam o conjunto de dados em questão. Para cada conjunto, são indicados os resultados da correlação de Pearson e do erro médio quadrático (MSE, do inglês mean squared error). Enquanto a correlação de Pearson é uma medida a ser maximizada cujo valor ideal é 1, o MSE é uma medida a ser minimizada cujo valor ideal é 0. Nos workshops ASSIN, a correlação de Pearson é considerada a medida primária de avaliação, enquanto o MSE é usado secundariamente. É interessante notar que foram exploradas diferentes abordagens para tratar os pro- blemas, mas nem todas foram capazes de superar os baselines. Nesta revisão, comentamos brevemente as abordagens utilizadas pelas equipes Solo Queue e L2F/INESC-ID, que obti- veram os melhores resultados para PT-BR e PT-PT, respectivamente. A primeira equipe usou uma estratégia simples, em três etapas. Inicialmente, a equipe gerou representações textuais das sentenças a partir das técnicas TF-IDF e Word2Vec. Com os vetores gerados, a equipe calculou o valor da similaridade cosseno destas representações. Por último, a equipe usou os resultados de similaridade de ambas as representações como entrada de um regressor linear. Por sua vez, a equipe L2F/INESC-ID, que foi a única que apresentou submissões Capítulo 3. Similaridade textual semântica 30 Tabela 2 – Exemplo de dados do ASSIN 2 para a tarefa STS. Frase 1 Frase 2 Score Alguns animais estão brincando selvagemente na água Alguns animais estão brincando na água 4.4 Um avião está voando Um cachorro está latindo 1 apenas para o conjunto de dados PT-PT, alcançou os melhores resultados ao usar diversas métricas como atributos de entrada de um algoritmo kernel ridge regression. Essas métricas, que totalizaram mais de 90 atributos para cada par, incluem a distância de edição, palavras em comum, BLEU, e ROUGE. Cada métrica foi calculada tanto para as sentenças originais, quanto para versões derivadas das originais, como em caixa baixa, com palavras radicalizadas, usando clusters de palavras, etc. Como o estado-da-arte para este conjunto de dados já foi avançado por trabalhos mais recentes, listamos estes resultados aqui apenas por completude. Os trabalhos mais recentes serão discutidos mais adiante. 3.2.2 ASSIN 2 A segunda edição do ASSIN (ASSIN 2 [2]) foi realizada no STIL, Symposium in Information and Human Language Technology, que ocorreu no Brasil em 2019. Uma vez mais, as tarefas consideradas foram STS e NLI, dentre as quais focaremos no STS. Exemplos de pares de sentenças presentes no ASSIN 2 e seus scores de similaridade podem ser vistos na Tabela 2. Os dados do ASSIN 2 foram baseados no SICK-BR [35], uma tradução e adaptação manual do conjunto de dados SICK [9]. O conjunto SICK possui 10.000 pares de frases em inglês com anotações em relação às tarefas de STS e NLI, tendo sido criado a partir de outros dois conjuntos: ImageFlick 8K e SemEval-2012 STS MSR-Video Descriptions. O primeiro é um conjunto de dados de imagens, em que cada imagem é associada a cinco descrições. Para criar os pares de sentenças do SICK, foram escolhidas 750 imagens aleatórias e selecionadas duas descrições de cada. Já o segundo é um conjunto formado por pares de sentenças selecionados de vídeos curtos que compõem o Microsoft Research Video Description Corpus. Um subconjunto de 750 pares de sentença foi aleatoriamente escolhido a partir desse conjunto de dados para ser usado no SICK. Por último, uma série de pares compostos por sentenças não-relacionadas foram adicionadas ao conjunto de dados de forma aleatória, oriundas de pares originalmente relacionados distintos. Além dos dados do SICK-BR, os proponentes do ASSIN 2 também geraram alguns pares de sentenças manualmente, utilizando sinônimos e buscando evitar introduzir viés nos dados. Todas as palavras geradas manualmente foram revisadas por juízes humanos. Cada par de sentenças presente no ASSIN 2 foi anotado por pelo menos quatro falantes nativos de Português brasileiro com treinamento linguístico. Para STS, o score final de Capítulo 3. Similaridade textual semântica 31 Tabela 3 – Resultados alcançados durante workshop ASSIN 2 para a tarefa STS [2]. Equipe ASSIN 2 Pearson MSE CISUC-ASAPPj 0.65 0.61 CISUC-ASAPPpy 0.74 0.60 Deep Learning Brasil 0.79 0.59 IPR 0.83 0.52 L2F/INESC 0.78 0.52 LIACC 0.49 1.08 NILC 0.73 0.64 PUCPR 0.68 0.85 Stilingue 0.82 0.47 WordOverlap (baseline) 0.58 0.75 BoW sentence 2 (baseline) 0.18 1.15 um par de sentenças foi a média dos scores dados por todos os anotadores. O conjunto de dados final resultou em 10.000 pares de sentenças: 6.500 usados para treinamento, 500 para validação, e 3.000 para teste. Esta edição contou com nove times participantes, sendo cinco de Portugal e quatro do Brasil. Os melhores resultados podem ser vistos na Tabela 3. A comunidade portuguesa demonstrou adoção das tendências mais recentes de NLP, com diversos times de alguma forma explorando BERT, embeddings contextuais e realizando fine-tuning no ASSIN 2. Alguns times utilizaram características popularmente usadas em STS, como medidas de similaridade entre tokens, presença de negação, relação léxico-semântica (sinônimos e hipôni- mos) e análise de sentimento, assim como embeddings de palavras pré-treinados (Word2Vec, GloVe e FastText). Também foram usadas arquiteturas siamesas LSTM (um exemplo de redes recorrentes), e alguns times treinaram não apenas no ASSIN 2, mas também no ASSIN. Para o STS, o time com melhores resultados (IPR) usou embeddings contextuais do BERT, fazendo fine-tuning nos dados do ASSIN. 3.3 Análise do estado da arte Diferentes trabalhos foram publicados usando os conjuntos de dados propostos nos workshops ASSIN e ASSIN 2. A Tabela 4 lista os melhores resultados obtidos neste conjuntos até aqui. As primeiras três entradas são os melhores trabalhos apresentados durante os workshops, já discutidos anteriormente. As duas entradas seguintes foram publicadas entre o ASSIN e ASSIN 2, enquanto o último trabalho foi publicado após o ASSIN 2. Em termos de resultados, o trabalho de Pinheiro et al.[37] avançou marginalmente o estado-da-arte para os conjuntos ASSIN PT-BR e ASSIN PT-PT, enquanto o trabalho de Capítulo 3. Similaridade textual semântica 32 Tabela 4 – Comparativo do estado-da-arte para os conjuntos de dados ASSIN e ASSIN 2. ASSIN PT-BR ASSIN PT-PT ASSIN 2 Equipe Pearson MSE Pearson MSE Pearson MSE Solo Queue (Workshop) 0.70 0.38 0.70 0.66 — — L2F/INESC-ID (Workshop) — — 0.73 0.61 — — IPR (Workshop) — — — — 0.82 0.52 Pinheiro et al.[37] 0.71 0.37 0.70 0.57 — — Alves et al.[38] 0.74 0.35 0.75 0.58 — — ptBERT-Baseft [11] 0.83 0.25 0.85 0.47 0.84 0.50 ptBERT-Largeft [11] 0.84 0.23 0.85 0.40 0.84 0.43 Alves et al.[38] avançou os resultados em ambos estes conjuntos em maior grau. Por último, o trabalho de Fialho, Coheur e Quaresma[11] avançou consideravelmente o estado-da-arte para ambos ASSIN PT-BR e ASSIN PT-PT, e em menor grau também para o ASSIN 2. A seguir, revisamos brevemente cada um destes trabalhos. Pinheiro et al.[37] propuseram uma abordagem que extrai quatro conjuntos de carac- terísticas dos pares de sentença. As características usadas são TF-IDF, Word2Vec, binary matrix factorization e o tamanho das sentenças. Os conjuntos de caracte- rísticas servem de entrada para um algoritmo de regressão linear que quantifica a similaridade final. Alves et al.[38] propuseram uma nova versão da sua solução ASAPP originalmente envi- ada para o ASSIN, em uma análise experimental na qual testaram quatro categorias de características distintas: léxicas, sintáticas, semânticas e de distribuição. Após análise da eficácia dessas características no contexto de aprendizado supervisionado, os autores utilizaram as mais eficazes como entrada para diferentes algoritmos de regressão. Seus melhores resultados foram obtidos a partir do algoritmo de regressão RandomSubspace disponível no pacote Weka, sendo similares tanto quando treinados individualmente em cada conjunto ou quando treinados coletivamente em ambos. No entanto, resultados de sistemas derivados do ASAPP submetidos posteriormente ao ASSIN 2 não foram igualmente competitivos, como demonstrado na Tabela 3. Fialho, Coheur e Quaresma[11] conduziram uma análise experimental focada em mo- delos BERT para as tarefas de STS e NLI em português usando os conjuntos ASSIN, SICK-BR e ASSIN 2. Para o STS, foram usadas duas abordagens: usar o BERT como regressor ou usar os embeddings BERT para alimentar algoritmos de regressão, espe- cificamente random forests e support vector machines. Os autores também testaram o benefício de características léxicas, sozinhas ou combinadas com os embeddings do BERT em um processo de votação. Quanto aos modelos BERT, os autores conside- raram uma versão multi-língue (mBERT) e duas versões pré-treinadas em português Capítulo 3. Similaridade textual semântica 33 do Brasil, com diferentes tamanhos de rede (ptBERT-Baseft e ptBERT-Largeft). Os melhores resultados encontrados foram alcançados pelo ptBERT-Large usado como regressor, superando os resultados do estado-da-arte para todos os conjuntos ASSIN considerados (ASSIN PT-BR, ASSIN PT-PT e ASSIN 2). O pequeno ganho de performance no ASSIN 2 em relação ao resultado da equipe vencedora para aquela tarefa (IPR [39]) é justificado pela similaridade das propostas. No entanto, mesmo que a equipe IPR já fizesse uso do BERT, o trabalho de Fialho, Coheur e Quaresma[11] foi uma análise bem mais completa, pois o melhor resultado da equipe IPR [39] usou apenas o mBERT-base, e não fez uso da versão em Português do BERT nem da versão Large, que apresenta uma arquitetura mais profunda. Como visto neste capítulo, os trabalhos da literatura têm evidenciado que as técnicas de pré-processamento e extração de características não permitem alcançar os mesmos níveis de resultado das redes BERT. No entanto, como discutido no Capítulo 2, a aplicabilidade do BERT para tarefas não-supervisionadas ou com coleções de sentenças de tamanho moderada é limitada devido ao seu elevado custo computacional. A proposta do Sentence-BERT (SBERT [12]) consegue contornar estas limitações, mas em nossa revisão da literatura não identificamos o uso desta arquitetura em conjuntos de dados em português. No capítulo seguinte, detalhamos nossa avaliação do SBERT nos conjuntos ASSIN PT-BR, ASSIN PT-PT e ASSIN 2. 34 4 ANÁLISE EXPERIMENTAL Como discutido anteriormente, o problema da similaridade textual semântica (STS) é um problema relevante para o qual os esforços da comunidade acadêmica lusófona datam de um período recente. No entanto, já existem alguns conjuntos de dados para esta tarefa, que foram temas de trabalhos onde é possível observar o uso de técnicas avançadas do estado-da-arte de processamento de linguagem natural (NLP). Em particular, os modelos BERT têm conseguido produzir resultados satisfatórios para os conjuntos de dados ASSIN e ASSIN 2. No entanto, as limitações práticas dos modelos BERT que já têm sido alvo de trabalhos por parte da comunidade internacional ainda não foram tema de investigações por parte da comunidade lusófona. Nesta seção, descrevemos nossa análise experimental onde comparamos a eficácia de modelos BERT e Sentence-BERT (SBERT) com e sem fine-tuning para o STS em português. Inicialmente, apresentamos os modelos pré-treinados que adotamos para as investigações empíricas que realizamos. Os experimentos foram divididos em duas partes, que são discutidas em sequência. 4.1 Modelos pré-treinados Para comparar modelos pré-treinados BERT e SBERT com e sem fine-tuning, inicialmente selecionamos modelos pré-treinados com licença aberta disponíveis para uso. Isto se faz necessário pelo custo computacional de treinar modelos BERT e SBERT, que inviabilizaria esta investigação. BERT. Utilizamos o modelo pré-treinado em português conhecido como BERTimbau [40]. Este modelo foi treinado pela Neuralmind e está disponível em dois tamanhos: ptBERT-Base (N=12, H=768, A=12) e ptBERT-Large (N=24 , H=1024, A=16), onde N é o número de camadas encoder-decoder utilizadas pela rede Transformer, H é o número de camadas escondidas e A é o número de cabeças usadas pelo mecanismo de atenção. Ambos as redes possuem dff = 4H (o tamanho das redes feed forward contidas nas redes Transformer), probabilidade de dropout pdropout = 0.1 e tamanho máximo da sentença de entrada S = 512. O pré-treino do BERT requer um vocabulário e um corpus de treinamento. A Neuralmind utilizou um vocabulário em português de 30 mil subpalavras gerado a partir de 200 mil artigos aleatórios da Wikipedia brasileira. Todo esse vocabulário foi pré-processado, convertido para as regras de tokenização do BERT e tokens especiais Capítulo 4. Análise experimental 35 foram inseridos (e.g. [CLS] e [SEP]). O corpus usado foi o brWac corpus [41], um grande conjunto de dados em português extraído da internet, que contém 2,68 bilhões de tokens obtidos de 3,53 milhões de documentos e é considerado o maior corpus aberto em português até a data atual. Este corpus possui uma grande variedade de documentos, garantindo sua diversidade e qualidade. Foi usado apenas o corpo de cada documento (ignorando títulos) e aplicado um pós-processamento para remover (i) termos incorretamente interpretados pelo sistema de decodificação e (ii) tags HTML, resultando em um corpus final com 15,5GB. Para o pré-treino, a Neuralmind seguiu o setup indicado para treinamento no artigo original do BERT [10]. O modelo foi treinado por 1 milhão de passos, com uma taxa de aprendizado de 10−4. Para inicializar o treinamento, a Neuralmind utilizou checkpoints1 disponibilizados pelos propositores do BERT [10]. Ademais, como é comum em treinamentos de redes de aprendizado profundo, as sequências de entrada foram quebradas em mini-sequências e alimentadas em lotes. Para o modelo ptBERT- Base, os pesos foram inicializados com o checkpoint Multilingual BERT Base. O treino usou lotes de tamanho 128 e sequências de 512 tokens, tendo levado 4 dias em uma TPUv3-8 para iterar 8 épocas sobre os dados de treinamento. Para o ptBERT-Large, os pesos foram inicializados com o checkpoint Inglês BERT Large. O treino usou lotes de tamanho 256 e sequências de 128 tokens para os primeiros 900 mil passos, enquanto lotes de tamanho 128 e sequências com 512 tokens para os últimos 100 mil passos. Este treino durou 7 dias em uma TPUv3-8, iterando cerca de 6 épocas sobre os dados de treinamento. SBERT. Como explicado anteriormente, o modelo SBERT adiciona uma operação de pooling na saída do BERT para gerar um embedding de tamanho fixo, que representa a sentença de entrada. A configuração padrão, que foi a que usamos, calcula a média de todos os vetores de saída do BERT. O treinamento de redes SBERT utiliza uma função de erro triplet [42], que busca atualizar os pesos de uma forma que produza embeddings onde sentenças com alta similaridade semântica fiquem mais próximas no espaço vetorial transformado do que sentenças com baixa similaridade. Como ainda não estão disponíveis modelos pré-treinados especificamente para o SBERT em português, utilizamos os modelos pré-treinados BERTimbau (ptBERT-Base e ptBERT-Large) e modelos pré-treinados SBERT multilíngues [13]. Os modelos multilíngues SBERT são obtidos a partir de um processo de treinamento conhecido como knowledge distillation. Nesta configuração de treinamento, um modelo-estudante é produzido a partir de um modelo-professor. Dentre os modelos multilíngues pré-treinados disponíveis, utilizamos modelos para os quais o modelo- estudante foi aprendido por um algoritmo XLM-R [43]. Diferentes modelos-professores 1Modelos salvos durante fases intermediárias de um treinamento mais longo. Capítulo 4. Análise experimental 36 foram utilizados, descritos a seguir sob a notação 〈aluno, professor, tarefa〉, onde tarefa indica para qual tarefa o modelo-professor havia sido originalmente treinado. No entanto, ressaltamos que a quantidade de informações sobre o treinamento destes modelos é consideravelmente limitada. XLM-R são modelos cross-lingual, ou seja, um modelo único consegue lidar com uma variedade de idiomas. Isso geralmente é alcançado ao realizar o fine-tuning de um modelo usando uma tarefa específica em uma linguagem, porém fazendo a avaliação em outro idioma. No caso do Sentence-BERT, o modelo monolingual original em Inglês é usado para gerar embeddings de sentenças para uma linguagem fonte e depois treinando um novo sistema em sentenças traduzidas imitando o modelo original. Dessa forma, as sentenças traduzidas acabam sendo mapeadas para a mesma localização do vetor de origem no espaço euclideano. • 〈XLM-R, SBERT, NLI+STS〉:2 o modelo XLM-R [43] é usado como modelo-aluno, enquanto o modelo SBERT afinado para os problemas NLI e STS em inglês é usado como modelo-professor. • 〈XLM-R, SBERT, Paráfrases〉:3 o modelo XLM-R é usado como modelo-aluno, enquanto o modelo SBERT treinado em um conjunto de dados em inglês contendo mais de 50 milhões de pares de paráfrases é usado como modelo- professor. • 〈XLM-R, SBERT, Cross-EN-DE〉:4 fine-tuning do modelo 〈XLM-R, SBERT, Paráfrases〉 para o STSbenchmark [34], onde as sentenças dos pares poderiam estar em inglês e/ou alemão. O treinamento das versões multilíngues usou diversos conjuntos de dados como GlobalVoices, TED2020, NewsCommentary, WikiMatrix, Tatoeba, Europarl, JW300, OpenSubtitles2018 e UNPC, para que os embeddings contextuais do SBERT pudessem ser generalizados pelo XLM-R para 50 idiomas diferentes. Baseline Além dos algoritmos vencedores das competições ASSIN e ASSIN 2 e do trabalho de Fialho, Coheur e Quaresma[11], todos discutidos no capítulo anterior, também incluímos baselines baseados em modelos multilíngues disponíveis na página do SBERT, mas que utilizam outras variantes das redes Transformers e BERT: • mUSE [44]:5 multilingual universal sentence encoder, originalmente treinada em problemas de perguntas-respostas e NLI para mais de 16 idiomas; 2xlm-r-bert-base-nli-stsb-mean-tokens 3xlm-r-distilroberta-base-paraphrase-v1 4cross-en-de-roberta-sentence-transformer 5distiluse-base-multilingual-cased-v2 Capítulo 4. Análise experimental 37 • DistilBERT [45]:6 modelo originalmente treinado para NLI e STS em inglês7 e posteriormente extendido para o Quora Duplicate Questions Dataset. Estes modelos também são disponibilizados após serem pré-treinados em conjuntos de dados que reúnem 50 idiomas. No entanto, também há pouca informação disponível sobre os detalhes do seu treinamento. 4.2 SBERT sem fine-tuning Nesta etapa inicial, os nossos experimentos foram focados apenas em carregar os modelos pré-treinados e usá-los em ambos os conjuntos de dados ASSIN e ASSIN2 sem a realização de fine-tuning. Os rótulos foram usados apenas para validação dos resultados. Para os modelos pt-BERT-Base e pt-BERT-Large, cada sentença de entrada foi alimentada individualmente e o embedding de sentença utilizado é obtido do token [CLS] correspondente. Para calcular o score STS a partir de um par de sentenças, calculamos a similaridade de cosseno entre os embeddings de cada sentença. Já os modelos pré-treinados do Sentence-BERT calculam diretamente a similaridade de cosseno entre as sentenças de entrada, que são usadas conjuntamente em seu treinamento. A Tabela 5 lista os resultados para todos os modelos considerados nesta etapa do trabalho, como explicado anteriormente. Em ordem, os modelos ptBERT-Base e ptBERT- Large utilizam os modelos pré-treinados em português BERTimbau. Estes modelos também são utilizados para inicializar o SBERT em português, aos quais nos referimos como ptBERT- Base (SBERT) e ptBERT-Large (SBERT). Em seguida, listamos os modelos multilíngues SBERT, a saber 〈XLM-R, SBERT, NLI+STS〉, 〈XLM-R, SBERT, Paráfrases〉 e 〈XLM-R, SBERT, Cross-EN-DE〉. Os demais resultados listados são tomados como baseline. Os dois primeiros modelos, mUSE e DistilBERT, são modelos multilíngues baseados em variantes BERT e/ou Transformers. Os três modelos seguintes são os melhores resultados obtidos durante o ASSIN e ASSIN 2 para cada conjunto de dados. Por fim, o trabalho de Fialho, Coheur e Quaresma[11] é o estado-da-arte atual para estes conjuntos. Tanto para os modelos BERT e SBERT como para os resultados de baseline, destacamos em negrito o melhor resultado para o respectivo grupo de modelos. A seguir, discutimos os principais insights desta análise: Modelos pré-treinados em português. Como vemos na Tabela 5, os modelos SBERT apresentam em geral resultados melhores que seus modelos BERTs correspondentes. Este resultado é interessante considerando que tanto SBERT como BERT estão utilizando modelos BERTimbau. De fato, a única diferença entre ambos os tipos 6distilbert-multilingual-nli-stsb-quora-ranking 7quora-distilbert-base Capítulo 4. Análise experimental 38 Tabela 5 – Resultados utilizando os modelos pré-treinados. ASSIN PT-BR ASSIN PT-PT ASSIN 2 Pearson MSE Pearson MSE Pearson MSE ptBERT-Base 0.44 1.97 0.38 2.46 0.62 1.78 ptBERT-Large 0.55 3.32 0.52 4.16 0.27 2.49 ptBERT-Base (SBERT) 0.57 1.60 0.53 2.22 0.68 1.24 ptBERT-Large (SBERT) 0.58 2.69 0.49 3.57 0.71 1.92 〈XLM-R, SBERT, NLI+STS〉 0.67 0.65 0.71 0.68 0.79 0.63 〈XLM-R, SBERT, Paráfrases〉 0.71 0.42 0.74 0.65 0.79 0.50 〈XLM-R, SBERT, Cross-EN-DE〉 0.73 0.59 0.77 0.48 0.80 0.64 mUSE 0.70 0.50 0.72 0.58 0.75 0.55 DistilBERT 0.59 3.03 0.58 4.05 0.72 1.59 Solo Queue (Workshop) 0.70 0.38 0.70 0.66 — — L2F/INESC-ID (Workshop) — — 0.73 0.61 — — IPR (Workshop) — — — — 0.82 0.52 ptBERT-Baseft [11] 0.83 0.25 0.85 0.47 0.84 0.50 ptBERT-Largeft [11] 0.84 0.23 0.85 0.40 0.84 0.43 de rede nesta etapa dos experimentos é como os embeddings BERT estão sendo produzidos por cada grupo. Para as redes BERT, estamos considerando o embedding do token especial [CLS]. Já para modelos SBERT, o embedding final é o pooling médio dos demais tokens da sequência. Outro insight importante de se destacar é que nem sempre a versão Large superou a versão Base correspondente. O caso extremo aconteceu para o conjunto ASSIN 2, onde o resultado do modelo ptBERT-Large foi bastante insatisfatório. Modelos pré-treinados multilíngues. Em geral, os embeddings produzidos pelos mo- delos SBERT foram sempre competitivos com os resultados obtidos pelas equipes participantes do ASSIN e ASSIN 2. Dentre as versões SBERT, a que demonstra desempenho mais consistente é a treinada para o contexto Cross-EN-DE, confirmando também para os conjuntos ASSIN e ASSIN 2 seus ganhos de performance em relação aos outros modelos SBERT, já relatados na literatura. No entanto, sem fine-tuning, mesmo esta versão não consegue se igualar aos resultados obtidos pelo trabalho de Fialho, Coheur e Quaresma[11]. Por último, vale destacar que os resultados dos modelos pré-treinados multilíngues que usam variantes do BERT e/ou Transformers apresentam grandes contrastes. Especificamente, enquanto nos conjuntos ASSIN PT- PT e ASSIN PT-BR o mUSE se mostra competitivo com os modelos pré-treinados, o mesmo não se mantém para o ASSIN 2. Ainda menos competitivos são os resultados do DistilBERT, superado inclusive pelos resultados dos participantes dos eventos. Capítulo 4. Análise experimental 39 Figura 8 – Resultados para o conjunto ASSIN PT-BR obtidos por modelos pré-treinados. Como discutido acima, usando apenas os embeddings dos modelos pré-treinados alcançamos resultados competitivos com os resultados alcançados durante o workshop em que foi realizado o ASSIN. Para complementar esta análise, as Figuras 8–10 ranqueiam os modelos considerados por sua performance no conjunto correspondente de acordo com a correlação de Pearson. A Figura 8, por exemplo, mostra como os modelos pré- treinados multilíngues (cinco primeiro modelos) superaram no conjunto ASSIN PT-BR os modelos pré-treinados em português (quatro últimos modelos). Ademais, os três modelos multilíngues mais bem ranqueados superaram o resultado obtido durante o ASSIN para este conjunto (0.70). No entanto, nenhum modelo conseguiu se aproximar suficiente do resultado do estado-da-arte para este conjunto (0.84). Também é interessante notar que nem todos os modelos SBERT multilíngues conseguiram superar o mUSE para este conjunto. Uma situação semelhante é observada para o conjunto ASSIN PT-PT, mostrado na Figura 9. Uma vez mais, os modelos pré-treinados multilíngues superaram a performance dos modelos pré-treinados em português, e nem todos os modelos multilíngues SBERT superam o mUSE. Neste caso, porém, apenas os dois modelos mais bem ranqueados superam os resultados observados durante o ASSIN (0.73). No entanto, o melhor resultado obtido pelos embeddings produzidos pelos modelos pré-treinados ainda não se aproxima do estado-da-arte (0.85). Por último, a Figura 10 mostra os resultados para o ASSIN 2, onde a divisão de modelos em grupos fica perfeita. Ranqueados em primeiro, os modelos multilíngues SBERT superam os modelos multilíngue mUSE e DistilBERT, que por sua vez superam os modelos pré-treinados em português. Neste caso, porém, nenhum modelo consegue superar o melhor resultado apresentado durante o evento (0.82). Isto se explica pela adoção de técnicas mais recentes de NLP por parte da comunidade portuguesa, como discutido no capítulo anterior. Capítulo 4. Análise experimental 40 Figura 9 – Resultados para o conjunto ASSIN PT-PT obtidos por modelos pré-treinados. Figura 10 – Resultados para o conjunto ASSIN 2 obtidos por modelos pré-treinados. Em particular, a equipe IPR utilizou um modelo BERT multilíngue de tamanho Large com fine-tuning nos conjuntos ASSIN. Desta forma, é compreensível que os embeddings contextuais obtidos por modelos pré-treinados usando o tamanho Base não superem estes resultados. Em geral, ainda que os resultados obtidos por modelos SBERT pré-treinados não tenham ultrapassado o resultado encontrado no estado-da-arte para nenhum conjunto considerado, eles já se mostram uma boa opção pois temos um resultado bastante próximo Capítulo 4. Análise experimental 41 e com um custo computacional significativamente menor. Além disso, os modelos pré- treinados são de fácil uso, já que não há a necessidade de engenharia de características extras. Ademais, a produção de embeddings contextuais usando modelos multilíngues do Sentence-BERT se mostra uma boa opção para casos em que o cientista de dados não possui rótulos disponíveis, pois este resultado foi alcançado sem uso de treinamento ou fine-tuning. 4.3 SBERT com fine-tuning Esta etapa da nossa análise experimental busca verificar se há uma melhora no desempenho dos modelos pré-treinados quando os rótulos disponibilizados são usados para fine-tuning dos modelos. Como (i) o fine-tuning do BERT seria computacionalmente inviável para o contexto desta pesquisa e (ii) o estado-da-arte para os conjuntos ASSIN e ASSIN 2 já são redes ptBERT-Base e ptBERT-Large com fine-tuning para estes conjuntos, estas redes já nos servem de referência para resultados BERT. Assim, descartamos os modelos pré-treinados BERTimbau desta parte da investigação. Realizamos, então, o fine-tuning apenas dos modelos usados pelo SBERT, tanto os pré-treinados em português quanto os multilíngues. Essa etapa de fine-tuning tem por objetivo reajustar os pesos das redes siamesas para que a similaridade de cosseno entre os embeddings produzidos para as sentenças que compõem o par de entrada se aproximem mais dos valores dos rótulos. Para o fine-tuning, os desenvolvedores do SBERT disponibilizam um script padrão8, cujos hiperparâmetros recomendados nós decidimos manter. Desta forma, este fine-tuning usou lotes de tamanho 16 e número de épocas igual a 4.A quantidade de tokens de entrada é a mesma do BERT, ou seja, 512 tokens. A Tabela 6 lista os resultados para todos os modelos considerados nesta etapa do trabalho, como explicado acima. Em ordem, os modelos SBERT que usam os modelos pré-treinados em português BERTimbau como inicialização, aos quais nos referimos como ptBERT-Base (SBERT) e ptBERT-Large (SBERT). Em seguida, os modelos multilíngues SBERT, que demonstraram as melhores performances da etapa anterior da investigação. Por último, os resultados de baseline, incluindo tanto os modelos multilíngues baseados em variantes BERT e/ou Transformers como os melhores resultados obtidos durante o ASSIN e ASSIN 2 e o estado-da-arte [11]. Tanto para os modelos SBERT como para os resultados de baseline, destacamos em negrito o melhor resultado para o respectivo grupo de modelos. A seguir, discutimos os principais insights desta análise: Benefício do fine-tuning. Para todos os algoritmos considerados, o ganho de perfor- mance proporcionado pelo fine-tuning é considerável. De fato, agora todos os modelos 8https://github.com/UKPLab/sentence-transformers/blob/master/examples/training/sts/ training_stsbenchmark_continue_training.py Capítulo 4. Análise experimental 42 Tabela 6 – Resultados utilizando os modelos com fine-tuning. ASSIN PT-BR ASSIN PT-PT ASSIN 2 Pearson MSE Pearson MSE Pearson MSE ptBERT-Base (SBERT) 0.76 0.35 0.77 0.61 0.83 0.52 ptBERT-Large (SBERT) 0.80 0.32 0.78 0.68 0.83 0.53 〈XLM-R, SBERT, NLI+STS〉 0.75 0.35 0.78 0.54 0.84 0.42 〈XLM-R, SBERT, Paráfrases〉 0.79 0.30 0.80 0.52 0.85 0.43 〈XLM-R, SBERT, Cross-EN-DE〉 0.78 0.31 0.79 0.55 0.85 0.41 mUSE 0.75 0.34 0.76 0.60 0.83 0.48 DistilBERT 0.73 0.39 0.74 0.67 0.83 0.48 Solo Queue (Workshop) 0.70 0.38 0.70 0.66 — — L2F/INESC-ID (Workshop) — — 0.73 0.61 — — IPR (Workshop) — — — — 0.82 0.52 ptBERT-Baseft [11] 0.83 0.25 0.85 0.47 0.84 0.50 ptBERT-Largeft [11] 0.84 0.23 0.85 0.40 0.84 0.43 Figura 11 – Comparação das performances de modelos pré-treinados sem e com fine-tuning. superam os melhores resultados apresentados nos eventos ASSIN e ASSIN 2. Isso se constata inclusive em relação ao melhor resultado do ASSIN 2, obtido pela equipe IPR utilizando dados afinados nos conjuntos ASSIN PT-PT e ASSIN PT-BR. Para evidenciar os ganhos de performance obtidos por todos os modelos pré-treinados, a Figura 11 mostra boxplots da performance destes modelos sem e com fine-tuning, agrupados por conjunto de dados. Comparação com o estado-da-arte. Os melhores resultados apresentados pelos mo- delos SBERT ainda não são suficientemente competitivos com o estado-da-arte para Capítulo 4. Análise experimental 43 os conjuntos ASSIN PT-BR e ASSIN PT-PT. No entanto, para o conjunto ASSIN 2, todos os modelos se aproximam consideravelmente do resultado obtido por Fialho, Coheur e Quaresma[11]. Mais importante, os modelos SBERT multilíngues chegam a superá-los de acordo com a correlação de Pearson e/ou MSE. Homogeneidade de resultados. Em contraste com as grandes diferenças entre as per- formances dos modelos pré-treinados em geral discutidas na etapa anterior, a adoção do fine-tuning aproxima consideravelmente as performances do modelos. De fato, os resultados mais discrepantes são vistos apenas quando comparamos modelos SBERT com modelos de variantes de redes BERT e/ou Transformers. Como discutido acima, o uso do fine-tuning proporcionou uma melhora em todos os resultados, com os modelos multilíngues SBERT chegando a alcançar o estado-da-arte para o conjunto ASSIN 2. Para concluir esta análise, as Figuras 12–14 ranqueiam os modelos considerados por sua performance no conjunto correspondente de acordo com a correlação de Pearson. A Figura 12, em particular, mostra como os resultados dos modelos SBERT (cinco primeiro modelos) superaram no conjunto ASSIN PT-BR os modelos de variantes de redes BERT e/ou Transformers (dois últimos modelos). É interessante observar que, na presença do fine-tuning, o único modelo Large supera todos os demais modelos Base. Ademais, o modelo 〈XLM-R, SBERT, Paráfrases〉 supera a performance do modelo 〈XLM-R, SBERT, Cross-EN-DE〉, um resultado alinhado com a literatura do fine- tuning, que indica que modelos menos especializados têm a tendência de permitir melhores generalizações para novas tarefas. No geral, nenhum modelo conseguiu se aproximar suficiente do resultado do estado-da-arte para este conjunto (0.84), ainda que todos tenham melhorado consideravelmente o melhor resultado do evento (0.70). Os resultados para o conjunto ASSIN PT-PT ranqueados na Figura 13 mostram que apenas algumas das observações discutidas para o conjunto ASSIN PT-BR perma- necem válidas. Dentre as observações que permanecem válidas se destacam (i) a melhor performance dos modelos SBERT em relação aos demais e (ii) a melhor performance do modelo 〈XLM-R, SBERT, Paráfrases〉 em relação ao modelo 〈XLM-R, SBERT, Cross-EN-DE〉. Em compensação, o modelo Large não se mantém superior aos modelos Base. Novamente, nenhum modelo consegue alcançar o resultado do estado-da-arte para este conjunto (0.85), ainda que todos melhorem o resultado apresentado no evento (0.73). Por fim, a Figura 14 ranqueia os modelos de acordo com sua performance no conjunto ASSIN 2. Ainda que a performance de todos os modelos seja bastante próxima, é importante destacar que os multilíngues SBERT de fato alcançam o estado-da-arte (0.84). Mais importante, seja pela correlação de Pearson e/ou pelo MSE, todos estes modelos multilíngues superam o estado da arte. Diferentemente do que foi observado nos conjuntos anteriores, para este conjunto os modelos 〈XLM-R, SBERT, Cross-EN-DE〉 e 〈XLM-R, Capítulo 4. Análise experimental 44 Figura 12 – Resultados para o conjunto ASSIN PT-BR obtidos após fine-tuning. Figura 13 – Resultados para o conjunto ASSIN PT-PT obtidos após fine-tuning. SBERT, Paráfrases〉 se equivalem em termos de correlação de Pearson, ainda que o primeiro se sobressaia em termos de MSE. Capítulo 4. Análise experimental 45 Figura 14 – Resultados para o conjunto ASSIN 2 obtidos após fine-tuning. 46 5 CONSIDERAÇÕES FINAIS Para este trabalho, realizamos dois experimentos com o objetivo de avaliar a efetividade do uso de embeddings contextuais aplicados ao problema de similaridade semântica. Este problema é muito comum mas ainda apresenta pouca literatura em Português. Os conjuntos de dados disponíveis foram desenvolvidos durantes dois workshops chamados de ASSIN e ASSIN 2 respectivamente. Os embeddings contextuais usados foram dos algoritmos BERT e Sentence-BERT. Este último é uma adaptação do BERT específica para ser usada em problemas de similaridade semântica. Sua vantagem em relação ao BERT é principalmente em relação ao custo computacional, pois ao utilizar redes siamesas é possível deixar de tratar o problema como um problema de regressão. Dessa forma, no Sentence-BERT não há a necessidade de inserir ambas as sentenças dentro da arquitetura da rede. Em vez disso, nós apenas usamos os embeddings contextuais e calculamos a distância cosseno dos mesmos. Para nossa primeira parte do trabalho, foi possível mostrar que modelos multilíngues do Sentence-BERT já são bastante eficientes pra o problema de similaridade semântica, mesmo sem o uso do fine-tuning. Isso pode ser bastante útil para profissionais que lidarem com este problema mas não possuírem rótulos disponíveis para seus dados. Na segunda etapa, nós focamos exclusivamente no Sentence-BERT devido ao seu baixo custo computacional, e obtivemos uma melhora em todos os resultados. Os modelos multilíngues do Sentence-BERT mais uma vez se sobressaíram e dessa vez ultrapassaram o estado da arte em relação ao conjunto de dados do ASSIN 2. Até onde sabemos, este é o primeiro trabalho que analisa o algoritmo Sentence-BERT para conjuntos de dados em português. Como trabalho futuro, vemos a possibilidade de testar outros embeddings contextuais, como os disponíveis nas arquiteturas ELMo [46] e XLNet [47]. Além disso, seria interessante explorar mais o Sentence-BERT para problemas em português, como por exemplo produzir um modelo pré-treinado do zero utilizando dados da Wikipédia, seguindo as indicações do artigo original. Também é possível explorar mais combinações de conjuntos de treinamento, como por exemplo treinar com os dados do ASSIN e ASSIN 2 ao mesmo tempo e validar os resultados nos respectivos conjuntos de teste. 47 REFERÊNCIAS 1 FONSECA, E. R. et al. Visão geral da avaliação de similaridade semântica e inferência textual. Linguamática, v. 8, n. 2, p. 3–13, Dez. 2016. Disponível em: . 9, 27, 29 2 REAL, L.; FONSECA, E.; OLIVEIRA, H. G. The assin 2 shared task: A quick overview. In: QUARESMA, P. et al. (Ed.). Computational Processing of the Portuguese Language. Cham: Springer International Publishing, 2020. p. 406–412. ISBN 978-3-030-41505-1. 9, 27, 30, 31 3 JURAFSKY, D.; MARTIN, J. H. Speech and Language Processing (2Nd Edition). Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 2009. ISBN 0131873210. 12, 18, 19 4 MANNING, C. D.; SCHüTZE, H. Foundations of Statistical Natural Language Processing. Cambridge, MA, USA: MIT Press, 1999. ISBN 0-262-13360-1. 12, 19 5 BRIN, S.; PAGE, L. The anatomy of a large-scale hypertextual web search engine. In: Seventh International World-Wide Web Conference (WWW 1998). [s.n.], 1998. Disponível em: . 12 6 Lü, L. et al. Recommender systems. Physics Reports, v. 519, n. 1, p. 1–49, 2012. ISSN 0370-1573. Recommender Systems. Disponível em: . 12 7 BOBADILLA, J. et al. Recommender systems survey. Knowledge-Based Systems, v. 46, p. 109–132, 2013. ISSN 0950-7051. Disponível em: . 12 8 IMTIAZ, Z. et al. Duplicate questions pair detection using siamese malstm. IEEE Access, v. 8, p. 21932–21942, 2020. 12 9 MARELLI, M. et al. SemEval-2014 task 1: Evaluation of compositional distributional semantic models on full sentences through semantic relatedness and textual entailment. In: Proceedings of the 8th International Workshop on Semantic Evaluation (SemEval 2014). Dublin, Ireland: Association for Computational Linguistics, 2014. p. 1–8. Disponível em: . 13, 30 10 DEVLIN, J. et al. BERT: Pre-training of deep bidirectional transformers for language understanding. In: Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). Minneapolis, Minnesota: Association for Computational Linguistics, 2019. p. 4171–4186. Disponível em: . 13, 20, 23, 24, 25, 35 11 FIALHO, P.; COHEUR, L.; QUARESMA, P. Benchmarking natural language inference and semantic textual similarity for portuguese. Information, v. 11, p. 484, 10 2020. 13, 14, 32, 33, 36, 37, 38, 41, 42, 43 Referências 48 12 REIMERS, N.; GUREVYCH, I. Sentence-bert: Sentence embeddings using siamese bert-networks. In: EMNLP/IJCNLP. [S.l.: s.n.], 2019. 13, 14, 20, 25, 26, 33 13 REIMERS, N.; GUREVYCH, I. Making monolingual sentence embeddings multilingual using knowledge distillation. In: EMNLP. [S.l.: s.n.], 2020. 13, 35 14 BISHOP, C. M. Pattern Recognition and Machine Learning (Information Science and Statistics). Berlin, Heidelberg: Springer-Verlag, 2006. ISBN 0387310738. 16, 17 15 MITCHELL, T. M. Machine Learning. 1. ed. New York, NY, USA: McGraw-Hill, Inc., 1997. ISBN 0070428077, 9780070428072. 16, 17 16 HASTIE, T.; TIBSHIRANI, R.; FRIEDMAN, J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, 2009. (Springer series in statistics). ISBN 9780387848846. Disponível em: . 16, 17 17 RUSSELL, S.; NORVIG, P. Artificial Intelligence: A Modern Approach. 3rd. ed. USA: Prentice Hall Press, 2009. ISBN 0136042597. 16, 17 18 LECUN, Y.; BENGIO, Y.; HINTON, G. Deep learning. Nature, v. 521, n. 7553, p. 436–444, 2015. Disponível em: . 17, 18 19 MANNING, C. D.; RAGHAVAN, P.; SCHüTZE, H. Introduction to Information Retrieval. New York, NY, USA: Cambridge University Press, 2008. ISBN 0521865719, 9780521865715. 20 20 BENGIO, Y. et al. A neural probabilistic language model. J. Mach. Learn. Res., JMLR.org, v. 3, n. null, p. 1137–1155, mar. 2003. ISSN 1532-4435. 20 21 MIKOLOV, T. et al. Efficient estimation of word representations in vector space. In: . [S.l.: s.n.], 2013. p. 1–12. 20 22 MIKOLOV, T. et al. Distributed representations of words and phrases and their compositionality. In: Proceedings of the 26th International Conference on Neural Information Processing Systems - Volume 2. Red Hook, NY, USA: Curran Associates Inc., 2013. (NIPS’13), p. 3111–3119. 20 23 PENNINGTON, J.; SOCHER, R.; MANNING, C. GloVe: Global vectors for word representation. In: Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar: Association for Computational Linguistics, 2014. p. 1532–1543. Disponível em: . 20 24 BOJANOWSKI, P. et al. Enriching word vectors with subword information. Transactions of the Association for Computational Linguistics, v. 5, p. 135–146, 2017. Disponível em: . 20 25 VASWANI, A. et al. Attention is all you need. In: GUYON, I. et al. (Ed.). Advances in Neural Information Processing Systems. Curran Associates, Inc., 2017. v. 30. Disponível em: . 20, 22, 23 26 SUTSKEVER, I.; VINYALS, O.; LE, Q. V. Sequence to Sequence Learning with Neural Networks. 2014. 20 Referências 49 27 BAHDANAU, D.; CHO, K.; BENGIO, Y. Neural Machine Translation by Jointly Learning to Align and Translate. 2016. 20 28 ALAMMAR, J. The Illustrated Transformer. 2018. [Online; accessed 15-April-2020]. Disponível em: . 21, 22 29 RUMELHART, D. E.; HINTON, G. E.; WILLIAMS, R. J. Learning internal representations by error propagation. In: . Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol. 1: Foundations. Cambridge, MA, USA: MIT Press, 1986. p. 318–362. ISBN 026268053X. 21 30 CHICCO, D. Siamese neural networks: An overview. In: . Artificial Neural Networks. New York, NY: Springer US, 2021. p. 73–94. ISBN 978-1-0716-0826-5. Disponível em: . 25 31 BROMLEY, J. et al. Signature verification using a "siamese" time delay neural network. In: Proceedings of the 6th International Conference on Neural Information Processing Systems. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1993. (NIPS’93), p. 737–744. 25 32 Chopra, S.; Hadsell, R.; LeCun, Y. Learning a similarity metric discriminatively, with application to face verification. In: 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05). [S.l.: s.n.], 2005. v. 1, p. 539–546 vol. 1. 25 33 AGIRRE, E. et al. Semeval-2012 task 6: A pilot on semantic textual similarity. In: Proceedings of the First Joint Conference on Lexical and Computational Semantics - Volume 1: Proceedings of the Main Conference and the Shared Task, and Volume 2: Proceedings of the Sixth International Workshop on Semantic Evaluation. USA: Association for Computational Linguistics, 2012. (SemEval ’12), p. 385–393. 27 34 CER, D. et al. SemEval-2017 task 1: Semantic textual similarity multilingual and crosslingual focused evaluation. In: Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017). Vancouver, Canada: Association for Computational Linguistics, 2017. p. 1–14. Disponível em: . 27, 36 35 REAL, L. et al. Sick-br: A portuguese corpus for inference: 13th international conference, propor 2018, canela, brazil, september 24–26, 2018, proceedings. In: . [S.l.: s.n.], 2018. p. 303–312. ISBN 978-3-319-99721-6. 27, 30 36 TURNEY, P. D.; PANTEL, P. From frequency to meaning: Vector space models of semantics. J. Artif. Int. Res., AI Access Foundation, El Segundo, CA, USA, v. 37, n. 1, p. 141–188, jan. 2010. ISSN 1076-9757. 28 37 Pinheiro, A. et al. Statistical and semantic features to measure sentence similarity in portuguese. In: 2017 Brazilian Conference on Intelligent Systems (BRACIS). [S.l.: s.n.], 2017. p. 342–347. 31, 32 38 ALVES, A. et al. ASAPP 2.0: Advancing the state-of-the-art of semantic textual similarity for Portuguese. In: HENRIQUES, P. R. et al. (Ed.). 7th Symposium on Languages, Applications and Technologies (SLATE 2018). Dagstuhl, Germany: Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2018. (OpenAccess Series in Informatics Referências 50 (OASIcs), v. 62), p. 12:1–12:17. ISBN 978-3-95977-072-9. ISSN 2190-6807. Disponível em: . 32 39 RODRIGUES, I.; RODRIGUES, r.; COUTO, p. Ipr: The semantic textual similarity and recognizing textual entailment systems. In: . [S.l.: s.n.], 2019. 33 40 SOUZA, F.; NOGUEIRA, R.; LOTUFO, R. BERTimbau: pretrained BERT models for Brazilian Portuguese. In: 9th Brazilian Conference on Intelligent Systems, BRACIS, Rio Grande do Sul, Brazil, October 20-23 (to appear). [S.l.: s.n.], 2020. 34 41 FILHO, J. A. W. et al. The brWaC corpus: A new open resource for Brazilian Portuguese. In: Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018). Miyazaki, Japan: European Language Resources Association (ELRA), 2018. Disponível em: . 35 42 SCHROFF, F.; KALENICHENKO, D.; PHILBIN, J. Facenet: A unified embedding for face recognition and clustering. In: 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.: s.n.], 2015. p. 815–823. 35 43 CONNEAU, A. et al. Unsupervised cross-lingual representation learning at scale. In: . [S.l.: s.n.], 2020. p. 8440–8451. 35, 36 44 YANG, Y. et al. Multilingual universal sentence encoder for semantic retrieval. In: Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations. Online: Association for Computational Linguistics, 2020. p. 87–94. Disponível em: . 36 45 SANH, V. et al. DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. 2019. The 5th Workshop on Energy Efficient Machine Learning and Cognitive Computing, NeurIPS 2019. 37 46 PETERS, M. et al. Deep contextualized word representations. In: Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). New Orleans, Louisiana: Association for Computational Linguistics, 2018. p. 2227–2237. Disponível em: . 46 47 YANG, Z. et al. Xlnet: Generalized autoregressive pretraining for language understanding. In: WALLACH, H. et al. (Ed.). Advances in Neural Information Processing Systems. Curran Associates, Inc., 2019. v. 32. Disponível em: . 46