With the massive amount of data generated daily on the Web, researchers in the field of Natural Language Processing have focused on extracting useful information from unstructured data. This volume of data makes it impractical for anyone to manually process them in order to extract meaningful information, i.e., feelings, opinions, irony, hate speech, fake news, and others. The main objective of this short course is to introduce principles, traditional techniques, and tools in the field of NLP, developing models for binary classification tasks. The course focuses on practical activities using the Python language and libraries such as: NLTK, SpaCy, and Scikit-Learn. In the final part, some topics about Deep Learning will be discussed, including the BERT language model.
ResumoCom a imensa quantidade de dados gerados diariamente na Web, pesquisadores da área de Processamento de Linguagem Natural (PLN) têm buscado extrair informações úteis de dados não estruturados. Esse volume de dados torna impraticável para qualquer pessoa processá-los manualmente a fim de extrair informações significativas, i.e., sentimentos, opiniões, ironia, discurso de ódio, fake news, entre outros. O objetivo principal deste minicurso é apresentar princípios, técnicas tradicionais e ferramentas da área de PLN, desenvolvendo modelos para tarefas de classificação binária. O curso é focado em atividades práticas usando a linguagem Python e bibliotecas, como: NLTK, SpaCy e Scikit-Learn. Na parte final, alguns tópicos sobre Deep Learning serão discutidos, incluindo o modelo de língua BERT.
IntroduçãoProcessamento de Linguagem Natural (PLN) é uma vertente da Inteligência Artificial (IA) que ajuda computadores a entender, interpretar e manipular a linguagem humana. Em termos simples, [Sarkar 2019] define linguagem natural como sendo uma linguagem desenvolvida e evoluída por humanos por meio do uso natural e da comunicação, em vez de construir e criar a linguagem artificialmente, como uma linguagem de programação.A Comissão Especial de Processamento de Linguagem Natural (CE-PLN) da Sociedade Brasileira de Computação (SBC), estabelece que a área de PLN, também denominada Linguística Computacional ou, ainda, Processamento de Línguas Naturais, busca investigar, propor e desenvolver formalismos, modelos, técnicas, métodos e sistemas computacionais para resolver problemas relacionados à automação da interpretação e da geração da língua humana, como o inglês ou o português. A CE-PLN também descreve que as principais aplicações envolvem áreas, tais como: