String Matching. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme

Größe: px
Ab Seite anzeigen:

Download "String Matching. Fabian Panse. Universität Hamburg. Komplexe Informationssysteme"

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. 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

Mehr

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Rü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

Mehr

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Rü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

Mehr

HS: 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 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

Mehr

Lösung - Übungsblatt 1

Lö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

Mehr

Einführung in die Computerlinguistik Information Retrieval: tf.idf

Einfü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

Mehr

Information Retrieval, Vektorraummodell

Information 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

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Algorithmen 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

Mehr

Dynamische Programmierung

Dynamische 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

Mehr

Nachteile Boolesches Retrieval

Nachteile 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 Ü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:

Mehr

Meinten 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. 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Information Retrieval,

Information 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

Mehr

Algorithmische Anwendungen WS 2005/2006

Algorithmische 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...............................

Mehr

Klassisches Information Retrieval Jan Schrader

Klassisches 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

Mehr

Klassen von Retrieval-Modellen. Boolesche und Vektorraum- Modelle. Weitere Modell-Dimensionen. Retrieval-Modelle. Boolesche Modelle (Mengen-basiert)

Klassen 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

Mehr

Aufgabenblatt 4. Silke Trißl Wissensmanagement in der Bioinformatik

Aufgabenblatt 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

Mehr

Information-Retrieval: Unscharfe Suche

Information-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

Mehr

Algorithmen auf Sequenzen

Algorithmen 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

Mehr

Boolesche- und Vektorraum- Modelle

Boolesche- 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

Mehr

T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente.

T = {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

Mehr

Data Mining 2-1. Kapitel 2: Finding Similar Items. Johannes Zschache Wintersemester 2018/19

Data 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

Mehr

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

Seminar 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

Mehr

Retrieval Modelle. Boolesche- und Vektorraum- Modelle. Weitere Modell-Dimensionen. Klassen von Retrieval Modellen. Boolesche Modelle (Mengentheorie)

Retrieval 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

Mehr

Fakultä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 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

Mehr

Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik

Information 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

Mehr

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach

Algorithmen 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.

Mehr

Informationsqualität Antrittsvorlesung am

Informationsqualität Antrittsvorlesung am Informationsqualität Antrittsvorlesung am 26.4.2007 Felix Naumann Hasso-Plattner-Institut Fachgebiet Informationssysteme Überblick 2 Informationsqualität Informationsintegration Duplikaterkennung Ähnlichkeit

Mehr

Fakultä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 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

Mehr

Pairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik

Pairwise 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........................

Mehr

So bewerten Sie einen Test

So 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

Mehr

Klassifikation von Textabschnitten

Klassifikation 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

Mehr

Anwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke

Anwendungen 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

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-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

Mehr

Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen

Boole 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

Mehr

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten

Projektgruppe. 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

Mehr

SEMINAR KLASSIFIKATION & CLUSTERING STATISTISCHE GRUNDLAGEN. Stefan Langer WINTERSEMESTER 2014/15.

SEMINAR 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

Mehr

Geodatenintegration unter Nutzung von Linked Data Prinzipien Stefan Wiemann Technische Universität Dresden

Geodatenintegration 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

Mehr

3 Matrizenrechnung. 3. November

3 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

Mehr

Spezielle Matrixformen

Spezielle 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 Ü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

Mehr

Multimedia-Datenbanken im SS 2010 Ähnlichkeitsmaße II

Multimedia-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)

(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

Mehr

Duplikaterkennung. Dr. Armin Roth arminroth.de. Dr. Armin Roth (arminroth.de) II Duplikaterkennung / 17

Duplikaterkennung. 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)

Mehr

Workshop Datenreinigung Duplikaterkennung Felix Naumann

Workshop 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

Mehr

Kapitel IR:III (Fortsetzung)

Kapitel 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

Mehr

WMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou

WMS 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?

Mehr

Machine Learning and Data Mining Summer 2015 Exercise Sheet 11

Machine 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

Mehr

19. Dynamic Programming I

19. 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.

Mehr

Bioinformatik. 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 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:

Mehr

19. Dynamic Programming I

19. 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.

Mehr

Algorithmen 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. 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.

Mehr

Implementierung eines Vektormodells

Implementierung 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

Mehr

Neue Stringfunktionen

Neue Stringfunktionen ABAP 7.02 New Features Neue Stringfunktionen Johann Fößleitner, Cadaxo GmbH Inhaltsverzeichnis cmax/cmin - Zeichenartige Extremwertfunktion condense - Verdichtungsfunktion concate_lines_of - Verkettungsfunktion

Mehr

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

Seminar 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

Mehr

Information Retrieval. Domenico Strigari Dominik Wißkirchen

Information 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

Mehr

Using Sets of Feature Vectors for Similarity Search on Voxelized CAD Data

Using 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

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 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

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 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

Mehr

Informatik II, SS 2016

Informatik 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:

Mehr

Duplikatanalyse. Ein Vortrag von. Susanne O'Shaughnessy und Michaela Geierhos

Duplikatanalyse. 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.

Mehr

Federated Search: Integration von FAST DataSearch und Lucene

Federated 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

Mehr

User Defined Functions

User 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

Mehr

Algorithmen 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. 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.

Mehr

6. Algorithmen auf Zeichenketten

6. 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

Mehr

Studiengang 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 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?

Mehr

Inhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining

Inhalt. 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

Mehr

Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell

Textmining 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

Mehr

Information Retrieval und Question Answering

Information 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

Mehr

Anwendung von Vektormodell und boolschem Modell in Kombination

Anwendung 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

Mehr

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018

Fakultä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

Mehr

3. 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. 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

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen 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

Mehr

Data Mining und Maschinelles Lernen Lösungsvorschlag für das 7. Übungsblatt

Data 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

Mehr

Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018

Datenbanken: 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

Mehr

Algorithmische Bioinformatik 1

Algorithmische 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

Mehr

Indexieren und Suchen

Indexieren 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

Mehr

Algorithmen auf Sequenzen

Algorithmen 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

Mehr

Universität Bremen. Textsuche. Thomas Röfer. Naive Suche Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuche Editierdistanz

Universitä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

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation 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

Mehr

Multimedia-Datenbanken im SS 2010 Einführung in MMDB

Multimedia-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

Mehr

Bewertung historischer und regionaler Schreibvarianten mit Hilfe von Abstandsmaßen

Bewertung 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

Mehr

Kapitel ML: X (Fortsetzung)

Kapitel 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

Mehr

Praktikum. SEP: Java-Programmierung SS Trie: Häufige Fragen. Thomas Bunk und Karlheinz Friedberger

Praktikum. 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

Mehr

Dublettenbereinigung nach dem Record Linkage Algorithmus

Dublettenbereinigung 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

Mehr

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments

Algorithmen 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

Mehr

Implementierung: Dokumentclustering

Implementierung: Dokumentclustering Implementierung: Dokumentclustering Max Jakob Florian Winkelmeier Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik HS Information Retrieval Dozentin: Dr. Karin Haenelt Wintersemester

Mehr

Möglichkeiten der automatischen Sprachverarbeitung mit Django

Mö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

Mehr

Text-Mining: Datenaufbereitung und -repräsentation

Text-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

Mehr

Vortrag 20: Kurze Vektoren in Gittern

Vortrag 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

Mehr

Automatisierte Strukturerkennung aus Texten - eine Anwendung von Verfahren des Maschinellen Lernens

Automatisierte 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,

Mehr

Algorithmen I - Tutorium 28 Nr. 12

Algorithmen 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

Mehr

Boole'sches Modell <is web>

Boole'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

Mehr

Information-Retrieval: Vektorraum-Modell

Information-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