K
Kristian-
Hiho und zwar habe ich da folgendes Problem:
Ich habe zwei Strings alá:
$string1 = "Das Haus MD532 ist ganz schön lang und grün"
$string2 = "Und eins der grünen Häuser, nämlich MD532 war grün"
Nun gibt es ja dutzende Methoden nativ, oder mit ein bisschen gespiele, mit denen man Differenzen, Übereinstimmungen berechnen kann, da wären z.B. similar_text, levenshtein oder wenn man auf die Aussprache eingeht auch soundex oder "die kölner phonetik". Alles kein Problem, ich denke es ist auch ersichtlich, dass ich Ahnung habe/mich damit auseinander gesetzt habe.
Allerdings haben diese Algos natürlich alle das Problem, dass die einzelnen String in keiner Gewichtung vorliegen. Das heißt: "und" ist genauso gewichtet wie die exakte Hausbeschreibung "MD532". Wenn jedoch die genaue Hausbeschreibung übereinstimmt, kann man ja davon ausgehen, das die Stringketten inhaltlich verwandt sind. Inhaltliche Übereinstimmung != "Stringtechnische" Übereinstimmung. Somit fallen diese Algorithmen größtenteils aus. Mein Plan wäre nun folgender:
Man baut sich eine MySQL Tabelle und befüllt diese mit Wörtern und der jeweilige Gewichtungen, man ließt $string1 und $string2 ein, strtolower, entfernt die Sonderzeichen und überprüft die ganze Geschichte.
Aber:
1. müsste ich wirklich viel Arbeit investieren um die Datenbank zu befüllen
2. Der Algorithmus (den ich Seitenweise als Pseudocode stehen habe) hat wirklich viele Feinheiten und ist stellenweise recht komplex.
Meine eigentliche Frage: Wie würdet ihr rangehen, gibt es sowas sogar evtl. schon fertig als OpenSource?
Lieben Gruß,
Kristian
Ich habe zwei Strings alá:
$string1 = "Das Haus MD532 ist ganz schön lang und grün"
$string2 = "Und eins der grünen Häuser, nämlich MD532 war grün"
Nun gibt es ja dutzende Methoden nativ, oder mit ein bisschen gespiele, mit denen man Differenzen, Übereinstimmungen berechnen kann, da wären z.B. similar_text, levenshtein oder wenn man auf die Aussprache eingeht auch soundex oder "die kölner phonetik". Alles kein Problem, ich denke es ist auch ersichtlich, dass ich Ahnung habe/mich damit auseinander gesetzt habe.
Allerdings haben diese Algos natürlich alle das Problem, dass die einzelnen String in keiner Gewichtung vorliegen. Das heißt: "und" ist genauso gewichtet wie die exakte Hausbeschreibung "MD532". Wenn jedoch die genaue Hausbeschreibung übereinstimmt, kann man ja davon ausgehen, das die Stringketten inhaltlich verwandt sind. Inhaltliche Übereinstimmung != "Stringtechnische" Übereinstimmung. Somit fallen diese Algorithmen größtenteils aus. Mein Plan wäre nun folgender:
Man baut sich eine MySQL Tabelle und befüllt diese mit Wörtern und der jeweilige Gewichtungen, man ließt $string1 und $string2 ein, strtolower, entfernt die Sonderzeichen und überprüft die ganze Geschichte.
Aber:
1. müsste ich wirklich viel Arbeit investieren um die Datenbank zu befüllen
2. Der Algorithmus (den ich Seitenweise als Pseudocode stehen habe) hat wirklich viele Feinheiten und ist stellenweise recht komplex.
Meine eigentliche Frage: Wie würdet ihr rangehen, gibt es sowas sogar evtl. schon fertig als OpenSource?
Lieben Gruß,
Kristian