1 of 45

Introdução ao Processamento de Linguagem Natural (PLN)

2 of 45

Introdução

3 of 45

Introdução

Alguém já usou assistentes virtuais como Siri, Alexa ou Google Assistente?

4 of 45

Introdução

Como vocês acham que eles entendem o que você diz?

5 of 45

Introdução

PLN - Processamento de Linguagem Natural

  • Área da computação que une a inteligência artificial à linguística.

  • Estudo e criação de métodos e técnicas para permitir que os computadores compreendam, interpretem e produzam linguagem humana de maneira que seja natural e útil.

6 of 45

Introdução

PLN - Processamento de Linguagem Natural

  • Sua origem em meados de 1900:�
    • 1950 com o Teste de Turing�
    • 1957 com o livro Estruturas Sintáticas (Noam Chomsky), revolucionando conceitos linguísticos.�

7 of 45

Distâncias

Precisamos de uma revisão do Teste de Turing!

HORA

DA REVISÃO!

8 of 45

Teste de Turing

O Teste de Turing foi proposto por Alan Turing em 1950 na publicação “Computing Machinery and Intelligence”.

O objetivo é determinar se um programa de computador é ou não inteligente.

9 of 45

Teste de Turing

O programa é inteligente se a pessoa que participa do teste não conseguir dizer se foi o programa ou um ser humano que respondeu às suas perguntas.

10 of 45

Introdução

PLN - Processamento de Linguagem Natural

  • Após diversas pesquisas na área, surgiram os primeiros robôs de conversa (chatbots): ELIZA (1964) e PARRY (1972).

11 of 45

Introdução

12 of 45

Introdução

PLN - Processamento de Linguagem Natural

  • A partir de 1966, uma grande maioria já considerava não haver possíveis avanços na área, mas em 1980, as pesquisas voltaram à sua popularidade, que continua até hoje.�
  • O Aprendizado de Máquina começou a ganhar força na mesma época, com novas técnicas e modelos.�
  • Em 2010, modelos de linguagem baseados em Redes Neurais ganharam mais evidência.

13 of 45

Introdução

PLN - Processamento de Linguagem Natural

  • De forma resumida, pode ser dividida em três etapas:
    • O pré-processamento de textos;
    • A tokenização;
    • Análises morfológicas, sintáticas ou semânticas.�
  • A primeira e segunda etapa estão contidas no processo de limpeza e a preparação dos dados que serão utilizados.

14 of 45

Limpeza e Preparação de Dados com foco em PLN

15 of 45

Tokenização

Tokenização é o processo de divisão de um texto em tokens, que são pequenas partes de um texto, de forma a permitir representar um texto de uma maneira que seja mais significativa para as máquinas.

Ao realizar essa conversão, os algoritmos podem encontrar padrões com mais facilidade.

16 of 45

Tokenização

Tokenização de caracteres: é a segmentação do texto em caracteres individuais.

Por exemplo, dado a frase “Meu nome”, temos 8 tokens,

[“M”, “e”, “u”, “ ”, “n”, “o”, “m”, e”].

17 of 45

Tokenização

Tokenização de palavras: realizamos a divisão do texto em palavras individuais.

Por exemplo, dado a frase “Meu nome não é Maria”, temos 5 tokens,

[“Meu”, “nome”, “não”, “é”, “Maria”].

Meu nome não é Maria.

18 of 45

Tokenização

Tokenização de subpalavras: é um equilíbrio entre os dois métodos anteriores, onde dividimos um texto em unidades que podem ser iguais ou maiores que um caractere, mas iguais ou menores a uma palavra inteira.

Por exemplo, na frase “Fulano fugiu sutilmente”, podemos dividir em 4 tokens,

[“Fulano”, “fugiu”, “sutil”, “mente”].

19 of 45

Stopwords

Stopword é um conjunto de palavras usadas comumente em um idioma, que no PLN é usada para eliminar palavras que são de uso comum em textos, porém que trazem pouca informação útil.

A remoção dos stopwords direciona nossa atenção para as palavras mais relevantes do texto!

20 of 45

Revisão

Precisamos de uma revisão de gramática!

HORA

DA REVISÃO!

21 of 45

Remoção de Stopwords

21

  • Exemplo de Stopwords:

Conceito

Exemplos

Artigos

o, a, os, as, um, uma

Preposições

de, em, por, para, com, sem, sobre, até, entre

Conjunções

e, mas, ou, que, se

Pronomes

eu, ele, me, te, se, nos

Verbos auxiliares

ser, estar, ter, haver, ir

22 of 45

Remoção de Stopwords

22

  • Exemplo:
    • Texto original: “O gato está no telhado.”
    • Sem stopwords: [“gato”, “telhado”]�
    • Texto Original: “Eu jogo capoeira.
    • Sem stopwords: [“jogo”, “capoeira”]

23 of 45

Stopwords

Cabe destacar que, embora as stopwords sejam usadas para remover palavras de baixa informação, as stopwords também podem ser usadas poderosamente na adição de contexto em um texto.�

Por exemplo, na frase: “O que é uma escola?”, a pergunta é do tipo “O que é” e não do tipo “Como é”. Com isso em mente, poderíamos obter uma busca com resultados mais refinados.

24 of 45

Lematização e Stemming

Lematização e stemming são técnicas de processamento de texto que aproximam as palavras à sua forma raiz.

HORA

DA REVISÃO!

25 of 45

Lematização

25

  • Flexão nominal: número e gênero voltam ao singular/masculino canônico:
    • livros → livro
    • boas → bom�
  • Flexão verbal: pessoa, número, tempo, modo → infinitivo:
    • gostei → gostar
    • fomos → ir ou ser (precisa de contexto)

26 of 45

Lematização

26

  • Irregularidades: regras morfológicas + dicionários:
    • mãos → mão
    • fui → ir
    • fiz → fazer�
  • Contrações: exigem análise morfológica inicial:
    • do = de + o
    • nesta = em + esta

27 of 45

Stemming

27

  • Morfemas/radical: o stemming tenta aproximar a palavra do radical removendo afixos (sobretudo sufixos):
    • meninas → menin (remove “-as”)
    • jogando → jog (remove “-ando”)

  • Flexão vs. derivação: costuma mirar flexões (número, gênero, tempo, modo), não garante tratar bem derivações (que mudam classe/semântica):
    • cantar, cantando, cantaram → cant

28 of 45

Lematização e Stemming

28

  • Exemplo:
    • Texto original: “O gato está no telhado.”
    • Sem stopwords: [“gato”, “telhado”]
    • Lematização: [“gato”, “telhado”]
    • Stemming: [“gat”, “telhad”]�
    • Texto Original: “Eu jogo capoeira.”
    • Sem stopwords: [“jogo”, “capoeira”]
    • Lematização: [“jogar”, “capoeira]
    • Stemming: [“jog”, “capoeir”]

29 of 45

Word Cloud (Nuvem de palavras)

Word cloud (Nuvem de palavras) é uma representação visual de dados de texto. Cada palavra é representada com diferentes tamanhos a partir do quanto esta palavra é usada no texto, ou seja, quanto maior o tamanho da palavra na nuvem, mais frequente ela é utilizada no texto.

30 of 45

Word Cloud (Nuvem de palavras)

31 of 45

Mineração de texto (Text Mining)

A mineração de texto, conhecida também como mineração de dados textuais, é o processo de transformação de texto não estruturado em texto estruturado para possibilitar a identificação de padrões significativos.

32 of 45

Mineração de texto (Text Mining)

Dados estruturados: são dados com um formato padronizado para acesso eficiente por software e humanos. Os dados estruturados incluem entradas como nomes, endereços e números de telefone.

33 of 45

Mineração de texto (Text Mining)

Dados não estruturados: estes dados não apresentam um formato de dados predefinido. Podem incluir texto de diferentes fontes, como redes sociais ou avaliações de produtos, ou arquivos de imagem, vídeo e áudio.

34 of 45

Mineração de texto (Text Mining)

Dados semi estruturados: como o nome sugere, esses dados são uma combinação entre os formatos de dados estruturados e não estruturados.�

Eles não se encaixam em uma tabela rígida (como uma planilha), mas ainda possuem alguma forma de organização.

35 of 45

Fixando o conteúdo…

36 of 45

Atividade

Agora que concluímos as aulas sobre Introdução ao Processamento de Linguagem Natural (PLN), é hora de aplicar os conhecimentos adquiridos na prática.

Divisão em grupos: Dividir a turma em pequenos grupos de 3 a 4 alunos.

37 of 45

Atividade

Leitura e Discussão: Será entregue um exemplar de um texto, leiam o texto cuidadosamente e discutam suas principais ideias e informações.

Análise: Identifiquem e destaquem as informações mais importantes e relevantes no texto.

Aplicação de Técnicas de PLN: Apliquem as técnicas de Processamento de Linguagem Natural que vocês aprenderam, como tokenização, remoção de stopwords, e stemming/lematização, para produzir um esboço de nuvens de palavras.

38 of 45

Atividade

Texto: O Impacto da Inteligência Artificial na Indústria

Nos últimos anos, a Inteligência Artificial (IA) se tornou central em muitas indústrias, transformando operações e interações com clientes. A IA analisa grandes volumes de dados rapidamente, permitindo decisões mais informadas e eficientes.

A automação de processos e os chatbots melhoraram a eficiência e a experiência do cliente, realizando tarefas rapidamente e oferecendo suporte constante. No entanto, a adoção da IA levanta preocupações éticas, como a substituição de empregos humanos. É crucial considerar o impacto social e investir em requalificação da força de trabalho.

A IA deve ser desenvolvida de forma transparente e justa, evitando preconceitos e garantindo que as decisões automatizadas sejam explicáveis. Governança e regulamentação são essenciais para assegurar que a IA beneficie a sociedade. Em resumo, a IA tem grande potencial, mas deve ser usada de maneira responsável e ética.

39 of 45

Atividade

Agora, o grupo deve apresentar a solução encontrada, detalhando o processo e as técnicas empregadas:

  • Técnicas Utilizadas: Quais técnicas foram utilizadas na solução da atividade? Explique como cada técnica contribuiu para a geração da nuvem de palavras.�
  • Desafios Enfrentados: Quais dificuldades o grupo encontrou durante a análise do texto? Descreva os principais obstáculos e como foram superados.

40 of 45

Fechamento

PLN: Área da computação que possibilita que computadores entendam, interpretem e gerem linguagem humana.

Em PLN, a qualidade da entrada define a qualidade da saída: pré-processar permite transformar dados em informação útil!

A preparação de dados reduz ruídos, gera uniformidade, melhora a performance e facilita a análise.

Técnicas incluem tokenização, stopwords, stemming, lematização, word cloud e mineração de texto.

41 of 45

Referências

42 of 45

Referências

https://brasileiraspln.com/livro-pln/1a-edicao/

FOOTE, K. D. A Brief History of Natural Language Processing. DATAVERSITY, 6 jul. 2023. Disponível em: <https://www.dataversity.net/a-brief-history-of-natural-language-processing-nlp/>. Acesso em: 29 jul. 2024

PLN: o que é Processamento de Linguagem Natural? | Alura. Disponível em: <https://www.alura.com.br/artigos/o-que-e-pln>. Acesso em: 28 jul. 2024.

ROBSJC, R. O. Use o Alexa – Desenvolva assistentes virtuais – ABRACD – ASSOCIAÇÃO BRASILEIRA DE CIÊNCIA DE DADOS. , 25 jan. 2021. Disponível em: <https://abracd.org/2021/01/25/use-o-alexa-desenvolva-assistentes-virtuais/>. Acesso em: 29 jul. 2024

43 of 45

Produção do Material

  • Universidade Federal da Bahia (UFBA)�
  • Universidade do Estado da Bahia (UNEB)�
  • SENAI/CIMATEC�
  • Universidade Estadual de Feira de Santana (UEFS)�
  • Universidade Estadual do Sudoeste da Bahia (UESB)�
  • Universidade Estadual de Santa Cruz (UESC)�
  • Instituto Federal Baiano (IFBaiano)

43

44 of 45

Apoio

45 of 45

Apoio

45