Ich habe eine große Anzahl von Kundenbeschwerden über die Produkte, die mein Unternehmen besitzt, und ich möchte eine Datenanalyse dieser Beschreibungen durchführen und jedem von ihnen eine Kategorie zuordnen.
Beispiel: Ich muss die Anzahl der Beschwerden auf der Software- und Hardwareseite meines Produkts anhand der Kundenbeschwerden ermitteln. Derzeit verwende ich Excel für die Datenanalyse, bei der ein erheblicher manueller Arbeitsaufwand erforderlich ist, um einen Tag-Namen für die Beschwerden zu erhalten.
Gibt es in NLP eine Möglichkeit, ein Modell zur Automatisierung dieses Prozesses zu erstellen und zu trainieren? Ich habe in den letzten Tagen Artikel über NLP gelesen und es sieht so aus, als ob NLP viele gute Funktionen hat, um einen Vorsprung bei der Lösung dieses Problems zu erlangen. Könnte mich bitte jemand anleiten, wie ich NLP verwenden sollte, um dieses Problem zu beheben?
Antworten:
Eine Möglichkeit, dies zu handhaben, ist die Verwendung einer überwachten Klassifizierung. In diesem Modell klassifizieren Sie eine Teilmenge der Daten manuell und trainieren damit Ihren Algorithmus. Anschließend geben Sie die verbleibenden Daten in Ihre Software ein, um sie zu klassifizieren.
Dies wird mit NLTK für Python (nltk.org) erreicht.
Wenn Sie einfach nach Zeichenfolgen wie "Hardware" und "Software" suchen, ist dies ein einfacher Anwendungsfall, und Sie werden wahrscheinlich mit einem "Feature-Extraktor" anständige Ergebnisse erzielen, der Ihren Klassifizierer darüber informiert, welche Ausdrücke im Dokument relevant sind.
Es ist zwar möglich, eine automatisierte Methode zum Auffinden der Schlüsselwörter zu implementieren, es scheint jedoch, als hätten Sie bereits eine Liste im Sinn, sodass Sie diesen Schritt überspringen und nur die Tags verwenden können, die Ihnen bekannt sind. (Wenn Ihre Ergebnisse beim ersten Mal nicht zufriedenstellend sind, können Sie dies später versuchen.)
Das ist eine Übersicht für den Einstieg. Wenn Sie mit den ersten Ergebnissen nicht zufrieden sind, können Sie Ihren Klassifikator verfeinern, indem Sie komplexere Methoden wie Satzsegmentierung, Identifizierung von Dialogakttypen und Entscheidungsbäume einführen. Der Himmel ist die Grenze (oder wahrscheinlicher, Ihre Zeit ist die Grenze)!
Weitere Infos unter:
http://www.nltk.org/book/ch06.html
quelle
Sheldon ist richtig, dies klingt nach einem ziemlich typischen Anwendungsfall für die überwachte Klassifizierung. Wenn alle Ihre Kundenbeschwerden entweder Software oder Hardware sind (dh null Einzelbeschwerden decken beide Kategorien ab und Null außerhalb dieser beiden Klassen), benötigen Sie lediglich einen binären Klassifizierer, der die Dinge einfacher macht, als sie es sonst könnten.
Wenn Sie nach einem Java-basierten NLP-Toolkit suchen, das so etwas unterstützt, sollten Sie sich den Stanford Classifier ansehen : http://nlp.stanford.edu/software/classifier.shtml - es ist als Open Source-Software unter lizenziert die GPL.
Die Wiki-Seite soll Ihnen den Einstieg in die Verwendung des Klassifikators erleichtern : http://www-nlp.stanford.edu/wiki/Software/Classifier - denken Sie daran, dass Sie eine große Stichprobe Ihrer Daten manuell als kommentieren müssen Trainingsset, wie Sheldon erwähnte.
quelle