next up previous contents
Nächste Seite: 3.5 Klassifikator Aufwärts: 3 Implementierung Vorherige Seite: 3.3 Datenbankentwurf   Inhalt

3.4 Aufbereitung der Daten

Für das Trainieren des Naive-Bayes-Klassifikators werden die Trainingsdokumente in Features aufgespalten. Ein Feature besteht hierbei aus einem Term (aus dem #PCDATA-Teil des jeweiligen XML-Dokuments bzw. NULL für innere XML-Knoten wie z. B. <MOVIE> oder <CAST>) und dem Label des XML-Knotens, der diesen Term enthält.

Die ersten zwei Zeilen eines jeden Dokuments werden ignoriert, da sie in allen Dokumenten identisch sind. Diese Zeilen dienen der Wohlgeformtheit der XML-Dokumente gemäß den XML-Spezifikationen.

Die Zerlegung eines XML-Dokuments setzt sich aus mehreren Schritten zusammen:

  1. Mittels eines DOM-Parsers (DOM = Document Object Model) wird das XML-Dokument in eine Baumstruktur gebracht.

  2. Die erzeugte Baumstruktur wird entsprechend einer Tiefensuche durchlaufen. Dabei werden innere Knoten ohne CONTENT gespeichert.1 Für Blattknoten wird deren textueller Inhalt in Terme aufgespalten, die mit dem Stemming-Algorithmus von Porter [Por80] durch Suffix-Entfernung auf ihre jeweilige Stammform reduziert werden und anschließend mit dem zugehörenden LABEL, also dem Namen des beinhaltenden Tags, gespeichert werden.

  3. Knoten ohne CONTENT und Knoten, deren Terme in der verwendeten Stopwortliste enthalten sind, werden entfernt.

Das folgende Dokument ist ein kurzer Ausschnitt aus einem Dokument der Datenbasis:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE MOVIE SYSTEM "movie.dtd">
<MOVIE>
  <TITLE>Alien</TITLE>
  <YEAR>1979</YEAR>
  <CAST>
    <ROLE>
      <ACTOR>Tom Skerritt</ACTOR>
      <NAME>Captain Dallas</NAME>
    <ROLE>
      <ACTOR>Sigourney Weaver</ACTOR>
      <NAME>Ripley</NAME>
    </ROLE>
  </CAST>
</MOVIE>

Oben stehendes XML-Dokument wird nach den beschriebenen Schritten in folgende Features zerlegt:

LABEL CONTENT LABEL CONTENT
TITLE Alien NAME Dalla
YEAR 1979 ACTOR Sigournei
ACTOR Tom ACTOR Weaver
ACTOR Skerritt NAME Ripley
NAME Captain    


next up previous contents
Nächste Seite: 3.5 Klassifikator Aufwärts: 3 Implementierung Vorherige Seite: 3.3 Datenbankentwurf   Inhalt