Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Final Graduation Project

Final Graduation Project

Jessica Temporal

December 09, 2016
Tweet

More Decks by Jessica Temporal

Other Decks in Programming

Transcript

  1. Identificação de entidades
    mencionadas para análise de
    sentimentos em microblogs
    Jessica Caroline Alves Nunes Temporal
    Orientador: Evandro Eduardo Seron Ruiz
    Co-Orientador: Mateus Tarcinalli Machado

    View Slide

  2. Sumário
    - Introdução
    - Fundamentação Teórica
    - Materiais
    - Métodos
    - Resultados
    - Conclusão
    2

    View Slide

  3. - Web 2.0
    - Textos opinativos
    - Reviews
    - Redes sociais
    - Técnicas de NLP
    - Linguagens de Programação
    3
    Introdução

    View Slide

  4. - Textos opinativos
    “Este celular é muito bom! Mas
    a bateria dura pouco =/”
    4
    Introdução

    View Slide

  5. - Textos opinativos
    “Este celular é muito bom! Mas
    a bateria dura pouco =/”
    5
    Problema

    View Slide

  6. Como
    - Recuperar um conjunto de dados
    - Implementar o algoritmo de FREQ Baseline
    - Dois analisadores sintáticos
    - Comparar os resultados obtidos
    6

    View Slide

  7. Fundamentação Teórica
    - Processamento de Linguagem Natural
    - Análise de Sentimentos Baseada em Aspectos
    - Termos de aspecto: Assunto
    - Rotuladores Morfológicos: Part-of-Speech Tagging
    7

    View Slide

  8. Análise de Sentimentos Baseada em Aspectos
    - Extração de termos de aspecto
    “Este celular é muito bom! Mas
    a bateria é ruim =/”
    - Substantivos
    8
    https://www.dicio.com.br/

    View Slide

  9. Part-of-Speech Tagging
    - Classificação de estruturas textuais
    “Este celular é muito bom! Mas
    a bateria é ruim...”
    - Substantivos, adjetivos, pronomes, pontuação...
    9

    View Slide

  10. Part-of-Speech Tagging
    - Corpus Taggeados
    - MAC Morpho
    - Floresta
    10

    View Slide

  11. Part-of-Speech Tagging
    - Tipos de POS-taggers
    11

    View Slide

  12. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    12

    View Slide

  13. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    13

    View Slide

  14. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    14

    View Slide

  15. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    15

    View Slide

  16. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    16

    View Slide

  17. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    “Estou chegando aí.”
    17

    View Slide

  18. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’), (‘*indo’, ‘VG’), (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    “Estou chegando aí.”
    18

    View Slide

  19. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    padroes = [(‘*endo’, ‘VG’),
    (‘*indo’, ‘VG’),
    (‘*ando’,, ‘VG’)]
    “Estava comendo.”
    “Estou chegando aí.”
    19
    [(‘comendo’ , ‘VG’),
    (‘chegando’, ‘VG’)]

    View Slide

  20. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    - Default Tagger
    20

    View Slide

  21. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Default
    “Jessica foi ao parque passear”
    21

    View Slide

  22. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Default
    “Jessica foi ao parque passear”
    22

    View Slide

  23. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Expressão Regular
    - Default
    - N-Grama
    23

    View Slide

  24. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - N-Grama: Contexto
    24

    View Slide

  25. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - N-Grama: Contexto
    “ Programe a sua viagem à Exposição
    Nacional do Zebu, que começa
    Dia 25”
    25

    View Slide

  26. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - N-Grama: Contexto
    “ Programe a sua viagem à Exposição
    Nacional do Zebu, que começa
    dia 25”
    Unigrama
    26

    View Slide

  27. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - N-Grama: Contexto
    27

    View Slide

  28. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - N-Grama: Contexto
    “Programe a sua viagem à Exposição
    Nacional do Zebu, que começa
    Dia 25”
    28

    View Slide

  29. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Bigrama
    “(Programe a) sua viagem...
    29

    View Slide

  30. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Bigrama
    “Programe (a sua) viagem...
    30

    View Slide

  31. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Bigrama
    “Programe a (sua viagem)...
    31

    View Slide

  32. Part-of-Speech Tagging
    - Tipos de POS-taggers
    - Trigrama
    32

    View Slide

  33. Materiais
    - 1.3 milhões de tweets
    33

    View Slide

  34. Materiais
    - 1.3 milhões de tweets
    - 200 mil analizados: grupos de 50 mil
    34

    View Slide

  35. Materiais
    - Python
    - Natural Language ToolKit: NLTK
    - Linux
    35

    View Slide

  36. Métodos

    View Slide

  37. FREQ Baseline
    - Gerar a lista de aspectos e suas frequências
    37

    View Slide

  38. FREQ Baseline
    - Pré-processamento
    “mesmo no outono, casos de dengue em friburgo continuam
    aumentando: em uma semana surgiram 358 casos da doença...
    https://t.co/3lwrwahyp7”
    38

    View Slide

  39. FREQ Baseline
    - Pré-processamento
    - Treinamento POS-taggers
    39

    View Slide

  40. FREQ Baseline
    - Pré-processamento
    - Treinamento POS-taggers
    - MAC Morpho
    - FLoresta
    40

    View Slide

  41. FREQ Baseline
    - Pré-processamento
    - Treinamento POS-taggers
    - Implementação do método
    41

    View Slide

  42. FREQ Baseline
    - Pré-processamento
    - Treinamento POS-taggers
    - Implementação do método
    - Remoção de acentuação
    42

    View Slide

  43. Resultados

    View Slide

  44. Validação
    - Anotação manual
    - Métricas: POS-tagging
    44

    View Slide

  45. Validação
    - Anotação manual
    - 200 tweets
    - Dois anotadores
    - Conjunto gold
    45

    View Slide

  46. Validação
    - Métricas
    46

    View Slide

  47. Validação
    - Métricas
    - Precisão
    47

    View Slide

  48. Validação
    - Métricas
    - Precisão
    - Revocação
    48

    View Slide

  49. Validação
    - Métricas
    - Precisão
    - Revocação
    - F-Score
    49

    View Slide

  50. Validação
    - Métricas
    - Precisão
    - Revocação
    - F-Score
    - Acurácia
    50

    View Slide

  51. Validação
    - Métricas
    - Precisão
    - Revocação
    - F-Score
    51
    Floresta
    MAC Morpho

    View Slide

  52. Validação
    - Métricas
    - Precisão
    - Revocação
    - F-Score
    52
    Floresta
    MAC Morpho
    NLPnet

    View Slide

  53. Termos
    53

    View Slide

  54. Termos
    54

    View Slide

  55. Termos
    55

    View Slide

  56. Conclusão
    - Recuperar um conjunto de dados
    - Twitter como fonte
    - Implementar o algoritmo de FREQ Baseline
    - Dois analisadores sintáticos
    - NLTK vs NLPnet
    - Comparar os resultados obtidos
    56

    View Slide

  57. Referências
    57
    BIRD, S. NLTK: the Natural Language Toolkit. In: ASSOCIATION FOR COMPUTATIONAL LINGUISTICS. Proceedings of the
    COLING/ACL on Interactive presentation sessions. [S.l.], 2006. p. 69–72.
    BIRD, S.; KLEIN, E.; LOPER, E. Natural language processing with Python. [S.l.]: O’Reilly Media, Inc., 2009.
    PAVLOPOULOS, J.; ANDROUTSOPOULOS, I. Aspect term extraction for sentiment analysis: New datasets, new evaluation
    measures and an improved unsupervised method. Proceedings of LASMEACL, p. 44–52, 2014.

    View Slide

  58. Obrigada!

    View Slide