2017-02-04 6 views
0

Welche ML-Algorithmen kann ich verwenden, um Action-Phrasen in einem bestimmten Satz zu trainieren.NLP & ML Phrase Extraction

Sentence1:I want to play cricket 
Label1: play cricket 

Sentence2: Need to wash my clothes 
Label2: wash clothes 

Ich habe eine Daten einiger ~ 2k Sätze & entsprechenden Aktions Sätze (Labels) und müssen eine andere Reihe von Sätzen auf ihnen beruhenden vorherzusagen. Kann mir jemand erklären, wie man das mit NLP/ML macht? Welchen Algo soll man für dasselbe benutzen? (vorzugsweise Python)

Antwort

0

Werfen Sie einen Blick auf NLTK Naive Bayes Classifier, es ist multiclass und Sie können es die Satz/Label-Paare direkt füttern.

NaiveBayesClassifier.train() wollen Trainingsfunktionen, würde ich beginnen mit den Funktionen einfach die Wörter in jedem Satz. Sie können die Merkmalsauswahl mit komplexeren Methoden ändern, bis Sie die gewünschten Ergebnisse erhalten.

Sie können nltk.classify.util.accuracy verwenden, um Ergebnisse zu bewerten. Denken Sie daran, Ihre Sätze in Trainings- und Testdaten aufzuteilen.

1

Hier ist der Prozess der Satz Klassifizierung:

1) den Text normalisieren - bringen den gesamten Text Fall Wörter

2) Entfernen Sie alle Anschlag zu senken - stellt sicher, dass nur relevante Merkmale verbleiben

3) Tokenize die Sätze zu Unigramm-Token

4) Bewerben stemming Technik - versuchen Sie verschiedene Stemming-Modelle/Lemmatizer, um die Wörter zu ihrem Basiswort zu bringen. Sehen Sie, welche für Ihren Fall am besten funktioniert. Zum Beispiel: spielen, spielen, Spiele werden in das Basiswort "play" umgewandelt. Dieser Schritt reduziert die Anzahl der Features.

5) Erstellen Sie eine Term Document Matrix für alle Sätze. Jede Zeile des TDM entspricht einem Satz und jede Spalte des TDM entspricht einem Token des Satzes. (Es gibt eine andere Möglichkeit, Text in Form einer Matrix mit der Bezeichnung Tf-Idf darzustellen)

6) Nun enthält diese Term-Dokumentmatrix Token als Spalten. Sie haben bereits die Etiketten an Ort und Stelle. Sie können jetzt mit dem Training der ML-Modelle beginnen. Ich nehme an, Sie wissen, wie man diesen Teil macht.