Algorithmen/Theorie hinter predictive AutoVervollständigen?
Einfaches Wort AutoVervollständigen zeigt nur eine Liste von Wörtern, die mit den eingegebenen Zeichen übereinstimmen, wurden bereits eingegeben. Aber ich möchte, um die Worte in die AutoVervollständigen-Liste wird nach der Wahrscheinlichkeit, mit der die Wörter auftreten, je nach den Worten, die eingegeben wurden, bevor unter Berufung auf ein statistisches Modell, das von einem text-Korpus. Welche algorithmen und Datenstrukturen brauche ich dazu? Könnt Ihr mir links für gute tutorials?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Peter norvig hatte einen Artikel Wie Schreibt man einen Rechtschreib-Korrektor, die erklärt, wie Google meinten Sie...? Funktion arbeitet, verwendet Bayes ' sche Inferenz effektiv zu nutzen. Es ist sehr gut zu Lesen, und sollten anpassbar sein, um eine AutoVervollständigen-Funktion.
Brauchen Sie nicht Wahrscheinlichkeit für die Autovervollständigung. Stattdessen bauen Sie eine Präfix-Baum (aka eine trie) mit den Wörtern, die im Korpus als Schlüssel und Ihre Frequenzen als Werte. Wenn Sie auf eine Zeichenfolge, gehen die versuche, so weit wie Sie können, dann generieren Sie alle Suffixe von dem Punkt, den Sie erreicht haben, und sortiert diese nach Häufigkeit.
Wenn ein Benutzer einen vorher unsichtbaren Schnur, fügen Sie es einfach auf die versuche mit Frequenz eins; wenn ein Benutzer eine Zeichenfolge eingibt, die Sie gesehen hatten (vielleicht durch Auswahl aus der Liste), erhöhen Sie dessen Frequenz.
[Beachten Sie, dass Sie nicht tun können, die einfache portion mit einer Wahrscheinlichkeit Modell; im schlimmsten Fall hätten Sie berechnen Sie alle Wahrscheinlichkeiten in das Modell.]
Wenn Sie tiefer eintauchen wollen in diese Art von algorithmen, die ich sehr empfehlen Sie Lesen, (die ersten Kapitel) Speech und Language Processing von Jurafsky und Martin. Es behandelt die diskrete Wahrscheinlichkeit für die Sprachverarbeitung in einiges detail.