homeSoftwaredesign Softwaredesign: Indexierer für Freitextsuche Prof. Dr. Uwe Schmidt FH Wedel

Indexierer für Freitextsuche

weiter

weiter

Modell für einen Indexierer

Aufgabe
Entwicklung eines Modells für einen Indexierer für die schnelle Suche innerhalb von freien Texten.
weiter
Aufgabenbeschreibung
Ein Index für Freitextsuche in Dokumenten besteht aus einer Tabelle mit Wörtern als Schlüssel und eine Menge von Positionen als Attribute
weiter
Eine Position besteht aus Dokumentenname und Positionsangabe im Text, z.B. i-tes Zeichen oder i-tes Wort im Text oder Zeilen- und Spaltennummer.
weiter
Ein Index wird aufgebaut, indem ein Text in Wörter zerlegt wird und diese Wörter in die Tabelle eingetragen werden.
weiter
Suchanfragen an den Index liefern eine Menge von Dokumenten einschließlich Positionen für die Vorkommen in den Texten.
weiter
Die einfachste Anfrage ist eine exakte Suche nach einem einfachen Wort.
weiter
Eine allgemeinere Form der Suche ist die Präfixsuche, bei der man den Anfang eines Wortes vorgibt und alle Wörter sucht, die mit diesem Wort beginnen.
weiter
Eine Variante der einfachen Such-Anfrage ist eine unscharfe Suche, in der Wörter nicht genau zeichenweise verglichen werden, sondern unscharf.
weiter
Anfragen können mit UND und ODER verknüpft werden.
weiter
Die Suche nach Phrasen, genauer Wortfolgen, kann manchmal sinnvoll sein, z.B. nach "Angela Merkel". hierzu ist die Positionsangabe innerhalb eines Textes auszunutzen. Dann kann diese Suche auf zwei einfache Suchen zurückgeführt werden.
weiter
Eine Verallgemeinerung der Suche nach Phrasen ist die kontextsensitive Suche, d.h. eine Suche nach mehreren Begriffen, die "dicht" nebeneinander verwendet werden, so dass Texte mit den Wortfolgen "Gerhard Schröder und Wladimir Putin", "Schröder und Putin", "Putin und Schröder" gefunden werden, aber nicht "Schröder ... (25 Wörter) ... Putin".
weiter
Die Erzeugung eines Indexes erfordert einige Flexibilität bei der Auswahl der zu indexierenden Wörter um eine Form der ungenauen Suche zu ermögliche und um Speicherplatz zu sparen.
weiter
Es muss festgelegt werden, welche Zeichenfolgen ein Wort sind.
weiter
Es gibt uninteressante Wörter, die nicht zu berücksichtigen sind, in diesem Satz z.B.: es, gibt, die, nicht, sind, in, diesem
weiter
Groß- und Kleinschreibung ist häufig uninteressant: Am Anfang eines Satzes wird jedes Wort groß geschrieben, aus Verben können Substantive abgeleitet werden.
weiter
Umlaute und ß werden häufig durch Ersatzsequenzen dargestellt.
weiter
Abkürzungen und Firmennamen können wichtig sein, obwohl sie die vorgegebene Syntax eines Wortes nicht erfüllen, z.B. 3Com
weiter
Ziel
Eine abstrakte Syntax in Haskell für die Indexstruktur und die Anfragen.
weiter
Und ein OMT-Diagramm für ein geeignetes Datenmodell für den Index und die Anfragen.
weiter
Konkretisierung und Flexibilisierung des OMT-Modells und/oder der abstrakten Syntax, so daß flexible Implementierungen und einfache Erweiterungen ermöglicht werden
weiter

Letzte Änderung: 27.06.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel