Wie verwende ich einen benutzerdefinierten Stoppwortfilter in der Java Weka-API?

8

Ich verwende die Java Weka API, um ein Klassifizierungsmodell zu erstellen. Ich kann den eingebauten Stoppwortfilter verwenden. Ich muss jedoch einen benutzerdefinierten Filter für mein Problem verwenden. Ich weiß nicht, wie man einen benutzerdefinierten Stoppwortfilter in der Java Weka API verwendet.

Radia Karim
quelle

Antworten:

7

Sie können den folgenden Code ausprobieren.

import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.unsupervised.attribute.StringToWordVector;
import weka.core.Instances;

Instances data = DataSource.read(".../document.txt"); //Your document .
filter.setInputFormat(data);
StringToWordVector filter = new StringToWordVector();
filter.setStopwords(new File(".../stopwords.txt")); //stop words file.
Instances data = Filter.useFilter(data,filter);

Sie können auch das folgende Dokument lesen, um die Weka-API für Java besser zu verstehen. http://weka.sourceforge.net/doc.stable/

Howa Begum
quelle
Ich schätze deine Unterstützung. Vielen Dank. Ihr Code und der Link des Dokuments helfen mir sehr.
Radia Karim
7

Zunächst müssen Sie eine Textdatei für Ihre benutzerdefinierten Stoppwörter vorbereiten. Dann können Sie den folgenden Code verwenden:

import weka.filters.unsupervised.attribute.StringToWordVector;

StringToWordVector filter = new StringToWordVector(10000);
filter.setStopwords(new File(".../stopwords.txt"));

Hoffe es wird dir helfen.

Rejaul Karim
quelle
Ich schätze deine Unterstützung.
Radia Karim
Ich bin sehr neu in der Java-Weka-API-Programmierung. Ich verstehe nicht klar. Bitte geben Sie mir eine etwas ausführlichere Antwort. Danke im Voraus für deine Unterstützung.
Radia Karim
Bitte lassen Sie uns wissen, welchen Teil Sie nicht verstehen.
Rejaul Karim