4. Suche in Texten. Einführung

Ähnliche Dokumente
solche mit Textzeichen (z.b. A, a, B, b,!) solche mit binären Zeichen (0, 1)

13 Rekonfigurierende binäre Suchbäume

Funktionen und Mächtigkeiten

Controlling als strategisches Mittel im Multiprojektmanagement von Rudolf Fiedler

Kapitel 6 s schreiben und organisieren

1 GeschäftsdiaGramme. Abbildung 1.1: Übersicht zu unterschiedlichen Grafi ktypen Unify objects: graphs e.g. org graphs, networks, and maps

Sie das Gerät aus und überprüfen Sie den Lieferumfang. Netzkabel. Trägerbogen/Plastikkarten-Trägerbogen DVD-ROM

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Präfixcodes und der Huffman Algorithmus

3 Module in C. 4 Gültigkeit von Namen. 5 Globale Variablen (2) Gültig im gesamten Programm

Def.: Sei Σ eine Menge von Zeichen. Die Menge Σ* aller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt:

2 Kinobesuch GRAMMATIK. perfekt. Im September LEICHT. wann die Vorstellung beginnt. Schreiben Sie Sätze! Beginnen Sie mit den grün markierten Wörtern!

McAfee Firewall Enterprise

Definition Suffixbaum

Shortest Path Algorithmus von Edsger Dijkstra

ADSORPTIONS-ISOTHERME

Motivation. Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume. Überblick. Pseudocode von SEARCH. in binären Suchbäumen. in binären Suchbäumen

Die Regelungen zu den Einsendeaufgaben (Einsendeschluss, Klausurzulassung) finden Sie in den Studien- und Prüfungsinformationen Heft Nr. 1.

Haus B Außenwand, Sockel

Projektmanagement Selbsttest

TS200 Verdeckte Befestigung mit Agraffen und Profilen

3 Exzisionstechniken und Defektdeckungen in speziellen Lokalisationen

Algorithmen auf Sequenzen

Prüfungsteil Schriftliche Kommunikation (SK)

Grundlagen der Technischen Informatik. Bausteine der Digitaltechnik - Binäre Schalter und Gatter. Kapitel 7.1

Fragebogen 1 zur Arbeitsmappe Durch Zusatzempfehlung zu mehr Kundenzufriedenheit

Brückenkurs Mathematik Dr. Karl TH Nürnberg

Gegenstand und Zweck

Z R Z R Z R Z = 50. mit. aus a) Z L R. Wie groß ist der Leistungsfaktor cos der gesamten Schaltung?

Chemisches Gleichgewicht

Getriebe und Übersetzungen Übungsaufgaben

edatenq ist eine Anwendung, die den Unternehmen die Möglichkeit bietet, ihre statistischen Meldungen über das Internet auszufüllen und einzureichen.

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Für den Mathe GK, Henß. - Lineare Algebra und analytische Geometrie -

Spannung galvanischer Zellen (Zellspannungen)

Hier beginnen DCP-J140W

Vorlesung 24: Topological Sort 1: Hintergrund. Einführung in die Programmierung. Bertrand Meyer. Topological sort

ZDfB_Ü01_LV_ Felix Brandl München ZERTIFIKAT DEUTSCH FÜR DEN BERUF ÜBUNGSSATZ 01. Kandidatenblätter LESEVERSTEHEN ZEIT: 40 MINUTEN

Lösungsskizze zu Übungsblatt Nr. 13

VIESMANN. VITODENS Abgassysteme für Gas-Brennwertkessel 3,8 bis 105,0 kw. Planungsanleitung ABGASSYSTEME VITODENS

Lösungsskizze zu Übungsblatt Nr. 13

Mäxchen ein Würfelspiel

Vorkurs Mathematik Fachhochschule Frankfurt, Fachbereich 2. Fachhochschule Frankfurt am Main Fachbereich Informatik und Ingenieurwissenschaften

Kapitel 7 Kalender, Erinnerungen und Kontakte

AT = λ TB. Kapitel 5: Teilverhältnisse und Ähnlichkeit. Definition Teilverhältnis λ. Allgemeiner

Public-Key-Verfahren: Diffie-Hellmann und ElGamal

DIN 41612/ Steckverbinder und ergänzende Komponenten. Katalog D /09 Ausgabe 2

Das customized Alignersystem

Teil V: Formale Sprachen

Einführung: Sequence Alignment

Die nächste Übung ist vom auf den verlegt worden.

DV1_Kapitel_5.doc Seite 5-1 von 36 Rüdiger Siol :31

Klausur Grundlagen der Elektrotechnik (Version 5 für Diplom)

Hier beginnen DCP-J152W

Deutsch. Installationsanleitung. Italiano. Guida di installazione. Português. Manual de instalação

Programmieren in C/C++ und Matlab

Gerd Wöstenkühler. Grundlagen der Digitaltechnik Elementare Komponenten, Funktionen und Steuerungen

Hilfsrelais HR 116. Bilfinger Mauell GmbH

Lehrgang: Digitaltechnik 1 ( Grundlagen ) - Im Lehrgang verwendete Gatter ( Übersicht ) Seite 3

Übungssatz 01 FIT IN DEUTSCH 1. Kandidatenblätter/Prüferblätter ISBN: FIT1_ÜS01_Kandidaten-/Prueferblaetter_Oktober_2005

Inhaltsverzeichnis. Inhaltsverzeichnis Logik Zahlensysteme Grundbegriffe zweiwertiger Logik... 13

Rekombinante DNA-Technologien

Dämmschichten im Zwischendeckenbereich. positiv (verzögerte Temperaturerhöhung auf der feuerabgekehrten Seite der Deckenkonstruktion)

Orientierungshilfe zu Auswahltests Training, Tipps und Taktik Bundesagentur für Arbeit

Satzung Elephants Club e.v. Stand Dezember ELEPHANTS CLUB e. V. Vereinsregister-Nr.: 10751, Amtsgericht Frankfurt/Main

www. line21 Kommunikation Daten- und Telefontechnik über 1 Kabel mit 4 Adern. Kein Problem mit line21 natürlich von Rutenbeck!

McAfee Firewall Enterprise

Stabile Hochzeiten wie und warum?

STUDIENPLAN ZUM STUDIENGANG BACHELOR BETRIEBSWIRTSCHAFTSLEHRE UNIVERSITÄT BERN VOM 1. AUGUST 2007

Systemtheorie Digitaler Systeme

Versuchsplanung. Grundlagen. Extrapolieren unzulässig! Beobachtungsbereich!

Sehen wie s geht! Leseprobe. Kapitel 4:»Windows schneller machen« Inhaltsverzeichnis. Stichwortverzeichnis. Die Autoren

Skript für die Oberstufe und das Abitur 2015 Baden-Württemberg berufl. Gymnasium (AG, BTG, EG, SG, WG)

Solatube Brighten Up -Serie

ÜBUNGSSATZ 01 ZERTIFIKAT DEUTSCH FÜR DEN BERUF. Kandidatenblätter STRUKTUREN UND WORTSCHATZ ZEIT: 30 MINUTEN. ZDfB_Ü01_SW_

Einschub: Zahlendarstellung und Codes

Dental-CT bei Kindern Technische Vorgehensweise und exemplarische Befunde

Studienplan "Italienische Sprach- und Literaturwissenschaft"

Kleines Deutschlandquiz

1. Elektrostatische Felder E

Ja, klar! Das weiß ich.

Allgemeine Bedingungen für die Kfz-Versicherung AKB. Stand

SAMSUNG Registrierkassen. Modelle ER-5100 / ER-5115 / ER-5140 PROGRAMMIERANLEITUNG

,50 = 892,50 Nettopreis Umsatzsteuer Bruttopreis

Die Brückenlappentechnik zum sicheren Verschluss von Nasenseptumdefekten

c dl SPiC (Teil C, SS 11) 13 Zeiger und Felder 13.1 Zeiger Einführung 13 1 Zeigervariable := Behälter für Verweise ( Adresse) Beispiel int x = 5;

Übungssatz 01 FIT IN DEUTSCH 2. Kandidatenblätter/Prüferblätter ISBN: FIT2_ÜS01_Kandidaten-/Prueferblaetter_Juli_2005

Krankheitskostenversicherung

Füllungen im Zahnhalsbereich Mit dem Laser im Vorteil

1KOhm + - y = x LED leuchtet wenn Schalter x gedrückt ist

Keil Telecom Homepage - Hersteller von Isdn Tk Anlagen und Türsprechsystemen für Heim und Bü...

Identifizierbarkeit von Sprachen

ANATOMIE-QUIZ KÖRPER-QUIZ

Knauf Fireboard-Systeme. Ausgabe 07/03

Therapiebegleiter Kopfschmerztagebuch

SPRACHFERIEN KÜNZELSAU 2008

Karlsruher Institut für Technologie

Lesen Sie diese Installationsanleitung, bevor Sie das Gerät verwenden, um es richtig einzurichten und zu installieren.

Transkript:

Einführung 4. Suhe in Texten Suhe in dynmishen Texten (ohne Indexierung) - Niver lgorithmus (Brute Fore) - Knuth-Morris-Prtt (KMP) - lgorithmus - Boyer-Moore (BM) - lgorithmus - Signturen Suhe in (weitgehend) sttishen Texten -> Indexierung - Suffix-Bäume - Invertierte Listen - Signtur-Dteien pproximtive Suhe - k-mismth-prolem - Editierdistnz - Berehnung der Editierdistnz Einführung Prolem: Suhe eines Teilwortes/Musters/Sequenz in einem Text - String Mthing - Pttern Mthing - Sequene Mthing häufig enötigte Funktion - Textverreitung - Durhsuhen von We-Seiten - Durhsuhen von Dteismmlungen et. - Suhen von Mustern in DN-Sequenzen (egrenztes lphet:, C, G, T) Dynmishe vs. sttishe Texte - dynmishe Texte (z.b. im Texteditor): ufwendige Vorverreitung / Indizierung i.. niht sinnvoll - reltiv sttishe Texte: Erstellung von Indexstrukturen zur Suheshleunigung Suhe nh elieigen Strings/Zeihenketten vs. Wörten/Begriffen Exkte Suhe vs. pproximtive Suhe (Ähnlihkeitssuhe) 4-1 4-2 Einführung (2) Genuere ufgenstellung (exkte Suhe) - Gegeen: Zeihenkette text [1..n] us einem endlihen lphet, Muster (Pttern) pt [1..m] mit pt[i], m <= n - Fenster w i ist eine Teilzeihenkette von text der Länge m, die n Position i eginnt, lso text [i] is text[i+m-1] - Ein Fenster w i, ds mit dem Muster p üereinstimmt, heißt Vorkommen des Musters n Position i. w i ist Vorkommen: text [i] = pt [1], text[i+1]=pt[2],..., text[i+m-1]=pt[m] - Ein Mismth in einem Fenster w i ist eine Position j, n der ds Muster mit dem Fenster niht üereinstimmt - Gesuht: ein oder lle Positionen von Vorkommen des Pttern pt im Text Beispiele Position: 12345678... dieser text ist... 12345678... Mß der Effizienz: nzhl der (Zeihen-) Vergleihe zwishen Muster und Text Niver lgorithmus (Brute Fore) Brute Fore-Lösung 1 - Rükge der ersten Position i n der Muster vorkommt zw. -1 flls kein Vorkommen FOR i=1 to n -m+1 DO BEGIN found := true; FOR j=1 to m DO IF text[i] pt [j] THEN found := flse; { Mismth } IF found THEN RETURN i; END; RETURN -1; - Komplexität O((n-m)*m) = O (n*m) Brute Fore-Lösung 2 - rehen der Prüfung einer Textposition i ei erstem Mismth mit dem Muster FOR i=1 to n -m+1 DO BEGIN j := 1; WHILE j <= m ND pt[j] = text[i+j-1] DO j := j+1 END; IF j = m+1 THEN RETURN i; END RETURN -1; - ufwnd oft nur O(n+m) - Worst Cse-ufwnd weiterhin O(n*m) 4-3 4-4

Niver lgorithmus (2) der erste text ist kurz Vershiedene essere lgorithmen - Nutzung der Musterstruktur, Kenntnis der im Muster vorkommenden Zeihen - Knuth-Morris-Prtt (1974): nutze ereits geprüfter Musternfng um ggf. Muster um mehr ls eine Stelle nh rehts zu vershieen - Boyer-Moore (1976): Teste Muster von hinten nh vorne Knuth-Morris-Prtt (KMP) Idee: nutze ereits gelesene Informtion ei einem Mismth - vershiee ggf. Muster um mehr ls 1 Position nh rehts - gehe im Text nie zurük! llgemeiner Zusmmenhng - Mismth n Textposition i mit j-tem Zeihen im Muster - j-1 vorhergehende Zeihen stimmen üerein - mit welhem Zeihen im Muster knn nun ds i-te Textzeihen verglihen werden, so dß kein Vorkommen des Musters üersehen wird? Beispiele DTENSTRUKTUREN DTUM j-1 t i p j GEGEBENENFLLS GEGEN 4-5 4-6 KMP (2) Beohtungen k t i - wesentlih ist ds längste Präfix des Musters (Länge k < j-1), ds Suffix des üereinstimmenden Bereihes ist, j-1 d.h. gleih pt [ j-k-1.. j-1] ist pt: k p j - dnn ist Position k+1 = next (j) im Muster, die nähste Stelle, die mit Textzeihen t i zu vergleihen ist (entspriht Vershieung des Musters um j-k-1 Positionen) Vershieung: k - für k=0 knn Muster um j-1 Positionen vershoen werden Hilfstelle next spezifiziert die nähste zu prüfende Position des Musters - next [j] git für Mismth n Postion j > 1, die ls nähstes zu prüfende Musterposition n - next[j] = 1 + k (=Länge des längsten ehten Suffixes von pt[1..j-1], ds Präfix von pt ist) - next [1]=0 - next knn usshliesslih uf dem Muster selst (vor) estimmt werden Beispiel zur Bestimmung der Vershieetelle next j 12345 next[j]: BBC KMP (3) KMP-Suhlgorithmus (setzt vorus, dss next-telle erstellt wurde) j:=1; i:=1; WHILE (i <= n) DO BEGIN IF pt[j]= text[i] DO BEGIN IF j=m RETURN i-m+1; // Mth j := j+1; i := i+1; ELSE END RETURN -1; // Mismth Beispiel END IF j>1 THEN j := next [j] ELSE i := i+1; BCBBBBC BBC j next[j]: 12345 BBC 4-7 4-8

KMP (4) Verluf von i und j ei KMP-Stringsuhe m 1 1 linere Worst-Cse-Komplexität O(n+m) - Suhverfhren selst O(n) - Vorerehnung der next-telle O (m) vorteilhft v.. ei Wiederholung von Teilmustern n Boyer-Moore uswertung des Musters von rehts nh links, um ei Mismth Muster möglihst weit vershieen zu können Nutzung von im Suhmuster vorhndenen Informtionen, insesondere vorkommenden Zeihen und Suffixen Vorkommens-Heuristik ( d hrter heuristi ) - Textposition i wird mit Muster von hinten eginnend verglihen; Mismth n Muster-Position j für Textsymol t - wenn t im Muster niht vorkommt (v.. ei kurzen Mustern sehr whrsheinlih), knn Muster hinter t geshoen, lso um j Positionen - wenn t vorkommt, knn Muster um einen Betrg vershoen werden, der der Position des letzten Vorkommens des Symols im Suhmuster entspriht - Vershieeumfng knn für jeden Buhsten des lphets vor uf Muster estimmt und in einer Telle vermerkt werden Beispiel: DTENSTRUKTUREN UND LGORITHMEN... DTUM DTUM 4-9 4-10 Boyer-Moore (2) Vorerehnung einer Hilfstelle lst - für jedes Symol des lphets wird die Position seines letzten Vorkommens im Muster ngegeen - -1, flls ds Symol niht im Muster vorkommt - für Mismth n Musterposition j, vershiet sih der nfng des Musters um j - lst [t] +1 Positionen Boyer-Moore: Beispiel PETER PIPER PICKED PECK PECK lgorithmus i:=1; WHILE (i <= n-m) DO BEGIN j := m; WHILE j >= 1 ND pt[j]= text[i+j-1] DO j := j-1; IF j < 1 RETURN i; // Mth ELSE i := (i+j-1) - lst [text[i+j-1]]); END; RETURN -1; // Mismth Komplexität: - für große lphete / kleine Muster wird meist O (n / m) erreiht, d.h zumeist ist nur jedes m- te Zeihen zu inspizieren - Worst-Cse jedoh O (n*m) Lst-Telle: : N: B: O: C: P: D:... E:... J: Y: K: Z:...... 4-11 4-12

Boyer-Moore (4) weitere Veresserung durh Mth-Heuristik ( good suffix heuristi ) - Suffix s des Musters stimmt mit Text üerein - Fll 1: flls s niht noh einml im Muster vorkommt, knn Muster um m Positionen weitergeshoen werden - Fll 2: es git ein weiteres Vorkommen von s im Muster knn vershoen werden, is dieses Vorkommen uf den entsprehenden Textteil zu s usgerihtet ist - Fll 3: Präfix des Musters stimmt mit Endteil von s üerein: Vershieung des Musters is üereinstimmende Teile üereinnder liegen CBBBCBBCB... BBBC BBBCBCB... CBBC linere Worst-Cse-Komplexität O (n+m) CBBBCBBCB... BCCBC Signturen Indirekte Suhe üer Hsh-Funktion - Berehnung einer Signtur s für ds Muster, z.b. üer Hsh-Funktion - für jedes Textfenster n Position i (Länge m) wird eenflls eine Signtur s i erehnet - Flls s i = s liegt ein potentieller Mth vor, der näher zu prüfen ist - zeihenweiser Vergleih zwishen Muster und Text wird weitgehend vermieden Pessimistishe Philosophie - "Suhen" edeutet "Versuhen, etws zu finden". Optimistishe nsätze erwrten Vorkommen und führen dher viele Vergleihe durh, um Muster zu finden - Pessimistishe nsätze nehmen n, dß Muster meist niht vorkommt. Es wird versuht, viele Stellen im Text shnell uszushließen und nur n wenigen Stellen genuer zu prüfen - Neen Signtur-nsätzen fllen u.. uh Verfhren, die zunähst Vorhndensein seltener Zeihen prüfen, in diese Ktegorie Kosten O (n) flls Signturen effizient estimmt werden können - inkrementelle Berehnung von s i us s i-1 - untershiedlihe Vorshläge mit konstntem Berehnungufwnd pro Fenster 4-13 4-14 Signturen (2) Beispiel: Ziffernlphet; Quersumme ls Signturfunktion 762130872508... 1308-16- Signtur: 1+3+0+8=12 - inkrementelle Berehenrkeit der Quersumme eines neuen Fensters (Sutrktion der herusfllenden Ziffer, ddition der neuen Ziffer) - jedoh hohe Whrsheinlihkeit von Kollisionen (flse mthes) lterntive Signturfunktion (Krp-Rin) - ildung des Musters / Fensters in Dezimlzhl von mx. 9 Stellen (mit 32 Bits repräsentierr) - Signtur des Musters: s (p 1,... p m ) = Σ j=1..m (10 j-1 p m+1-j ) mod 10 9 - Signtur s i+1 des neuen Fensters (t i+1...t i+m ) geleitet us Signtur s i des vorherigen Fensters (t i...t i+m-1 ): s i+1 = ((s i - t i 10 m-1 ) 10 + t i+m ) mod 10 9 - Signturfunktion ist uh für größere lphete nwendr Sttishe Suhverfhren nnhme: weitgehend sttishe Texte / Dokumente - dersele Text wird häufig für untershiedlihe Muster durhsuht Beshleunigung der Suhe durh Indexierung (Suhindex) Vorgehensweise ei - Informtion Retrievl-Systemen zur Verwltung von Dokumentkollektionen - Volltext-Dtennksystemen - We-Suhmshinen et. Indexvrinten - (Präfix-) B*-Bäume - Tries, z.b. Rdix oder PTRICI Tries - Suffix-Bäume - Invertierte Listen - Signtur-Dteien 4-15 4-16

Suffix-Bäume Suffix-Bäume: Digitläume, die lle Suffixe einer Zeihenkette zw. eines Textes repräsentieren Unterstütze Opertionen: - Teilwortsuhe: in O (m) - Präfix-Suhe: Bestimmung ller Positionen, n denen Worte mit einem Präfix p uftreten - Bereihssuhe: Bestimmung ller Positionen von Worten, die in der lexikogrphishen Ordnung zwishen zwei Grenzen p1 und p2 liegen Suffix-Tries sierend uf Tries 5 Suffixe: - hoher Pltzedrf für Suffix-Tries O(n 2 ) -> Kompktierung durh Suffix-Bäume 4-17 Suffix-Bäume (2) lle Wege im Trie, die nur us unären Knoten estehen, werden zusmmengezogen Suffixe: Eigenshften für Suffix-Bum S - jede Knte in S repräsentiert niht-leeres Teilwort des Eingetextes T - die Teilworte von T, die enhrten Knten in S zugeordnet sind, eginnen mit vershiedenen Buhsten - jeder innerer Knoten von S (ußer der Wurzel) ht wenigstens zwei Söhne - jedes Bltt repräsentiert ein niht-leeres Suffix von T linerer Pltzedrf O(n): n Blätter und höhsten n-1 innere Knoten 4-18 Suffix-Bäume (3) Vorgehensweise ei Konstruktion - eginnend mit leerem Bum T 0 wird pro Shritt Suffix suff i eginnend n Textposition i eingefügt und Suffix-Bum T i-1 nh T i erweitert - zur Einfügung ist hed i zu estimmen, d.h. längstes Präfix von suff i, ds ereits im Bum präsent ist, d.h. ds ereits Präfix von suff j ist (j < i) T 2 = T 0 = T 1 = suff 3 = hed 3 = til 3 = niver lgorithmus: O (n 2 ) linerer ufwnd O (n) gemäß Konstruktionslgorithmus von MCreight - Einführung von Suffix-Zeigern - Einzelheiten siehe Ottmnn/Widmyer (2001) T 3 = Invertierte Listen Nutzung vor llem zur Textsuhe in Dokumentkollektionen - niht nur 1 Text/Sequenz, sondern elieig viele Texte / Dokumente - Suhe nh estimmten Wörtern/Shlüsselegriffen/Deskriptoren, niht nh elieigen Zeihenketten - Begriffe werden ggf. uf Stmmform reduziert; Elimintion sogennnnter Stop-Wörter (der, die, ds, ist, er...) - klssishe ufgenstellung des Informtion Retrievl Invertierung: Verzeihnis (Index) ller Vorkommen von Shlüsselegriffen - lexikogrphish sortierte Liste der vorkommenden Shlüsselegriffe - pro Eintrg (Begriff) Liste der Dokumente (Verweise/Zeiger), die Begriff enthlten - eventuell zusätzlihe Informtion pro Dokument wie Häufigkeit des uftretens oder Position der Vorkommen Beispiel 1: Invertierung eines Textes 1 10 20 Begriff Dies ist ein Text. Der Text ht viele estehen Wörter. Wörter estehen us... Dies 38 Text 53 Invertierter Index viele Wörter Vorkommen 53 1 14, 24 33 38, 46 4-19 4-20

Invertierte Listen (2) Beispiel 2: Invertierung mehrerer Texte / Dokumente d1 Dieses ojektorientierte Dtennksystem unterstützt niht nur multimedile Ojekte, sondern ist üerhupt phänomenl. d2 Ojektorientierte Systeme unterstützen die Vererung von Methoden. Invertierter Index Begriff Vorkommen Dtennksystem d1 Methode d2 multimedil d1 ojektorientiert d1, d2 phänomenl d1 System d2 üerhupt d1 unterstützen d2 Vererung d2 Zugriffskosten werden durh Dtenstruktur zur Verwltung der invertierten Liste estimmt - B*-Bum - Hsh-Verfhren... Invertierte Listen (3) effiziente Relisierung üer (indirekten) B*-Bum - vriel lnge Verweis/Zeigerlisten pro Shlüssel uf Bltteene multimedil B*-Bum Dieses ojektorientierte Dtennksystem unterstützt niht nur multimedile Ojekte, sondern ist üerhupt phänomenl. ojektorientiert Ojektorientierte Systeme unterstützen die Vererung von Methoden. Boole she Opertionen: Verknüpfung von Zeigerlisten - Beispiel: Suhe nh Dokumenten mit multimedil UND ojektorientiert 4-21 4-22 Signtur-Dteien lterntive zu invertierten Listen: Einstz von Signturen - zu jedem Dokument zw. Textfrgment wird Bitvektor fester Länge (Signtur) geführt - Begriffe werden üer Signturgenerierungsfunktion (Hsh-Funktion) s uf Bitvektor geildet - OR-Verknüpfung der Bitvektoren ller im Dokument zw. Textfrgment vorkommenden Begriffe ergit Dokument- zw. Frgment-Signtur Signturen ller Dokumente/Frgmente werden sequentiell gespeihert (zw. in speziellem Signturum) s (estehen) = 000101 s (Text) = 110000 s (estehen) = 100100 s (viele) = 001100 s (Wörter) = 100001 Signtur-File 110001 111101 100101 Dies ist ein Text. Der Text ht viele Wörter. Wörter estehen us... Suhegriff wird üer diesele Signturgenerierungsfunktion s uf eine nfrgesigntur geildet - mehrere Suhegriffe können einfh zu einer nfrgesigntur kominiert werden (OR, ND, NOT-Verknüpfung der Bitvektoren) - wegen Nihtinjektivität der Signturgenerierungsfunktion muß ei ermittelten Dokumenten/ Frgmenten geprüft werden, o ttsählih ein Treffer vorliegt Signtur-Dteien (2) Beispiel ezüglih mehrerer Dokumente - Signturgenerierungsfunktion: ojektorientiert / multimedil / Dtennksystem / Vererung -> Bit 0 / 2 / 4 / 2 Signturen der Dokumente 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1... Ojektorientierte Systeme unterstützen die Vererung von Methoden. Dieses ojektorientierte Dtennksystem unterstützt niht nur multimedile Ojekte, sondern ist üerhupt phänomenl. - nfrge: Dokumente mit Begriffen "ojektorientiert" und "multimedil" nfrgesigntur: Eigenshften - geringer Pltzedrf für Dokumentsignturen - Zugriffskosten ufgrund Nhereitungsufwnd ei Flse Mthes meist höher ls ei invertierten Listen 4-23 4-24

pproximtive Suhe Ähnlihkeitssuhe erfordert Mß für die Ähnlihkeit zwishen Zeihenketten s1 und s2, z.b. - Hmming-Distnz: nzhl der Mismthes zwishen s1 und s2 (s1 und s2 hen gleihe Länge) - Editierdistnz: Kosten zum Editieren von s1, um s2 zu erhlten (Einfüge-, Lösh-, Ersetzungsopertionen) s1: GC GCCC s2: CCT CCCT Hmming-Distnz: k-mismth-suhprolem - Gesuht werden lle Vorkommen eines Musters in einem Text, so dß höhstens n k der m Stellen des Musters ein Mismth vorliegt, d.h. Hmming-Distnz k - exkte Stringsuhe ergit sih ls Spezilfll mit k=0 Beispiel (k=2) k=2 erster text pproximtive Suhe (2) Niver Suh-lgorithmus knn für k-mismth-prolem leiht ngepsst werden FOR i=1 to n -m+1 DO BEGIN z := 1; FOR j=1 to m DO IF text[i] pt [j] THEN z :=z+1;{ Mismth } IF z <= k THEN write ( Treffer n Position, i, mit, z, Mismthes ); END; RETURN -1; - nloges Vorgehen, um Sequenz mit geringstem Hmming-stnd zu estimmen Komplexität O(n*m) effzientere Suhlgorithmen (KMP, BM...) können nlog ngepßt werden Editierdistnz oft geeigneter ls Hmming-Distnz - nwendr für Sequenzen untershiedliher Länge - Hmming-Distnz ist Spezilfll ohne Einfüge-/Löshopertionen (nzhl der Ersetzungen) - Bioinformtik: Vergleih von DN-Sequenzen uf Bsis der Editier (Evolutions)-Distnz 4-25 4-26 Editierdistnz 3 rten von Editier-Opertionen: Löshen eines Zeihens, Einfügen eines Zeihens und Ersetzen eines Zeihens x durh ein nderes Zeihen y Einfügeopertionen korrespondieren zu je einer Mismth-Sitution zwishen s1 und s2, woei - für leeres Wort zw. Lüke (gp) steht: - (-, y) Einfügung von y in s2 gegenüer s1 - (x, -) Löshung von x in s1 - (x, y) Ersetzung von x durh y - (x, x) Mth-Sitution (keine Änderung) jeder Opertion wird Gewiht zw. Kosten w (x,y) zugewiesen Einheitskostenmodell: w (x, y) = w (-, y) = w (x, -) = 1; w (x, x) = 0 Editierdistnz D (s1,s2): Minimle Kosten, die Folge von Editier-Opertionen ht, um s1 nh s2 zu üerführen - ei Einheitskostenmodell spriht mn uh von Levensthein-Distnz - im Einheitskostenmodell gilt D (s1,s2)=d (s2,s1) und für Krdinlitäten n und m von s1 und s2: s (n - m) D (s1,s2) mx (m,n) Beispiel: Editier-Distnz zwishen uto und Rd? Editierdistnz in der Bioinformtik Bestimmung eines lignments zweier Sequenzen s1 und s2: - Üereinnderstellen von s1 und s2 und durh Einfügen von Gp-Zeihen Sequenzen uf diesele Länge ringen: Jedes Zeihenpr repräsentiert zugehörige Editier-Opertion - Kosten des lignment: Summe der Kosten der Editier-Opertionen - optimles lignment: lignment mit minimlen Kosten (= Editierdistnz) s1: s2: GCCC CCCT Reple (G,C) Reple (C,) Reple (,C) Reple (C,) Reple (,C) Reple (C,T) GCCC- -CCCT Delete (G, -) Mth (C,C) Mth (C.C) Mth (C,C) Insert (-,T) G-CCC CCCT- Reple (G,C) Insert (-, ) Mth (C, C) Mth (C,C) Reple (,T) Delete (C,-) Reple (,) www.tehfk.uni-ielefeld.de/d/curri/prwli/node2.html 4-27 4-28

Editierdistnz (3) Prolem 1: Berehnung der Editierdistnz - erehne für zwei Zeihenketten / Sequenzen s1 und s2 möglihst effizient die Editierdistnz D(s1,s2) und eine kostenminimle Folge von Editier-Opertionen, die s1 in s2 üerführt - entspriht Bestimmung eines optimlen lignments Prolem 2: pproximte Suhe - suhe zu einem (kurzen) Muster p lle Vorkommen von Strings p in einem Text, so dß die Editierdistnz D (p,p ) <= k ist, für ein vorgegeenes k - Spezilfll 1: exkte Stringsuhe (k=0) - Spezilfll 2: k-mismth-prolem, flls nur Ersetzungen und keine Einfüge- oder Lösh-Opertionen zugelssen werden Vritionen von Prolem 2 - Suhe zu Muster/Sequenz ds ähnlihste Vorkommen (lokles lignment) - estimme zwishen 2 Sequenzen s1 und s2 die ähnlihsten Teilsequenzen s1 und s2 Berehnung der Editierdistnz Nutzung folgender Eigenshften zur Begrenzung zu prüfender Editier- Opertionen - optimle Folge von Editier-Opertionen ändert jedes Zeihen höhstens einml - jede Zerlegung einer optimlen nordnung führt zur optimlen nordnung der entsprehenden Teilsequenzen Lösung des Optimierungsprolems durh nstz der dynmishen Progrmmierung - Konstruktion der optimlen Gesmtlösung durh rekursive Komintion von Lösungen für Teilproleme Sei s 1 = ( 1,... n ), s 2 =( 1,... m ). D ij sei Editierdistnz für Präfixe ( 1,... i ) und ( 1,... j ); 0 i n; 0 j m - D ij knn usshließlih us D i-1, j, D i,j-1 und D i-1,j-1 estimmt werden - es git trivile Lösungen für D 0,0, D 0,j, D i,0 - Eintrgung der D i,j in (n+1, m+1)-mtrix - Editierdistnz zwishen s1 und s2 insgesmt ergit sih für i=n, j=m - es wird hier nur ds Einheitskostenmodell ngenommen GCCC- -CCCT 4-29 4-30 Berehnung der Editierdistnz (2) Editierdistnz D ij für i=0 oder j=0 - D 0,0 = D ( -, - ) = 0 - D 0,j = D ( -, ( 1,.., j ) ) = j // j Einfügungen - D i,0 = D (( 1,.., i ), - ) = i // i Löshungen Editierdistnz D ij für i>0 und j>0 knn us günstigstem der folgenden Fälle geleitet werden: - Mth oder Ersetze: flls i = j (Mth): D i,j = D i-1,j-1 ; flls i j : D i,j = 1 + D i-1,j-1 - Löshe i: D i,j = D (( 1,.., i-1 ), ( 1,.., j ) ) + 1 = D i-1,j + 1 - Einfüge j : D i,j = D (( 1,.., i ), ( 1,.., j-1 ) ) + 1 = D i,j-1 + 1 Somit ergit sih: D i-1, j-1 Mth o. Ersetze (Kosten 0 o. 1) 0 flls D i,j = min ( D i-1,j-1 + { i = j 1 flls, D i-1,j + 1, D i,j-1 + 1 ) i j D i, j-1 Einfüge j (Kosten 1) D i-1, j D i,j Löshe i (Kosten 1) Berehnung der Editierdistnz (3) Beispiele i 0 1 2 3 4 - U T O j 0 1 2 3 - R D jeder Weg von links oen nh rehts unten entspriht einer Folge von Edit-Opertionen, die s1 in s2 trnsformiert - ggf. mehrere Pfde mit minimlen Kosten Komplexität: O (n*m) - G C C C -CCCT 0 1 2 3 4 5 678 1 0 1 2 3 4 5 6 7 2 1 1 2 3 4 5 6 7 3 2 1 2 2 3 4 5 6 4 3 2 1 2 2 3 4 5 5 4 3 2 1 2 2 3 4 6 5 4 3 2 1 2 3 3 7 6 5 4 3 2 1 2 3 8 7 6 5 4 3 2 2 2 4-31 4-32

Zusmmenfssung nive Textsuhe - einfhe Relisierung ohne vorzuerehnende Hilfsinformtionen - Worst Cse O (n*m), er oft linerer ufwnd O(n+m) shnellere nsätze zur dynmishen Textsuhe - Vorverreitung des Musters, jedoh niht des Textes - Knuth-Morrison-Prtt: linerer Worst-Cse-ufwnd O (n+m), er oft nur wenig esser ls nive Textsuhe - Boyer-Moore: Worst-Cse O(n*m) zw. O(n+m), er im Mittel oft sehr shnell O (n/m) - Signturen: O (n) Indexierung erlut wesentlih shnellere Suhergenisse - Vorverreitung des Textes zw. der Dokumentkollektionen - hohe Flexiilität von Suffixäumen (Proleme: Größe; Externspeiherzuordnung) - Suhe in Dokumentkollektionen mit invertierten Listen oder Signtur-Dteien pproximtive Suhe - erfordert Ähnlihkeitsmß, z.b. Hmming-Distnz oder Editierdistnz - Bestimmung der optimlen Folge von Editier-Opertionen sowie Editierdistnz üer dynmishe Progrmmierung; O(n*m) 4-33