Rechtschreibkorrektur und Wortvorschlag

Sturmrider

Erfahrenes Mitglied
Hallo zusammen :)
Ich bin auf der Suche nach einem Algorithmus oder Verfahren (umsetzbar in PHP), der/das es mir ermöglicht eine Rechtschreibkorrektur oder einen Wortvorschlag zu einem Wort zu finden :rolleyes:
Ein Beispiel wäre Google. Wenn man beispielsweise nach "Rechtschreben" sucht, bekommt man als Vorschlag: "Meinten sie: Rechtschreiben". Oder "Stagnati" -> "Stagnation" usw.

Zunächst dachte ich, dahinter könnte der Porter Stemmer Algorithmus stecken, dem ist aber nicht so. Dieser sorgt nur dafür, dass Wortendungen für z.B. eine Suchanfrage besser sind und man mehr Ergebnisse findet.
Bsp.: man sucht nach "Erkältungen"; ohne den Porter Stemmer Algorithmus findet man so nur Ergebnisse, die 100% mit dem Wort "Erkältungen" übereinstimmen. Mit dem Algorithmus sucht man jedoch nach "Erkältung" und findet mehr.

Danke im voraus für eure Hilfe :)
 
Dazu musst dein Algorithmus erst einmal die richtigen Schreibweisen kennen, um die Eingabe mit ihnen vergleichen zu können. Das kannst du entweder machen, indem du dir ein Wörterbuch zur Hand nimmst und alle darin enthaltenen Wörter eingibst. Oder du protokollierst die Suchanfragen und hoffst, dass die gemeinten Begriffe häufiger richtig als falsch geschrieben werden, damit der Algorithmus nicht die falsche Schreibweise als richtig ansieht.
 
:rolleyes: es ist mir schon klar, dass ich dazu ein Wörterbuch benötige (bzw. ist die sicherste Variante -> denn z.B. "während" schreiben die meisten [meiner Erfahrung nach] falsch. Außerdem würde die andere Variante die du vorgeschlagen hast gar nicht funktionieren, da so auch falsche Wörter protokolliert und somit am Ende, beim Vergleichen, auch falsche Wörter vorgeschlagen würden)
aber das sollte kein Problem sein, da ich bereits über eine Datenbank mit Keywords verfüge, in denen Gesucht werden soll. Diese Datenbank kann auch gleichzeitig als Wörterbuch fungieren ;)
Allerdings hat mich das jetzt nicht wirklich weiter gebracht :rolleyes: das "vergleichen" des Suchbegriffs mit dem Wörterbuch ist meine Frage/Problem ^^
 
Zuletzt bearbeitet:
Ich würde vermutlich neben den eigentlichen Wörtern auch ihren Soundex-Wert speichern. „Rechtschreben“ kann damit direkt „Rechtschreiben“ zugeordnet werden, da beide denselben Soundex-Wert „R232“ besitzen. Dieser Grobfilter kann aber auch nachteilig sein.
Nach diesem Grobfilter würde ich die übrig gebliebenen Werte mit Vergleichsfunktionen wie similar_text() oder levenshtein() vergleichen, um die Ähnlichkeit zu ermitteln.
 
SUPER, genau nach soetwas habe ich gesucht >DANKE< ^^ ich werde mich damit jetzt erst einmal eine Zeit lang befassen :) wenn du oder jemand anders aber noch weitere Vorschläge hat, würde ich mich freuen, wenn ihr diese hier posten könntet :rolleyes:
 
Zurück