Baixe o app para aproveitar ainda mais
Prévia do material em texto
Indaial – 2021 Processamento de Linguagem naturaL 1a Edição Copyright © UNIASSELVI 2021 Revisão, Diagramação e Produção: Centro Universitário Leonardo da Vinci – UNIASSELVI Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri UNIASSELVI – Indaial. Impresso por: aPresentação Caro acadêmico! Estamos iniciando o estudo da disciplina Processamento de Linguagem Natural. Este livro é um dos instrumentos que contribuirá para a sua aprendizagem. A abordagem do livro é sobre o conceito geral de processamento de linguagem natural, sua essência em nosso cotidiano e em como podemos armazenar, processar e extrair conhecimento de textos. No decorrer deste livro, estudaremos os conceitos fundamentais sobre processamento de linguagem natural, as principais técnicas, compreenderemos como a máquina compreende o texto, bem como aplicar algoritmos de machine learning para extrair conhecimento. Na Unidade 1, introduziremos a temática de processamento de linguagem natural por meio de seus fundamentos, aplicações, desafios, compreendendo a base do processamento de linguagem natural, e por fim, aprenderemos a utilizar expressões regulares. Na Unidade 2, compreenderemos que as máquinas não interpretam textos, mas sim números. Por isso estudaremos as principais técnicas de representação de texto passando por bag of words, tf-idf, latent Dirichlet allocation e word2vec. Na Unidade 3, partiremos para uma visão prática, aplicando todo o conteúdo de representação e pré-processamento de texto em cenários de machine learning por meio de uma aplicação de análise de sentimentos. Aproveitamos a oportunidade para destacar a importância de desenvolver as autoatividades, lembrando que essas atividades não são opcionais. Elas objetivam a fixação dos conceitos apresentados. Em caso de dúvida na realização das atividades, sugerimos que você entre em contato com seu tutor externo ou com a tutoria da UNIASSELVI, não prosseguindo as atividades sem ter sanado todas as dúvidas que irão surgindo. Bons estudos! Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novidades em nosso material. Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um formato mais prático, que cabe na bolsa e facilita a leitura. O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagramação no texto, aproveitando ao máximo o espaço da página, o que também contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo. Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade de estudá-lo com versatilidade nas telas do celular, tablet ou computador. Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto em questão. Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa continuar seus estudos com um material de qualidade. Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de Desempenho de Estudantes – ENADE. Bons estudos! NOTA Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela um novo conhecimento. Com o objetivo de enriquecer seu conhecimento, construímos, além do livro que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você terá contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complementares, entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento. Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo. Conte conosco, estaremos juntos nesta caminhada! LEMBRETE sumário UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL................................................................................. 1 TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL ..................................................................................... 3 1 INTRODUÇÃO .................................................................................................................................... 3 2 PROCESSAMENTO DE LINGUAGEM NATURAL .................................................................... 3 2.1 LINGUAGEM NATURAL ............................................................................................................. 4 2.2 MOTIVAÇÕES ................................................................................................................................. 5 2.3 HISTÓRICO DO PROCESSAMENTO DE LINGUAGEM NATURAL ................................... 6 2.4 INFORMAÇÕES GERAIS SOBRE O PROCESSAMENTO DE LINGUAGEM NATURAL .................................................................................................... 10 3 ATUAÇÃO DO PROCESSAMENTO DE LINGUAGEM NATURAL QUANTO ÀS ÁREAS DO CONHECIMENTO LINGUÍSTICO E EXEMPLOS PRÁTICOS ................. 12 3.1 PRINCIPAIS TAREFAS NO PROCESSAMENTO DE LINGUAGEM NATURAL E EXEMPLOS PRÁTICOS ..................................................... 12 3.1.1 Ambiguidade no processamento de linguagem natural ................................................ 16 4 ATUAÇÃO DO PROCESSAMENTO DE LINGUAGEM NATURAL QUANTO ÀS ÁREAS DO CONHECIMENTO LINGUÍSTICO E EXEMPLOS PRÁTICOS ................. 17 RESUMO DO TÓPICO 1..................................................................................................................... 20 AUTOATIVIDADE .............................................................................................................................. 22 TÓPICO 2 — APLICAÇÕES E DESAFIOS DO PROCESSAMENTO DE LINGUAGEM NATURAL ................................................................................... 25 1 INTRODUÇÃO .................................................................................................................................. 25 2 CARACTERÍSTICAS QUE TORNAM O PROCESSAMENTO DE LINGUAGEM NATURAL ADEQUADO PARA RESOLUÇÃO DE PROBLEMAS ......................................... 25 3 DESAFIOS NAS TÉCNICAS DE PROCESSAMENTO DE LINGUAGEM NATURAL .......... 27 3.1 PROBLEMAS DE SEGMENTAÇÃO .......................................................................................... 28 3.2 ANÁLISE DE CONTEXTO .......................................................................................................... 29 3.3 EXTRAÇÃO DO SIGNIFICADO SEMÂNTICO ...................................................................... 30 3.4 NEOLOGISMOS ........................................................................................................................... 30 3.5 FIGURAS DE LINGUAGEM E O USO DE ABREVIAÇÕES E ACRÔNIMOS .................... 31 3.6 USO DE NEGAÇÕES E ESPECULAÇÃO ................................................................................. 31 4 AVALIAÇÃO DA ADEQUADA APLICAÇÃO DO PROCESSAMENTO DE LINGUAGEM NATURAL EM PROBLEMAS REAIS ......................................................... 32 RESUMO DO TÓPICO 2..................................................................................................................... 37 AUTOATIVIDADE .............................................................................................................................. 38 TÓPICO 3 — A BASE DO PROCESSAMENTO DE TEXTOS .................................................... 41 1 INTRODUÇÃO ..................................................................................................................................41 2 MÉTODOS DE PROCESSAMENTO DE LINGUAGEM NATURAL ..................................... 41 3 FERRAMENTAS E BIBLIOTECAS QUE AJUDAM NO PROCESSAMENTO DE LINGUAGEM NATURAL .......................................................... 44 3.1 ABERTURA DE ARQUIVOS DE TEXTO EM PYTHON ........................................................ 47 3.2 POS-TAGGING NO NLTK .......................................................................................................... 48 4 PROCESSOS DE PRÉ-PROCESSAMENTO DE TEXTO ........................................................... 49 4.1 REMOÇÃO DE STOP-WORDS .................................................................................................. 49 4.2 STEMMING E LEMATIZAÇÃO ................................................................................................. 50 5 DESENVOLVIMENTO DE SOLUÇÃO DE PLN UTILIZANDO FERRAMENTAS .................. 51 RESUMO DO TÓPICO 3..................................................................................................................... 53 AUTOATIVIDADE .............................................................................................................................. 54 TÓPICO 4 — EXPRESSÕES REGULARES ..................................................................................... 57 1 INTRODUÇÃO .................................................................................................................................. 57 2 EXPRESSÕES REGULARES NO PROCESSAMENTO DE LINGUAGEM NATURAL (PLN) ............................................................................................. 57 2.1 EXPRESSÕES REGULARES DEVEM SER GENERALIZADAS E ESPECÍFICAS ..................... 58 3 IMPLEMENTAÇÃO EM PYTHON ................................................................................................ 65 4 APLICAÇÕES REAIS DE EXPRESSÕES REGULARES ............................................................ 67 RESUMO DO TÓPICO 4..................................................................................................................... 73 AUTOATIVIDADE .............................................................................................................................. 74 REFERÊNCIAS ...................................................................................................................................... 76 UNIDADE 2 — REPRESENTAÇÃO VETORIAL DE TEXTOS ................................................... 81 TÓPICO 1 — BAG OF WORDS ......................................................................................................... 83 1 INTRODUÇÃO .................................................................................................................................. 83 2 INTERPRETAÇÃO DE DADOS TEXTUAIS ............................................................................... 83 3 VETORIZAÇÃO DE TEXTOS......................................................................................................... 84 4 ALGORITMO BAG OF WORDS ................................................................................................... 86 RESUMO DO TÓPICO 1..................................................................................................................... 93 AUTOATIVIDADE .............................................................................................................................. 94 TÓPICO 2 — TF-IDF ............................................................................................................................ 97 1 INTRODUÇÃO .................................................................................................................................. 97 2 DEFINIÇÃO DO MÉTODO TF-IDF .............................................................................................. 97 3 BAG OF WORDS VS. TF-IDF ......................................................................................................... 98 4 TF-IDF EM PYTHON ........................................................................................................................ 99 RESUMO DO TÓPICO 2................................................................................................................... 106 AUTOATIVIDADE ............................................................................................................................ 107 TÓPICO 3 — WORD EMBEDDINGS – WORD2VEC ................................................................ 109 1 INTRODUÇÃO ................................................................................................................................ 109 2 WORD EMBEDDINGS .................................................................................................................. 109 3 ALGORITMOS PARA WORD EMBEDDINGS ........................................................................ 113 4 IMPLEMENTAÇÃO DE WORD EMBEDDINGS ..................................................................... 116 RESUMO DO TÓPICO 3................................................................................................................... 122 AUTOATIVIDADE ............................................................................................................................ 123 TÓPICO 4 — WORD EMBEDDINGS – WORD2VEC ................................................................ 125 1 INTRODUÇÃO ................................................................................................................................ 125 2 BIBLIOTECA GENSIM .................................................................................................................. 125 2.1 DESENVOLVIMENTO DE MODELOS ................................................................................... 131 3 MODELOS PRÉ-TREINADOS ..................................................................................................... 133 RESUMO DO TÓPICO 4................................................................................................................... 138 AUTOATIVIDADE ............................................................................................................................ 139 REFERÊNCIAS .................................................................................................................................... 141 UNIDADE 3 — PROCESSAMENTO DE LINGUAGEM NATURAL COM MACHINE LEARNING ............................................................................ 143 TÓPICO 1 — CLASSIFICAÇÃO DE TEXTOS – INTRODUÇÃO AO APRENDIZADO SUPERVISIONADO .......................................................... 145 1 INTRODUÇÃO ................................................................................................................................ 145 2 MACHINE LEARNING.................................................................................................................. 145 2.1 CLASSIFICAÇÕES DE APRENDIZADO DE MÁQUINA ................................................... 146 3 APLICAÇÕES DE MACHINE LEARNING PARA CLASSIFICAÇÃO DE TEXTOS .............. 148 3.1 APLICAÇÕES DE CLASSIFICAÇÃO DE TEXTOS NAS CIÊNCIAS SOCIAIS ................ 152 3.2 APLICAÇÕES DE CLASSIFICAÇÃO DE TEXTOS NAS ÁREAS DA SAÚDE ................. 152 4 ELEMENTOS QUE COMPÕEM AS SOLUÇÕES DE CLASSIFICAÇÃO DE TEXTOS ....................................................................................................... 153 4.1 PRÉ-PROCESSAMENTO E LIMPEZA DO TEXTO ............................................................... 156 RESUMO DO TÓPICO 1................................................................................................................... 158 AUTOATIVIDADE ............................................................................................................................ 159 TÓPICO 2 — CLASSIFICAÇÃO DE TEXTOS – UTILIZANDO PYTHON PARA CONSTRUIR E TREINAR MODELOSDE MACHINE LEARNING ................161 1 INTRODUÇÃO ................................................................................................................................ 161 2 OBTENÇÃO E PREPARAÇÃO DOS DADOS .......................................................................... 161 2.1 OBTENÇÃO DOS DADOS ........................................................................................................ 162 2.2 SMS SPAM COLLECTION DATA SET .................................................................................... 163 2.3 EXPLORAÇÃO DOS DADOS ................................................................................................... 163 2.4 PREPARAÇÃO DOS DADOS ................................................................................................... 165 2.5 CONSTRUÇÃO DO MODELO DE PREDIÇÃO .................................................................... 169 3 ANÁLISE DO CLASSIFICADOR NAÏVE BAYES .................................................................... 170 4 APLICAÇÃO DO CLASSIFICADOR EM UM ESTUDO PRÁTICO .................................... 173 4.1 TREINAMENTO DO MODELO DE PREDIÇÃO .................................................................. 174 4.2 AVALIAÇÃO DO MODELO DE PREDIÇÃO ........................................................................ 176 4.3 AJUSTE DOS HIPERPARÂMETROS ....................................................................................... 179 RESUMO DO TÓPICO 2................................................................................................................... 182 AUTOATIVIDADE ............................................................................................................................ 183 TÓPICO 3 — INTRODUÇÃO À ANÁLISE DE SENTIMENTOS ............................................ 185 1 INTRODUÇÃO ................................................................................................................................ 185 2 ABRANGÊNCIA DA ANÁLISE DE SENTIMENTOS ............................................................. 185 3 EXEMPLOS DE APLICAÇÃO DE ANÁLISE DE SENTIMENTOS....................................... 188 3.1 ANÁLISE DE SENTIMENTOS NA AVALIAÇÃO DE PRODUTOS ................................... 188 3.2 ANÁLISE DE SENTIMENTOS APLICADA A FINANÇAS ................................................. 189 4 RECURSOS PARA SOLUÇÕES DE ANÁLISE DE SENTIMENTOS ................................... 190 4.1 ANÁLISE LÉXICA ...................................................................................................................... 192 RESUMO DO TÓPICO 3................................................................................................................... 197 AUTOATIVIDADE ............................................................................................................................ 198 TÓPICO 4 — ANÁLISE DE SENTIMENTOS – UTILIZANDO PYTHON PARA CONSTRUIR E TREINAR MODELOS DE MACHINE LEARNING ............. 201 1 INTRODUÇÃO ................................................................................................................................ 201 2 PROCESSOS DE IMPLEMENTAÇÃO DE ALGORITMOS DE ANÁLISE DE SENTIMENTOS .............................................................................................. 201 3 PROGRAMAÇÃO DE ALGORITMOS DE ANÁLISE DE SENTIMENTOS ...................... 204 4 ANÁLISE DOS RESULTADOS..................................................................................................... 210 RESUMO DO TÓPICO 4................................................................................................................... 216 AUTOATIVIDADE ............................................................................................................................ 217 REFERÊNCIAS .................................................................................................................................... 219 1 UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL OBJETIVOS DE APRENDIZAGEM A partir do estudo desta unidade, você deverá ser capaz de: • descrever o fluxo básico do processamento de linguagem natural (PLN); • reconhecer as áreas de conhecimento relacionadas ao PLN; • comparar o papel do PLN em diferentes problemas; • identificar as principais características que tornam o processamento de linguagem natural (PLN) adequado para resolver um problema; • listar os desafios a serem tratados pelas técnicas de PLN; • avaliar se o PLN é aplicado de forma adequada em problemas reais; • identificar métodos de processamento de linguagem natural; • descrever processos de pré-processamento de textos; • desenvolver soluções de processamento de linguagem natural empregando ferramentas; • definir o papel das expressões regulares como recurso para o processamento de linguagem natural (PLN); • reconhecer as diferentes funções disponíveis para utilizar expressões regulares; • programar algoritmos de PLN empregando expressões regulares. 2 Preparado para ampliar seus conhecimentos? Respire e vamos em frente! Procure um ambiente que facilite a concentração, assim absorverá melhor as informações. CHAMADA PLANO DE ESTUDOS Esta unidade está dividida em quatro tópicos. No decorrer da unidade, você encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado. TÓPICO 1 – INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL TÓPICO 2 – APLICAÇÕES E DESAFIOS DO PROCESSAMENTO DE LINGUAGEM NATURAL TÓPICO 3 – A BASE DO PROCESSAMENTO DE TEXTOS TÓPICO 4 – EXPRESSÕES REGULARES 3 TÓPICO 1 — UNIDADE 1 INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 1 INTRODUÇÃO Você já deve ter ouvido falar sobre o processamento de linguagem natural (PLN) ou, do inglês, natural language processing (NPL), por exemplo, pela própria vertente da ciência da computação, em alguma aplicação específica ou em outro contexto interdisciplinar. Aqui, o principal objetivo consiste em apresentar e contextualizar o PLN como uma subárea da ciência da computação, que também integra áreas como a inteligência artificial, o aprendizado de máquina (ou, como mais conhecido em inglês, machine learning) e a própria linguística, em que é responsável pelo estudo da interpretação e geração automática da linguagem natural. Assim, pretende-se que você consiga compreender, em um panorama geral, em que contexto está inserida a disciplina dentro da ciência da computação, além da vasta aplicabilidade de toda a metodologia envolvida. Neste tópico, você aprenderá como se dá o PLN, além de tornar-se capaz de reconhecer as principais áreas de conhecimento relacionadas a esse processamento. Ao final, conseguirá realizar comparações para a compreensão do papel do PLN para diferentes problemas práticos. 2 PROCESSAMENTO DE LINGUAGEM NATURAL Esse tipo de processamento segue um fluxo básico de análises e ações, conforme visto na Figura 1 (DALE, 2010). Assim, nesse momento você compreenderá inicialmente o que é a própria linguagem natural, analisando as ideias e a estrutura básica para a implementação, para, depois, entender cada uma das ações descritas no diagrama da Figura 1. Um texto ou o conjunto de textos, também denominado corpus ou corpora, corresponde à entrada do sistema de processamento de linguagem natural (PLN). Em seguida, tem-se o estágio de pré-processamento, que poderá envolver até mesmo análises do som e que consiste geralmente na segmentação de unidades lexicais e de sentenças, até que possam ser executadas cada uma das análises que trarão, ao final, o significado intencional, no qual ocorre o entendimento por parte da máquina. UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 4 FIGURA 1 – ESTÁGIOS BÁSICOS COMUNS DE ANÁLISE DENTRO DO PROCESSAMENTO DE LINGUAGEMNATURAL FONTE: Adaptada de Dale (2010) Antes de compreender as motivações por trás dessa vertente, que passou a se configurar inclusive como uma área interdisciplinar de pesquisa, você deverá entender, de antemão, o que é a linguagem natural humana. 2.1 LINGUAGEM NATURAL Linguagem natural (ou, simplesmente, língua natural ou idioma) compreende qualquer tipo de linguagem desenvolvida de forma natural pelo ser humano, e não premeditada, considerada o resultado da própria facilidade inata humana e basicamente subdivida entre língua falada e de sinais (MATTHEWS, 2003). Contudo, fazendo um breve histórico, sabe-se que não há dados certos quanto ao surgimento da linguagem nos seres humanos ou até mesmo em seus ancestrais, ainda que se estime, a partir de evidências recentes, que a linguagem natural tenha sido elaborada ou evoluído no continente africano, antes mesmo da movimentação dos humanos em todo o planeta, há cerca de 50 mil anos, tornando- se importante lembrar que há, essencialmente, linguagem natural na comunicação entre indivíduos, o que inclui até mesmo os povos ancestrais (WADE, 2003). TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 5 Já do ponto de vista do processamento natural, pode-se pensar sobre as relações entre a linguagem e o cérebro humano além do próprio funcionamento da linguagem. Embora reitere-se que sabe muito pouco acerca das relações exatas entre a linguagem, a maneira como a percebemos e o próprio cérebro humano, alguns pesquisadores atribuem um crescimento já constatado do cérebro humano, comparando-o a tempos anteriores, como o próprio surgimento da linguagem (LORITZ, 2002). Com relação às características envolvidas na linguagem natural, como a própria fala, entende-se que esse processo se dá pela proferição de unidades, denominadas palavras ou, em menores escalas, letras, vogais e consoantes, embora essa divisão possa se tornar desafiadora em diversos contextos (LADEFOGED; MADDIESON, 1996). Além disso, como é esperado, a fala reflete diretamente na linguagem falada e entende-se também, por consequência, que a linguagem falada variará no tempo e no espaço e que informações relevantes sobre essa característica advém de estudos da forma como as línguas faladas mudam, além do fato de que, independentemente da velocidade de fala de um idioma, a transmissão de informação é estimada em uma velocidade de 39 bits por segundo (MATACIC, 2019). Ainda no contexto do funcionamento da linguagem natural, pode-se destacar as linguagens de sinais, outra de suas variedades, com complexidades também relacionadas às estruturas gramaticais, além da própria capacidade de expressão atrelada, caso em que está diretamente associada à comunicação (SACKS, 2009). Todavia, conforme o contexto já apresentado e o seu próprio contato com uma linguagem, seja um idioma do país de origem com o qual você se comunica, seja uma língua de sinais, há o estabelecimento de uma série de regras para a construção tanto da própria forma escrita quanto da falada, aspectos que serão explorados a seguir para que você entenda como isso se dá de forma básica e geral, além de certos exemplos e aplicações específicas. Ademais, você verá as principais motivações envolvidas no PLN, para compreender o surgimento desta vertente interdisciplinar. 2.2 MOTIVAÇÕES O estudo do PLN poderá avaliar, por exemplo, problemas relacionados à geração e à compreensão automática de línguas naturais humanas, o que mostra a infinidade de sua aplicabilidade, visto as próprias premissas de estabelecimento de linguagem natural: a comunicação falada e de sinais. Além disso, um dos principais desafios, de fato, consiste na compreensão da linguagem natural, relacionada ao “fazer com que o computador compreenda”, tornando-o capaz de extrair “sentido” da linguagem natural humana e, também, à geração de linguagem natural, outra ação dentro do PLN. UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 6 Um dos principais objetivos a destacar no PLN é simplesmente fazer com que os computadores executem tarefas úteis que envolverão a própria linguagem humana, como a habilitação da comunicação entre o humano e a máquina, atuação na melhoria da comunicação entre os próprios humanos ou até mesmo na execução de processos úteis que se utilizem de textos ou falas (JURAFSKY; MARTIN, 2008). Assim, compreendendo as principais razões para o desenvolvimento do PLN, você deverá agora entender o histórico no qual este ocorreu, analisando toda a linha cronológica com os principais fatos e pesquisadores envolvidos. 2.3 HISTÓRICO DO PROCESSAMENTO DE LINGUAGEM NATURAL Sem dúvidas, o primeiro marco a ser citado para o PLN se deu em 1950, pelo matemático, cientista da computação e pesquisador Alan Turing, quando da publicação na ocasião do trabalho Computing machinery and intelligence (tradu- zido para o Brasil como “Computadores e Inteligência”), pioneiro não somente no ramo de inteligência artificial, mas também em toda a ciência da computação, tornando-se o responsável especialmente pela resposta da questão: “as máquinas podem pensar?”. Além disso, com esse trabalho Turing formulou o que hoje se conhece como teste de Turing, basicamente uma maneira de avaliar a capacidade de uma máquina em exibir um comportamento considerado inteligente, pela se- melhança com o comportamento humano, essencialmente. Ademais, a proposta é converter a pergunta apresentada em outra menos ambígua: “Há como imaginar um computador digital que faria bem ‘o jogo da imitação’?”. O trabalho de Alan Turing pode ser visto em Parsing the Turing Test (TURING, 2009). Ainda, é possível visualizar várias outras informações sobre esse importante pesquisador da área em buscas simples na internet, contextualizando com o cenário atual dentro da inteligência artificial, machine learning e o próprio PLN. INTERESSA NTE TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 7 Sequencialmente a Turing, em 1954, destacou-se a experiência de Georgetown (HUTCHINS, 2004), na qual se fez a tradução automática de mais de 60 frases em russo para o inglês, fato que marcou tanto o PLN quanto a própria ciência da computação. Por sua vez, surgiram na prática sistemas estatísticos de tradução no final da década de 1980, que contradiziam a expectativa de que em até 5 anos a tradução automática estivesse resolvida, além do fato de que experimentos e pesquisas anteriores ao surgimento desses sistemas tinham se desenvolvido em meio a um cenário desmotivador, pelos resultados insuficientes inesperados e pela redução de investimentos. Adicionalmente, na década de 1960, é possível citar sistemas bem-sucedidos de PLN denominados SHRDLU, programas desenvolvidos para a interação humana com termos em inglês, com base no arranjo das teclas de letras em uma máquina Linotype (ETAOIN SHRDLU), organizados em ordem decrescente de frequência de uso na língua inglesa (WINOGRAD, 1972). Esse sistema trabalhava com os denominados mundos dos blocos, um dos mais famosos domínios da inteligência artificial, em linguagem com vocabulário restrito e com a simulação ELIZA (WEIZENBAUM, 1966), o primeiro software para simulação de diálogos, empregando pouca informação sobre o pensamento e/ ou a emoção humana para a criação do diálogo, também tido como um tipo de chatterbot (em português, “programas que simulam humanos na conversação interpessoal”). Já por volta dos anos 1970 e 1980, diversos programadores iniciaram a escrita do que se chamou “ontologias conceituais”, responsáveis pela estruturação das informações do mundo real em dados que eram compreensíveis para o computador, cujos alguns exemplos de resultados são organizados em ordem crescenteno tempo: MARGIE (RIESBECK et al., 1975), TaleSpin (MEEHAN, 1976), QUALM (LEHNERT, 1977), SAM (CULLINGFORD, 1978), PAM (SCHANK; WILENSKY, 1978), Politics (CARBONELL, 1979) e Plot Units (LEHNERT, 1981). Basicamente, uma ontologia, com relação à própria ciência da computação, refere-se a um conjunto de especificações formais e explícitas de uma conceitualização, que, no PLN, pode ser observada em exemplos específicos, como a facilitação da tradução de textos médicos, quando se baseia em textos especializados e até mesmo dicionários médicos. IMPORTANT E Ademais, no período é possível citar diversos chatterbots, como o PARRY, de 1971 (COLBY; WEBER; HILF, 1971), o Racter (CHAMBERLAIN, 1984) e o Jabberwacky, criado pelo programador britânico Rollo Carpenter, com os primeiros resultados datados por volta de 1981. UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 8 Para mais detalhes sobre o chatterbot Jabberwacky existe um site oficial, com histórico e demais informações. Acesse, no link: https://qrgo.page.link/weFCV. DICAS Até meados da década de 1980 a maior parte dos algoritmos era realizada com base em conjuntos de regras manuscritas, contudo, ao final da década, houve o que foi considerada a revolução no processamento de linguagem natural, sobretudo pela introdução de algoritmos de aprendizagem automática (a aprendizagem de máquina, ou, como mais conhecida, machine learning), o que foi possível pelo aumento constante da capacidade dos computadores, dentro da expectativa da lei de Moore, e, também, por modificações específicas dentro da linguística. Além disso, processos como a marcação de partes da fala (conhecida como part-of-speech tagging) introduziram na época o uso de modelos ocultos de Markov, voltando a construção dos algoritmos ao uso de modelos estatísticos, que utilizam, por exemplo, pesos diferenciados aos componentes de dados de entrada, nos quais se enquadram os modelos de linguagem de cachê, muito usados em sistemas destinados ao reconhecimento de fala. Do ponto de vista dos próprios modelos e algoritmos, observa-se que boa parte das implementações de tarefas dentro do PLN envolvia o processo de codificação direta de muitos conjuntos de regras. Analisando ainda de maneira geral, entende-se que boa parte dos resultados vistos até os dias atuais no campo do PLN está relacionada à tradução automática, como os trabalhos desenvolvidos pela International Business Machines Corporation (IBM) e os sistemas com modelos estatísticos aplicados ao Parlamento do Canadá e da União Europeia. Em contrapartida, atualmente observa-se que os algoritmos mais modernos se baseiam em processos de aprendizagem mecânica, principalmente na aprendizagem de máquinas estatísticas dentro da própria aprendizagem automática, sobretudo em algoritmos de árvores de decisão (HUTCHINS, 2005). Nos últimos cinco anos, estima-se ainda uma nova tendência no processamento, em razão do destaque do desenvolvimento de algoritmos de aprendizagem profunda (mais conhecidos como deep learning). TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 9 Caso o leitor deseje saber mais detalhes sobre os modelos mencionados, desenvolvidos pela IBM, pode obter mais informações sobre o Projeto Candide, um de seus pioneiros, em Berger et al. (1994). IMPORTANT E Assim, analisando o contexto histórico atual, com o cenário de inserção tecnológica estabelecido principalmente com o uso cada vez mais frequente de computadores e o surgimento do smartphone, o PLN assume um papel cada vez mais protagonista, em virtude, de maneira geral, do grande fluxo de dados. Além disso, prevê-se e sabe-se que a quantidade de informações disponíveis no meio digital tende ainda a se manter em crescimento exponencial, o que traz à tona a necessidade do PLN para facilitar, por exemplo, a própria absorção de informações digitais pelo ser humano. Para compreender melhor alguns exemplos de aplicações do PLN, considere o exemplo a seguir. EXEMPLIFICANDO Considere o contexto estabelecido pela rotina apresentado a seguir: Assim, às 6h da manhã, o relógio desperta para a pessoa ir trabalhar; a esse ponto do dia, um sensor na cama detecta ativando a cafeteira e ligando o chuveiro. Em seguida, enquanto toma seu café, essa pessoa pergunta para o próprio smartphone qual será a previsão do tempo para o dia de hoje e solicita a ele um resumo das principais notícias até o horário. Depois, já ao sair de casa, também com o auxílio do smartphone essa pessoa acessa um mapa, ligando o GPS (do inglês, global positioning system ou “satélite de posicionamento global”) que a guiará; ao chegar ao trabalho, precisa fazer uma busca no Google; depois, tem em suas mãos um documento escaneado por alguém; e, durante sua pausa, ao marcar uma consulta médica, uma atendente automática o guiará por meio de opções até a marcação. No final do dia, ao chegar em casa, essa pessoa nota que recebeu uma multa em seu nome, pois um radar detectou que ela avançou o sinal vermelho há 2 meses. Durante seu descanso, acessa o YouTube, porém o vídeo que ela quer ver está inaudível, levando-a a ligar a ferramenta de legenda automática para ajudá-la a entender. Dessa forma, note que essa rotina descrita poderá ser a de boa parte das pessoas nos dias de hoje, com diversas ações e tarefas que contam com o uso da tecnologia. Entretanto, é necessário entender nesse ponto: o que grande parte dos acontecimentos descritos tem em comum? A resposta é simples: todos utilizam técnicas de PLN, seja em ações para auxiliar o usuário, seja na comunicação entre diferentes tecnologias. IMPORTANT E UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 10 FIGURA 2 – LINHA CRONOLÓGICA DO PROCESSAMENTO DE LINGUAGEM NATURAL FONTE: Os autores A seguir, você verá uma introdução ao PLN e suas principais ações relacionadas com o fluxo básico de ideias de um algoritmo. 2.4 INFORMAÇÕES GERAIS SOBRE O PROCESSAMENTO DE LINGUAGEM NATURAL A partir de agora, você observará a ideia básica por trás do processamento de linguagem natural, a fim de compreender também as principais ações proporcionadas com algoritmos da área. Assim, do ponto de vista da própria linguagem, como já foi possível compreender, a linguagem natural é a principal e mais comum ferramenta de comunicação da relação humana. E o computador também dispõe de mecanismos análogos de comunicação, representados pelas linguagens formais para o processamento das informações, como Java, Python etc. Entretanto, na linguagem natural, tanto na forma escrita quanto na falada, há uma infinidade de regras complexas e que resultam em diversos casos de ambiguidade, sobretudo quando consideramos os diversos idiomas existentes. Assim, em geral, um dos principais desafios no PLN consiste no desenvolvimento de sistemas capazes de Logo, como já esperado, hoje o PLN está presente em diversas situações cotidianas, por exemplo nas duas das principais redes sociais em todo o mundo: o Instagram e o Facebook. Dessa forma, por meio de técnicas de aprendizado de máquina, existem algoritmos nessas redes para encontrar padrões em grandes conjuntos de dados, por exemplo, capazes de reconhecer a linguagem natural para a análise de sentimentos, em que esses algoritmos poderão procurar por padrões em postagens, até mesmo para compreender como os indivíduos se sentem em relação a empresas e/ou a determinados produtos em específico. A Figura 2 resume a linha cronológica do PLN com alguns dos fatos, sistemas e algoritmos mais marcantes vistos neste tópico. TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 11 entender a linguagem natural dentro de todos os parâmetros comuns envolvidos na construção da linguagem formal como conhecida, independentemente do idiomae de acordo com as especificidades de cada idioma e das aplicações, além de outros desafios e mais detalhes mencionados adiante. Para entender o fluxo básico do PLN, considere os dois grandes exemplos apresentados a seguir: o agente de conversação (sistema de diálogo) e a máquina de tradução. O primeiro é um exemplo de tarefa bastante útil e de grande aplicabilidade dentro do PLN: um dos mais conhecidos e citados de agente de conversação é o próprio computador HAL 9000, do filme 2001: uma odisseia no espaço. Na ocasião, demonstrou-se que o HAL é um agente artificial capaz de realizar comportamentos linguísticos avançados, como falar e entender o inglês e, conforme demonstrado no enredo do próprio filme, até mesmo realizar a leitura de lábios em certos momentos. Além disso, um agente de conversação moderno incluirá um sistema que proporcionará o reconhecimento automático da fala e a compreensão da linguagem, que será, em termos resumidos, o estágio de entrada da linguagem e a saída desta, em que parte do sistema ou um sistema adicional é responsável pelo diálogo, pelo planejamento da resposta e pela síntese de fala. Continuando, outra tarefa útil que se relaciona diretamente ao idioma refere-se à tradução automática, proporcionada pela introdução de algoritmos e ferramentas matemáticas, que, por sua vez, está ainda distante de soluções definitivas pelas dificuldades já mencionadas, como a complexidade do estabelecimento da linguagem natural, que se dá por meio de regras e mecanismos específicos e que podem provocar ambiguidades (JURAFSKY; MARTIN, 2008). No Quadro 1, tem-se uma visão geral do PLN, com os principais objetivos, conhecimentos necessários sobre artes e humanidades e ciência e engenharia. QUADRO 1 – HABILIDADES E CONHECIMENTOS ENVOLVIDOS NO PROCESSAMENTO DE LINGUAGEM NATURAL FONTE: Adaptado de Bird, Klein e Loper (2009) UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 12 3 ATUAÇÃO DO PROCESSAMENTO DE LINGUAGEM NATURAL QUANTO ÀS ÁREAS DO CONHECIMENTO LINGUÍSTICO E EXEMPLOS PRÁTICOS O conhecimento linguístico principal para o uso do PLN nas mais diversas aplicações modernas e clássicas envolverá em grande parte dos casos, com exceção de aplicações específicas e restritas usos determinados, as competências linguísticas (JURAFSKY; MARTIN, 2008) listadas a seguir. • Fonética e fonologia: o conhecimento relacionado ao som da linguagem. • Morfologia: tratará sobre os componentes significativos das palavras. • Sintaxe: retrata a relação estrutural existente entre palavras. • Semântica: conhecimento dos significados por parte da máquina. • Pragmática: retrata a relação entre o significado e as intenções e os objetivos do locutor. • Discurso: responsável pelo conhecimento das unidades maiores da linguística. Essas competências e seu respectivo tratamento serão vistos de modo geral, dentro de suas funções e exemplos no PLN, com a introdução das tarefas executadas nesse processamento. 3.1 PRINCIPAIS TAREFAS NO PROCESSAMENTO DE LINGUAGEM NATURAL E EXEMPLOS PRÁTICOS Algumas das principais tarefas a realizar dentro do PLN poderão estar ligadas diretamente à sintática, como a segmentação, o part of speech tagging e a análise de dependência. Na segmentação, tem-se a divisão de um texto em frases ou em palavras, por exemplo, ou mesmo a divisão de palavras que formam esse texto nos denominados morfemas, unidades significativas dentro da palavra. No part-of-speech tagging (“marcação de partes da fala”, há uma análise baseada no “rótulo” de cada palavra dentro de uma frase dada. Para entendê-lo, considere a frase: “Eu me interesso por inteligência artificial” – “eu” é o sujeito, por exemplo, e nesses rótulos apresenta-se a função sintática de cada palavra. Por último, existe a análise de dependência, que pode ser feita por meio da construção de uma árvore de dependência como uma estratégia para compreensão da relação entre as partes da frase. Assim, é possível notar que, de maneira geral, o que distinguirá sistemas cujas aplicações se destinam ao PLN dos demais sistemas de processamento será o próprio uso do conhecimento da linguagem, em níveis mais complexos ou não conforme a aplicação em si. A seguir, você verá as principais áreas nas quais o PLN atua, envolvendo os conhecimentos linguísticos. TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 13 EXEMPLO Considere a seguinte frase: As eleições dos EUA resultaram na vitória do candidato A. Realizando a segmentação por palavras, deverão ser retornadas as seguintes divisões: As; eleições; dos; EUA; resultaram; na; vitória; do; candidato; A Assim, o computador deverá conseguir não somente compreender que os espaços em branco significam, nesse caso, o começo e o fim das palavras, mas também entender corretamente que EUA também devem ser considerados um elemento único. UNI Outra questão bastante relevante com relação à segmentação e que deve ser considerada reside no fato de que essa tarefa não é algo tão trivial, especial- mente quando consideramos a multiplicidade de idiomas existentes e suas estru- turas diversas. Assim, considerando como exemplo a língua inglesa, pode-se no- tar que as palavras nela são separadas por espaços em branco, o que compreende um padrão para muitas outras línguas, como o português, embora haja exceções a essa regra (ex.: o chinês). Agora tenha em conta o próximo caso, em que se utiliza a análise de sentimento, tomando como exemplo o Twitter para estudar o cenário estabelecido na Eleição Geral de 2015 no Reino Unido. Assim, considerando a frase exemplificada, o verbo poderá ter outras partes relacionadas a ele, como um objeto ou até mesmo um pronome. Uma das principais aplicações da análise de dependência dentro do PLN consiste na análise de sentimento, que, considerando novamente a dependência entre os itens da frase, poderá revelar à máquina, por exemplo, se determinada pessoa se interessa por inteligência artificial. No exemplo a seguir, você verá a execução da segmentação de palavras, para entender essa ação no contexto do PLN. UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 14 Contudo, embora a análise de sentimentos configure-se como uma ferramenta para geração de diversos resultados e grande aplicabilidade, deve-se tomar alguns cuidados, sobretudo do ponto de vista do uso de dados disponibilizados pela própria internet. Assim, entende-se que, ao mesmo tempo que há uma vasta quantidade de informações disponíveis, existe uma quantidade expressiva nesse montante que poderá ser irrelevante ao contexto de análise. Ainda, as fontes e os formatos dos dados são diversos, em muitos casos não há uma estrutura coesa dos dados, além do fato de que, especialmente no caso de dados digitais, o uso de informalidades na fala e na escrita é expressivamente mais comum, o que também pode dificultar as análises. Também é preciso considerar a possibilidade de manipulação dos dados, a existência de boatos e a variável temporal, pois em diversas análises e para vários tipos de dados o tempo poderá atuar diretamente na usabilidade das informações fornecidas pelos dados. Com relação à semântica, é possível citar a tradução automática, o named entity recognition (NER), determinadas representações semânticas, a análise de tópicos e a própria análise de sentimento. A tradução automática, já introduzida, é, sem dúvidas, uma das principais funcionalidades dentro do PLN. Já o NER, o reconhecimento de entidades nomeadas, proporciona a distinção em textos ou frases do que é, dentro dessas estruturas, uma pessoa, um lugar ou mesmo uma data, a partir do emprego apenas das estruturas sintáticas e semânticas, sem o auxílio externo de outros bancos de dados. Na representação semântica, analisa- se como é possível representar uma palavraou uma frase semanticamente, para extrair relações para comparação, analisando palavras plurais, sinônimos, em contextos similares etc. Por análise de tópicos, entende-se a capacidade de extração de características gerais de textos, como os assuntos tratados, as similaridades semânticas entre diferentes documentos etc. Já a análise de sentimento, conforme mencionado, poderá revelar posicionamentos positivos e negativos, mas também ser utilizada em aplicações diversas do PLN, executada do ponto de vista semântico. Adicionalmente à competência da semântica, é necessário definir a tarefa de análise semântica, que, conforme Goddard e Schalley (2010), tem como objetivo final, tanto para pessoas quanto para sistemas de PLN, entender o enunciado: não apenas EXEMPLO Considere o seguinte exemplo de aplicação do PLN, destinado às análises sobre a Eleição Geral de 2015 no Reino Unido (BURNAP et al., 2015): pela análise dos 140 caracteres de cada mensagem elaborada no ambiente do Twitter, os denominados tweets, obtiveram-se diversos resultados a analisar e que forneceram previsões concretas sobre a mudança de compartilhamento de voto em 2015 a partir de 2010, com base na própria rede social e em vitórias projetadas. UNI TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 15 FIGURA 3 – SISTEMA DE DIÁLOGO POR FALA: DIVISÃO POR NÍVEIS DE PROCESSAMENTO FONTE: Adaptada de Bird, Klein e Loper (2009) Note que o sistema de diálogo por fala é bastante completo do ponto de vista do PLN, com boa parte dos elementos linguísticos e complexidades vistos até agora. Assim, para compreender como de fato esse sistema funciona, considere o exemplo a seguir. EXEMPLO Suponha que você resolva perguntar a um sistema de diálogo como o Google Assistent se você deve levar um guarda-chuva com você amanhã, quando sair de casa. Em um primeiro momento, esse áudio será gravado e se fará a análise da fala, quebrando o áudio em palavras e frases, traduzindo-a em forma de texto e realizando uma análise morfológica, sintática e léxica, transformando o que foi falado de fato em palavras isoladas. Na etapa de análise sintática (mais conhecida do inglês parsing), entende-se quais os elementos são verbos, sujeitos etc., e, assim, se realiza a análise semântica, para entender de fato o que o interlocutor disse. No processamento semântico, tem-se o “raciocínio” do diálogo, caso em que o Google, por exemplo, analisará pela localização via GPS a previsão do tempo no local para fornecer a resposta correta; então, no processamento de raciocínio, tem-se a mudança de sentido do fluxo de execuções, para que o assistente consiga responder corretamente ao indivíduo. UNI ler o que está escrito, mas também compreender a declaração. Além disso, do ponto de vista pragmático, há aplicações como extração de informação, criação automática de resumos, data mining, tradução automática, tratamento de parâmetros de pesquisa de usuários, sistemas de representação do conhecimento etc. Por último, há ainda tarefas diretamente relacionadas ao discurso e à fala, como a sumarização automática, em que são utilizados algoritmos capazes de coletar todas as informações de um livro e fornecer resumos, e o próprio diálogo, cujos principais exemplos são os chatterbots, importantes algoritmos que proporcionam o diálogo direto entre a máquina e o indivíduo, além de assistentes dentro de sistemas, como o Google Assistent, a Siri etc. Nesses exemplos, destaca- se a capacidade de “pensar” adquirida. Na Figura 3, é observada a divisão por níveis de um sistema dessa natureza, de diálogo por fala. UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 16 3.1.1 Ambiguidade no processamento de linguagem natural A ambiguidade pode representar um desafio persistente dentro do PLN como um todo, como você verá a seguir. Assim, Jurafsky e Martin (2008) destacaram que a ambiguidade envolve todas as complexidades e análises linguísticas vistas anteriormente, pois a maioria das tarefas ao longo do processamento não só da fala, mas também da linguagem pode ser vista como uma ambiguidade resolutiva, em uma ambiguidade a cada um desses níveis. Diz-se, então, que uma entrada é ambígua para o PLN se várias estruturas linguísticas alternativas ambíguas puderem ser construídas para esta, como no exemplo a seguir. Além disso, o processo de conversão da linguagem natural em uma representação útil ao computador, por meio de ferramentas da linguística, é considerado comumente o primeiro componente geral do PLN: o NLU (do inglês, natural language understanding, ou “entendimento da linguagem natural”). Para tal finalidade, é possível citar, por exemplo, a análise de sentimentos, a análise de palavras-chave dentro de um texto etc. O segundo componente visto dentro da PLN, por sua vez, compreende o processo de geração da linguagem natural, a partir da saída de uma máquina, abreviado como NLG (do inglês, natural language generation, ou “geração de linguagem natural”). Nesse caso, ainda é possível citar assistentes virtuais e até mesmo o processo de geração de legendas a partir de um vídeo. A seguir, tem-se uma introdução aos principais desafios, que também está diretamente relacionado à linguística: a ambiguidade. Durante a “montagem” da resposta, são levados em consideração processos similares, para a correta formulação da resposta e análise morfológica da resposta a caminho para que sejam estabelecidos, primeiro, os morfemas e, por último, a estrutura da própria palavra. TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 17 4 ATUAÇÃO DO PROCESSAMENTO DE LINGUAGEM NATURAL QUANTO ÀS ÁREAS DO CONHECIMENTO LINGUÍSTICO E EXEMPLOS PRÁTICOS A partir de agora, serão enfatizadas as aplicações e resoluções de problemas a partir de técnicas do PLN, que envolvem diversas áreas e disciplinas. Iniciando pela própria linguística, em problemas destinados à melhoria de comunicação a partir da realização de tradução há diversos exemplos, inclusive disponibilizados gratuitamente, como a transcrição de fala, em que o locutor fala e o computador é responsável pela transcrição da fala, ou o contrário. O próprio tradutor do Google é um exemplo desse tipo de aplicação, em que se pode citar a seguinte situação de transcrição de fala a partir do PLN: o ato de digitar uma palavra, selecionar o idioma para aprender a pronúncia é um recurso bastante utilizado para ouvi-la a partir da resposta do tradutor. Ainda sobre tradutores, tem-se o neural machine translation (NMT), a máquina de tradução automática também fornecida pelo Google, que se configura como uma modificação que promoveu diversos ganhos à tradução obtida ao final, já que a tradução nessas ferramentas era feita, no início, frase a frase, e hoje o é a partir de implementações A ambiguidade poderá ocorrer também em outras formas, dependendo da construção do texto e das frases, o que gera, basicamente, incoerências no PLN. Para que isso se torne ainda mais claro, basta você pensar o seguinte: o seu entendimento sobre a frase do exemplo foi dificultado? A instrução estava completamente clara? O que se deve analisar é que, similarmente ao tratamento de ambiguidades na comunicação humana, dentro das construções da linguagem natural, o computador estará ainda mais propenso a erros. A seguir, você entenderá de maneira mais direta a atuação de algoritmos e sistemas de PLN em diferentes problemas e aplicações, evidenciando, sobretudo, a interdisciplinaridade do uso das técnicas. EXEMPLO Considere a seguinte frase: Andréia pediu a Fabiano que pegasse sua mochila na sala. Note que, para essa simples frase, existem ainda outras formas de construir uma estrutura diferente, mas que produz o mesmo significado, pois, afinal, a mochila de quem deveria ser pegada? UNI UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 18 No ramo das linguagens de programação,existem vários exemplos de sistemas de perguntas e respostas, capazes de fornecer auxílio e exemplos práticos, a fim de sanar dúvidas sobre o tema de forma on-line. Um deles é o Stack Over Flow, um site de perguntas e respostas destinado a programadores, curiosos e entusiastas da área, que exige apenas a inscrição do usuário para que possa usufruir dos serviços. Além disso, no sistema qualquer um desses usuários pode realizar as perguntas e qualquer outro respondê-las, além do fato de as melhores respostas receberem votações positivas até atingirem a classificação de 1° lugar. FONTE: <https://qrgo.page.link/2SeFt>. Acesso em: 27 jul. 2021. IMPORTANT E Os sistemas de perguntas e respostas funcionam na prática da seguinte maneira: um robô é treinado para aprender as respostas, para que estar apto a responder às perguntas de um aluno ou outro participante de um fórum sem auxílio humano. Contudo, destaca-se outro problema, que pode ser auxiliado por técnicas e programas do PLN, relacionado à absorção de um grande volume de conteúdos e informações: a sumarização de textos. Um exemplo prático de algoritmos que usam essa tarefa pode ser visto em Cabral (2015), em que se propõe uma plataforma destinada à tarefa. O Image Captioning, a tarefa de ter uma imagem dada e descrevê-la, é proporcionado pelas técnicas do PLN e constitui-se em uma aplicação também bastante multidisciplinar, funcionando basicamente da seguinte forma: suponha que há uma fotografia de uma flor em um jardim. Para a tarefa de reconhecimento, o computador deverá ser capaz de armazenar todas as dependências e elementos, com técnicas de redes neurais e em vídeo. Um exemplo prático dessa tarefa para imagens é apresentado a seguir. de técnicas de deep learning. Assim, atualmente o uso desse tipo de técnica permite a memorização das palavras, impactando diretamente no sentido final do texto ou no conjunto de textos traduzidos, melhorando o sentido final construído. Os chatbots configuram-se também como grandes exemplos do uso atual do PLN, como alguns dos principais e mais usados sistemas de diálogo. Há, ainda, sistemas de perguntas de respostas, criados a partir do uso do PLN, em que geralmente o usuário passa por um sistema de PLN que, então, será capaz de fornecer as respostas necessárias. Além disso, uma das principais possibilidades de aplicação desse tipo de sistema é sua inserção em fóruns e até mesmo em plataformas destinadas ao ensino a distância, possibilitando aos alunos respostas sobre dúvidas de determinados conteúdos. TÓPICO 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 19 EXEMPLO O reconhecimento de imagem pode ser utilizado em aplicações visando à resolução e ao atendimento de diversos problemas. Assim, neste exemplo você verá um trabalho realizado para auxiliar na monitoração de alagamentos. Em um dos trabalhos do pesquisador Roger Wang, um especialista na aplicação de dados na investigação de problemas ambientais, da Universidade de Dundee, na Escócia, foram usadas duas técnicas dentro da inteligência artificial – o processamento de linguagem natural e a visão computacional – para monitorar a ocorrência de alagamentos, utilizando como dados os tweets no Twitter e recursos gráficos como fotos disponibilizadas no MyCoast (um aplicativo criado para supervisionar o litoral norte-americano com imagens fornecidas pelos usuários). UNI A própria análise de sentimentos, vista ao longo deste livro, representa uma das principais aplicações do PLN, especialmente quando se observa a apli- cabilidade e a tendência atual do uso desse tipo de análise no universo crescente do uso de redes sociais e de grandes volumes de dados digitais diversos. Além dos exemplos destacados, sabe-se que grande parte do próprio funcionamento das redes sociais se dá pela análise de sentimentos, com uma tendência cada vez maior de uso em estratégias comerciais. Existem trabalhos diretamente relacionados às redes sociais e ao uso do PLN, capazes de fornecer informações interessantes para diversas áreas. Nesse sentido, sugerimos o livro Análise de redes sociais: uma visão computacional, de Gabardo (2015). DICAS Por último, as pesquisas mais recentes indicam ao estado da arte do PLN que o uso de técnicas como a aprendizagem profunda (deep learning) aponta um novo horizonte de possibilidades, tanto no PLN quanto na própria resolução de problemas ainda em aberto, referentes à inteligência artificial, mas com interface para áreas multidisciplinares. 20 Neste tópico, você aprendeu que: • O processamento de linguagem natural é uma subárea da ciência da computa- ção, que também integra áreas como a inteligência artificial, o aprendizado de máquina (ou, como mais conhecido em inglês, machine learning) e a própria linguística. • Linguagem natural (ou, simplesmente, língua natural ou idioma) compreende qualquer tipo de linguagem desenvolvida de forma natural pelo ser humano, e não premeditada, considerada o resultado da própria facilidade inata humana e basicamente subdivida entre língua falada e de sinais. • O primeiro marco a ser citado para o processamento de linguagem natural se deu em 1950, pelo matemático, cientista da computação e pesquisador Alan Turing, quando da publicação na ocasião do trabalho Computing machinery and intelligence. • O conhecimento linguístico principal para o uso do PLN nas mais diversas aplicações modernas e clássicas envolverá em grande parte dos casos, com exceção de aplicações específicas e restritas a usos determinados, as competências linguísticas. • A análise de sentimentos configura-se como uma ferramenta para geração de diversos resultados e grande aplicabilidade, deve-se tomar alguns cuidados, sobretudo do ponto de vista do uso de dados disponibilizados pela própria internet. • Em relação à semântica, é possível citar a tradução automática, o named entity recognition (NER), determinadas representações semânticas, a análise de tópicos e a própria análise de sentimento. • Os sistemas de perguntas e respostas funcionam na prática da seguinte maneira: um robô é treinado para aprender as respostas, para que estar apto a responder às perguntas de um aluno ou outro participante de um fórum sem auxílio humano. • Os chatbots configuram-se também como grandes exemplos do uso atual do PLN, como alguns dos principais e mais usados sistemas de diálogo. Há, ainda, sistemas de perguntas de respostas, criados a partir do uso do PLN, em que geralmente o usuário passa por um sistema de PLN que, então, será capaz de fornecer as respostas necessárias. RESUMO DO TÓPICO 1 21 • O Image Captioning, a tarefa de ter uma imagem dada e descrevê-la, é proporcionado pelas técnicas do PLN e constitui-se em uma aplicação também bastante multidisciplinar, funcionando basicamente da seguinte forma: suponha que há uma fotografia de uma flor em um jardim. • As pesquisas mais recentes indicam ao estado da arte do PLN que o uso de técnicas como a aprendizagem profunda (deep learning) aponta um novo horizonte de possibilidades, tanto no PLN quanto na própria resolução de problemas ainda em aberto, referentes à inteligência artificial, mas com interface para áreas multidisciplinares. 22 1 O processamento de linguagem natural (PLN) depende diretamente do conhecimento acerca da própria linguagem e, assim, diversas definições da linguística são necessárias. Sobre a linguagem natural humana, assinale a alternativa CORRETA: a) ( ) Divide-se especialmente nas línguas faladas e de sinais, existindo complexidades comuns e regras específicas para cada tipo. b) ( ) Seu surgimento, embora não pareça, é datado relativamente recente, visto que existe um consenso de que a comunicação surgiu a partir do surgimento da estrutura urbana. c) ( ) O computador que realizará o processamento delinguagem natural deve ser capaz de reconhecer com precisão as regras linguísticas e, dados os avanços tecnológicos atuais, as falhas devido a ambiguidades na linguagem natural são pouco frequentes. d) ( ) As aplicações do processamento de linguagem natural realizadas efetivamente até o momento se restringem, na maioria dos casos, à tradução de idiomas. 2 Um dos principais marcos da história do processamento de linguagem natural é o Teste de Turing, que surgiu com a publicação de Alan Turing, em 1950, acerca da relação entre o comportamento humano e o das máquinas. Sobre a linha do tempo do processamento de linguagem natural, assinale a alternativa CORRETA: a) ( ) O SHRDLU foi desenvolvido na década de 1970, para a interação humana com termos em francês, baseado no primeiro software de simulação de diálogos, o ELIZA. b) ( ) A experiência de Georgetown consistiu em realizar um dos primeiros grandes experimentos de tradução, do russo para o inglês, sobre a temática de química orgânica. c) ( ) Os chatterbots surgiram na década de 1950, como os primeiros programas que simulavam humanos na conversação. d) ( ) Um exemplo de ontologia conceitual na década de 1960, que realizava o entendimento de informações reais para o computador, é o Margie. 3 A teoria linguística é extremamente necessária à construção de técnicas e ao desenvolvimento de algoritmos para a execução de tarefas dentro do processamento de linguagem natural. Com base nos níveis de processamento e da relação em um sistema de diálogo, assinale a alternativa CORRETA: AUTOATIVIDADE 23 a) ( ) Um sistema de diálogo de fala é uma das formas mais simples do processamento de linguagem natural, do ponto de vista de estruturas linguísticas e etapas do processamento. b) ( ) Durante o nível de processamento de raciocínio, o computador ou outra máquina que realiza o processamento deverá ser capaz de responder a um questionário, que o guiará na condução da resposta para a construção do diálogo. c) ( ) A análise sintática, no processamento da fala no sistema de diálogo, é realizada para a extração dos significados das palavras. d) ( ) Em um sistema de diálogo por fala existe a etapa de análises morfológicas, em que são avaliadas a Léxica, a realização morfológica e demais regras. 4 Existem sistemas que envolverão o uso de vídeos e imagens no processamento de linguagem natural, possibilitando aplicações e resoluções de problemas das mais diversas áreas. Assim, com base em sua experiência acerca desse tipo de sistema, pensando num exemplo correto de aplicação prática da análise de vídeo para processamento de linguagem natural, assinale a alternativa CORRETA: a) ( ) Ferramentas de edição de vídeo, baseadas em informações automáticas de correção. b) ( ) Monitoramento de alagamentos por meio de informações via GPS e imagens. c) ( ) Ferramentas que proporcionam legendas de vídeo, disponíveis em várias plataformas gratuitas. d) ( ) Chatterbots, como o Google Assistent. 24 25 TÓPICO 2 — UNIDADE 1 APLICAÇÕES E DESAFIOS DO PROCESSAMENTO DE LINGUAGEM NATURAL 1 INTRODUÇÃO Cohen e Denner-Fishman (2014) afirmam que o processamento de lingua- gem natural (PLN) representa a habilidade da máquina para processar o que foi dito, estruturar a informação recebida, determinar a resposta necessária e respon- der de modo que o ser humano consiga entender, ou seja, são várias aplicações do PLN com o objetivo de melhorar a vida do ser humano de maneira geral. A área de Processamento de Linguagem Natural tem tido uma enorme evolução nos últimos anos, cujos velhos e novos desafios às pesquisas têm buscado resolver. Neste tópico, você verá as características que tornam o PLN adequa- do para resoluções de problemas, entenderá os desafios a serem tratados pelas técnicas de PLN e conhecerá a avaliação da adequada aplicação do PLN em problemas reais. 2 CARACTERÍSTICAS QUE TORNAM O PROCESSAMENTO DE LINGUAGEM NATURAL ADEQUADO PARA RESOLUÇÃO DE PROBLEMAS Segundo Cohen e Denner-Fishman (2014), o processamento de linguagem natural (PLN) constitui o estudo de programas de computador que tomam a lin- guagem natural ou humana como entrada. As aplicações no contexto do PLN po- dem abordar tarefas que variam de um processamento de baixo nível, como atribuir partes do discurso a palavras, a tarefas de alto nível, como responder a perguntas. PLN representa a tecnologia utilizada para que computadores entendam a linguagem do ser humano, contudo, não é uma tarefa fácil ensinar as máquinas a entenderem como nós nos comunicamos. Então, um dos objetivos atuais dessa área é ler, decifrar, entender e dar sentido à linguagem humana de maneira geral. Tudo que nós expressamos, pela voz ou pela escrita, carrega consigo um conjunto enorme de informações; o assunto escolhido, o tom e a seleção das palavras constituem fatores que podem ser interpretados para definir o sentido. Para ilustrar essa situação, pense na última vez que você utilizou uma aplicação de chatbot, que, conforme Brandtzaeg e Følstad (2017), são software capazes de conduzir uma conversa por texto projetados para desenvolver uma 26 UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL conversa da maneira mais semelhante possível à de um ser humano. Por exemplo: imagine que Júlio está com problemas no banco e quer entrar em contato com este pela internet, atendimento inicial que é feito, em geral, por chatbot. Então, Júlio digita a frase “Eu não reconheço uma cobrança na minha fatura do cartão!”; o chatbot “entenderá” que João quer falar sobre o seu cartão e, assim, fornece um conjunto de opções relacionadas ao cartão. Contudo, nenhuma delas ajuda a resolver o problema de Júlio, que, então, começa a escrever muito texto com palavras agressivas e exclamações e o manda para o chatbot. Nesse momento, o PLN pode ajudar o chatbot a “entender” que Júlio está impaciente pela maneira como escreve o texto, redirecionando-o ou sugerindo a ele a opção de atendimento humano. Essa é uma situação que mostra o quanto essa área se preocupa em analisar todo tipo de informação que traga algum valor para o entendimento da máquina, que, no caso, era o atendente chatbot, conforme o exemplo da Figura 4. FIGURA 4 – EXEMPLO DE APLICAÇÃO DE ATENDIMENTO DE CHATBOT FONTE: Os autores A Figura 4 mostra o atendimento on-line do chatbot do Banco do Brasil, em que, a partir de determinado texto, consegue-se fornecer uma resposta para tentar resolver o problema. Por exemplo, foi digitada a frase “como faço para abrir uma conta corrente pelo app”, a partir da qual o chatbot conseguiu “entender” a solicitação e enviou a resposta mais precisa possível para solucionar o problema. Dados gerados de conversas, declarações e texto bruto são exemplos de dados não estruturados (GHAREHCHOPOGH; KHALIFEHLOU, 2011), que representam a maioria de dados disponíveis atualmente no mundo, difíceis de lidar e manipular, um quadro que tem mudado graças ao avanço de disciplinas TÓPICO 2 — APLICAÇÕES E DESAFIOS DO PROCESSAMENTO DE LINGUAGEM NATURAL 27 como aprendizado de máquina, um método de análise de dados que explora a construção de algoritmos que aprendem com os erros e, a partir disso, podem fazer previsões sobre os dados. Atualmente, além de tentar interpretar um texto pela análise de suas palavras-chave, é possível “entender” o significado delas, o que possibilita até mesmo o entendimento de figuras de linguagem, como a ironia. Assim, podemos entender que o PLN é uma área que enfatiza a interação entre ciência de dados, máquinas e linguagem humana, a qual tem crescido em razão das melhorias no acesso aos dados e do aumento do poder computacional, possibilitando a obtenção de resultados expressivos porprofissionais de diversas áreas, como da saúde, mídia, financeira, mercado de vendas etc. Diante disso, existem algumas características, como as listadas a seguir, que tornam o PLN adequado para resolver um conjunto de problemas. • Necessidade para entender o que um ser humano deseja comunicar, pela fala ou escrita. • A máquina deve “responder” da forma mais precisa possível levando em consideração o que foi “entendido” na interação com o ser humano. • Processamento e análise de uma grande quantidade de dados para fazer pre- visões ou até mesmo fornecer sugestões de acordo com a situação e o domínio. Essas características são “pistas” da possibilidade de utilizar o PLN para resolver os mais diversos problemas, facilitando a vida das pessoas na era digital. Porém, você verá que existem alguns desafios na área a ser explorados e resolvidos. 3 DESAFIOS NAS TÉCNICAS DE PROCESSAMENTO DE LINGUAGEM NATURAL Como visto até agora, o PLN é uma área fantástica, em razão de suas várias aplicações efetivas para ajudar no nosso dia a dia. A PLN funciona de maneira parecida com o ser humano, já que, quando falamos com outra pessoa, a maioria das frases em um contexto é entendida por ambos, quando se interpreta facilmente a conversa. No entanto, em alguns momentos um dos participantes da conversa pode “falhar” ao explicar uma ideia e, consequentemente, seu interlocutor “falhar” em entender o contexto da conversa por vários motivos. Similarmente, máquinas podem falhar para compreender o contexto de algumas frases ou textos. Para humanos, o aprendizado acontece nos primeiros passos da infância e de maneira consistente, em que as crianças aprendem a interagir com dados não estruturados e os processam em informação. Depois de reunirem as informações, os seres humanos passam a analisá-las na tentativa de entender suas implicações a partir de uma situação ou um problema. 28 UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL Por exemplo, no início da vida, as pessoas não fazem ideia de que o fogo pode machucar, mas, à medida que crescem e têm mais informações sobre o fogo, podem notar o perigo associado a ele, ou seja, depois de entender as implicações, a informação pode ser usada para resolver um conjunto de problemas ou situações da vida. Humanos interagem por múltiplos cenários para que, consciente ou inconscientemente, consigam simular se uma solução terá sucesso ou falhará. Depois de lidar com dados não estruturados, informações e conhecimentos, os humanos conseguem enfim adquirir “sabedoria”. Por exemplo, durante a evo- lução da humanidade, as pessoas perceberam que, para chegar a um determinado destino de carro, devem colocar uma quantidade de gasolina suficiente para isso, uma sabedoria adquirida com o decorrer do tempo a partir da falha anterior de outras pessoas. Em outras palavras, se o tanque do carro estiver com a quantidade suficiente de gasolina, terá mais chance de sucesso ao realizar a atividade “chegar ao destino”; caso contrário, essa atividade provavelmente falhará. Máquinas podem aprender por um método similar, traduzindo textos não estruturados em termos com significado, o que possibilita identificar a conexão entre os termos e, finalmente, compreender o contexto. A área de PLN teve muitos avanços nas últimas décadas, porém ainda existem desafios a superar, como descrito a seguir. 3.1 PROBLEMAS DE SEGMENTAÇÃO Entender palavra por palavra até compreender o contexto geral em deter- minados casos pode não ser uma tarefa complexa, mas existem situações em que se torna muito difícil decompor e “quebrar” as frases para que a máquina consiga entender. Assim, uma aplicação pode ser inteligente o suficiente para separar parágrafos em unidades de frase – pensando no texto Mario Kart é um dos jogos mais antigos do console Super Nintendo. Esse jogo consiste em simular corridas de kart com personagens infantis, como é feita a sua segmentação? Ele é quebra- do em sentenças da seguinte maneira: 1. “Mario Kart é um dos jogos mais antigos do console Super Nintendo” 2. “Esse jogo consiste em simular corridas de kart com personagens infantis” TÓPICO 2 — APLICAÇÕES E DESAFIOS DO PROCESSAMENTO DE LINGUAGEM NATURAL 29 A segmentação de palavras não é algo tão trivial, pois temos idiomas diversos, com estruturas diversas. Tome, por exemplo, a língua inglesa. Nela as palavras são separadas por espaços em branco, e isso é um padrão para muitas outras línguas, porém há exceções, como o Chinês. FONTE: <hhttps://bit.ly/3AMqWcl>. Acesso em: 27 jul. 2021. IMPORTANT E No entanto, dados altamente complexos nem sempre estão disponíveis de modo “fácil” para a correta decomposição das frases, como no caso de dados na forma de tabelas, gráficos, abreviações e notações. 3.2 ANÁLISE DE CONTEXTO Trata-se de uma das tarefas mais importantes e desafiadoras no contexto do PLN. Por exemplo, considere as seguintes frases: 1. “Amanhã vamos colher as maçãs no pomar” 2. “Amanhã vamos comer as maçãs do pomar com colher” Os contextos dessas frases são muito diferentes, e existem inúmeros métodos para ajudar a treinar a máquina a entendê-los. Alguns dos mais populares usam gráficos de conhecimento personalizados, em que as possibilidades ocorreriam com base em cálculos estatísticos. Ao analisar um novo documento, a máquina consultaria o gráfico para determinar o contexto. Com a análise de contexto, outro grande desafio consiste em construir o gráfico de conhecimento da linguagem específica de um domínio. Na prática, os gráficos não podem ser universalmente utilizados. Nos exemplos dados, a palavra “colher” no contexto da primeira frase sugere que significa pegar as maçãs no pomar, enquanto, na segunda, corresponde ao objeto utilizado para comer, ou seja, duas frases com contextos totalmente diferentes em domínios distintos podem “confundir” a máquina se ela se basear apenas em gráficos de conhecimento. Por isso, é importante aprimorar os métodos empregando uma abordagem estatística para inferir o contexto e o domínio corretos. 30 UNIDADE 1 — INTRODUÇÃO AO PROCESSAMENTO DE LINGUAGEM NATURAL 3.3 EXTRAÇÃO DO SIGNIFICADO SEMÂNTICO Outro desafio do PLN, já que a análise linguística de termos em um vocabulário pode não ser suficiente para a máquina aplicar corretamente o conhecimento adquirido. Para ter sucesso no aprendizado, a máquina deve entender a semântica de cada termo dentro de um contexto de documentos. Por exemplo, considere as duas frases: 1. “O gato come o inseto” 2. “O inseto come a comida do gato” As duas frases têm o contexto de comida de gato e de inseto e também apresentam algumas palavras idênticas, contudo a informação resultada delas é totalment diferente em razão de sua semântica distinta, ou seja, elas têm significados diferentes apesar de apresentarem praticamente as mesmas palavras! Assim, é possível imaginar a dificuldade de uma máquina em entender esse tipo de situação, o que leva à necessidade de dispor de uma combinação entre metodologias linguísticas e semânticas que possibilitem que a máquina consiga entender verdadeiramente o significado dos textos. Choueka (2014) afirma que a ambiguidade é, sem dúvida, um dos maiores desafios do PLN. Uma palavra é considerada ambígua se tem dois ou mais significados diferentes que pertencem a campos semânticos distintos. Por exemplo, em “Ela sentou na cadeira e quebrou o braço”, há ambiguidade porque não se pode ter certeza de seu sentido correto: tanto o braço da cadeira quanto o da pessoa podem ter quebrado. Segundo Gomaa e Fahmy (2013), a similaridade textual pode ser aplicada em diversas situações, como classificação de texto, clusterização, sumarização de texto etc., contexto no qual no PLN os erros ortográficos são um grande desafio.
Compartilhar