Text Mining Wissensrohstoff Text Gerhard Heyer Universität Leipzig heyer@informatik.uni-leipzig.de Institut für Informatik
String basierte Verfahren Suche nach Zeichenfolgen in Texten bzw. Textkollektionen Im wesentlichen zwei Verfahren Buchstaben, Buchstaben N-Gramme Wortformen, Wortform N-Gramme Sätze Exaktes Matchen Matchen ähnlicher Zeichenfolgen Anwendungen in den Bereichen Finden ähnlicher Wortformen (Textnormalisierung, Varianten, Cognates, ) Finden ähnlicher Wortkontexte (semantisch ähnliche Wörter, IE und RE, Autorenprofile, ) Finden von Zitaten und Zitationsspuren (Text Reuse, Plagiaten, ) 2
Wiederholung exakte Suche Genauere Aufgabenstellung - Gegeben: Zeichenkette text[1..n] aus einem endlichen Alphabet, Muster (Pattern) pat[1..m] mit pat[i], m <= n - Fenster wi ist eine Teilzeichenkette von Text der Länge m, die an Position i beginnt, also text[i] bis text[i+m-1] - Ein Fenster w i, das mit dem Muster p übereinstimmt, heißt Vorkommen des Musters an Position i. w i ist Vorkommen: text [i] = pat [1], text[i+1]=pat[2],..., text[i+m-1]=pat[m] - Ein Mismatch in einem Fenster w i ist eine Position j, an der das Muster mit dem Fenster nicht übereinstimmt Standardverfahren: Knuth-Morris-Pratt (KMP), Boyer-Moore 3
Knuth-Morris-Pratt (KMP) Idee: - nutze bereits gelesene Information bei einem Mismatch - verschiebe ggf. Muster um mehr als 1 Position nach rechts - gehe im Text nie zurück! Beispiel: Suche das Muster abrakadabra in folgendem Text: ababrakabrakadabradabaka Es gilt: next[j] = Länge des längsten echten Suffixes von pat[1..j-1], das Präfix von pat ist Lösung: ababrakabrakadabradabaka abrakadabra abrakadabra abrakadabra 4
Ähnlichkeitssuche mittels Editierdistanz Für Wörter w1 und w2 definieren wir folgende Operationen als zulässige Editier-Operationen auf einzelne Buchstaben: E - Einfügen eines Buchstabens in das Wort w1 L - Löschen eines Buchstabens aus dem Wort w1 S - Substitution eines Buchstabens aus dem Wort w1 durch einen Buchstaben aus dem Wort w2 I - Identität der Buchstaben aus Wort w1 und w2 Die Editierdistanz D(w1,w2) (auch Levenshtein-Distanz) zwischen 2 Wörtern w1 und w2 ist definiert durch die minimale Anzahl der Editier-Operationen E,L,S, die benötigt werden, um w1 in w2 zu transformieren. 5
Berechnung der Editierdistanz Ein Wort e über dem Alphabet {E, L, S, I }, welches die Transformation eines Wortes w1 in ein Wort w2 beschreibt, bezeichnen wir als Editier-Protokoll. D(w1,w2) = min{ e {I } e ist Editierprotokoll für w1 und w 2} Beispiel w1 = LIPSIA, w2 = LEIPZIG D(w1,w2) = 3 e I E I I S I S w1 L - I P S I A w2 L E I P Z I G 6
Berechnung der Editierdistanz - Rekursionsgleichung Für 2 Wörter w1 = a1a2... an und w2 = b1b2... bm sei D(i, j) die Editierdistanz zwischen a1... ai und b1... bj Die Editierdistanz zwischen 2 Wörtern w1 und w2 wird durch D(n,m) angegeben und kann mit Hilfe folgender Rekursionsgleichung berechnet werden: D(0,j) = Editierdistanz zwischen dem leeren Wort unds 2[1..j] D(i,0) = Editierdistanz zwischen S1[1..i] und dem leeren Wort 7
Rekursionstabelle Über die Rekursion ist es möglich, D(n,m) direkt zu bestimmen. Die Rekursion würde jedoch sehr lang dauern. Eine Verbesserung wird durch eine tabellarische Berechnung unter Verwendung der dynamischen Programmierung erreicht. 1. 2. 3. 4. erstelle Tabelle D der Größe (n + 1) (m + 1) fülle Werte D[i, 0] = i und D[0, j ] = j fülle Werte der Tabelle spaltenweise (oder zeilenweise) gib D[n,m] zurück 8
Beispiel Beispiel von Martin Aumüller 9
Komplexitätsbetrachtung Die Editierdistanz zwischen 2 Wörtern w1 mit n Buchstaben und w2 mit m Buchstaben kann mittels dynamische Programmierung in O(n m) berechnet werden. Schritt 1 und Schritt 4 benötigt jeweils einen Schritt. Schritt 2 benötigt n Schritte zum Füllen der ersten Zeile und m Schritte zum Füllen der ersten Spalte. Die Laufzeit wird durch Schritt 3 dominiert. Dort finden wir n m Schleifendurchläufe und führen in der Schleife nur Operationen aus, die eine konstante Schrittzahl benötigen, also O(n m). 10
Alignment Die Editierdistanz hängt davon ab, wie die Wörter aligniert werden. e I S S S S S L w1 L I P S I A - w2 L E I P Z I G w1 = LIPSIA, w2 = LEIPZIG D(w1,w2) = 6 Es sind daher nicht nur die Editierdistanz, sondern auch die Kosten verschiedener Alignierungen zu berechnen. Zwei Schritte: 1) Traceback und 2) optimale Alignierung 11
Traceback Input: 2 Wörter w1 = a1... an und w2 = b1... bm 1 Erstelle Tabelle D[0... n][0...m] 2 D[i ][0] = i, 0 i n 3 D[0][j ] = j, 0 j m Einfügen 4 for i = 0 to n do Löschen for j = 0 to m do Identität/Substitution if ai = bj then c = 0 else c = 1 D(i, j) = min{ D[i 1][j ] + 1, D[i ][j 1] + 1, D[i 1, j 1] + c} setze Pointer auf D[k][l ], die für Berechnung von D[i ][j ] genutzt wurden 12
Beispiel 13
Beispiel Traceback 14
Beispiel Traceback 15
Alternative Wege Aber der Weg D(n,m) nach D(0, 0) muss nicht eindeutig sein. Wir können uns an einer Stelle D(i, j ), in der mehrere Pointer sind, einen beliebiger Pointer aussuchen und finden damit ein korrektes Editier-Protokoll. Um alle Protokolle zu finden, müssen alle eingetragenen Pointer nach und nach abgearbeitet werden. So könnte z. B. auch das Editierprotokoll e = {E, I, L, I, I } gefunden werden. 16
Gewichtung von Operationen In der Praxis können einzelne Editier-Operationen höher gewichtet werden, um gewisse Eigenschaften eines Alignments hervorzuheben. 17
Alignment Eine Treffermatrix S für ein Alphabet mit = n ist eine n nmatrix mit Einträgen s(x, y) = sxy aus dem Bereich ganzer Zahlen. Für ein gegebenes Alignment A von w1 und w2 seien w 1 = a1... an und w 2= b1... bn die Wörter mit eingefügten Lückenzeichen. Der Ähnlichkeitswert des Alignments A ist definiert durch Gewöhnlich erhält die Identität der 2er Buchstaben (Hauptachse) Werte > 0, alle anderen Kombinationen Werte < 0 18
Optimales Alignment Die Ähnlichkeit zweier Wörter w1 und w2 über dem Alphabet und der Treffermatrix S ist der maximale Wert des Alignments von w1 und w2. Ein solches Alignment wird auch als optimales Alignment bezeichnet. 19
Berechnung des Optimalen Alignments Die Berechnung eines optimalen Alignments kann mit dem bekannten Algorithmus durch Abänderung der Rekursion durchgeführt werden, wobei V(i, j) den Wert eines optimalen Alignments von a1... ai und b1... bj bezeichne: Geänderter Rekursionsschritt: V(i, j) = max{ V(i 1, j) + s(ai, ), V(i, j 1) + s(, bj ), V(i 1, j 1) + s(ai, bj )} 20
Longest Common Subsequence Ein Wort u = b1... bm heißt Teilfolge eines Wortes x = a1... an, wenn es eine Folge 1 i1... im n gibt, so dass b1... bm = ai1... aim Das Problem der Longest Common Subsequence besteht darin, die längste Teilfolge zu finden, die sowohl in w1 als auch in w2 enthalten ist. Die längste gemeinsame Teilsequenz bilden die Buchstaben, die im Alignment identisch sind. 21
Beispiel: Längste CS frau pfau Gegeben: = {f, p, r, a, u} w1 = frau w2 = pfau Alignment mit dem Wert 3 ist: W*1 - f r a u W*2 p f - a u Das längste gemeinsame Teilwort finden wir, indem wir alle Stellen an denen ai = bi gilt, konkatenieren, also LCS: fau 22
Zusammenfassung Alignment-Verfahren berechnen die Ähnlichkeit von beliebigen Zeichenketten in O(n*m) Anwendungen vor allem im Bereich der Bioinformatik (Sequenzanalyse), aber auch der Morphologie und im IR bzw. IE (Relationenextraktion) Optimierungen zum k-approximativen Vorkommen eines Musters M in einem Text u.a. durch Baeza-Yates, Karp und Rabin 23
Textprofile - Winnowing (cf. Schleimer, Wilkinson, Aiken 2003) 24
Textprofile - Winnowing (cf. Schleimer, Wilkinson, Aiken 2003) 25
Text Re-Use Ähnlichkeiten von beliebigen Wort-Sequenzen (mit mindestens vier Wörtern) aus einer Kollektion von Textdokumenten Mögliche Gründe Sofern Metadaten wie Autor, Zeit, Ort, Sachgebiet usw. verfügbar sind, können Text Re-Use-Graphen generiert werden Zitate Gefrorene Phrasen, Sinn- und Weisheitssprüche Plagiate Überlieferungen, Wissenstransfer gerichtet: Zitate ungerichtet: Überlieferungen, gefrorene Phrasen, Text Re-Use-Graphen können wie Evolutionsgraphen betrachtet werden (Rekonstruktion kultureller Evolution) 26
Naiver Ansatz Compare every sentence with all other sentences TLG: 5,500,000*5,500,000 = 3.025e13 comparisons Assumption: Comparison rate of 1000 sentences/sec. This process would run about 3.025e10 seconds or more than 959 years. Even if we would compare only sentences containing all the significant phrases we would need about one year. Folien von Therefore: Marco Büchler Usage of divide & conquer strategies Intelligent pre-clustering of data Restrict yourself to particular works or authors, e.g. Plato 27
Allgemeiner Ansatz: 6 Ebenen-Architektur (M. Büchler) - Level 1: Pre-processing - Level 2: Feature identification and training - Level 3: Feature selection (Fingerprinting) - Level 4: Linking - Level 5: Scoring - Level 6: Post-processing 28
Stufe 1 - Vorverarbeitung - Capitalisation (e. g. all letters to lowercase) - Normalisation (e. g. removing all diacritics) - Lemmatisation (e. g. replace inflected words by baseform) - Synonym replacements (e. g. replace a word by the most common (most frequent) synonym) - String similarity (words that are written similarly) Result: Cleaned text 29
Stufe 2 - Feature Identification and Learning Feature Engineering für Text Re-Use String approaches: GST Letter n-grams Syntactic approaches: Longest Common Consecutive Words Word n-grams Distance based co-occurrences Semantic approaches: - Semantic clustering - Semantic graph based approach(es) - Latent relations - Radius retrieval More complex approaches: DCT 30
Stufe 2 Feature Identification in Detail 31
Stufe 3 - Selection of training data building a re-use fingerprint Local selection strategies work with the knowledge within a reuse unit such as - Local 0 mod p (e. g. position of a word within a re-use unit) - random selection - Winnowing Global selection strategies work with global knowledge such as a word list of the entire corpus like - Global 0 mod p (e. g. rank of a word (cf. Zipfian law) ) - Selection of special word classes such as nouns - Inverted Document Frequency (IDF) score - Minimum feature frequency selection - Maximum feature frequency selection 32
Stufe 4 - Linking 33
Stufe 5 - Scoring 34
Stufe 6 Nachbearbeitung, Präsentation 35
Stufe 6 Nachbearbeitung und Präsentation 36
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) 37
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) 38
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) Plato: Timaeus 91b7 ff. αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον παρὰ τὴν ὥραν χρόνον πολὺν γίγνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως συναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον περὶ τὴν ὥραν χρόνον πολὺν γίγνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως ξυναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν περὶ δὲ τῆς μήτρας ὅτι τε ζῷόν ἐστι καὶ αὕτη καὶ τὰ ἀπὸ τοῦ πατρὸς ἐξερχόμενα μόρια ταῦτα πάλιν λέγει Πλάτων αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον παρὰ τὴν ὥραν χρόνον πολὺν γίνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον καὶ ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως ξυναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν 39
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) Plato: Timaeus 91b7 ff. αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον παρὰ τὴν ὥραν χρόνον πολὺν γίγνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως συναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον περὶ τὴν ὥραν χρόνον πολὺν γίγνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως ξυναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν περὶ δὲ τῆς μήτρας ὅτι τε ζῷόν ἐστι καὶ αὕτη καὶ τὰ ἀπὸ τοῦ πατρὸς ἐξερχόμενα μόρια ταῦτα πάλιν λέγει Πλάτων αἱ δ' ἐν ταῖς γυναιξὶν αὖ μῆτραί τε καὶ ὑστέραι λεγόμεναι διὰ τὰ αὐτὰ ταῦτα ζῷον ἐπιθυμητικὸν ἐνὸν τῆς παιδοποιίας ὅταν ἄκαρπον παρὰ τὴν ὥραν χρόνον πολὺν γίνηται χαλεπῶς ἀγανακτοῦν ϕέρει καὶ πλανώμενον πάντῃ κατὰ τὸ σῶμα τὰς τοῦ πνεύματος διεξόδους ἀποϕράττον καὶ ἀναπνεῖν οὐκ ἐῶν εἰς ἀπορίας τὰς ἐσχάτας ἐμβάλλει καὶ νόσους παντοδαπὰς ἄλλας παρέχει μέχριπερ ἂν ἑκατέρων ἡ ἐπιθυμία καὶ ὁ ἔρως ξυναγαγόντες οἷον ἀπὸ δένδρων καρπὸν καταδρέψαντες ὡς εἰς ἄρουραν τὴν μήτραν ἀόρατα ὑπὸ σμικρότητος καὶ ἀδιάπλαστα ζῷα κατασπείραντες καὶ πάλιν διακρίναντες μεγάλα ἐντὸς ἐκθρέψωνται καὶ μετὰ τοῦτο εἰς ϕῶς ἀγαγόντες ζῴων ἀποτελέσωσι γένεσιν 40
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) 41
Beispiel: Zitationsspuren von Platons Timaios (Projekt eaqua) 42
Beispiel: Makrosicht auf Platons Timaios (Projekt eaqua) 43
Beispiel: Makrosicht auf Platons Timaios (Projekt eaqua) Middle Platonism Neoplatonism 44
Statistische Beobachtungen zum Text Re-Use Prof. Dr. Prof. Dr.G. G.Heyer Heyer Text Text Text Mining Wissensrohstoff Text Mining Wissensrohstoff 45 45
Statistische Beobachtungen zum Text Re-Use As time passes by, text reuse by later authors becomes much less literal. 46 46
Zusammenfassung Die Wiederverwendung von Text hat viele Gründe Im Sinne der Extraktion von Wissen aus dem Fohstoff Text können die Spuren der Wiederverwendung von Text viele Hinweise auf den historischen Wissenstransfer (in Raum und Zeit) geben Die Berechnung von Zitationsspuren ist aufwändig Entscheidend ist das feature engineering und die Auswahl passender Ähnlichkeitsmaße Editierdistanz und Alignment sind wichtige Verfahren, müssen aber um weitere Verfahren des fingerprinting ergänzt werden 47
Literatur Baeza-Yates Karp & Rabin ADS Editierdistanz/Alignment Schleimer & Co eaqua 48