Análise de sentimento com NLTK python para frases usando dados de amostra ou serviço web?

StackOverflow https://stackoverflow.com/questions/2832394

  •  26-09-2019
  •  | 
  •  

Pergunta

Estou embarcando em um projeto de PNL para análise de sentimentos.

Instalei com sucesso o NLTK para python (parece um ótimo software para isso).No entanto, estou tendo problemas para entender como ele pode ser usado para realizar minha tarefa.

Aqui está minha tarefa:

  1. Começo com um longo dado (digamos, várias centenas de tweets sobre o assunto das eleições no Reino Unido em seu serviço web)
  2. Gostaria de dividir isso em frases (ou informações com no máximo 100 caracteres) (acho que posso fazer isso em python ??)
  3. Em seguida, pesquise em todas as frases por instâncias específicas dentro dessa frase, por exemplo."David Cameron"
  4. Então, gostaria de verificar o sentimento positivo/negativo em cada frase e contá-los de acordo

Observação:Não estou muito preocupado com a precisão porque meus conjuntos de dados são grandes e também não estou muito preocupado com o sarcasmo.

Aqui estão os problemas que estou tendo:

  1. Todos os conjuntos de dados que posso encontrar, por ex.os dados corpus de resenhas de filmes que acompanham o NLTK não estão no formato de serviço da web.Parece que já foi feito algum processamento.Pelo que posso ver, o processamento (por Stanford) foi feito com WEKA.Não é possível que o NLTK faça tudo isso sozinho?Aqui todos os conjuntos de dados já foram organizados em positivos/negativos, por ex.conjunto de dados de polaridade http://www.cs.cornell.edu/People/pabo/movie-review-data/ Como isso é feito?(para organizar as frases por sentimento, é definitivamente WEKA?ou alguma outra coisa?)

  2. Não tenho certeza se entendi por que WEKA e NLTK seriam usados ​​juntos.Parece que eles fazem praticamente a mesma coisa.Se estou processando os dados com o WEKA primeiro para encontrar sentimentos, por que precisaria do NLTK?É possível explicar por que isso pode ser necessário?

Encontrei alguns scripts que se aproximam dessa tarefa, mas todos usam os mesmos dados pré-processados.Não é possível processar esses dados sozinho para encontrar sentimentos nas frases, em vez de usar as amostras de dados fornecidas no link?

Qualquer ajuda é muito apreciada e vai me poupar muito cabelo!

Felicidades Ke

Foi útil?

Solução

Os dados da crítica do filme já foram marcados por humanos como positivos ou negativos (a pessoa que fez a crítica deu ao filme uma classificação que é usada para determinar a polaridade).Esses padrão-ouro os rótulos permitem treinar um classificador, que você pode usar para outras resenhas de filmes.Você poderia treinar um classificador em NLTK com esses dados, mas aplicar os resultados aos tweets eleitorais pode ser menos preciso do que adivinhar aleatoriamente positivo ou negativo.Alternativamente, você mesmo pode rotular alguns milhares de tweets como positivos ou negativos e usar isso como seu conjunto de treinamento.

Para obter uma descrição do uso de Naive Bayes para análise de sentimento com NLTK: http://streamhacker.com/2010/05/10/text-classification-sentiment-análise-naive-bayes-classifier/

Então, nesse código, em vez de usar o corpus do filme, use seus próprios dados para calcular a contagem de palavras (no exemplo word_feats método).

Outras dicas

Por que você não usa WSD?Use a ferramenta de desambiguação para encontrar sentidos.e use a polaridade do mapa para os sentidos em vez da palavra.Neste caso, você obterá resultados um pouco mais precisos em comparação com a polaridade do índice de palavras.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top