Text Mining
Classificando textos com o Elastic Search
4º Meetup do Elastic São Paulo User Group - 04/05/2016
Jozias Rolim
jozias.rolim@icolabora.com.br
Analista desenvolvedor sênior - iColabora
Mestrando em Sistemas de Informação -...
Sumário
O problema
Estrategia convencional
Aplicando o Elastic Search como estratégia para solução do
problema
Comparação ...
O Problema
4
Classificar automaticamente reclamações da Anatel
Clientes realizam reclamações sobre os seus serviços na Anatel
O operado...
Estrategia convencional
6
7
Aplicando o Elastic Search como
estratégia para solução do problema
8
Definindo analyzer
"analyzer": {
"analyzer_classificador": {
"type": "custom",
"tokenizer": "lowercase",
"filter": [
"toke...
Mapeando uso do analyzer no indice, _mapping
{
"indice": {
"properties": {
"campo_texto": {
"type": "string",
"fields": {
...
Realizando a consulta dos textos mais similares
_search?analyzer=analyzer_classificador
{
"query": {
"common" :{
"campo_te...
Dificuldades e possíveis soluções
12
Dificuldades e possíveis soluções
Base de dados com classificações erradas - Filtrar os dados que possuem
classificação er...
Comparação com estratégias
convencionais
14
Estratégia convêncional x ElasticsearchTaxadeacerto-Acurácia
Tempo de desenvolvimento
Estratégia convêncional
Elasticsearc...
Agora é com vocês!
16
Text Mining
Classificando textos com o elasticsearch
4º Meetup do Elastic São Paulo User Group - 04/05/2016
Próximos SlideShares
Carregando em…5
×

[Case Machine Learning- iColabora]Text mining - Classificando textos com Elastic Search

211 visualizações

Publicada em

Apresentação no 4º Meetup Elastic São Paulo.

É apresentado o case de classificação de reclamações da Anatel de forma automática, utilizando o Elastic Search como estratégia.

Apresentado por: Jozias Rolim
Em: 04/05/2016 - São Paulo - SP

Publicada em: Dados e análise
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
211
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

[Case Machine Learning- iColabora]Text mining - Classificando textos com Elastic Search

  1. 1. Text Mining Classificando textos com o Elastic Search 4º Meetup do Elastic São Paulo User Group - 04/05/2016
  2. 2. Jozias Rolim jozias.rolim@icolabora.com.br Analista desenvolvedor sênior - iColabora Mestrando em Sistemas de Informação - PPgSi - EACH|USP Membro mais bonito do Elastic São Paulo User Group
  3. 3. Sumário O problema Estrategia convencional Aplicando o Elastic Search como estratégia para solução do problema Comparação com estratégias convencionais Dificuldades e possíveis soluções 3
  4. 4. O Problema 4
  5. 5. Classificar automaticamente reclamações da Anatel Clientes realizam reclamações sobre os seus serviços na Anatel O operador classifica a reclamação As reclamações devem ser classificadas para que possam ser encaminhadas para os setores responsáveis da empresa. Classificação está relacionada com indicadores de qualidade - Anatel A árvore de reclamação é imensa O operador classifica de forma equivocada Classificar demanda tempo - Aumento da produtividade do operador 5
  6. 6. Estrategia convencional 6
  7. 7. 7
  8. 8. Aplicando o Elastic Search como estratégia para solução do problema 8
  9. 9. Definindo analyzer "analyzer": { "analyzer_classificador": { "type": "custom", "tokenizer": "lowercase", "filter": [ "token_type", "custom_stop_words", "asciifolding", "brazilian_stop", "stem_minimal_pt", ], "char_filter": [ "html_strip" ] } }, "filter": { "index_filter": { "type": "common_grams", "common_words": "_brazilian_" }, "search_filter": { "type": "common_grams", "common_words": "_brazilian_", "query_mode": true }, "stem_minimal_pt": { "type": "stemmer", "language": "brazilian" }, "brazilian_stop": { "type": "stop", "stopwords": "_brazilian_" }, "custom_stop_words": { "type": "stop", "stopwords": [...] }, "token_type": { "type": "word_delimiter", "catenate_words": true, "catenate_all": true, "split_on_case_change": true, "split_on_numerics": true } } } 9
  10. 10. Mapeando uso do analyzer no indice, _mapping { "indice": { "properties": { "campo_texto": { "type": "string", "fields": { "raw": { "type": "string", "index": "not_analyzed" }, "classificacao": { "type": "string", "index_options": "freqs", "analyzer": "classificacao_email" } } } , "classe": { "type": "string", "index": "not_analyzed" } } } } 10
  11. 11. Realizando a consulta dos textos mais similares _search?analyzer=analyzer_classificador { "query": { "common" :{ "campo_texto.classificacao":{ "query": "Texto de reclamação informado", "cutoff_frequency": 0.001 } } }, "size": 1, “ A consulta retorna apenas o documento mais similar, melhores resultados podem ser obtidos, retornando mais documentos e comparando as classes deles.” 11
  12. 12. Dificuldades e possíveis soluções 12
  13. 13. Dificuldades e possíveis soluções Base de dados com classificações erradas - Filtrar os dados que possuem classificação errada para a base Neologismo - Utilizar synonyms Palavras com escrita errada - Ignorar palavras não presentes no dicionário Palavras abreviadas - Ignorar ou utilizar synonyms Quantidade de sinônimos elevada - Mapear a maior quantidade de sinônimos possível 13
  14. 14. Comparação com estratégias convencionais 14
  15. 15. Estratégia convêncional x ElasticsearchTaxadeacerto-Acurácia Tempo de desenvolvimento Estratégia convêncional Elasticsearch 15
  16. 16. Agora é com vocês! 16
  17. 17. Text Mining Classificando textos com o elasticsearch 4º Meetup do Elastic São Paulo User Group - 04/05/2016

×