dataanalysis.classifiers
Class KeywordClassifier

java.lang.Object
  |
  +--dataanalysis.databases.DatabaseElement
        |
        +--dataanalysis.classifiers.Classifier
              |
              +--dataanalysis.classifiers.KeywordClassifier

public class KeywordClassifier
extends Classifier

Dieser Klassifikator ist in der Lage, Dokumente anhand von Wortvorkommen zu klassifizieren. Alle Worte, die in den Beispielen vorkommen, werden auf Vorkommen im Inhalt sowie der URL der uebergebenen NetEntity ueberprueft. Der eingetragene Wert wird durch die Vorkommenshaeufigkeit der einzelnen Worte im Text, bzw. der URL bestimmt. Dabei werden die Vorkommenshaeufigkeiten von negativen Beispielen negativ gewertet. Die Gross-/Kleinschreibung wird nicht beachtet.

Version:
1.0 (13.12.1999)
Author:
Andre Masloch
See Also:
Serialized Form

Field Summary
protected  int negativeCount
          Hier ist die Wortanzahl der negativen Beispiele abgespeichert.
protected  java.lang.String negativeKeywords
          In diesem String sind alle Worte abgelegt, die in den negativen Beispielen vorhanden waren.
protected  int positiveCount
          Hier ist die Wortanzahl der positiven Beispiele abgespeichert.
protected  java.lang.String positiveKeywords
          In diesem String sind alle Worte abgelegt, die in den positiven Beispielen vorhanden waren.
protected  StringMatcher smNegative
          Das StringMatcher-Objekt fuer die negativen Worte.
protected  StringMatcher smPositive
          Das StringMatcher-Objekt fuer die positiven Worte.
 
Fields inherited from class dataanalysis.classifiers.Classifier
documents, moreDictionaries, moreDictionariesNames, myDatabase, theVectorizer, theVectorizerName, THRESHOLD, untrainedExamples, wordDictionary, wordDictionaryName
 
Fields inherited from class dataanalysis.databases.DatabaseElement
elementname
 
Constructor Summary
KeywordClassifier()
           
KeywordClassifier(ClassifierDatabase theDB)
           
 
Method Summary
 java.lang.String checkVariables()
          Diese Methode wurde ueberschrieben, weil dieser Klassifikator keine Dictionaries oder Vectorizer benoetigt.
 NetEntity classify(NetEntity document)
          Klassifiziert die uebergebene NetEntity.
 java.lang.String getNegativeKeywords()
          Liefert eine Kopie der positiven Schluesselworte zurueck.
 java.lang.String getPositiveKeywords()
          Liefert eine Kopie der positiven Schluesselworte zurueck.
 int train()
          startet das Training des Klassifikators auf den vorhandenen Daten und den neu durch "addExample" hinzugef?gten Beispielen.
 
Methods inherited from class dataanalysis.classifiers.Classifier
addExample, addExample, convert, getThreshold, setDatabase, setThreshold, toString
 
Methods inherited from class dataanalysis.databases.DatabaseElement
getElementname, logMessage, setElementname
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

positiveKeywords

protected java.lang.String positiveKeywords
In diesem String sind alle Worte abgelegt, die in den positiven Beispielen vorhanden waren. Doppelte Vorkommen werden nicht beruecksichtigt!

negativeKeywords

protected java.lang.String negativeKeywords
In diesem String sind alle Worte abgelegt, die in den negativen Beispielen vorhanden waren. Doppelte Vorkommen werden nicht beruecksichtigt!

positiveCount

protected int positiveCount
Hier ist die Wortanzahl der positiven Beispiele abgespeichert.

negativeCount

protected int negativeCount
Hier ist die Wortanzahl der negativen Beispiele abgespeichert.

smPositive

protected transient StringMatcher smPositive
Das StringMatcher-Objekt fuer die positiven Worte.

smNegative

protected transient StringMatcher smNegative
Das StringMatcher-Objekt fuer die negativen Worte.
Constructor Detail

KeywordClassifier

public KeywordClassifier()

KeywordClassifier

public KeywordClassifier(ClassifierDatabase theDB)
Method Detail

train

public int train()
startet das Training des Klassifikators auf den vorhandenen Daten und den neu durch "addExample" hinzugef?gten Beispielen.
Returns:
Anzahl der Worte in allen Dokumenten.
Overrides:
train in class Classifier

classify

public NetEntity classify(NetEntity document)
Klassifiziert die uebergebene NetEntity. Es wird jeweils fuer die positiven, sowie fuer die negativen Beispiele ein Wert durch einen StringMatcher.matchesTo(String)-Aufruf ermittelt. Der Klassifizierer traegt dann als Klassifikation die Differenz dieser beiden Werte geteilt durch die Summe der beiden Werte, abgebildet auf den Intervall [0.0,1.0] ein.
Parameters:
document - steht fuer die NetEntity, die der Klassifizierer klassifizieren soll.
Returns:
Ausgabe des klassifizierten Dokuments.
Overrides:
classify in class Classifier

checkVariables

public java.lang.String checkVariables()
Diese Methode wurde ueberschrieben, weil dieser Klassifikator keine Dictionaries oder Vectorizer benoetigt.
Overrides:
checkVariables in class Classifier

getPositiveKeywords

public java.lang.String getPositiveKeywords()
Liefert eine Kopie der positiven Schluesselworte zurueck.
Since:
1.1

getNegativeKeywords

public java.lang.String getNegativeKeywords()
Liefert eine Kopie der positiven Schluesselworte zurueck.
Since:
1.1