2017-02-05 4 views
0

Ich habe einen Datensatz von 1M + Beobachtungen von Kundeninteraktionen mit einem Call-Center. Der Text ist freier Text, der von dem Vertreter geschrieben wurde, der den Anruf entgegennimmt. Der Text ist nicht gut formatiert und ist auch nicht annähernd grammatikalisch korrekt (viel Kurzschrift). Keiner der freien Texte hat ein Etikett auf den Daten, da ich nicht weiß, welche Etiketten zu liefern sind.Textklassifizierung - Label Pre Process

Angesichts der Größe der Daten, wäre eine zufällige Stichprobe der Daten (um ein hohes Maß an Vertrauen zu geben) sinnvoll ersten Schritt bei der Bestimmung, welche Etiketten zu erstellen? Ist es möglich, nicht mehr als 400 zufällige Beobachtungen aus den Daten manuell zu beschriften, oder gibt es keine andere Methode zur Vorverarbeitung der Daten, um den richtigen Satz von Labels für die Klassifizierung zu bestimmen?

Schätzen Sie jede Hilfe zu diesem Problem.

Antwort

1

Manuelle Annotation ist eine gute Option, da Sie eine sehr gute Vorstellung von einem idealen Dokument haben, das Ihrem Label entspricht.

Mit der großen Datasetgröße würde ich jedoch empfehlen, dass Sie eine LDA an die Dokumente anpassen und sich die generierten Themen ansehen. Dadurch erhalten Sie eine gute Vorstellung von Beschriftungen, die Sie für die Textklassifizierung verwenden können.

Sie können LDA auch für Textklassifikation verwenden, indem Sie schließlich repräsentative Dokumente für Ihre Etiketten finden und dann die Dokumente finden, die diesem Dokument am ähnlichsten sind (zB Cosinus).

Wenn Sie eine Idee mit Etiketten haben, können Sie diese auch ohne manuellen Eingriff mit LDA zuweisen, aber dann werden Sie auf unbeaufsichtigtes Lernen beschränkt.

Hoffe, das hilft!

P.S. - Achten Sie darauf, alle Stoppwörter zu entfernen und einen Stemmer zu verwenden, um Wörter ähnlicher Königsbegriffe (Verwalten, Verwalten, Verwalten) in der Vorverarbeitungsstufe zusammenzuführen.

+0

Wow. Das ist ... mächtig. Ich danke dir sehr. Wenn jemand daran interessiert ist, dies in R implementiert zu sehen, siehe hier: http: //stackoverflow.com/questions/14875493/lda-with-topicmodels-how-can-i-see-which-topics- different- documents-belong-to – meb33

1

Text Pre-Processing: Wandeln Sie alle Text Fall zu senken, tokenize in Unigramme, entfernen Sie alle Stoppwörter, Verwendung stemmer ein Token zu normalisieren, um es Grundwort ist.

Es gibt zwei Ansätze, die ich mir vorstellen kann, um die Dokumente zu klassifizieren: den freien Text, von dem Sie gesprochen haben. Jeder freie Text ist ein Dokument:

1) Überwachte Klassifizierung Nehmen Sie sich Zeit und wählen Sie einige Stichproben von Dokumenten nach dem Zufallsprinzip aus und ordnen Sie ihnen eine Kategorie zu. Tun Sie dies, bis Sie mehrere Dokumente pro Kategorie haben und alle Kategorien, die Sie vorhersagen möchten, abgedeckt sind.

Als nächstes erstellen Sie eine Tf-IDF-Matrix aus diesem Text. Wählen Sie die obersten K-Funktionen aus (optimieren Sie den Wert von K, um die besten Ergebnisse zu erzielen). Alternativ können Sie SVD verwenden, um die Anzahl der Features zu reduzieren, indem Sie korrelierte Features zu einem kombinieren. Bitte beachten Sie, dass Sie andere Funktionen wie die Abteilung des Kundenbetreuers und viele andere auch als Prädiktoren verwenden können. Trainiere nun ein maschinelles Lernmodell und teste es aus.

2) Unüberwachtes Lernen: Wenn Sie wissen, wie viele Kategorien Sie in Ihre Ausgangsgröße haben, können Sie diese Nummer als die Anzahl der Cluster verwenden Sie erstellen möchten. Verwende den Tf-IDF-Vektor von der obigen Technik und erstelle k Cluster. Wählen Sie zufällig aus jedem Cluster ein paar Dokumente aus und entscheiden Sie, zu welcher Kategorie die Dokumente gehören. Angenommen, Sie haben 5 Dokumente ausgewählt und festgestellt, dass sie zur Kategorie "Rückerstattungsforderung" gehören.Beschriften Sie alle Dokumente in diesem Cluster mit "Wanted Refund". Tun Sie dies für alle verbleibenden Cluster.

Der Vorteil von unüberwachtem Lernen ist, dass es Ihnen den Schmerz der Vorklassifizierung und Datenvorbereitung erspart, aber hüten Sie sich vor unbeaufsichtigtem Lernen. Die Genauigkeit ist möglicherweise nicht so gut wie beim überwachten Lernen.

Die 2 erklärten Methoden sind ein abstrakter Überblick darüber, was getan werden kann. Nun, da Sie eine Idee haben, lesen Sie mehr zu den Themen und verwenden Sie ein Tool wie rididminer, um Ihre Aufgabe schneller zu erledigen.