Ich versuche, eine Dokumentklassifikation mit PySpark durchzuführen.Schlüsselwörterwörterbuch in die Dokumentklassifikation mit PySpark-Code einbeziehen
Ich benutze die unten beschriebenen Schritte für das:
# Tokenizer
tokenizer = Tokenizer().setInputCol("text").setOutputCol("words")
# Stop Word removal
updated_stopwords_list = list(set(StopWordsRemover().getStopWords() +
custom_stopword_list))
remover_custom = StopWordsRemover(inputCol="words", outputCol="filtered",
stopWords=updated_stopwords_list)
# HashingTF
hashingTF = HashingTF().setNumFeatures(1000).setInputCol("filtered").setOutputCol("rawFeatures")
# IDF
idf =
IDF().setInputCol("rawFeatures").setOutputCol("features").setMinDocFreq(0)
pipeline=Pipeline(stages=[tokenizer,remover_custom,hashingTF,idf])
Und ich bin mit ihm in einer Rohrleitung.
Nun, hier nach dem Entfernen der Stoppwörter, möchte ich ein Schlüsselwort Wörterbuch (Data Dictionary) enthalten, so dass es die Wörter aus dem Array (Out Put von Stoppwort Entferner ist ein Array von Wörtern) ausgewählt wird, die vorhanden ist in diesem Wörterbuch.
Kann mir bitte jemand sagen, wie man das macht? Ich lese das Schlüsselwortverzeichnis aus einer CSV-Datei.
Hallo ayplam, danke für deine Antwort. Ich verwende den Stopwords-Parameter wie in der Frage erwähnt. Es löscht die Stoppwörter von der in Token gesetzten Ausgabe. Ich suche nicht nach etwas, das ich aus meinem Array entfernen könnte. Ich möchte nur die Wörter aus dem Array mit den Schlüsselwörtern auswählen. Also kann ich es nicht in Stoppwörtern verwenden, weil es diese Wörter entfernt. Ich möchte die Wörter beibehalten, indem ich mich auf das Schlüsselwortverzeichnis beziehe. Hoffe es ist jetzt klar. – Joe
Hallo - Ich habe meine Antwort aktualisiert, um dies zu reflektieren. – ayplam
Vielen Dank ayplam..Ich habe versucht, das udf und es funktioniert wie erwartet..Auch du hast recht über die Stopwörter Remover, ich kann diesen Schritt vermeiden :-) – Joe