An approach for grouping sentences by semantic similarity using language models and graph theory
dc.contributor.advisor | Bianchi, Reinaldo Augusto da Costa | |
dc.contributor.author | Ramos, João Paulo Oliveira | |
dc.date.accessioned | 2024-11-08T19:07:23Z | |
dc.date.available | 2024-11-08T19:07:23Z | |
dc.date.issued | 2024 | |
dc.description.abstract | Revisão da literatura é uma etapa mandatória durante uma pesquisa cientifica. Nesta fase, o pesquisador está constantemente procurando, lendo e filtrando os artigos que são relacionados a seu tópico de pesquisa. Em um cenário em que um número acumulado de artigos encontrados não são de interesse, tempo e energia são gastos sem resultados concretos. Com o crescimento exponencial de informações como noticias, artigos científicos, um campo chamado Sumarização Automática de Texto (SAT) se destaca. Esse campo é uma aplicação da área de Recuperação de Informação (RI), onde um resumo reduzido e compreensivo é extraído ou gerado a partir de um documento. A sumarização manual toma tempo, é custosa e impraticável frente a quantidade de informação textual disponível. O objetivo desse trabalho é criar um modelo semi-supervisionado capaz de criar um resumo compreensivo de um artigo cientifico, agrupando parágrafos em quarto classes: Objetivo, Metodologia, Resultados e Motivação. A metodologia é composta de sete seções, sendo essas: Seção 4.1 que descreve a base de dados utilizada. Seção 4.2 que trata do pre-processamento dos textos utilizados. Seção 4.3 que trata da metodologia utilizada para extrair as palavras chaves dos textos. Seção 4.4 que trata da metodologia utilizada para criar o grafo de palavras que é utilizado pelos modelos. Na Seção 4.5 é apresentada como os parágrafos são distribuídos entre os buckets. Na Seção 4.6 é apresentado como o modelo de N-gramas foi treinado. Na Seção 4.7.3 é apresentado a métrica de Entropia, e como ela é aplicada no técnica de agrupamento dos textos, junto do algoritmo de Dijkstra que é utilizado em um dos modelos de Entropia. Por ultimo é apresentado na Seção 4.8 o modelo de otimização criado para os modelos de entropia. A base de dados utilizada foi gerada pelo crawler criado por Meng et al. (2021) com o objetivo de extrair os artigos do website Emerald (EMERALD. . . , n.d.). Emerald é um publicador de artigos e revistas cientificas, com uma base de dados com mais de 60 mil documentos de diversos campos de estudo. Cada artigo científico dessa plataforma contém um resumo separado em quatro categorias. sendo essas categorias: proposito, método, achados e valores. O proposito descreve o objetivo do artigo, o método a metodologia e tecnologias, achados encontram-se os resultados do trabalho, e valores encontramos as motivações e valores do artigo científico. Nesse trabalho é utilizado uma base de dados reduzida, pois não foi possível obter acesso completo aos dados da plataforma Emerald. Foram utilizados os artigos marcados como Open Access. No total foram utilizados 643 artigos nos experimentos. Os textos foram separados em parágrafos, cada parágrafo sendo uma das categorias citadas anteriormente. A primeira etapa dos preprocessamentos dos dados, é a extração dos parágrafos. Em seguida, é feita lematização e tokenização dos textos. Para selecionar os as palavras chaves que foram utilizadas no segundo modelo de entropia, foi utilizado o algoritmo Summa (BARRIOS et al., 2016). Foram utilizados cinco palavras por categoria de texto. O grafo de palavras foi criado a partir de um grafo bi-direcionado, onde cada nó é uma palavra e as arestas são as quantidades de vezes que uma palavra se conectou com outra palavra. Em seguida foi feita a soma dos pesos das arestas do grafo, gerando um grafo não-direcional apresentado na Figura 2. Com essa contagem de conexões entre as palavras nas arestas, foi feito o calculo da probabilidade conjunta das arestas, gerando o grafo da Figure 4. Em seguida foi feita a transformação das arestas utilizando o logaritmo negativo, para que seja possível utilizar o algoritmo de Dijkstra para encontrar o menor caminho das palavras de um paragrafo, para as palavras chaves que foram definidas anteriormente. Foram criados dois modelos de entropia, um que utiliza apenas a Entropia como métrica de agrupamento dos paragrafos, e outro que utiliza a entropia, o algoritmo de Dijkstra e as palavras chaves para enviesar o agrupamento dos parágrafos. Os modelos são compostos pelo modelo de linguagem N-grama. No total, foram gerados quatro tamanhos diferentes de N-gramas, sendo eles 2-grama, 3-grama, 4-grama e 5-grama. Cada N-grama é chamado de bucket, no total são criados 4 buckets, um para cada categoria de texto. Cada bucket tem como proposito se especializar em um grupo de texto. No caso do modelo que utiliza apenas a Entropia, o agrupamento é aleatório entre os 4 buckets. Já para o modelo que utiliza as palavras chave, cada bucket tem uma categoria de texto pré-definida. O modelo de otimização criado consiste em avaliar se a entropia geral do modelo esta diminuindo ou não. Se a entropia diminuir, o modelo executa a etapa de troca de textos entre os buckets, por outro lado, se entropia se mantiver no mesmo valor, ou for maior, o modelo não executa a troca dos textos entre os buckets. Nessa etapa são selecionados dois buckets aleatoriamente para cada iteração do modelo. Os experimentos são apresentados no Capitulo 5. Onde é avaliado a performance para cada tamanho de n-grama. A curva de otimização dos modelos para avaliar se a entropia. E por final a influencia das palavras chaves com a utilização do algoritmo de Dijkstra no agrupamento dos textos. Por final foram utilizados dois modelos conhecidos na literatura como base de comparação. O modelo K-means, aprestado na Seção 5.4 e o modelo de LSTM (Long short-term memory) apresentado na Seção 5.5. Os resultados desse projeto demonstraram que ambos os modelos de entropia não conseguiram segmentar os textos nas quatro classes previstas, mesmo quando a entropia geral dos modelos estava diminuindo ou da hipótese de que utilizar as palavras chaves e o algoritmo Dijkstra seria melhor para enviesar o agrupamento dos textos. O modelo Kmeans e LSTM também não obtiveram resultados satisfatórios no agrupamento e classificação dos textos. Conclui-se que a entropia não pode ser utilizada como uma métrica de agrupamento de texto quando utilizada junto do modelo de linguagem N-grama. O modelo Kmeans pode ter seus hiper-parâmetros otimizados para uma possível melhora no agrupamento dos textos, o mesmo pode ocorrer para o modelo LSTM, e sua classificação dos grupos de textos. | |
dc.description.abstract | The literature review is a mandatory step during research. In this phase, the researcher is constantly searching, reading and filtering papers related to the research topic. In a scenario that an accumulative number of papers are not of interest, time and energy is spent, without concrete results. With the exponential growth of textual information being generated, such as news articles, research papers, and legal documents, Automatic Text Summarization (ATS) becomes an important research field. ATS is an application of Information Retrieval, where a shorter and comprehensive summary is extracted or generated from a source document. Manual summarization is time consuming, costly, and impractical with the amount of text information that is available. The goal of this work is to create a semi-supervised model that is able to create a comprehensive summary of a paper, by grouping paragraphs in four classes: Objective, Motivation, Methodology and Results. This project results showed that both entropy models were not able to split the texts into the four predefined classes, even when the general entropy was dropping, or when using the keywords and Dijkstra algorithm would be a better alternative to bias the texts grouping. Kmeans and LSTM models also did not got satisfactory results on texts grouping and classification. At the end it is possible to tell that the entropy can not be used as a measurement for texts grouping when used together with the N-gram language model. Kmeans model must have their hyperparameter optimized for a possible improvement on the texts grouping task, the same must happen for the LSTM model and the text classification task | |
dc.identifier.citation | RAMOS, João Paulo Oliveira. <b> An approach for grouping sentences by semantic similarity using language models and graph theory.</b> 2024. 76 f. Dissertação (Mestrado em Engenharia Mecânica) - Centro Universitário FEI, São Bernardo do Campo, 2024. | |
dc.identifier.uri | https://repositorio.fei.edu.br/handle/FEI/5571 | |
dc.language | eng | |
dc.language.iso | en_US | |
dc.publisher | Centro Universitário FEI, São Bernardo do Campo | |
dc.subject | Inteligência artificial | |
dc.subject | Aprendizado de Máquina | |
dc.title | An approach for grouping sentences by semantic similarity using language models and graph theory | pt_BR |
dc.type | Dissertação | pt_BR |