dataanalysis.classifiers
Class RocchioClassifier

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

public class RocchioClassifier
extends Classifier

Rocchio-Algorithmus
Der Rocchio-Algorithmus wurde als Methode zum Relevance Feedback im Rahmen des Informations -Retrieval-Systems SMART entwickelt. Der Algorithmus basiert auf dem Vektorraum-Retrievel-Modell. In diesem Modell werden Dokumente ebenso wie Anfragen als Wortvektoren repr?sentiert. Weiterhin wird ein Abstandsmass definiert, welches die semantische ?hnlichkeit dieser Vektoren messen soll. (Quelle: Diplomarbeit "Einsatz eines intelligenten, lernenden Agenten f?r das World Wide Web" von Thorsten Joachims)

Version:
1.9 (25.11.1999)
Author:
Michael Banken
See Also:
Classifier, Serialized Form

Field Summary
protected  double countNEGd
          speichert die Anzahl der negativen Dokumente
protected  double countPOSd
          speichert die Anzahl der positiven Dokumente
 Documentvector dfVector
          speichert die Document Frequency eines jeden Wortes aus dem Feature-Woerterbuch, d.h.
protected  int documentCounter
          speichert die Anzahl aller klassifizierten Dokumente
protected  java.util.TreeMap idfMap
          hier alle nicht aehnlichen Dokumente abgelegt
protected  Documentvector mVector
          hier werden die Elemente des M-Vektors fuer die Aehnlichkeitsberechnung abgelegt
protected  java.util.TreeMap negDoc
          speichert die negativen Dokumente in einer TreeMap
protected  java.util.TreeMap posDoc
          speichert die positiven Dokumente in einer TreeMap
protected  java.util.TreeMap tfidfNEGDoc
          speichert die TF-IDF-Gewichtung aller negativen Dokumente ab
protected  java.util.TreeMap tfidfPOSDoc
          speichert die TF-IDF-Gewichtung aller positiven Dokumente ab
protected  java.util.TreeMap tfMap
          hier werden alle aehnlichen Dokumente abgelegt
 
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
RocchioClassifier()
          >>>>> KONSTRUKTOR << <="<" />D>
RocchioClassifier(ClassifierDatabase classiBase)
          >>>>> erweiteter KONSTRUKTOR mit Datenbankuebergabe << <="<" />D>
 
Method Summary
 NetEntity classify(NetEntity document)
          Das uebergebene Dokument wird unter zu Hilfenahme des Vektorisieres, des Lexikons und der Trainingsmenge klassifiziert und eingestuft.
 int setDFVector()
          Ermittelt die Haeufigkeit mit der die verschiedenen Worte in den Trainingsbeispielen vorkommen.
 Documentvector tf2TFIDF(Documentvector docVec)
          Fuer die TF-IDF-Gewichtung muss der uebergebene Vektor der in der TF-Form vorliegt in TF-IDF-Form konvertiert werden.
 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, checkVariables, 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

countPOSd

protected double countPOSd
speichert die Anzahl der positiven Dokumente
Since:
1.1

countNEGd

protected double countNEGd
speichert die Anzahl der negativen Dokumente
Since:
1.1

documentCounter

protected int documentCounter
speichert die Anzahl aller klassifizierten Dokumente
Since:
1.1

posDoc

protected java.util.TreeMap posDoc
speichert die positiven Dokumente in einer TreeMap
Since:
1.1

negDoc

protected java.util.TreeMap negDoc
speichert die negativen Dokumente in einer TreeMap
Since:
1.1

tfidfPOSDoc

protected java.util.TreeMap tfidfPOSDoc
speichert die TF-IDF-Gewichtung aller positiven Dokumente ab
Since:
1.1

tfidfNEGDoc

protected java.util.TreeMap tfidfNEGDoc
speichert die TF-IDF-Gewichtung aller negativen Dokumente ab
Since:
1.1

mVector

protected Documentvector mVector
hier werden die Elemente des M-Vektors fuer die Aehnlichkeitsberechnung abgelegt
Since:
1.1

dfVector

public transient Documentvector dfVector
speichert die Document Frequency eines jeden Wortes aus dem Feature-Woerterbuch, d.h. die Haeufigkeit eines Wortes in den verschiedenen Dokumenten
Since:
1.1

tfMap

protected java.util.TreeMap tfMap
hier werden alle aehnlichen Dokumente abgelegt
Since:
1.1

idfMap

protected java.util.TreeMap idfMap
hier alle nicht aehnlichen Dokumente abgelegt
Since:
1.1
Constructor Detail

RocchioClassifier

public RocchioClassifier()
>>>>> KONSTRUKTOR << <="<"
Since:
1.1

RocchioClassifier

public RocchioClassifier(ClassifierDatabase classiBase)
>>>>> erweiteter KONSTRUKTOR mit Datenbankuebergabe << <="<"
Since:
1.1
Method Detail

setDFVector

public int setDFVector()
Ermittelt die Haeufigkeit mit der die verschiedenen Worte in den Trainingsbeispielen vorkommen.
Returns:
die Dimension des DF-Vektors
Since:
1.1

tf2TFIDF

public Documentvector tf2TFIDF(Documentvector docVec)
Fuer die TF-IDF-Gewichtung muss der uebergebene Vektor der in der TF-Form vorliegt in TF-IDF-Form konvertiert werden.
Parameters:
docVec - der TF-Vektor
Returns:
newVec der TF-IDF-Vektor
Since:
1.1

train

public int train()
startet das Training des Klassifikators auf den vorhandenen Daten und den neu durch "addExample" hinzugef?gten Beispielen.
Returns:
Kodierung f?r eine Meldung (optional).
Overrides:
train in class Classifier
Since:
1.1

classify

public NetEntity classify(NetEntity document)
Das uebergebene Dokument wird unter zu Hilfenahme des Vektorisieres, des Lexikons und der Trainingsmenge klassifiziert und eingestuft.
Parameters:
document - steht fuer den Text, den der Klassifizierer klassifizieren soll.
Returns:
Ausgabe des klassifizierten Dokuments.
Overrides:
classify in class Classifier
Since:
1.1
See Also:
Vectorizer, Dictionary