Tenho um enorme arquivo de reclamações de clientes sobre os produtos que minha empresa possui e gostaria de fazer uma análise de dados nessas descrições e marcar uma categoria para cada uma delas.
Por exemplo: preciso descobrir o número de reclamações no lado de Software e Hardware do meu produto a partir das reclamações dos clientes. Atualmente, estou usando o Excel para fazer a análise de dados, que busca uma quantidade significativa de trabalho manual para obter um nome de tag para as reclamações.
Existe uma maneira na PNL de construir e treinar um modelo para automatizar esse processo? Eu tenho lido coisas sobre a PNL nos últimos dois dias e parece que a PNL tem muitos recursos bons para começar a lidar com esse problema. Alguém poderia me orientar sobre como devo usar a PNL para resolver esse problema?
Respostas:
Uma maneira de lidar com isso é usar a 'classificação supervisionada'. Nesse modelo, você classifica manualmente um subconjunto dos dados e o utiliza para treinar seu algoritmo. Em seguida, você alimenta os dados restantes no seu software para classificá-los.
Isso é realizado com o NLTK para Python (nltk.org).
Se você está simplesmente procurando por strings como "hardware" e "software", este é um caso de uso simples, e você provavelmente obterá resultados decentes usando um 'extrator de recursos', que informa ao seu classificador quais frases no documento são relevantes.
Embora seja possível implementar um método automatizado para encontrar as palavras-chave, parece que você já tem uma lista em mente. Assim, você pode pular essa etapa e usar as tags de que está ciente. (Se seus resultados não forem satisfatórios na primeira vez, é algo que você pode tentar mais tarde).
Essa é uma visão geral para começar. Se você não estiver satisfeito com os resultados iniciais, poderá refinar seu classificador introduzindo métodos mais complexos, como segmentação de sentenças, identificação de tipos de atos de diálogo e árvores de decisão. O céu é o limite (ou mais provável, seu tempo é o limite)!
Mais informações em:
http://www.nltk.org/book/ch06.html
fonte
Sheldon está correto, isso soa como um caso de uso bastante típico para classificação supervisionada. Se todas as reclamações de seus clientes são de software ou hardware (ou seja, zero reclamações individuais cobrem ambas as categorias e zero estão fora dessas duas classes), tudo o que você precisa é de um classificador binário, o que torna as coisas mais simples do que poderiam ser.
Se você estiver procurando por um kit de ferramentas NLP baseado em Java que suporte algo assim, consulte o Stanford Classifier: http://nlp.stanford.edu/software/classifier.shtml - ele é licenciado como software de código aberto sob a GPL.
A página wiki deles deve ajudá-lo a começar a usar o classificador: http://www-nlp.stanford.edu/wiki/Software/Classifier - lembre-se de que você precisará anotar manualmente uma grande amostra de seus dados como um conjunto de treinamento, como Sheldon mencionou.
fonte