2. 2
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Apresentação
• Willian Eduardo Becker
• Análise de Sistemas:
• IFF-SVS (2012);
• Mestrado em Computação:
• PUCRS (2017);
• Atualmente é Cientista de Dados:
• Propus Data Science;
4. 4
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Motivação
Fatores que alavancaram o interesse em NLP:
● Aumento na necessidade de ferramentas baseadas em NLP;
● Dispositivos móveis como fonte de dados;
● Aumento na disponibilidade de dados web;
● Melhora nos algoritmos de machine learning (eg. deep learning).
7. 7
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Machine Translation
● Google Translate, Babylon, Microsoft Translator, etc;
Imagem: http://www.dotwords.it/google-translate-when-technology-is-useful/?lang=usa
● Artigos:
● M. Auli, M. Galley, C. Quirk, G. Zweig, “Joint Language and Translation Modeling with
Recurrent Neural Networks”, 2013.
● Ilya Sutskever, Oriol Vinyals, Quoc V. Le, “Sequence to Sequence Learning with Neural
Networks”, 2014.
8. 8
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Caption Generation
● Gerar a descrição de uma imagem;
● Criar legenda para vídeos;
Imagem: https://www.oreilly.com/learning/caption-this-with-tensorflow
● Artigos:
● O. Vinyals, A. Toshev, S. Bengio, D. Erhan, ”Show and Tell: A Neural Image Caption
Generator”, 2014.
● S. Venugopalan, M. Rohrbach, J. Donahue, R. Mooney, T. Darrell, K. Saenko “Sequence to
Sequence -- Video to Text”, 2015.
9. 9
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Text Classification
● Classificação de notícias (tópicos, assuntos);
● Análise de Sentimento;
● Artigos:
● R. Johnson, T. Zhang, “Effective Use of Word Order for Text Categorization with
Convolutional Neural Networks”, 2014.
● X. Zhang, J. Zhao, and Y. LeCun, “Character-level convolutional networks for text
classification”, 2015.
Imagem: https://towardsdatascience.com/machine-learning-nlp-text-classification-using-scikit-learn-python-and-nltk-c52b92a7c73a
11. 11
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Representação das Informações
• Representação distribuída (word-embeddings):
• Normalmente aplica-se algum pré-processamento:
• Stemming (jardineiro, jardim, jardinagem→ jardi);
• Lematização (esquisitos, esquisita → esquisito);
• Remoção de Stopwords (a, de, o).
12. 12
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Representação das Informações
• Representação a nível de caractere para a palavra “casar”:
a b c d e ... r s t u v w x y z
c 0 0 1 0 0 ... 0 0 0 0 0 0 0 0 0
a 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
s 0 0 0 0 0 ... 0 1 0 0 0 0 0 0 0
a 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
r 0 0 0 0 0 ... 1 0 0 0 0 0 0 0 0
Texto
Alfabeto
• Nível de caractere:
13. 13
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Redes Neurais
• Redes Neurais (RN) são estruturas computacionais que procuram
simular em pequena escala o funcionamento do cérebro humano [1].
[1] Haykin, S., & Network, N. (2004). A comprehensive foundation. Neural Networks, 2 (2004).
14. 14
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Redes Neurais Convolucionais (CNN)
[1] LeCun, Y., Kavukcuoglu, K., & Farabet, C. (2010, May). Convolutional networks and applications in vision. In Circuits and
Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on (pp. 253-256). IEEE.
16. 16
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Análise de Sentimento
“A Análise de Sentimento é tarefa que objetiva analisar a opinião
das pessoas, identificando seus sentimentos, avaliações, atitudes e
percepções relacionadas a um determinado alvo a partir de uma
linguagem escrita.“ [1]
Alvo
Entidade
Indivíduo
Marca
. . .
Sentimento
Positivo
Neutro
Negativo
[1] Liu, Bing. "Sentiment analysis and opinion mining." Synthesis Lectures on Human Language Technologies 5.1 (2012).
17. 17
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Análise de Sentimento
• Arquitetura básica de um sistema de Análise de Sentimento:
Pré-
processamento
Coleta Classificação Sumarização
18. 18
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Desafios da AS Multi-lingual
Pt
Esp
Ing
Pt
Classificação
Classificação ?
19. 19
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Esp
Ing
Pt
ClassificaçãoTradução
Problemas ao utilizar traduções para AS multi-lingual:
● Tarefa de tradução por si só já é complexa;
● Custo.
Desafios da AS Multi-lingual
20. 20
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Soluções para AS Multi-lingual
A maioria dos trabalhos que visam resolver a AS multi-lingual utiliza
uma das abordagens abaixo:
[3] A. L. Gînscă, E. Boroş, A. Iftene, D. TrandabĂţ, M. Toader, M. Corîci, C.-A. Perez, and D. Cristea, “Sentimatrix: multilingual sentiment
analysis service,” in Proceedings of the 2nd Workshop on Computational Approaches to Subjectivity and Sentiment Analysis, pp. 189–195,
Association for Computational Linguistics, 2011.
[1] K. Denecke, “Using sentiwordnet for multilingual sentiment analysis,” in Data Engineering Workshop, 2008. ICDEW 2008. IEEE 24th
International Conference on, pp. 507–512, IEEE, 2008.
[2] R. Mihalcea, C. Banea, and J. M. Wiebe, “Learning multilingual subjective language via cross-lingual projections,” 2007.
● Criar um léxico contendo palavras alvo em cada linguagem a ser
considerada na análise [3].
● Traduzir os documentos da linguagem original para inglês e então realizar
a AS [1], ou vice-versa [2];
21. 21
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Soluções para AS Multi-lingual
● Forma de representação dos dados:
Representação Distribuída
(word-embeddings)
● Matriz de representação:
● Tamanho m x d:
○ m = número de palavras do vocabulário,
○ d = número de dimensões;
● Dataset com 4 línguas (157.000 palavras únicas) e d =300:
= 47.100.000 parâmetros157.000 x 300
E se adicionar uma
ou mais línguas?
Tamanho da representação
aumentaria ainda mais
22. 22
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Soluções para AS Multi-lingual
● Forma de representação dos dados:
Representação a nível
de caractere
● Matriz de representação:
● Tamanho m x n:
○ m = número de caracteres de entrada;
○ n = número de caracteres do alfabeto;
● Dataset com 4 línguas, m = 140 e n = 70:
= 9.800 parâmetros140 x 70
E se adicionar uma
ou mais línguas?
Tamanho fixo de representação
24. 24
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Abordagem Utilizada
Esp
Ing
Pt
Representação a nível de
caractere
Ale
Rede Neural Convolucional
25. 25
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Representação das Informações
a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
- , ; . ! ? : ´ ‘ ` “ / | _ @ # $ % ^ & * ~ + - = < > ( ) [ ] { }
• Mesmo alfabeto utilizado por Zhang et al. [1], contendo:
• 26 letras;
• 10 números;
• 34 símbolos.
[1] X. Zhang, J. Zhao, and Y. LeCun, “Character-level convolutional networks for text classification,” in Advances in neural information
processing systems, pp. 649–657, 2015.
• Representação a nível de caractere;
26. 26
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Conv-Char-S (Conv-Character-Small)
[1] Y. Kim, “Convolutional neural networks for sentence classification,” arXiv preprint arXiv:1408.5882, 2014.
• Inspirado na arquitetura de Kim [1]:
• Convolução: 256 filtros de tamanho 7x70;
• Pooling: max-pooling over time.
Conv 7x70
Max-pooling
over time
Softmax
256
2
29. 29
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
NNLS (Neural Network Language Sentiment)
NNLS-v1 NNLS-v2
• Arquitetura multitarefa:
• Análise de Sentimento;
• Identificação de Língua.
Max Pooling
overtime
Densa
Softmax (4)
Entrada
Conv 3x70
Max Pooling
over time
Conv 5x70
Max Pooling
overtime
Conv 7x70
Concatenação
Densa
Softmax (2)
Max Pooling
overtime
Densa
Softmax (4)
Entrada
Conv 3x70
Max Pooling
over time
Conv 3x70
Max Pooling
overtime
Conv 3x70
Concatenação
Densa
Softmax (2)
Conv 3x70Conv 3x70
Conv 3x70
31. 31
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Experimentos
[1] I. Mozetič, M. Grčar, and J. Smailović, “Multilingual twitter sentiment classification: The role of human annotators,” PloS one, vol. 11, no.
5, p. e0155036, 2016.
[2] X. Zhang, J. Zhao, and Y. LeCun, “Character-level convolutional networks for text classification,” in Advances in neural information
processing systems, pp. 649–657, 2015.
[3] Y. Kim. Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882, 2014.
[4] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
• Dataset [1]:
• Baselines:
• Conv-Char [2];
• Conv-Emb [3];
• LSTM-Emb[4].
32. 32
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Resultados
Classificação
Multitarefa
Classificação
Individual
33. 33
Embasamento Categorização do Problema Trabalhos Relacionados
Plano de Pesquisa
Informações Complementares
• Conv-Char-R:
• W. Becker, J. Wehrmann, H. E. Cagnini, and R. C. Barros, “An efficient deep neural
architecture for multilingual sentiment analysis in twitter,” in Proceedings of the Thirtieth
International Florida Artificial Intelligence Research Society Conference, (FLAIRS) 2017,
Marco Island, Florida, USA, May 22-24, 2017, pp. 246–251, AAAI, 2017.
• Conv-Char-S:
• Wehrmann, W. Becker, H. E. Cagnini, and R. C. Barros, “A character-based
convolutional neural network for language-agnostic twitter sentiment analysis,” in 2017
International Joint Conference on Neural Networks (IJCNN), pp. 2384–2391, IEEE, 2017.
• NNLS:
• Wehrmann, W. Becker, and R. C. Barros, “A Multi-Task Neural Network for Multilingual
Sentiment Classification and Language Detection on Twitter,” in Symposium on
Applied Computing (SAC), 2018. To appear.