====== Visão Geral ====== Processamento de Linguagem Natural (PLN) é um campo de estudo de inteligência artificial e da linguística que desenvolve métodos para que os computadores possam interpretar e manipular a linguagem humana. Sendo assim, essa área é essencial para a elaboração de tradutores automáticos, ferramentas de revisão textual, análise de sentimentos, síntese de fala, categorização de conteúdo, sumarização e muito mais. ---- ====== Principais Marcos ====== ===== O Experimento de Georgetown ===== O experimento de Georgetown foi uma demonstração de um sistema de tradução automática simples de russo para inglês, organizado pela IBM e Universidade de Georgetown, que ocorreu no dia 7 de Janeiro de 1954. O experimento consistia basicamente na tradução completamente automática de mais de 60 frases em russo para o inglês. Inicialmente, o experimento foi um sucesso, recebeu bastante atenção da mídia e angariou investimentos para a área da linguística computacional. Dessa forma, os autores do experimento afirmaram que o problema da tradução automática seria resolvido dentro de 3 ou 5 anos, entretanto o avanço real foi muito mais lento e nem em 10 anos as expectativas foram alcançadas, e por causa disso os investimentos na área foram drasticamente reduzidos. ===== SHRDLU ===== SHRDLU foi um programa escrito por Terry Winograd no laboratório de inteligência artificial do MIT no período de 1968-1970. O programa continha um cenário com vários objetos simples no qual o usuário podia interagir com os objetos dando comandos em língua humana ao computador. {{https://hci.stanford.edu/~winograd/shrdlu/shrdlu-original.gif}}{{https://hci.stanford.edu/~winograd/shrdlu/shrdlu-color.gif}} Posteriormente, o programa foi aprimorado no laboratório de computação gráfica da Universidade de Utah, que adicionou elementos gráficos 3D coloridos. Hoje é possível baixar uma versão do [[https://hci.stanford.edu/~winograd/shrdlu/download/consoleshrdlu.zip|SHRDLU para o terminal do windows]] (exclusivamente texto) ou até uma versão [[https://hci.stanford.edu/~winograd/shrdlu/download/javashrdlu.zip|gráfica 3D]]. É possível encontrar mais informações sobre essas versões e até o diálogo original utilizado na demo [[https://hci.stanford.edu/~winograd/shrdlu/|aqui]]. ===== Chatbots ===== ELIZA foi um chatbot que simulava uma psicoterapeuta, foi desenvolvida por Joseph Weizenbaum no laboratório de inteligência artificial do MIT no ano de 1966. O fato mais interessante sobre ELIZA é que mesmo com pouca informação sobre a mente e emoções humanas, ocasionalmente, ELIZA era capaz de gerar respostas bem semelhantes à respostas humanas. ELIZA era um chatbot muito simples, mas foi o início de um conceito que é muito utilizado hoje em dia. É possível conversar e encontrar algumas informações desse chatbot [[https://web.njit.edu/~ronkowit/eliza.html|aqui]]. Após ELIZA, começaram a surgir muitos outros chatbots com diferentes objetivos, como Parry (1972), Racter (1983), Alice (1995) e Jabberwacky (2005). Dessa maneira, existiu uma conversa entre Parry e ELIZA em 1972, que apesar de não agregar muito conhecimento, é possível notar o avanço da tecnologia ao observar o diálogo entre os dois. Hoje em dia temos alguns chatbots disponíveis para uso no mercado. O pioneiro desta nova geração de chatbots foi o DungeonAI, que consistia em um algoritmo baseado em aprendizado de máquina, onde este simulava uma aventura de RPG de mesa onde o narrador é o próprio chatbot. Outro bastante popular é a Replika, O aplicativo simula um ser virtual onde é possível interagir a partir de um chat de texto, conforme o uso e adaptação ao usuário o 'Replika' se aprimora e adequa a sua personalidade ao gosto do usuário. Atualmente se tem uma expectativa grande sobre o LaMDA (Language Model for Dialogue Applications), Chatbot que causou grande polêmica recentemente por um dos engenheiros afirmar que o chatbot em questão possuia consciência própria. É possível solicitar o acesso ao teste deste chatbot se cadastrando no Ai Test Kitchen. ===== Aprendizagem de Máquina ===== Graças ao desenvolvimento da área de [[http://wiki.inf.ufpr.br/computacao/doku.php?id=a:aprendizagem_de_maquina|aprendizagem de máquina]] ou machine learning, decorrente do aumento do poder computacional na década de 80, houve uma verdadeira revolução no ramo de PLN, já que até o momento os sistemas eram escritos com um conjunto de regras completas escritas à mão. Sendo assim, existiam modelos de árvore de decisão que formavam estruturas de regras semelhantes às escritas à mão, o que tornou o desenvolvimento de sistemas de PLN muito mais robustos e acessíveis. ---- ====== Grandes Nomes ====== ===== Noam Chomsky ===== {{https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Noam_Chomsky_.jpg/320px-Noam_Chomsky_.jpg |}} Chomsky é um linguista, sociólogo e filósofo conhecido como pai da linguística moderna. Foi responsável por desenvolver a Hierarquia de Chomsky em 1959, uma classificação de gramáticas formais muito utilizado para a construção de compiladores e também para a tokenização, um conceito muito importante para a computação e ainda mais essencial para o processamento de língua natural. ===== Clarisse Sieckenius ===== {{https://www.programaria.org/wp-content/uploads/2017/03/ClarisseDeSouza20141205-226x300.png |}} Sieckenius é doutora em Linguística Computacional e seu doutorado foi sobre processamento de linguagem natural, no qual estudou sobre a compreensão automática de textos em linguagem natural. Clarisse foi vencedora do Prêmio de Mérito da Sociedade Brasileira de Computação em 2016 e também foi a primeira brasileira homenageada no projeto internacional //Notable Woman in Computing// na Universidade de Duke, Estados Unidos. ---- ====== Aplicações ====== ===== Chatbots ===== PLN está presente no desenvolvimento de chatbots, um recurso muito presente em aplicativos de banco. O maior exemplo de chatbots são os assistentes virtuais como a Siri da Apple ou Alexa da Amazon. O PLN é fundamental para interpretar os comandos de voz ou texto dados pelo usuário e também para formular uma resposta caso seja necessário. ===== Classificação de Textos ===== Classificação é uma das principais utilidades do PLN, e por esse motivo é muito importante para filtrar e-mails de spam, golpes ou até mesmo discurso de ódio em redes sociais. Também pode ser utilizado para separar dados, como classificar análises de um produto como positivas ou negativas. Outra possível classificação é classificar uma notícia como verdadeira ou falsa. ===== Tradução ===== Um recurso muito útil no qual o PLN é fundamental são os tradutores automáticos, sendo o maior exemplo o Google Tradutor. Tradutores são fundamentais para a democratização do conteúdo na internet. ===== Correção Ortográfica e Gramatical ===== Editores de texto como o Microsoft Word ou LibreOffice Writer possuem um corretor ortográfico e gramatical, e PLN é fundamental para o desenvolvimento dessas tecnologias. Esses corretores garantem uma escrita mais rápida de um texto com menos erros de escrita. ---- ====== Impacto Social ====== O principal impacto social do PLN foi a facilitação do acesso à informação. Apenas cerca de 3% do conteúdo da internet está na língua portuguesa, logo é muito importante possuir uma maneira de acessar os conteúdos disponibilizados em outros idiomas, principalmente o inglês, que representa mais da metade do conteúdo da rede. Assim, o PLN tem é essencial no desenvolvimento de tradutores automáticos, que possibilita pessoas com desconhecimento de determinada língua consigam acessar o conteúdo ou ao menos boa parte desse conteúdo. Acesso ao conteúdo em inglês é muito importante no mundo atual, já que há muito mais conteúdo nesse idioma, e logo é muito importante pessoas que não possuem condição de pagar um curso de inglês ou simplesmente não dominam a língua completamente tenham uma maneira de consultar coisas em inglês ou até mesmo algum outro idioma. O conhecimento de uma língua estrangeira ajuda com estudos, possibilita interagir com pessoas de outras nacionalidades e pode oferecer várias oportunidades no mercado de trabalho, ainda mais com a ascensão do trabalho remoto. Ter uma ferramenta para auxiliar pessoas que não possuem domínio completo de um idioma é de extrema importância. Outro grande impacto do PLN é a redução de custo de empresas, como por exemplo a utilização de chatbots para atendimento ao cliente reduz o gasto com funcionários para esse setor. Cerca de 70% dos atendimentos em rede social do Banco do Brasil são realizados por chatbots. ---- ====== Desafios ====== ===== Ambiguidade ===== A ambiguidade é um dos principais problemas para o PLN porque dificulta a interpretação do texto ao possibilitar múltiplos sentidos para uma mesma sentença. Pessoas podem lidar bem com a ambiguidade ao levar em consideração o contexto de uma frase, o que é bem mais difícil para um computador. Por exemplo a palavra banco, que pode ser uma entidade financeira ou um assento, ou pena, que pode ser a pelugem de um pássaro ou um sentimento, ou até o uso de alguma metáfora ou outra figura de linguagem, na qual o que está escrito não é o sentido literal da frase. Em qualquer um dos casos anteriores pode ocorrer um erro na interpretação de um sistema de PLN devido à dificuldade de compreender o significado de uma palavra ou expressão dentro do contexto de uma frase. Isso é um problema ainda maior quando a sentença analisada é escrita, porque no caso da análise de uma fala é possível aproveitar a entonação da voz para diferenciar o sentido da palavra, como no caso da utilização de ironia ou alguma outra figura de linguagem. ---- ====== Referências ====== * https://cursosextensao.usp.br/course/view.php?id=2721 * https://www.sas.com/pt_br/insights/analytics/processamento-de-linguagem-natural.html#nlpworld * [[https://en.wikipedia.org/wiki/Georgetown–IBM_experiment]] * https://en.wikipedia.org/wiki/SHRDLU * https://hci.stanford.edu/~winograd/shrdlu/ * https://pt.wikipedia.org/wiki/Processamento_de_linguagem_natural * https://web.njit.edu/~ronkowit/eliza.html * https://www.take.net/blog/tecnologia/nlp-processamento-linguagem-natural/ * https://ufabcdivulgaciencia.proec.ufabc.edu.br/2021/09/08/desafios-em-processamento-de-linguagem-natural-v-4-n-9-p-3-2021/ * https://oldcastle.com.br/voce-sabe-quais-as-linguas-mais-usadas-na-internet/ * https://www.tableau.com/pt-br/learn/articles/natural-language-processing-examples * https://www.bb.com.br/pbb/pagina-inicial/imprensa/n/57066/#/ * https://pt.wikipedia.org/wiki/Noam_Chomsky * https://pt.wikipedia.org/wiki/Hierarquia_de_Chomsky * https://www.programaria.org/conheca-trajetoria-de-clarisse-sieckenius-uma-das-mulheres-mais-notaveis-mundo-na-computacao/ * https://pt.wikipedia.org/wiki/Clarisse_Sieckenius * https://aitestkitchen.withgoogle.com/ * https://replika.com/ * https://play.aidungeon.io/