Passende Fuzzy-Strings

8

Ich habe zwei Tabellen, die ich in PostgreSQL zusammenführen muss, auf der gemeinsamen Variable "Firmenname". Leider stimmen viele der Firmennamen nicht genau überein (d. H. MICROSOFT in einer Tabelle, MICROSFT in der anderen). Ich habe versucht, gängige Wörter aus beiden Spalten wie "corporation" oder "inc" oder "ltd" zu entfernen, um zu versuchen, Namen in beiden Tabellen zu standardisieren, aber ich habe Probleme, über zusätzliche Strategien nachzudenken. Irgendwelche Ideen?

Danke.

Auch, wenn nötig, kann ich das in R machen.

    
aesir 19.01.2012, 16:25
quelle

1 Antwort

7

Hast du das fuzzystrmatch-Modul in Betracht gezogen? Sie können soundex , difference , levenshtein , metaphone und dmetaphone oder eine Kombination verwenden.

fuzzystrmatch documentation

%Vor%

Zum Beispiel ist der Levenshtein-Abstand von MICROSOFT zu MICROSFT eins (1).

%Vor%

Das obige gibt null (0) zurück. Die Kombination von Levenshtein und Dmetaphon könnte Ihnen helfen, viele Rechtschreibfehler zu finden.

    
Anders Tornblad 19.01.2012 16:38
quelle