Ich möchte MetaPhone , Doppelte Metaphone , Caverphone , MetaPhone3, SoundEx, und wenn jemand es schon getan hat NameX Funktionen innerhalb von "R", so dass ich ähnliche Werte kategorisieren und zusammenfassen kann, um Datenbereinigungen vor der Analyse zu minimieren .
Ich bin mir vollkommen bewusst, dass jeder Algorithmus seine eigenen Stärken und Schwächen hat und würde sehr vorziehen, SoundEx nicht zu verwenden , aber es könnte trotzdem funktionieren, wenn ich keine Alternativen finde; so wie in Dieser Beitrag Harper würde mit einer beliebigen Liste von nicht verwandten Namen unter SoundEx übereinstimmen, sollte aber in Metaphone nicht für eine bessere Übereinstimmung sorgen.
Obwohl ich nicht sicher bin, was meinen Zwecken am besten dienen würde, während ich immer noch etwas Flexibilität beibehalte, ist das der Grund, warum ich mit einigen von ihnen einen Stich machen will, und bevor ich die Werte ansehe, erzeuge eine Tabelle wie die folgende / p>
Nachnamen sind nicht das Thema meiner ersten Analyse, aber ich denke, es ist ein gutes Beispiel, da ich effektiv alle "klingenden" Wörter betrachten möchte, die als derselbe Wert behandelt werden Werte werden ausgewertet.
Einige Dinge, die ich schon angeschaut habe:
Also ich suche speziell nach einer Antwort wie funktioniert eine MetaPhone / Caverphone Funktion in R und kennt den "Value" also kann ich Datenwerte damit gruppieren?
Der zusätzliche Vorbehalt ist, dass ich mich immer noch als ziemlich neu für R halte, da ich kein täglicher Benutzer davon bin.
Der Algorithmus ist ziemlich einfach, aber ich konnte auch kein existierendes R-Paket finden. Wenn Sie diese Arbeit wirklich in R ausführen müssen, besteht eine kurzfristige Option darin, das Python-Modul metaphone
( pip install metaphone
) zu installieren und dann die rPython
-Brücke zu verwenden, um es in R zu verwenden:
Es ist nicht die eleganteste Lösung, aber es bringt Metaphon-Operationen in R.
Apache Commons hat eine Codec-Bibliothek , die auch die Metaphone-Algorithmen implementiert:
%Vor% Sie können das obige .jcall
eine R-Funktion machen und es wie jede andere R-Funktion verwenden:
Die Java-Schnittstelle ist möglicherweise auch plattformübergreifender kompatibel.
Hier ist eine vollständigere Ansicht der Verwendung der Java-Schnittstelle:
%Vor%Ich habe an einem Paket dafür gearbeitet, phonics , für ein paar Monate . Ich habe einige der gebräuchlichen und weniger gebräuchlichen implementiert, einschließlich Caverphone, Caverphone2, Metaphone und Soundex. Einige andere sind implementiert. Ich habe noch eine Handvoll mehr, die ich vor dem Aufruf von 1.0 implementieren möchte, aber ich habe gerade eine Version des Pakets an CRAN übergeben.
Hier ist eine Caverphone-Interpretation, während es den kaskadierenden Regelansatz berücksichtigt, bedenken Sie, dass caverphone immer als ein Beispiel für die Anpassung an einen Regionsakzentkontext gedacht war (obwohl die Leute es auf eine allgemeine Art und Weise verwenden wie es) macht eine andere Reihe von Kompromissen zu den meisten anderen basierend auf ihren eigenen Regionen), also würde ich vorschlagen, a) die eindeutigen Zeichen in Ihrer Datenquelle zu erhalten, um sicherzustellen, dass Sie sie alle verarbeiten, b) erwägen, die endgültige Längenbeschränkung zu ändern Beziehung zu den Namen, mit denen du arbeitest, und c) darüber nachdenken, den regionalen Akzent-Mix zu modellieren - das war für das Modellieren der verschiedenen Akzentgruppen in Neuseeland im späten 19. Jahrhundert / Anfang des 20. Jahrhunderts und die Art und Weise, wie sie das was falsch beschreiben könnten andere sagten.
%Vor%