Lexikalische Analyse und Stoplisten

Ein Vortrag von Frank Kleine
im Rahmen des Proseminars "Information Retrieval"
WS 1999/2000, Otto-von-Guericke-Universität Magdeburg
Dienstag, 16. November 1999

 

 Sie befinden sich hier: >Vortrag >2.1 LA für automatisches Indexieren

 

 2.1 Lexikalische Analyse für automatisches Indexieren:

Bevor wir beginnen, irgendwelche Algorithmen zu entwickeln, müssen erst einige wichtige Entscheidungen getroffen werden. Die erste davon mag vielleicht verblüffen, stellt aber eine wesentliche Grundsatzentscheidung für die weitere Vorgehensweise dar. Es ist die Frage: Was ist bzw. was zählt als ein Wort? Als Antwort darauf lässt sich erst einmal festhalten: ein Wort (im folgenden Term genannt) ist ein String mit einer bestimmten Anzahl an Zeichen. Dies ist eine schön einfache Festlegung, führt aber auch zu Problemen:

Zahlen:
Zahlen ergeben keine guten Indexterme, und werden deshalb oft nicht zur Indexierung genutzt. Sie können aber auch in Wörtern enthalten sein, die wichtig für Indexterme sind, z. B. in einer Datenbank über Vitamine (B6, B12). Eine mögliche Lösung des Problemes: Zahlen werden erlaubt, aber nicht an der ersten Stelle des Termes.

Bindestrichwörter:
Das Aufbrechen in Einzelterme kann bei inkonsistentem Gebrauch helfen (state-of-the-art = state of the art), die Spezifizierung würde aber verloren gehen, da es nicht mehr als zusammenhängender Begriff zu gebrauchen ist. Ein Bindestrich kann auch die Silbentrennung bei Wörtern am Zeilenende bedeuten, dann empfiehlt sich das Wegstreichen. Bindestriche können aber auch Teil eines Namens sein, z.B. M$-DO$ oder F-16.

andere Zeichensetzung:
Oft gibt es innerhalb eines Namens eine Zeichensetzung, die dem normalen Sprachgebrauch widerspricht, z.B. command.com, OS/2. Auch Zahlen mit Komma und Punkt wie 2.687,58 müssen möglicherweise erkannt werden. Bei Compilern ist ein Unterstrich möglicherweise wichtig, z.B. bei Programmfunktionen wie
max_size.

Gross- und Kleinschreibung
Eine Unterscheidung zwischen Gross- und Kleinschreibung ist nicht unbedingt wichtig für Indexterme, denn typischerweise werden Gross- in Kleinbuchstaben umgewandelt. In Programmiersprachen jedoch ist eine Unterscheidung zwischen Gross- und Kleinschreibung möglicherweise wichtig.

Es ist technisch nicht schwierig, diese Probleme zu lösen, aber wenn jemand ein IR-System entwirft und entwickelt, sollte er sich schon Gedanken darüber machen, was das System leisten soll. Diese Überlegungen sind auch wichtig, beeinflusst die Handhabung der oben genannten Probleme doch die für IR-Systeme wichtigen Maße von Precision und Recall. Beides sind Maße zur Verdeutlichung der Effektivität der Auffindung von Dokumenten zu einem eingegebenen Suchbegriff und können zum Vergleich von zwei Systemen in Bezug auf eine Anfrage genutzt werden.

Recall ist das Verhältnis von erhaltenen relevanten Dokumenten für einen gegebenen Suchbegriff über die Anzahl relevanter Dokumente in der Datenbank. Dieser Nenner ist normalerweise unbekannt, zumindestens für grosse Ansammlungen:

Berechnung von Recall.

Precision ist das Verhältnis der Anzahl der erhaltenen relevanten Dokumente über die Anzahl aller erhaltenen Dokumente:

Berechnung von Precision.

Die Werte für beide Maße liegen zwischen 0 und 1, die Idealwerte sind jeweils 1. Für Precision ergibt sich dieser Wert, wenn die Antwortmenge nur ein einziges relevantes Dokument enthält, für Recall wäre dies der Fall, wenn Antwortmenge gleich der Dokumentmenge ist. Normalerweise sind beide entgegengesetzt proportional: Steigt Recall, sinkt Precision, steigt Precision, so fällt Recall, da die Antwortmenge in der Regel zwischen diesen beiden Extremen liegt.

Zwischen Recall und Precision lassen sich folgende Beziehungen festlegen: Durch eine spezifischere Anfrage kann die Antwortmenge verkleinert werden, d.h. Precision wird grösser, während Recall kleiner wird. Vergrössert mensch die Antwortmenge durch eine allgemeinere Anfrage, so verhält es sich genau anders herum.

Für die oben aufgeführten Probleme bedeutet dies: Das Aufbrechen von Bindestrichwörtern erhöht Recall und senkt Precision, weil die Antwortmenge vergrössert wird, und ist in einigen Fällen auch unangebracht (z.B. bei Namen), während das Erhalten von Gross- und Kleinschreibung Precision erhöht und Recall senkt, da die Antwortmenge verkleinert wird.

 

Zurück. Home. Vorwärts.

 

Letzte Änderung am 16. November 1999. Nach oben fk@sirmikey.de © 1999 Frank Kleine