|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--dataanalysis.databases.DatabaseElement
|
+--dataanalysis.classifiers.Classifier
koordiniert den Ablauf, bei der Klassifizierung von Dokumenten. Hierbei hat der Classifier die M?glichkeit auf den Vectorizer oder das Dictionary zur?ckzugreifen. Der Classifier selbst kann trainiert werden (dabei finden sowohl negative wie auch positive Beispiele ihre Anwendung). Anhand der erzeugten Trainingsergebnisse besteht die M?glichkeit sp?tere Klassifikationen pr?ziser durchf?hren zu k?nnen.
DatabaseElement.logMessage(int,String) benutzen.
Classifier(), Classifier(ClassifierDatabase):
Initialisierung zusaetzlicher Datenstrukturen.
classify(NetEntity): Der Klassifizierer traegt den Wert unter
seinem Namen in das NetEntity-Objekt ein (
DatabaseElement.getElementname()).
train(): Die klassifizierten Dokumente werden aus den
untrainedExamples entfernt.
convert(Documentvector): Einen neuen Documentvector erzeugen, nicht
den alten ueberschreiben.
| Field Summary | |
protected java.util.TreeMap |
documents
Der Vektor soll aus Dokumentenvektoren bestehen. |
protected Dictionary[] |
moreDictionaries
Sollte der Klassifikator noch weitere Woerterbuecher benoetigen, so koennen diese hier abgespeichert werden. |
protected java.lang.String[] |
moreDictionariesNames
Die Namen der evtl. |
protected ClassifierDatabase |
myDatabase
Ueber diese Datenbank greift der Klassifikator gegebenenfalls auf die Datenbank zu. |
Vectorizer |
theVectorizer
Das ist der Vektorisierer, der aus den Dokumenten den Dokumentvektor erzeugt. |
java.lang.String |
theVectorizerName
Der Name des Vektorisierers. |
protected double |
THRESHOLD
legt den Wert fest, ab dem ein Dokument als zugehoerig gilt. Dieser Wert ist nicht verbindlich fuer alle abgeleiteten Objekte, d.h. |
protected java.util.TreeMap |
untrainedExamples
Hier werden die Beispiele gespeichert, die der Klassifizierer noch zum Training benutzt. |
Dictionary |
wordDictionary
Hier wird das Feature-Woerterbuch fuer den Klassifikator abgespeichert. |
java.lang.String |
wordDictionaryName
Der Name des Feature-Woerterbuches. |
| Fields inherited from class dataanalysis.databases.DatabaseElement |
elementname |
| Constructor Summary | |
Classifier()
initialisiert den Klassifizierer |
|
Classifier(ClassifierDatabase the_database)
initialisiert den Klassifizierer. |
|
| Method Summary | |
int |
addExample(NetEntity example,
double evaluation)
erlaubt es eine Menge von Beispielen example als Trainingsmenge
dem Klassifizierer zur Verf?gung zu stellen.Das Beispiel wird (als String) in die untrainedExamples eingefuegt. |
int |
addExample(java.lang.String example,
double evaluation)
Diese Methode fuegt ein Dokument (String) zum Klassifizierer hinzu und sollte nur zu Testzwecken benutzt werden. Das Beispiel wird (als String) in die untrainedExamples eingefuegt. |
java.lang.String |
checkVariables()
Ueberprueft die transienten Variablen und setzt sie gegebenfalls. |
abstract NetEntity |
classify(NetEntity document)
dient der Klassifizierung von Texten. |
protected Documentvector |
convert(Documentvector v)
konvertiert einen Dokumentvektor so, wie der Klassifizierer ihn benoetigt. |
double |
getThreshold()
Gibt den Wert der Variablen THRESHOLD zurueck. |
void |
setDatabase(ClassifierDatabase theDB)
setzt die Datenbank, ueber die der Klassifizierer auf Dictionaries und Vectorizer zugreift. |
void |
setThreshold(double theThreshold)
Diese Methode legt den Schwellwert des Klassifizierers fuer die uebergebenen Trainingsbeispiele fest. |
java.lang.String |
toString()
|
abstract int |
train()
startet das Training des Klassifikators auf den vorhandenen Daten und den neu durch addExample(NetEntity,double)
hinzugef?gten Beispielen. |
| Methods inherited from class dataanalysis.databases.DatabaseElement |
getElementname,
logMessage,
setElementname |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
protected double THRESHOLD
setThreshold(double) moeglich.protected java.util.TreeMap documents
protected java.util.TreeMap untrainedExamples
protected ClassifierDatabase myDatabase
public transient Vectorizer theVectorizer
public java.lang.String theVectorizerName
public transient Dictionary wordDictionary
public java.lang.String wordDictionaryName
protected transient Dictionary[] moreDictionaries
protected java.lang.String[] moreDictionariesNames
| Constructor Detail |
public Classifier()
public Classifier(ClassifierDatabase the_database)
theDatabase - ist die Datenbank, in der der Klassifizierer abgespeichert
wird. (N?tig, um Zugriff auf die anderen Datenbanken zu haben.)| Method Detail |
public abstract int train()
addExample(NetEntity,double)
hinzugef?gten Beispielen.public abstract NetEntity classify(NetEntity document)
document wird unter zu Hilfenahme
des Vektorisieres, des Lexikons und der Trainingsmenge klassifiziert und
eingestuft.NetEntity.addClassification(String,double) des
NetEntity-Objektes eingetragen. Als Name wird der Name des Klassifikators
uebergeben (DatabaseElement.elementname).document - steht f?r den Text, den der Klassifizierer klassifizieren soll.NetEntity.
Sollte das Ergebnis der Klassifikation nicht verfuegbar sein, weil z.B. die
Exception NetResultReloadFailedException auftritt, so
traegt sich der Klassifizierer nicht im NetEntity ein!Vectorizer,
Dictionary
public int addExample(NetEntity example,
double evaluation)
throws NetResultReloadFailedException
example als Trainingsmenge
dem Klassifizierer zur Verf?gung zu stellen.untrainedExamples eingefuegt.example - steht f?r ein Beispiel, dass dem Klassifizierer als
Trainingsmenge zur Verf?gung gestellt wird.evaluation - steht f?r die Bewertung des Beispiels.NetEntity.getText()
public int addExample(java.lang.String example,
double evaluation)
untrainedExamples eingefuegt.example - beinhaltet das Dokument, da? hinzugef?gt werden soll.evaluation - ist die Bewertung f?r das Beispiel.public void setDatabase(ClassifierDatabase theDB)
public void setThreshold(double theThreshold)
theThreshold - uebergibt den gewuenschten Schwellwert des Klassifizierers.0.0 <= theThreshold="theThreshold" <="1.0</code">. Ansonsten wird
der neue Wert nicht uebernommen!- Since:
- 1.2
=>public double getThreshold()
THRESHOLD zurueck.protected Documentvector convert(Documentvector v)
public java.lang.String toString()
public java.lang.String checkVariables()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||