String Matching. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme
|
|
- Klara Grosse
- vor 5 Jahren
- Abrufe
Transkript
1 String Matching Komplexe Informationssysteme Fabian Panse Universität Hamburg
2 Problemstellung Fabian Panse String Matching 2
3 Einordnung Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 3
4 Einordnung Problemstellung Genauigkeit Skalierbarkeit Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Fabian Panse String Matching 3
5 Einordnung Problemstellung Genauigkeit Skalierbarkeit Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Fabian Panse String Matching 3
6 Einordnung Problemstellung Genauigkeit Skalierbarkeit Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Namen von Einrichtungen (z.b. HPI vs. Hasso-Plattner Institut ) Fabian Panse String Matching 3
7 Einordnung Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Namen von Einrichtungen (z.b. HPI vs. Hasso-Plattner Institut ) Adressen ( 1210 W. Dayton St Madison WI vs West Dayton Madison WI ) Fabian Panse String Matching 3
8 Einordnung Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Namen von Einrichtungen (z.b. HPI vs. Hasso-Plattner Institut ) Adressen ( 1210 W. Dayton St Madison WI vs West Dayton Madison WI ) Telefonnummern ( vs. (040)12354 ) Fabian Panse String Matching 3
9 Einordnung Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Namen von Einrichtungen (z.b. HPI vs. Hasso-Plattner Institut ) Adressen ( 1210 W. Dayton St Madison WI vs West Dayton Madison WI ) Telefonnummern ( vs. (040)12354 ) Spielt eine tragende Rolle in vielen Integrationsaufgaben Schema Matching, Duplicate Detection, etc. Fabian Panse String Matching 3
10 Einordnung Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen von Personen (z.b. Christina vs. Kristina ) Namen von Einrichtungen (z.b. HPI vs. Hasso-Plattner Institut ) Adressen ( 1210 W. Dayton St Madison WI vs West Dayton Madison WI ) Telefonnummern ( vs. (040)12354 ) Spielt eine tragende Rolle in vielen Integrationsaufgaben Schema Matching, Duplicate Detection, etc. Ausblick Problemdefinition Maße um die Ähnlichkeit zweier Stringwerte numerisch zu quantifizieren Techniken zur Performanzoptimierung Fabian Panse String Matching 3
11 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 4
12 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Gegeben sind zwei Mengen A and B an Stringwerten Fabian Panse String Matching 4
13 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Gegeben sind zwei Mengen A and B an Stringwerten Finde alle Paare (x, y) mit x A und y B die dasselbe Realwelt-Objekt referenzieren Fabian Panse String Matching 4
14 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Gegeben sind zwei Mengen A and B an Stringwerten Finde alle Paare (x, y) mit x A und y B die dasselbe Realwelt-Objekt referenzieren Ergebnispaare werden als Match bezeichnet Fabian Panse String Matching 4
15 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Gegeben sind zwei Mengen A and B an Stringwerten Finde alle Paare (x, y) mit x A und y B die dasselbe Realwelt-Objekt referenzieren Ergebnispaare werden als Match bezeichnet Beispiel (aus [DHI12]) Menge A Menge B Matches x 1 =Dave Smith y 1 =David D. Smith (x 1, y 1 ) x 2 =Joe Wilson y 2 =Daniel D. Smith (x 3, y 2 ) x 3 =Dan Smith Fabian Panse String Matching 4
16 Problemdefinition Problemstellung Genauigkeit Skalierbarkeit Gegeben sind zwei Mengen A and B an Stringwerten Finde alle Paare (x, y) mit x A und y B die dasselbe Realwelt-Objekt referenzieren Ergebnispaare werden als Match bezeichnet Beispiel (aus [DHI12]) Menge A Menge B Matches x 1 =Dave Smith y 1 =David D. Smith (x 1, y 1 ) x 2 =Joe Wilson y 2 =Daniel D. Smith (x 3, y 2 ) x 3 =Dan Smith Herausforderungen: Genauigkeit und Skalierbarkeit Fabian Panse String Matching 4
17 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... *Quelle: Fabian Panse String Matching 5
18 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... wieviele verschiedene Schreibweisen für komplexere Namen? *Quelle: Fabian Panse String Matching 5
19 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... wieviele verschiedene Schreibweisen für komplexere Namen? Giannis Antetokounmpo (griechischer Basketballspieler) *Quelle: Fabian Panse String Matching 5
20 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... wieviele verschiedene Schreibweisen für komplexere Namen? Giannis Antetokounmpo (griechischer Basketballspieler) Dharmavarapu Subramanyam (indischer Schauspieler) *Quelle: Fabian Panse String Matching 5
21 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... wieviele verschiedene Schreibweisen für komplexere Namen? Giannis Antetokounmpo (griechischer Basketballspieler) Dharmavarapu Subramanyam (indischer Schauspieler) Janice Keihanaikukauakahihuliheekahaunaele (hawaiianische Frau) *Quelle: Fabian Panse String Matching 5
22 Herausforderungen: Genauigkeit Google meldet 593* verschiedene Schreibweisen von Britney Spears in Suchanfragen Britney Spears ( Suchen) Brittany Spears (40134 Suchen) Brittney Spears (36315 Suchen) Britany Spears (24342 Suchen) Britny Spears (7331 Suchen)... wieviele verschiedene Schreibweisen für komplexere Namen? Giannis Antetokounmpo (griechischer Basketballspieler) Dharmavarapu Subramanyam (indischer Schauspieler) Janice Keihanaikukauakahihuliheekahaunaele (hawaiianische Frau) Venkatanarasimharajuvaripeta railway station (Bahnstation in Indien) *Quelle: Fabian Panse String Matching 5
23 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Fabian Panse String Matching 6
24 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Fabian Panse String Matching 6
25 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) Fabian Panse String Matching 6
26 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) fehlerhafte Transformation vom Gesprochenen ins Geschriebene (z.b. Spears vs. Speers ) Fabian Panse String Matching 6
27 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) fehlerhafte Transformation vom Gesprochenen ins Geschriebene (z.b. Spears vs. Speers ) fehlerhafte Transformation vom Handschriftlichen ins Maschinelle (z.b. Spears vs. Speans ) Fabian Panse String Matching 6
28 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) fehlerhafte Transformation vom Gesprochenen ins Geschriebene (z.b. Spears vs. Speers ) fehlerhafte Transformation vom Handschriftlichen ins Maschinelle (z.b. Spears vs. Speans ) Spitznamen, Künstlernamen oder Synonyme (z.b. Allan Stewart Konigsberg vs. Heywood Allen vs. Woody Allen ) Fabian Panse String Matching 6
29 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) fehlerhafte Transformation vom Gesprochenen ins Geschriebene (z.b. Spears vs. Speers ) fehlerhafte Transformation vom Handschriftlichen ins Maschinelle (z.b. Spears vs. Speans ) Spitznamen, Künstlernamen oder Synonyme (z.b. Allan Stewart Konigsberg vs. Heywood Allen vs. Woody Allen ) Abkürzungen (z.b. AStA vs. Allgemeiner Studierendenausschuss ) Fabian Panse String Matching 6
30 Herausforderungen: Genauigkeit Arten von Fehlerquellen: Tippfehler (z.b. Spears vs. Speasr ) Unterschiedliche Konventionen (z.b. Britney Jean Spears vs. Spears, Britney J. ) fehlerhafte Transformation vom Gesprochenen ins Geschriebene (z.b. Spears vs. Speers ) fehlerhafte Transformation vom Handschriftlichen ins Maschinelle (z.b. Spears vs. Speans ) Spitznamen, Künstlernamen oder Synonyme (z.b. Allan Stewart Konigsberg vs. Heywood Allen vs. Woody Allen ) Abkürzungen (z.b. AStA vs. Allgemeiner Studierendenausschuss ) Unterschiedliche Maßeinheiten (z.b. 62 sec vs. 1:02 h ) Fabian Panse String Matching 6
31 Herausforderungen: Genauigkeit Fabian Panse String Matching 7
32 Herausforderungen: Genauigkeit Lösungsansatz: Verwendung von einem Ähnlichkeitsmaß s(x, y) [0, 1] um die Ähnlichkeit zweier Stringwerte numerisch zu quantifizieren Umso größer s(x, y) desto größer ist die Wahrscheinlichkeit das (x, y) ein Match ist Klassifiziere (x, y) als ein Match, wenn s(x, y) θ Fabian Panse String Matching 7
33 Herausforderungen: Genauigkeit Lösungsansatz: Verwendung von einem Ähnlichkeitsmaß s(x, y) [0, 1] um die Ähnlichkeit zweier Stringwerte numerisch zu quantifizieren Umso größer s(x, y) desto größer ist die Wahrscheinlichkeit das (x, y) ein Match ist Klassifiziere (x, y) als ein Match, wenn s(x, y) θ Oft werden Distanz- oder Kostenmaße verwendet Umso geringer die Distanz (Kosten) desto größer die Ähnlichkeit Umrechnung für normiertes Distanzmaß d: s(x, y) = 1 d(x, y) Fabian Panse String Matching 7
34 Herausforderungen: Skalierbarkeit Fabian Panse String Matching 8
35 Herausforderungen: Skalierbarkeit Vergleichen jedes Stringwertes x A mit jedem Stringwert y B ist bei großen Mengen zu ineffizient (quadratische Komplexität) Verwendung einer Methode FindCands welche eine Menge an möglichen Matches C B für jedes x A effizient bestimmt Fabian Panse String Matching 8
36 Herausforderungen: Skalierbarkeit Vergleichen jedes Stringwertes x A mit jedem Stringwert y B ist bei großen Mengen zu ineffizient (quadratische Komplexität) Verwendung einer Methode FindCands welche eine Menge an möglichen Matches C B für jedes x A effizient bestimmt Für jeden Stringwert x A - verwende FindCands um eine Menge C B zu bestimmen - für jeden Stringwert y C - wenn s(x, y) θ, dann klassifiziere (x, y) als Match Fabian Panse String Matching 8
37 Genauigkeit Fabian Panse String Matching 9
38 Agenda Problemstellung Genauigkeit Skalierbarkeit 1 Problemstellung 2 Genauigkeit Mengenbasierte Ähnlichkeitsmaße Sequenzbasierte Ähnlichkeitsmaße Phonetische Ähnlichkeitsmaße Semantische Ähnlichkeitsmaße Hybride Ähnlichkeitsmaße 3 Skalierbarkeit Fabian Panse String Matching 10
39 Klassifizierung von Ähnlichkeitsmaßen Fabian Panse String Matching 11
40 Klassifizierung von Ähnlichkeitsmaßen Mengenbasiert / Tokenbasiert - Overlap Measure, Jaccard, Adamic, Kosinus mit TF/IDF Fabian Panse String Matching 11
41 Klassifizierung von Ähnlichkeitsmaßen Mengenbasiert / Tokenbasiert - Overlap Measure, Jaccard, Adamic, Kosinus mit TF/IDF Sequenzbasiert - Levenshtein, Affine Gap, Jaro Fabian Panse String Matching 11
42 Klassifizierung von Ähnlichkeitsmaßen Mengenbasiert / Tokenbasiert - Overlap Measure, Jaccard, Adamic, Kosinus mit TF/IDF Sequenzbasiert - Levenshtein, Affine Gap, Jaro Phonetisch - Soundex, Kölner Phonetik Fabian Panse String Matching 11
43 Klassifizierung von Ähnlichkeitsmaßen Mengenbasiert / Tokenbasiert - Overlap Measure, Jaccard, Adamic, Kosinus mit TF/IDF Sequenzbasiert - Levenshtein, Affine Gap, Jaro Phonetisch - Soundex, Kölner Phonetik Semantisch - Thesauri, Ontologien Fabian Panse String Matching 11
44 Klassifizierung von Ähnlichkeitsmaßen Mengenbasiert / Tokenbasiert - Overlap Measure, Jaccard, Adamic, Kosinus mit TF/IDF Sequenzbasiert - Levenshtein, Affine Gap, Jaro Phonetisch - Soundex, Kölner Phonetik Semantisch - Thesauri, Ontologien Hybrid - Extended/Generalized Jaccard, Kosinus mit Soft-TF/IDF, Monge-Elkan Fabian Panse String Matching 11
45 Agenda Problemstellung Genauigkeit Skalierbarkeit 1 Problemstellung 2 Genauigkeit Mengenbasierte Ähnlichkeitsmaße Sequenzbasierte Ähnlichkeitsmaße Phonetische Ähnlichkeitsmaße Semantische Ähnlichkeitsmaße Hybride Ähnlichkeitsmaße 3 Skalierbarkeit Fabian Panse String Matching 12
46 Mengenbasierte Ähnlichkeitsmaße Fabian Panse String Matching 13
47 Mengenbasierte Ähnlichkeitsmaße betrachten Stringwerte als (Multi-)Mengen von Tokens Fabian Panse String Matching 13
48 Mengenbasierte Ähnlichkeitsmaße betrachten Stringwerte als (Multi-)Mengen von Tokens verwenden Mengeneigenschaften um Ähnlichkeit zu bestimmen Fabian Panse String Matching 13
49 Mengenbasierte Ähnlichkeitsmaße betrachten Stringwerte als (Multi-)Mengen von Tokens verwenden Mengeneigenschaften um Ähnlichkeit zu bestimmen verschiede Möglichkeiten um einen Stringwert in Tokens zu zerlegen Fabian Panse String Matching 13
50 Mengenbasierte Ähnlichkeitsmaße betrachten Stringwerte als (Multi-)Mengen von Tokens verwenden Mengeneigenschaften um Ähnlichkeit zu bestimmen verschiede Möglichkeiten um einen Stringwert in Tokens zu zerlegen Wörter des Stringwertes Trennung durch Leerzeichen oder Trennsymbole Entfernung von Stopp-Wörtern wie der, und, oder von Bsp.: david smith zu { david, smith } Fabian Panse String Matching 13
51 Mengenbasierte Ähnlichkeitsmaße betrachten Stringwerte als (Multi-)Mengen von Tokens verwenden Mengeneigenschaften um Ähnlichkeit zu bestimmen verschiede Möglichkeiten um einen Stringwert in Tokens zu zerlegen Wörter des Stringwertes Trennung durch Leerzeichen oder Trennsymbole Entfernung von Stopp-Wörtern wie der, und, oder von Bsp.: david smith zu { david, smith } q-grams (Substrings der Länge q) Spezielles Zeichen # an Anfang und Ende des Stringwertes damit jeder Buchstabe gleich häufig vorkommt Bsp.(q=3): david smith zu { ##d, #da, dav, avi, vid, id#, d## } Fabian Panse String Matching 13
52 Overlap Measure & Common Neighbor Score Fabian Panse String Matching 14
53 Overlap Measure & Common Neighbor Score Input: Zwei Stringwerte x und y, Tokenfunktion tok Fabian Panse String Matching 14
54 Overlap Measure & Common Neighbor Score Input: Zwei Stringwerte x und y, Tokenfunktion tok Genierung der zwei Tokenmengen X = tok(x) und Y = tok(y ) Fabian Panse String Matching 14
55 Overlap Measure & Common Neighbor Score Input: Zwei Stringwerte x und y, Tokenfunktion tok Genierung der zwei Tokenmengen X = tok(x) und Y = tok(y ) Overlap Measure: O(X, Y ) = X Y (= Anzahl gemeinsamer Tokens) Fabian Panse String Matching 14
56 Overlap Measure & Common Neighbor Score Input: Zwei Stringwerte x und y, Tokenfunktion tok Genierung der zwei Tokenmengen X = tok(x) und Y = tok(y ) Overlap Measure: O(X, Y ) = X Y (= Anzahl gemeinsamer Tokens) Nachteil: nicht normalisiert (Werte daher schwer vergleichbar) Fabian Panse String Matching 14
57 Overlap Measure & Common Neighbor Score Input: Zwei Stringwerte x und y, Tokenfunktion tok Genierung der zwei Tokenmengen X = tok(x) und Y = tok(y ) Overlap Measure: O(X, Y ) = X Y (= Anzahl gemeinsamer Tokens) Nachteil: nicht normalisiert (Werte daher schwer vergleichbar) Common Neighbor Score [BG07]: CNS(X, Y ) = O(X, Y )/k Normalisierung des Overlap Measures mit geeignet großer Konstante k Fabian Panse String Matching 14
58 Overlap Measure & Common Neighbor Score (Beispiel) Fabian Panse String Matching 15
59 Overlap Measure & Common Neighbor Score (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams Fabian Panse String Matching 15
60 Overlap Measure & Common Neighbor Score (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } Fabian Panse String Matching 15
61 Overlap Measure & Common Neighbor Score (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } X Y = { #d, da, av } Fabian Panse String Matching 15
62 Overlap Measure & Common Neighbor Score (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } X Y = { #d, da, av } O(X, Y ) = 3 Fabian Panse String Matching 15
63 Overlap Measure & Common Neighbor Score (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } X Y = { #d, da, av } O(X, Y ) = 3 CNS(X, Y ) = 0.3 mit k = 10 Fabian Panse String Matching 15
64 Jaccard Coefficient Fabian Panse String Matching 16
65 Jaccard Coefficient Normalisierung durch feste Konstante unrepräsentativ wenn Größe der ingesamt betrachteten Tokenmengen stark variiert Fabian Panse String Matching 16
66 Jaccard Coefficient Normalisierung durch feste Konstante unrepräsentativ wenn Größe der ingesamt betrachteten Tokenmengen stark variiert Normalisierung durch Anzahl aller betrachteter Tokens Jacc(X, Y ) = X Y X Y (= Anteil gemeinsamer Tokens) Fabian Panse String Matching 16
67 Jaccard Coefficient (Beispiel) Fabian Panse String Matching 17
68 Jaccard Coefficient (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams Fabian Panse String Matching 17
69 Jaccard Coefficient (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } Fabian Panse String Matching 17
70 Jaccard Coefficient (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } X Y = { #d, da, av } X Y = { #d, da, av, ve, e#, v# } Fabian Panse String Matching 17
71 Jaccard Coefficient (Beispiel) x= dave, y = dav Tokenbildung durch 2-grams X = { #d, da, av, ve, e# } Y = { #d, da, av, v# } X Y = { #d, da, av } X Y = { #d, da, av, ve, e#, v# } Jacc(X, Y ) = 3/6 = 0.5 Fabian Panse String Matching 17
72 Adamic/Adar Ähnlichkeit Fabian Panse String Matching 18
73 Adamic/Adar Ähnlichkeit Einige Tokens sind bessere Unterscheidungsmerkmale als andere Fabian Panse String Matching 18
74 Adamic/Adar Ähnlichkeit Einige Tokens sind bessere Unterscheidungsmerkmale als andere zwei Stringwerte sind je ähnlicher je mehr seltene Tokens sie gemeinsam haben Fabian Panse String Matching 18
75 Adamic/Adar Ähnlichkeit Einige Tokens sind bessere Unterscheidungsmerkmale als andere zwei Stringwerte sind je ähnlicher je mehr seltene Tokens sie gemeinsam haben Berücksichtigung der uniqueness u(t) eines Tokens t t X Y Adar(X, Y ) = u(t) t X Y u(t) Fabian Panse String Matching 18
76 Adamic/Adar Ähnlichkeit (Beispiel) Fabian Panse String Matching 19
77 Adamic/Adar Ähnlichkeit (Beispiel) x= Apple Corporation, CA, y = IBM Corporation, CA, z= Apple Corp Tokenbildung durch Trennzeichen Fabian Panse String Matching 19
78 Adamic/Adar Ähnlichkeit (Beispiel) x= Apple Corporation, CA, y = IBM Corporation, CA, z= Apple Corp Tokenbildung durch Trennzeichen X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } Fabian Panse String Matching 19
79 Adamic/Adar Ähnlichkeit (Beispiel) x= Apple Corporation, CA, y = IBM Corporation, CA, z= Apple Corp Tokenbildung durch Trennzeichen X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } Eigentlich x wahrscheinlicher ein Match mit z als mit y, aber Jacc(X, Y ) > Jacc(X, Z) Fabian Panse String Matching 19
80 Adamic/Adar Ähnlichkeit (Beispiel) x= Apple Corporation, CA, y = IBM Corporation, CA, z= Apple Corp Tokenbildung durch Trennzeichen X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } Eigentlich x wahrscheinlicher ein Match mit z als mit y, aber Jacc(X, Y ) > Jacc(X, Z) aber wenn u( Apple ) u( Corporation ), dann gilt Adar(X, Z) > Adar(X, Y ) Fabian Panse String Matching 19
81 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 20
82 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Verbreitetes Maß für uniqueness (Information Retrieval) Fabian Panse String Matching 20
83 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Verbreitetes Maß für uniqueness (Information Retrieval) term frequency tf (t, d): - Häufigkeit des Terms t in Dokument d Fabian Panse String Matching 20
84 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Verbreitetes Maß für uniqueness (Information Retrieval) term frequency tf (t, d): - Häufigkeit des Terms t in Dokument d document frequency df (t): - Anteil aller Dokumente (Menge N) die Term t beinhalten (Menge N t ), d.h. df (t) = N t /N Fabian Panse String Matching 20
85 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Verbreitetes Maß für uniqueness (Information Retrieval) term frequency tf (t, d): - Häufigkeit des Terms t in Dokument d document frequency df (t): - Anteil aller Dokumente (Menge N) die Term t beinhalten (Menge N t ), d.h. df (t) = N t /N inverse document frequency idf (t): idf (t) = N/N t Fabian Panse String Matching 20
86 TF/IDF Problemstellung Genauigkeit Skalierbarkeit Verbreitetes Maß für uniqueness (Information Retrieval) term frequency tf (t, d): - Häufigkeit des Terms t in Dokument d document frequency df (t): - Anteil aller Dokumente (Menge N) die Term t beinhalten (Menge N t ), d.h. df (t) = N t /N inverse document frequency idf (t): idf (t) = N/N t In String Matching: Term Token und Dokument Multimenge aller Tokens eines Stringwerts Fabian Panse String Matching 20
87 TF/IDF Verbreitetes Maß für uniqueness (Information Retrieval) term frequency tf (t, d): - Häufigkeit des Terms t in Dokument d document frequency df (t): - Anteil aller Dokumente (Menge N) die Term t beinhalten (Menge N t ), d.h. df (t) = N t /N inverse document frequency idf (t): idf (t) = N/N t In String Matching: Term Token und Dokument Multimenge aller Tokens eines Stringwerts verschiedene Varianten um tf und idf zu TF /IDF vereinen Gängige Varianten [DHI12]: - TF /IDF (t, d) = tf (t, d) idf (t) - TF /IDF (t, d) = log(tf (t, d) + 1) log(idf (t)) Fabian Panse String Matching 20
88 TF/IDF: Beispiel Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 21
89 TF/IDF: Beispiel Problemstellung Genauigkeit Skalierbarkeit X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } Fabian Panse String Matching 21
90 TF/IDF: Beispiel Problemstellung Genauigkeit Skalierbarkeit X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Fabian Panse String Matching 21
91 TF/IDF: Beispiel Problemstellung Genauigkeit Skalierbarkeit X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 tf X Y Z Apple CA Corp Corporation IBM Fabian Panse String Matching 21
92 TF/IDF: Beispiel Problemstellung Genauigkeit Skalierbarkeit X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } tf X Y Z Apple CA Corp Corporation IBM N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 idf Apple 100/5 = 20 CA 100/25 = 4 Corp 100/20 = 5 Corporation 100/40 = 2.5 IBM 100/1 = 100 Fabian Panse String Matching 21
93 Kosinus Ähnlichkeit Fabian Panse String Matching 22
94 Kosinus Ähnlichkeit Für jede Tokenmenge (Dokument) X wird ein mehrdimensionaler Feature-Vektor v X erstellt Fabian Panse String Matching 22
95 Kosinus Ähnlichkeit Für jede Tokenmenge (Dokument) X wird ein mehrdimensionaler Feature-Vektor v X erstellt Die Ähnlichkeit zwischen zwei Tokenmengen X und Y entspricht dem Kosinus des Winkels zwischen ihren Vektoren v X und v Y v X v Y CosSim(X, Y ) = v X v Y k i=1 = v X (i) v Y (i) k i=1 v k X (i) 2 i=1 v Y (i) 2 Fabian Panse String Matching 22
96 Kosinus Ähnlichkeit Für jede Tokenmenge (Dokument) X wird ein mehrdimensionaler Feature-Vektor v X erstellt Die Ähnlichkeit zwischen zwei Tokenmengen X und Y entspricht dem Kosinus des Winkels zwischen ihren Vektoren v X und v Y v X v Y CosSim(X, Y ) = v X v Y k i=1 = v X (i) v Y (i) k i=1 v k X (i) 2 i=1 v Y (i) 2 Tokenmengen ähnlich Winkel 0 Kosinus 1 Fabian Panse String Matching 22
97 Kosinus Ähnlichkeit t 3 v X α v Y t 1 t 2 Fabian Panse String Matching 23
98 Kosinus Ähnlichkeit Fabian Panse String Matching 24
99 Kosinus Ähnlichkeit Eine Dimension per vorkommendem Token (Term) Fabian Panse String Matching 24
100 Kosinus Ähnlichkeit Eine Dimension per vorkommendem Token (Term) Jeder Vektor v X hat einen Featurewert v X (t) für jedes Token t Fabian Panse String Matching 24
101 Kosinus Ähnlichkeit Eine Dimension per vorkommendem Token (Term) Jeder Vektor v X hat einen Featurewert v X (t) für jedes Token t Der Featurewert v X (t) wird gewöhnlich mit TF /IDF (t, X ) berechnet Fabian Panse String Matching 24
102 Kosinus Ähnlichkeit Eine Dimension per vorkommendem Token (Term) Jeder Vektor v X hat einen Featurewert v X (t) für jedes Token t Der Featurewert v X (t) wird gewöhnlich mit TF /IDF (t, X ) berechnet Je mehr sich die Vektoren in den einzelnen Featurewerten ähneln, desto geringer wird der Winkel zwischen ihnen Fabian Panse String Matching 24
103 Kosinus Ähnlichkeit (Beispiel) X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Fabian Panse String Matching 25
104 Kosinus Ähnlichkeit (Beispiel) X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Gegeben TF /IDF (t, X ) = tf (t, X ) idf (t) Fabian Panse String Matching 25
105 Kosinus Ähnlichkeit (Beispiel) X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Gegeben TF /IDF (t, X ) = tf (t, X ) idf (t) v X = 20, 4, 0, 2.5, 0 v Y = 0, 4, 0, 2.5, 100 v Z = 20, 0, 5, 0, 0 Fabian Panse String Matching 25
106 Kosinus Ähnlichkeit (Beispiel) X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Gegeben TF /IDF (t, X ) = tf (t, X ) idf (t) v X = 20, 4, 0, 2.5, 0 v Y = 0, 4, 0, 2.5, 100 v Z = 20, 0, 5, 0, 0 CosSim(X, Y ) = (22.25)/( ) = Fabian Panse String Matching 25
107 Kosinus Ähnlichkeit (Beispiel) X = { Apple, Corporation, CA } Y = { IBM, Corporation, CA } Z = { Apple, Corp } N = 100 N Apple = 5 N CA = 25 N Corporation = 40 N IBM = 1 N Corp = 20 Gegeben TF /IDF (t, X ) = tf (t, X ) idf (t) v X = 20, 4, 0, 2.5, 0 v Y = 0, 4, 0, 2.5, 100 v Z = 20, 0, 5, 0, 0 CosSim(X, Y ) = (22.25)/( ) = CosSim(X, Z) = (400)/( ) = Fabian Panse String Matching 25
108 Agenda Problemstellung Genauigkeit Skalierbarkeit 1 Problemstellung 2 Genauigkeit Mengenbasierte Ähnlichkeitsmaße Sequenzbasierte Ähnlichkeitsmaße Phonetische Ähnlichkeitsmaße Semantische Ähnlichkeitsmaße Hybride Ähnlichkeitsmaße 3 Skalierbarkeit Fabian Panse String Matching 26
109 Sequenzbasierte Ähnlichkeitsmaße Fabian Panse String Matching 27
110 Sequenzbasierte Ähnlichkeitsmaße betrachten Stringwerte als Sequenzen von Schriftzeichen Fabian Panse String Matching 27
111 Sequenzbasierte Ähnlichkeitsmaße betrachten Stringwerte als Sequenzen von Schriftzeichen Edit-Distanz berechnet Ähnlichkeit basierend auf den minimalen Kosten die notwendig sind um die erste Sequenz in die zweite zu transformieren Fabian Panse String Matching 27
112 Sequenzbasierte Ähnlichkeitsmaße betrachten Stringwerte als Sequenzen von Schriftzeichen Edit-Distanz berechnet Ähnlichkeit basierend auf den minimalen Kosten die notwendig sind um die erste Sequenz in die zweite zu transformieren Mehrere Varianten mit unterschiedlichenn Mengen an erlaubten Operationen und deren Kosten Fabian Panse String Matching 27
113 Sequenzbasierte Ähnlichkeitsmaße betrachten Stringwerte als Sequenzen von Schriftzeichen Edit-Distanz berechnet Ähnlichkeit basierend auf den minimalen Kosten die notwendig sind um die erste Sequenz in die zweite zu transformieren Mehrere Varianten mit unterschiedlichenn Mengen an erlaubten Operationen und deren Kosten Grundlegendes Variante: Levenshtein Distanz Fabian Panse String Matching 27
114 Levenshtein Distanz/Ähnlichkeit Fabian Panse String Matching 28
115 Levenshtein Distanz/Ähnlichkeit Erlaubte Operationen: Einfügen, Löschen, und Ersetzen Fabian Panse String Matching 28
116 Levenshtein Distanz/Ähnlichkeit Erlaubte Operationen: Einfügen, Löschen, und Ersetzen Jede Operation hat die Kosten 1 Fabian Panse String Matching 28
117 Levenshtein Distanz/Ähnlichkeit Erlaubte Operationen: Einfügen, Löschen, und Ersetzen Jede Operation hat die Kosten 1 Normalisierung doch die Länge der größeren Zeichenkette LevSim(x, y) = 1 LevDst(x, y) max( x, y ) Fabian Panse String Matching 28
118 Levenshtein Distanz/Ähnlichkeit (Beispiel) Fabian Panse String Matching 29
119 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Fabian Panse String Matching 29
120 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Schritt 1: Ersetze h durch r Fabian Panse String Matching 29
121 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Schritt 1: Ersetze h durch r Schritt 2: Füge ein n ans Ende der Sequenz Fabian Panse String Matching 29
122 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Schritt 1: Ersetze h durch r Schritt 2: Füge ein n ans Ende der Sequenz Gesamtkosten sind 2 Fabian Panse String Matching 29
123 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Schritt 1: Ersetze h durch r Schritt 2: Füge ein n ans Ende der Sequenz Gesamtkosten sind 2 Da gilt: x = 4 und y = 5 Fabian Panse String Matching 29
124 Levenshtein Distanz/Ähnlichkeit (Beispiel) x= hase, y = rasen Schritt 1: Ersetze h durch r Schritt 2: Füge ein n ans Ende der Sequenz Gesamtkosten sind 2 Da gilt: x = 4 und y = 5 Levenshtein Ähnlichkeit ist = 0.6 Fabian Panse String Matching 29
125 Levenshtein Distanz/Ähnlichkeit Fabian Panse String Matching 30
126 Levenshtein Distanz/Ähnlichkeit Berechnung durch dynamische Programmierung Fabian Panse String Matching 30
127 Levenshtein Distanz/Ähnlichkeit Edit Distance Berechnung Berechnung durch dynamische Programmierung Edit-Distance-Matrix (Berechnung) H A S E R A 2 S 3 E 4 N 5 D(i, 0) = i D(0, j) = j D(i, j) = min { D(i-1, j) + 1, D(i, j-1) + 1, D(i-1, j-1) + d(i, j) } wobei d(i, j) = 0 bei Gleichheit, d(i, j) = 1 sonst Fabian Panse String Matching Informationsintegration SS2011 Melanie Herschel Universität Tübingen
128 Levenshtein Distanz/Ähnlichkeit Fabian Panse String Matching 31
129 Levenshtein Distanz/Ähnlichkeit Ermittlung der zugehörigen Transformation Fabian Panse String Matching 31
130 Levenshtein Distanz/Ähnlichkeit Edit Distance Berechnung Ermittlung der zugehörigen Transformation Edit-Distance-Matrix (Ergebnis) H A S E R A S E N Transkript durch Traceback rückwärts zum kleinstmöglichen Wert nach links = DELETE oben = INSERT diagonal = MATCH! oder REPLACE Informationsintegration SS2011 Melanie Herschel Universität Tübingen Fabian Panse String Matching 31 28
131 Levenshtein Distanz/Ähnlichkeit Fabian Panse String Matching 32
132 Levenshtein Distanz/Ähnlichkeit Beispiel: dva vs. dave Fabian Panse String Matching 32
133 Levenshtein Distanz/Ähnlichkeit Beispiel: dva vs. dave Quelle: Doan, Halevy and Ives. Principles of data Integration, 2012 [DHI12] Fabian Panse String Matching 32
134 Affine Gap Distanz Fabian Panse String Matching 33
135 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Fabian Panse String Matching 33
136 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Modifizieren von ganzen Blöcken ist günstiger als alle Zeichen einzeln zu modifizieren (Ziel: Robustheit gegen fehlende Mittelnamen) Fabian Panse String Matching 33
137 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Modifizieren von ganzen Blöcken ist günstiger als alle Zeichen einzeln zu modifizieren (Ziel: Robustheit gegen fehlende Mittelnamen) Kosten w g für das Öffnen einer Lücke Fabian Panse String Matching 33
138 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Modifizieren von ganzen Blöcken ist günstiger als alle Zeichen einzeln zu modifizieren (Ziel: Robustheit gegen fehlende Mittelnamen) Kosten w g für das Öffnen einer Lücke Kosten w s für jedes weitere Zeichen in einer Lücke Fabian Panse String Matching 33
139 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Modifizieren von ganzen Blöcken ist günstiger als alle Zeichen einzeln zu modifizieren (Ziel: Robustheit gegen fehlende Mittelnamen) Kosten w g für das Öffnen einer Lücke Kosten w s für jedes weitere Zeichen in einer Lücke Kosten einer Lücke der Länge l: w(l) = w g + (l 1) w s Fabian Panse String Matching 33
140 Affine Gap Distanz Erweitert die Levenshtein Distanz um das Einfügen und Löschen von kompletten Substrings Modifizieren von ganzen Blöcken ist günstiger als alle Zeichen einzeln zu modifizieren (Ziel: Robustheit gegen fehlende Mittelnamen) Kosten w g für das Öffnen einer Lücke Kosten w s für jedes weitere Zeichen in einer Lücke Kosten einer Lücke der Länge l: w(l) = w g + (l 1) w s Kann mit Hilfe dynamischer Programmierung berechnet werden Fabian Panse String Matching 33
141 Affine Gap Distanz (Beispiel) Fabian Panse String Matching 34
142 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Fabian Panse String Matching 34
143 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Kosten für Öffnen einer Lücke: w g = 1 Fabian Panse String Matching 34
144 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Kosten für Öffnen einer Lücke: w g = 1 Kosten für Weiterführen einer Lücke: w s = 0.1 Fabian Panse String Matching 34
145 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Kosten für Öffnen einer Lücke: w g = 1 Kosten für Weiterführen einer Lücke: w s = 0.1 Die Lücke umfasst den substring ürgen Fabian Panse String Matching 34
146 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Kosten für Öffnen einer Lücke: w g = 1 Kosten für Weiterführen einer Lücke: w s = 0.1 Die Lücke umfasst den substring ürgen Gesamtkosten der Lücke: w(l) = = 1.4 Fabian Panse String Matching 34
147 Affine Gap Distanz (Beispiel) x = Hans J Wurst und y = Hans Jürgen Wurst Kosten für Öffnen einer Lücke: w g = 1 Kosten für Weiterführen einer Lücke: w s = 0.1 Die Lücke umfasst den substring ürgen Gesamtkosten der Lücke: w(l) = = 1.4 Die Levenshtein Distanz zwischen x und y beträgt hingegen 5 Fabian Panse String Matching 34
148 Jaro Ähnlichkeit Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 35
149 Jaro Ähnlichkeit Problemstellung Genauigkeit Skalierbarkeit Konstruiert zum Vergleich kurzer Stringwerte wie Namen Fabian Panse String Matching 35
150 Jaro Ähnlichkeit Konstruiert zum Vergleich kurzer Stringwerte wie Namen Berechnung in 3 Schritten: Fabian Panse String Matching 35
151 Jaro Ähnlichkeit Konstruiert zum Vergleich kurzer Stringwerte wie Namen Berechnung in 3 Schritten: Finde allen gemeinsamen Buchstaben x i und y j (x i = y j ) so dass i j min( x, y )/2 Fabian Panse String Matching 35
152 Jaro Ähnlichkeit Konstruiert zum Vergleich kurzer Stringwerte wie Namen Berechnung in 3 Schritten: Finde allen gemeinsamen Buchstaben x i und y j (x i = y j ) so dass i j min( x, y )/2 Vergleiche den iten gemeinsamen Buchstaben von x mit dem iten gemeinsamen Buchstaben von y. Sind sie verschieden, liegt eine Transposition vor. Fabian Panse String Matching 35
153 Jaro Ähnlichkeit Problemstellung Genauigkeit Skalierbarkeit Konstruiert zum Vergleich kurzer Stringwerte wie Namen Berechnung in 3 Schritten: Finde allen gemeinsamen Buchstaben x i und y j (x i = y j ) so dass i j min( x, y )/2 Vergleiche den iten gemeinsamen Buchstaben von x mit dem iten gemeinsamen Buchstaben von y. Sind sie verschieden, liegt eine Transposition vor. Sei c die Anzahl der gemeinsamen Buchstaben und sei t die Anzahl der Transpositionen, die Jaro Ähnlichkeit zwischen x und y ist definiert als: ( ) Jaro(x, y) = 1 c 3 x + c y + c t/2 c Fabian Panse String Matching 35
154 Jaro Ähnlichkeit (Beispiel) Fabian Panse String Matching 36
155 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Fabian Panse String Matching 36
156 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Fabian Panse String Matching 36
157 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Die Sequenz gemeinsamer Buchstaben in x ist jon Fabian Panse String Matching 36
158 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Die Sequenz gemeinsamer Buchstaben in x ist jon Die Sequenz gemeinsamer Buchstaben in y ist ojn Fabian Panse String Matching 36
159 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Die Sequenz gemeinsamer Buchstaben in x ist jon Die Sequenz gemeinsamer Buchstaben in y ist ojn Anzahl an gemeinsamen Buchstaben ist: c = 3 Fabian Panse String Matching 36
160 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Die Sequenz gemeinsamer Buchstaben in x ist jon Die Sequenz gemeinsamer Buchstaben in y ist ojn Anzahl an gemeinsamen Buchstaben ist: c = 3 Anzahl an Transpositionen ist: t = 2 Fabian Panse String Matching 36
161 Jaro Ähnlichkeit (Beispiel) x = jon und y = ojhn Die maximale Distanz zwischen zwei gemeinsamen Buchstaben beträgt min(3, 4)/2 = 1.5 = 1 Die Sequenz gemeinsamer Buchstaben in x ist jon Die Sequenz gemeinsamer Buchstaben in y ist ojn Anzahl an gemeinsamen Buchstaben ist: c = 3 Anzahl an Transpositionen ist: t = 2 Jaro(x, y) = 1 3 ( ) = Fabian Panse String Matching 36
162 Agenda Problemstellung Genauigkeit Skalierbarkeit 1 Problemstellung 2 Genauigkeit Mengenbasierte Ähnlichkeitsmaße Sequenzbasierte Ähnlichkeitsmaße Phonetische Ähnlichkeitsmaße Semantische Ähnlichkeitsmaße Hybride Ähnlichkeitsmaße 3 Skalierbarkeit Fabian Panse String Matching 37
163 Phonetische Ähnlichkeit Fabian Panse String Matching 38
164 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Fabian Panse String Matching 38
165 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Verfahren sind zumeist sehr sprachabhängig Fabian Panse String Matching 38
166 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Verfahren sind zumeist sehr sprachabhängig Verwendung oft auf Personennamen beschränkt z.b. Meier vs. Mayer, Schmidt vs. Schmitt Fabian Panse String Matching 38
167 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Verfahren sind zumeist sehr sprachabhängig Verwendung oft auf Personennamen beschränkt z.b. Meier vs. Mayer, Schmidt vs. Schmitt Stringwerte werden in Codes transformiert Fabian Panse String Matching 38
168 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Verfahren sind zumeist sehr sprachabhängig Verwendung oft auf Personennamen beschränkt z.b. Meier vs. Mayer, Schmidt vs. Schmitt Stringwerte werden in Codes transformiert Phonetische Ähnlichkeit ergibt sich aus der Ähnlichkeit der Codes. Im einfachsten Fall: identische Codes Ähnlichkeit = 1 unterschiedliche Codes Ähnlichkeit = 0 Fabian Panse String Matching 38
169 Phonetische Ähnlichkeit Ähnlichkeit anhand der Wortklänge anstatt der Syntax (Sinnvoll wenn Daten telefonisch übermittelt werden) Verfahren sind zumeist sehr sprachabhängig Verwendung oft auf Personennamen beschränkt z.b. Meier vs. Mayer, Schmidt vs. Schmitt Stringwerte werden in Codes transformiert Phonetische Ähnlichkeit ergibt sich aus der Ähnlichkeit der Codes. Im einfachsten Fall: identische Codes Ähnlichkeit = 1 unterschiedliche Codes Ähnlichkeit = 0 Häufig verwendetes Verfahren ist Soundex [Rus18, Rus22] Fabian Panse String Matching 38
170 Soundex Problemstellung Genauigkeit Skalierbarkeit Fabian Panse String Matching 39
171 Soundex Problemstellung Genauigkeit Skalierbarkeit 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Fabian Panse String Matching 39
172 Soundex 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch folgende Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 Fabian Panse String Matching 39
173 Soundex 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch folgende Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes ersetzt (z.b wird zu 101 ) Fabian Panse String Matching 39
174 Soundex 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch folgende Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes ersetzt (z.b wird zu 101 ) 4. Mit Ausnahme des ersten Buchstaben werden alle Nicht-Ziffern entfernt Fabian Panse String Matching 39
175 Soundex 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch folgende Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes ersetzt (z.b wird zu 101 ) 4. Mit Ausnahme des ersten Buchstaben werden alle Nicht-Ziffern entfernt 5. Der Code wird auf die Länge vier beschränkt (notfalls Auffüllen mit der Ziffer 0 ) Fabian Panse String Matching 39
176 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Fabian Panse String Matching 40
177 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Fabian Panse String Matching 40
178 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Fabian Panse String Matching 40
179 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes Vorkommnis ersetzt Fabian Panse String Matching 40
180 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes Vorkommnis ersetzt Mit Ausnahme des ersten Buchstaben werden alle Nicht-Ziffern entfernt Fabian Panse String Matching 40
181 Soundex: Beispiele Problemstellung Genauigkeit Skalierbarkeit Tukker Tacker William Bill Schritt 1 Tukkr Tackr William Bill Schritt 2 Tu226 Ta226 Wi44ia5 Bi44 Schritt 3 Tu26 Ta26 Wi4ia5 Bi4 Schritt 4 T26 T26 W45 B4 Schritt 5 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse von h und w entfernt Mit Ausnahme des ersten Buchstaben werden alle Nichtvokale durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes Vorkommnis ersetzt Mit Ausnahme des ersten Buchstaben werden alle Nicht-Ziffern entfernt Der Code wird auf die Länge vier beschränkt (Auffüllen mit 0 ) Fabian Panse String Matching 40
182 Soundex (alternative Definition) Fabian Panse String Matching 41
183 Soundex (alternative Definition) 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h und w entfernt Fabian Panse String Matching 41
184 Soundex (alternative Definition) 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 Fabian Panse String Matching 41
185 Soundex (alternative Definition) 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes ersetzt (z.b wird zu 101 ), wenn die den Ziffern zugehörigen Buchstaben im ursprünglichen String nicht durch einen Vokal (inkl. y ) getrennt waren Fabian Panse String Matching 41
186 Soundex (alternative Definition) 1. Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h und w entfernt 2. Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes ersetzt (z.b wird zu 101 ), wenn die den Ziffern zugehörigen Buchstaben im ursprünglichen String nicht durch einen Vokal (inkl. y ) getrennt waren 4. Der Code wird auf die Länge vier beschränkt (notfalls Auffüllen mit der Ziffer 0 ) Fabian Panse String Matching 41
187 Soundex: Beispiele (alternative Definition) Tukker Tacker William Bill Schritt 1 Tkkr Tckr Wllm Bll Schritt 2 T226 T226 W445 B44 Schritt 3 T26 T26 W45 B4 Schritt 4 T260 T260 W450 B400 Fabian Panse String Matching 42
188 Soundex: Beispiele (alternative Definition) Tukker Tacker William Bill Schritt 1 Tkkr Tckr Wllm Bll Schritt 2 T226 T226 W445 B44 Schritt 3 T26 T26 W45 B4 Schritt 4 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h, und w entfernt Fabian Panse String Matching 42
189 Soundex: Beispiele (alternative Definition) Tukker Tacker William Bill Schritt 1 Tkkr Tckr Wllm Bll Schritt 2 T226 T226 W445 B44 Schritt 3 T26 T26 W45 B4 Schritt 4 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h, und w entfernt Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Fabian Panse String Matching 42
190 Soundex: Beispiele (alternative Definition) Tukker Tacker William Bill Schritt 1 Tkkr Tckr Wllm Bll Schritt 2 T226 T226 W445 B44 Schritt 3 T26 T26 W45 B4 Schritt 4 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h, und w entfernt Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes Vorkommnis ersetzt Fabian Panse String Matching 42
191 Soundex: Beispiele (alternative Definition) Tukker Tacker William Bill Schritt 1 Tkkr Tckr Wllm Bll Schritt 2 T226 T226 W445 B44 Schritt 3 T26 T26 W45 B4 Schritt 4 T260 T260 W450 B400 Mit Ausnahme des ersten Buchstaben werden alle Vorkommnisse der Buchstaben a, e, i, o, u, y, h, und w entfernt Mit Ausnahme des ersten Buchstaben werden alle verbliebende Buchstaben durch Ziffern ersetzt (k 2, r 6, l 4, m 5) Alle aufeinanderfolgenen Vorkommnisse der gleichen Ziffer werden durch ein einzelnes Vorkommnis ersetzt Der Code wird auf die Länge vier beschränkt (Auffüllen mit 0 ) Fabian Panse String Matching 42
String Matching. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme
String Matching Komplexe Informationssysteme Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Einordnung Identifzierung von Stringwerten die das gleiche Realwelt-Objekt referenzieren Namen
MehrRückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig
3. IR-Modelle Rückblick Aufteilung in Dokumente anwendungsabhängig Tokenisierung und Normalisierung sprachabhängig Gesetz von Zipf sagt aus, dass einige Wörter sehr häufig vorkommen; Stoppwörter können
MehrRückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig
3. IR-Modelle Rückblick Aufteilung in Dokumente anwendungsabhängig Tokenisierung und Normalisierung sprachabhängig Gesetz von Zipf sagt aus, dass einige Wörter sehr häufig vorkommen; Stoppwörter können
MehrHS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln. Edit distance. Referentinnen: Alena Geduldig, Kim Opgenoorth
HS: Angewandte Linguistische Datenverarbeitung Prof. Dr. Rolshoven Universität zu Köln Edit distance Referentinnen: Alena Geduldig, Kim Opgenoorth inexact matching Problem Erkenne, finde und toleriere
MehrLösung - Übungsblatt 1
Lösug - Übugsblatt 1 (Strig Matchig) Fabia Pase pase@iformatik.ui-hamburg.de Uiversität Hamburg Aufgabe 1: Overlap Measure ud Jaccard Koeffiziet Gegebe: x = Heri Wateroose ud y = Hery Waterose Tokebildug
MehrEinführung in die Computerlinguistik Information Retrieval: tf.idf
Einführung in die Computerlinguistik Information Retrieval: tf.idf Dr. Benjamin Roth & Annemarie Friedrich Centrum für Infomations- und Sprachverarbeitung LMU München WS 2016/2017 Referenzen Dan Jurafsky
MehrInformation Retrieval, Vektorraummodell
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Paul Prasse Michael Großhans Uwe Dick Information Retrieval Konstruktion
MehrAlgorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung
Johanna Ploog, Konstantin Clemens Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Zweites
MehrDynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
MehrNachteile Boolesches Retrieval
Nachteile Boolesches Retrieval Komplizierte Anfragen Häufigkeit bzw. Relevanz der Terme in den Dokumenten nicht berücksichtigt 2 von 3 UND-verknüpften Termen im Dokument so schlecht wie 0 Terme Keine Rangfolge
MehrÜbersicht. Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene
Übersicht Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene 5.0.07 1 IR-System Peter Kolb 5.0.07 Volltextindex Dokumentenmenge durchsuchbar machen Suche nach Wörtern Volltextindex:
MehrMeinten Sie...? Wie Suchmaschinen mit Hilfe des Levenshtein-Algorithmus und Soundex ähnliche Wörter finden.
Meinten Sie...? Wie Suchmaschinen mit Hilfe des Levenshtein-Algorithmus und Soundex ähnliche Wörter finden. 24.11.2010, Christiane Olschewski Kontakt: Olschewski@LaminARt.de, Olschewski@Olschewski.org
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Invertierte Listen Nutzung vor allem zur Textsuche
MehrInformation Retrieval,
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Uwe Dick Peter Haider Paul Prasse Information Retrieval Konstruktion von
MehrAlgorithmische Anwendungen WS 2005/2006
Algorithmische Anwendungen WS 2005/2006 Sequenzalignment Gruppe F_lila_Ala0506 Allal Kharaz Yassine ELassad Inhaltsverzeichnis 1 Problemstellungen...................................... 3 1.1 Rechtschreibkorrektur...............................
MehrKlassisches Information Retrieval Jan Schrader
Klassisches Information Retrieval 27.10.2011 Jan Schrader Information Retrieval (IR) Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies
MehrKlassen von Retrieval-Modellen. Boolesche und Vektorraum- Modelle. Weitere Modell-Dimensionen. Retrieval-Modelle. Boolesche Modelle (Mengen-basiert)
Klassen von Retrieval-Modellen Boolesche und Vektorraum- Modelle Boolesche Modelle (Mengen-basiert) Erweitertes Boolesches Modell Vektorraummodelle (vector space) (statistisch-algebraischer Ansatz) Latente
MehrAufgabenblatt 4. Silke Trißl Wissensmanagement in der Bioinformatik
Aufgabenblatt 4 Silke Trißl Wissensmanagement in der Bioinformatik Zuerst! FRAGEN? Silke Trißl: Bioinformatik für Biophysiker 2 Exercise 1 Global alignment using dynamic programming Write a program to
MehrInformation-Retrieval: Unscharfe Suche
Information-Retrieval: Unscharfe Suche Claes Neuefeind Fabian Steeg 19. November 2009 Themen des Seminars Boolesches Retrieval-Modell (IIR 1) Datenstrukturen (IIR 2) Tolerantes Retrieval (IIR 3) Vektorraum-Modell
MehrAlgorithmen auf Sequenzen
Algorithmen auf Sequenzen Fehlertolerante Mustersuche: Distanz- und Ähnlichkeitsmaße Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung
MehrBoolesche- und Vektorraum- Modelle
Boolesche- und Vektorraum- Modelle Viele Folien in diesem Abschnitt sind eine deutsche Übersetzung der Folien von Raymond J. Mooney (http://www.cs.utexas.edu/users/mooney/ir-course/). 1 Retrieval Modelle
MehrT = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente.
Vektorraummodell T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt. Der Vektorraum wird
MehrData Mining 2-1. Kapitel 2: Finding Similar Items. Johannes Zschache Wintersemester 2018/19
Data Mining Kapitel 2: Finding Similar Items Johannes Zschache Wintersemester 28/9 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 2- WS 28/9 2-2 Data Mining WS 28/9 Übersicht
MehrSeminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK
Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 08.05.2014 Gliederung 1 Vorverarbeitung
MehrRetrieval Modelle. Boolesche- und Vektorraum- Modelle. Weitere Modell-Dimensionen. Klassen von Retrieval Modellen. Boolesche Modelle (Mengentheorie)
Retrieval Modelle Boolesche- und Vektorraum- Modelle Ein Retrieval-Modell spezifiziert die Details der: Repräsentation von Dokumenten Repräsentation von Anfragen Retrievalfunktion Legt die Notation des
MehrFakultät für Informatik Übung zu Kognitive Systeme Sommersemester Lösungsblatt 4 Maschinelles Lernen und Spracherkennung
Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018 S. Constantin (stefan.constantin@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Lösungsblatt 4 Maschinelles Lernen und Spracherkennung Aufgabe
MehrInformation Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik
Rückblick Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik Präzision und Ausbeute als elementare Gütemaße Zerlegung und Normalisierung
MehrAlgorithmen für paarweise Sequenz-Alignments. Katharina Hembach
Proseminar Bioinformatik WS 2010/11 Algorithmen für paarweise Sequenz-Alignments Katharina Hembach 06.12.2010 1 Einleitung Paarweise Sequenz-Alignments spielen in der Bioinformatik eine wichtige Rolle.
MehrInformationsqualität Antrittsvorlesung am
Informationsqualität Antrittsvorlesung am 26.4.2007 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Informationsqualität Informationsintegration Duplikaterkennung Ähnlichkeit
MehrFakultät für Informatik Übung zu Kognitive Systeme Sommersemester Lösungsblatt 4 Maschinelles Lernen und Spracherkennung
Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 216 M. Sperber (matthias.sperber@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Lösungsblatt 4 Maschinelles Lernen und Spracherkennung Aufgabe
MehrPairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik
Pairwise Alignment Steffen Forkmann Proseminar: BioInformatik Wintersemester 2004/2005 Inhaltsverzeichnis 1 Problemstellungen 3 1.1 Rechtschreibkorrektur............................... 3 1.2 DNA- und Aminosäure-Sequenzen........................
MehrSo bewerten Sie einen Test
Fortgeschrittene Themen der statistische maschinelle Übersetzung (Advanced SMT) Evaluierung Miriam Kaeshammer Heinrich-Heine-Universität Düsseldorf Folien angepasst von T. Schoenemann Wintersemester 2014/15
MehrKlassifikation von Textabschnitten
Klassifikation von Textabschnitten Am Beispiel von Stellenanzeigen (JASC - Job Ads Section Classifier) Gliederung 1. Einführung: Zu welchem Zweck machen wir das? 2. Klassifikation ein kurzer Überblick
MehrAnwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke
Anwendungen der Hauptkomponentenanalyse Volker Tresp vertreten durch Florian Steinke 1 Dimensionsreduktion für Supervised Learning 2 Beispiel: Kaufentscheidung 3 Verbesserte Abstandsmaße durch Hauptkomponentenanalyse
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
MehrBoole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen
Rückblick Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen Vektorraummodell stellt Anfrage und Dokumente als Vektoren in gemeinsamen Vektorraum dar
MehrProjektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten
Projektgruppe Jennifer Post Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten 2. Juni 2010 Motivation Immer mehr Internet-Seiten Immer mehr digitale Texte Viele Inhalte ähnlich oder gleich
MehrSEMINAR KLASSIFIKATION & CLUSTERING STATISTISCHE GRUNDLAGEN. Stefan Langer WINTERSEMESTER 2014/15.
SEMINAR KLASSIFIKATION & CLUSTERING WINTERSEMESTER 2014/15 STATISTISCHE GRUNDLAGEN Stefan Langer stefan.langer@cis.uni-muenchen.de Frequenz & Häufigkeit: Übersicht Absolute Häufigkeit Relative Häufigkeit
MehrGeodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden
14. Seminar GIS & Internet UniBw München, 17. 18.09.2014 Geodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden Motivation Isolierte Daten Verlinkte
Mehr3 Matrizenrechnung. 3. November
3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige
MehrSpezielle Matrixformen
Definition B57 (Transposition) Eine einfache aber wichtige Operation auf Matrizen ist die Transposition, die aus einer (m n) Matrix A eine (n m) Matrix B = A T macht Hierbei gilt β i j = α j i, so daß
MehrÜbungen zu Multimedia-Datenbanken Aufgabenblatt 4 - Musterlösungen
Übungen zu Multimedia-Datenbanken Aufgabenblatt 4 - Musterlösungen Übung: Dipl.-Inf. Tina Walber Vorlesung: Dr.-Ing. Marcin Grzegorzek Fachbereich Informatik, Universität Koblenz Landau Ausgabe: 31.0.2010
MehrMultimedia-Datenbanken im SS 2010 Ähnlichkeitsmaße II
Multimedia-Datenbanken im SS 2010 Ähnlichkeitsmaße II Dr.-Ing. Marcin Grzegorzek 22.06.2010 Inhalte und Termine 1. Einführung in MMDB 1.1 Grundlegende Begriffe 1.2 Suche in einem MMDBS 1.3 MMDBMS-Anwendungen
Mehr(Bamberg)
Konzeption eines Frameworks für die Evaluation von Tag-Suggestion-Algorithmen Martin Garbe Steffen Oldenburg Lukas Zielinski Prof. Dr. Clemens Cap (Universität Rostock) 08.05.2008 (Bamberg) Übersicht Tags
MehrDuplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17
Dr. Armin Roth arminroth.de 27.04.2013 Dr. Armin Roth (arminroth.de) II Duplikaterkennung 27.04.2013 1 / 17 Agenda 1 Wiederholung: Datenwertintegration 2 Duplikaterkennung Dr. Armin Roth (arminroth.de)
MehrWorkshop Datenreinigung Duplikaterkennung Felix Naumann
Workshop Datenreinigung Duplikaterkennung 11.10.2011 Felix Naumann Überblick 2 Das Problem der Duplikaterkennung Ähnlichkeitsmaße Edit Distance et al. Algorithmen Naiv Blocking Sorted-Neighborhood Methode
MehrKapitel IR:III (Fortsetzung)
Kapitel IR:III (Fortsetzung) III. Retrieval-Modelle Modelle und Prozesse im IR Klassische Retrieval-Modelle Bool sches Modell Vektorraummodell Retrieval-Modelle mit verborgenen Variablen Algebraisches
MehrWMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou
WMS Block: Management von Wissen in nform PART: Text Mining Myra Spiliopoulou WIE ERFASSEN UND VERWALTEN WIR EXPLIZITES WISSEN? 1. Wie strukturieren wir Wissen in nform? 2. Wie verwalten wir nsammlungen?
MehrMachine Learning and Data Mining Summer 2015 Exercise Sheet 11
Ludwig-Maximilians-Universitaet Muenchen 0.06.205 Institute for Informatics Prof. Dr. Volker Tresp Gregor Jossé Johannes Niedermayer Machine Learning and Data Mining Summer 205 Exercise Sheet Presentation
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrBioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik
Bioinformatik Lokale Alignierung Gapkosten Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Ähnlichkeit Lokales und globales Alignment Gapped Alignment Silke Trißl:
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 14, Donnerstag, 6.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 14, Donnerstag, 6. Februar 2014 (Editierdistanz, dynamische Programmierung) Junior-Prof.
MehrImplementierung eines Vektormodells
Implementierung eines Vektormodells Hauptseminar Information Retrieval WS 2013/14 Dr. Karin Haenelt Amol Phadke, Mirjam Eppinger Institut für Computerlinguistik Ruprecht-Karls-Universität Heidelberg 03.02.2014
MehrNeue Stringfunktionen
ABAP 7.02 New Features Neue Stringfunktionen Johann Fößleitner, Cadaxo GmbH Inhaltsverzeichnis cmax/cmin - Zeichenartige Extremwertfunktion condense - Verdichtungsfunktion concate_lines_of - Verkettungsfunktion
MehrSeminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK
Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 16.05.2013 Gliederung 1 Vorverarbeitung
MehrInformation Retrieval. Domenico Strigari Dominik Wißkirchen
Information Retrieval Domenico Strigari Dominik Wißkirchen 2009-12-22 Definition Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies
MehrUsing Sets of Feature Vectors for Similarity Search on Voxelized CAD Data
Diplomarbeit Using Sets of Feature Vectors for Similarity Search on Voxelized CAD Data Stefan Brecheisen Aufgabensteller: Betreuer: Dank an: Prof. Dr. Hans-Peter Kriegel Martin Pfeifle Peer Kröger, Matthias
MehrKapitel 9: Lineare Programmierung Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
Mehr6 Symmetrische Matrizen und quadratische Formen
Mathematik für Ingenieure II, SS 9 Freitag 9.6 $Id: quadrat.tex,v. 9/6/9 4:6:48 hk Exp $ 6 Symmetrische Matrizen und quadratische Formen 6. Symmetrische Matrizen Eine n n Matrix heißt symmetrisch wenn
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 21 (15.7.2016) String Matching (Textsuche) Approximate String Matching Algorithmen und Komplexität Textsuche / String Matching Gegeben:
MehrDuplikatanalyse. Ein Vortrag von. Susanne O'Shaughnessy und Michaela Geierhos
Duplikatanalyse Ein Vortrag von Susanne O'Shaughnessy und Michaela Geierhos 13.07.2005 Duplikaten Elimination Problem: Mit dem explosionsartigen Anwachsen des WWW ist eine riesige Dokumentenmenge zugänglich.
MehrFederated Search: Integration von FAST DataSearch und Lucene
Federated Search: Integration von FAST DataSearch und Lucene Christian Kohlschütter L3S Research Center BSZ/KOBV-Workshop, Stuttgart 24. Januar 2006 Christian Kohlschütter, 24. Januar 2006 p 1 Motivation
MehrUser Defined Functions
User Defined Functions Hierbei handelt es sich um Funktionen, die vom Benutzer erzeugt und unter Verwendung einer speziellen Anweisung (CREATE FUNCTION) in eine Datenbank integriert werden. Für die Programmierung
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5. Februar 2015 (Editierdistanz, dynamische Programmierung) Junior-Prof.
Mehr6. Algorithmen auf Zeichenketten
6. Algorithmen auf Zeichenketten Motivation Wir lernen nun Algorithmen zur Lösung verschiedener elementarer Probleme auf Zeichenketten zu lösen Zeichenketten spielen eine wichtige Rolle in diversen Gebieten
MehrStudiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel
Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?
MehrInhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining
6. Data Mining Inhalt 6.1 Motivation 6.2 Klassifikation 6.3 Clusteranalyse 6.4 Asszoziationsanalyse 2 6.1 Motivation Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse (actionable
MehrTextmining Klassifikation von Texten Teil 2: Im Vektorraummodell
Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell Dept. Informatik 8 (Künstliche Intelligenz) Friedrich-Alexander-Universität Erlangen-Nürnberg (Informatik 8) Klassifikation von Texten Teil
MehrInformation Retrieval und Question Answering
und Question Answering Kai Kugler 19. November 2009 Auffinden von relevantem Wissen Die Relevanz der aufzufindenden Information ist abhängig vom... aktuellen Wissen des Benutzers dem aktuellen Problem
MehrAnwendung von Vektormodell und boolschem Modell in Kombination
Anwendung von Vektormodell und boolschem Modell in Kombination Julia Kreutzer Seminar Information Retrieval Institut für Computerlinguistik Universität Heidelberg 12.01.2015 Motivation Welche Filme sind
MehrFakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018
Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018 S. Constantin (stefan.constantin@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Übungsblatt 4 Maschinelles Lernen und Spracherkennung Abgabe
Mehr3. Retrievalmodelle Grundkonzept des Vektorraummodells. Vektorraummodell. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt.
3. Retrievalmodelle Grundkonzept des Vektorraummodells Vektorraummodell Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt. Der Vektorraum wird durch die in der Datenbank enthaltenen
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
MehrData Mining und Maschinelles Lernen Lösungsvorschlag für das 7. Übungsblatt
Data Mining und Maschinelles Lernen Lösungsvorschlag für das 7. Übungsblatt Knowledge Engineering Group Data Mining und Maschinelles Lernen Lösungsvorschlag 7. Übungsblatt 1 Aufgabe 1a) Auffüllen von Attributen
MehrDatenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018
Datenbanken: Datenkompression Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
MehrIndexieren und Suchen
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Indexieren und Suchen Tobias Scheffer Index-Datenstrukturen, Suchalgorithmen Invertierte Indizes Suffix-Bäume und -Arrays Signaturdateien
MehrAlgorithmen auf Sequenzen
Algorithmen auf Sequenzen Vorlesung von Prof. Dr. Sven Rahmann im Sommersemester 2008 Kapitel 6 Alignments Webseite zur Vorlesung http://ls11-www.cs.tu-dortmund.de/people/rahmann/teaching/ss2008/algorithmenaufsequenzen
MehrUniversität Bremen. Textsuche. Thomas Röfer. Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz
Textsuche Thomas Röfer Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz Rückblick Graphenalgorithmen Scan-Line-Prinzip Adjazenzmatrix Adjazenzlisten
MehrDateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrMultimedia-Datenbanken im SS 2010 Einführung in MMDB
Multimedia-Datenbanken im SS 2010 Einführung in MMDB Dr.-Ing. Marcin Grzegorzek 27.04.2010 Ähnlichkeitssuche in Multimedia-Datenbanken 2/ 28 Inhalte und Termine 1. Einführung in MMDB 1.1 Grundlegende Begriffe
MehrBewertung historischer und regionaler Schreibvarianten mit Hilfe von Abstandsmaßen
Universität Duisburg-Essen Fakultät für Ingenieurwissenschaften Abteilung Informatik Diplomarbeit im Studiengang Angewandte Informatik Bewertung historischer und regionaler Schreibvarianten mit Hilfe von
MehrKapitel ML: X (Fortsetzung)
Kapitel ML: X (Fortsetzung) X. Clusteranalyse Einordnung Data Mining Einführung in die Clusteranalyse Hierarchische Verfahren Iterative Verfahren Dichtebasierte Verfahren Cluster-Evaluierung ML: X-31 Cluster
MehrPraktikum. SEP: Java-Programmierung SS Trie: Häufige Fragen. Thomas Bunk und Karlheinz Friedberger
Praktikum SEP: Java-Programmierung SS 2019 Trie: Häufige Fragen Thomas Bunk und Karlheinz Friedberger 1 / 12 Ab wann kann abgegeben werden? Seit Beginn der Aufgabe. Es können beliebig viele Abgaben hochgeladen
MehrDublettenbereinigung nach dem Record Linkage Algorithmus
Dublettenbereinigung nach dem Record Linkage Algorithmus Dipl.-Wirtschaftsinformatiker (FH) Sönke Cordts, Prof. Dr. Burkhard Müller Wirtschaftsinformatik Fachhochschule Westküste, BWL Fritz-Thiedemann-Ring
MehrAlgorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments
Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments Sven Rahmann Genominformatik Universitätsklinikum Essen Universität Duisburg-Essen Universitätsallianz Ruhr Einführung Bisher: Berechnung
MehrImplementierung: Dokumentclustering
Implementierung: Dokumentclustering Max Jakob Florian Winkelmeier Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik HS Information Retrieval Dozentin: Dr. Karin Haenelt Wintersemester
MehrMöglichkeiten der automatischen Sprachverarbeitung mit Django
Möglichkeiten der automatischen Sprachverarbeitung mit März 2009 / Leipzig / Python Stammtisch Möglichkeiten der automatischen Sprachverarbeitung mit Inhalt 1 2 3 4 Möglichkeiten der automatischen Sprachverarbeitung
MehrText-Mining: Datenaufbereitung und -repräsentation
Text-Mining: Datenaufbereitung und -repräsentation Claes Neuefeind Fabian Steeg 20. Mai 2010 Wiederholung: Leitfragen Aufgabe: Unstrukturierte Daten aufbereiten, so dass das enthaltene Wissen extrahiert
MehrVortrag 20: Kurze Vektoren in Gittern
Seminar: Wie genau ist ungefähr Vortrag 20: Kurze Vektoren in Gittern Kerstin Bauer Sommerakademie Görlitz, 2007 Definition und Problembeschreibung Definition: Gitter Seien b 1,,b k Q n. Dann heißt die
MehrAutomatisierte Strukturerkennung aus Texten - eine Anwendung von Verfahren des Maschinellen Lernens
Automatisierte Strukturerkennung aus Texten - eine Anwendung von Verfahren des Maschinellen Lernens Universität zu Köln Philosophisches Institut Seminar: Künstliche Intelligenz II Leitung: Stephan Schwiebert,
MehrAlgorithmen I - Tutorium 28 Nr. 12
Algorithmen I - Tutorium 28 Nr. 12 20.07.2017: Spaß mit Dynamischer und Linearer Programmierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
MehrBoole'sches Modell <is web>
Boole'sches Modell basiert auf Mengentheorie und Boole'scher Algebra sehr einfaches Modell mit klarer Semantik Dokumente als Mengen von Indextermen Termgewichte sind binär: im Dokument enthalten oder nicht
MehrInformation-Retrieval: Vektorraum-Modell
Information-Retrieval: Vektorraum-Modell Claes Neuefeind Fabian Steeg 03. Dezember 2009 Themen des Seminars Boolesches Retrieval-Modell (IIR 1) Datenstrukturen (IIR 2) Tolerantes Retrieval (IIR 3) Vektorraum-Modell
Mehr