2
respostas

Dúvida sobre predição usando processamento de linguagem natural

Caros bom dia,

Estou realizando um projeto que envolve análise de sentimento para prever que textos muitos semelhantes tenham uma mesma classificação.

Com base no aprendizado do curso de NLP, fiz os tratamentos dos textos utilizando tokenização, retirada de stop words, pontuações, acentos, apliquei stemmer e tb utilizei outras vetorizações como TF-IDF e NGRAMS.

Tb utilizei vários modelos como regressão logística, naive bayes, Bernoulli, usei tb Ensemble Method “Random Forest”, inclusive apliquei os “best” parameters para o Random Forest.

E para todos os testes e modelagens que fiz ele me trouxe uma predição que na minha opinião não deveria acontecer, ou seja, para alguns textos extremamente semelhantes ou até iguais, ele me deu classificações de predições diferentes uma da outra. Exemplo:

Bom dia Fabio, seu número de controle é 123456, por favor ligue para xx55xx. Predição: “Negativa”. Bom dia Fabio, seu número de controle é 123456, por favor ligue para xx55xx. Predição: “Positiva”.

Detalhe...mesmo retirando os números dos textos, ele ainda continua classificando da mesma forma, e encontrei este mesmo problema para vários outros textos, então eu não entendo como ele pode classificar textos idênticos com predições diferentes.

Então gostaria de uma ajuda, por gentileza, para entender o que devo fazer para que eles tenham uma predição mais assertiva ou que ao menos classifiquem os textos iguais com mesma classificação de predição.

Obrigado.

2 respostas

Oi, Fábio! Como você está?

Puxa vida, imagino que esteja sendo um pouco frustrante passar por esse desafio. A análise de sentimento é um campo complexo, em constante evolução. Algumas vezes precisamos quebrar bastante a cabeça até compreender a melhor estratégia a ser utilizada.

Você utilizou bons métodos, mas, todos contém suas particularidades que podem afetar a performance. O que sugiro, é que você teste novamente esses métodos, porém, mudando o tratamento de dados.

Teste utilizar a lematização, que preserva mais de cada palavra, e manter a pontuação. Isso pode ser útil caso seu conjunto de dados seja menor.

Se fizer sentido para o seu projeto, pense também em estratégias utilizando redes neurais.

Te desejo sucesso nesse projeto, Fábio. Se mantenha atento às suas experimentações e às nuances de cada alteração.

Abraços.

Olá Larissa, estou ótimo e vc?

Boa!! Vou testar a sua sugestão e usar a lematização, ainda não conheço este recurso.

Sim, como fiquei um pouco frustrado com o resultado, eu já comecei a construir um projeto usando deep learing com keras e tensorflow, mas ainda não finalizei para chegar numa conclusão.

Muito obrigado pela ajuda e apoio!!

Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software