Título: Detecção de Erros em Sentenças Textuais para Análise STPA com Classificação via BERT
Comissão Examinadora - Titulares
Profa. Dra. Ana Estela Antunes da Silva (Presidente) - FT/Unicamp
Prof. Dr. Guilherme Palermo Coelho - FT/Unicamp
Prof. Dr. Carlos Henrique Netto Lahoz - ITA
Suplentes
Prof. Dr. Cristhof Johann Roosen Runge - FT/Unicamp
Prof. Dr. Fabricio Aparecido Breve - Unesp
Local: Sala de Defesa (Prédio da Pós-Graduação da FT) | https://stream.meet.google.com/stream/3858115f-0017-410e-b46b-b2a789fa8ebd
Resumo: A System-Theoretic Process Analysis (STPA) é uma técnica de análise de perigos destinada a sistemas complexos, que investiga a interação dos componentes do sistema para encontrar perigos. Por ser uma técnica de muitas etapas, a STPA exige um esforço manual considerável, o que motivou esta pesquisa. O objetivo desta pesquisa é automatizar a validação de textos gerados durante o primeiro passo da análise STPA, chamado de "Definir o propósito da análise", em que se definem as Perdas (objetos de valor aos stakeholders em que perdas são inaceitáveis), os Perigos (condições do sistema que, em situações de pior caso, podem levar às perdas) e as Restrições (condições do sistema que devem ser satisfeitas para evitar perigos) do sistema. Estes registros textuais são sentenças de uma única linha que representam cada aspecto crucial do sistema, e devem ser levados em consideração para identificação de perigos e definição de regras. Este trabalho propõe um pipeline de modelos de aprendizado de máquina chamado BEDS: BERT Error Detection for STPA, (ou Detecção de erros com BERT para STPA), que tem o propósito de detectar erros e sugerir correções de sentenças para texto gerado durante o primeiro passo da análise STPA. Este pipeline é composto por 4 passos baseados no modelo de linguagem Bidirectional Encoder Representations from Transformers (BERT), onde a entrada é uma lista de sentenças e rótulos (com as classes de Perdas, Perigos e Restrições), e a saída do último passo são duas listas com as sentenças classificadas entre corretas ou incorretas com base no guia oficial de STPA (STPA Handbook). As sentenças consideradas incorretas são acompanhadas pelo tipo de erro de escrita detectado, a probabilidade dos erros, e uma lista de sugestões de sentenças corretas para correção. Os modelos foram avaliados com métricas de classificação de aprendizado de máquina: acurácia, precisão, sensibilidade e F1-Score. O primeiro passo de classificação, que determina a classe da sentença, atingiu 95.20% de acurácia. O segundo passo, que determina se a sentença é correta ou incorreta, atingiu a média entre os classificadores de 88.51% de acurácia. O terceiro passo, que detecta o tipo de erro presente na sentença incorreta atingiu a média de 83.44% de acurácia. O quarto e último passo utiliza um modelo de similaridade de sentenças para sugerir sentenças corretas com base em um dataset verificado por especialistas de STPA. As contribuições deste trabalho incluem a criação do pipeline de detecção de erros BEDS, e a criação de um dataset de sentenças da análise STPA para treinamento e teste dos modelos de aprendizado de máquina.