Javascript text ähnlichkeits-Algorithmus
Ich Baue eine website, die Erfassung verschiedenen news-feeds und möchte die Texte verglichen werden, die für die ähnlichkeit. Was ich brauche, ist irgendeine Art von news text ähnlichkeits-Algorithmus.
Ich weiß, dass php die Funktion similar_text und bin mir nicht sicher wie gut es ist + ich brauche es für javascript.
Also, wenn jemand könnte mich zu einem Beispiel oder einem plugin, oder einer Anweisung, wie dies möglich ist oder zumindest, wo Sie suchen und beginnen zu forschen.
Warum haben Sie speziell brauchen es in JS? Sie merken, das wird passieren, wenn Benutzer die Website besuchen, wird es nicht etwas, dass Sie unbedingt einen cron-job auf und speichern Sie auf dem server (auch nicht so einfach, wie eine serverseitige Sprache)
Es ist serverside javascript zu. 🙂 Und natürlich ist es getan werden könnte, in der (clientseitigen) Javascript-als auch durch den nur beim abrufen der feeds, und mischen Sie Sie auf dem client. Es erspart Ihnen eine server unterstützt server-side-scripting.
Ja, aber so etwas wie dies traditionell geschieht auf dem server, und wäre viel schneller.. und Sie könnten es einmal tun, speichern die Ergebnisse und dienen, um neue Benutzer. Ich bezweifle, dass der OP bezog sich auf so etwas wie NodeJS 😛
Der Punkt ist, dass es ein admin-panel, wo die admins ähnliche Nachrichten zusammen. Ich habe eine ganze Menge von Optionen, um es einfacher für Sie, aber ich muss die verwenden, wenn Sie wählen Sie einen Titel aus, vergleicht er seinen text an alle anderen news-Texte und stick heraus, das die meisten wahrscheinlich ähnlich sein.
Es ist serverside javascript zu. 🙂 Und natürlich ist es getan werden könnte, in der (clientseitigen) Javascript-als auch durch den nur beim abrufen der feeds, und mischen Sie Sie auf dem client. Es erspart Ihnen eine server unterstützt server-side-scripting.
Ja, aber so etwas wie dies traditionell geschieht auf dem server, und wäre viel schneller.. und Sie könnten es einmal tun, speichern die Ergebnisse und dienen, um neue Benutzer. Ich bezweifle, dass der OP bezog sich auf so etwas wie NodeJS 😛
Der Punkt ist, dass es ein admin-panel, wo die admins ähnliche Nachrichten zusammen. Ich habe eine ganze Menge von Optionen, um es einfacher für Sie, aber ich muss die verwenden, wenn Sie wählen Sie einen Titel aus, vergleicht er seinen text an alle anderen news-Texte und stick heraus, das die meisten wahrscheinlich ähnlich sein.
InformationsquelleAutor Karington | 2011-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine der javascript-Implementierung der Levenshtein-Distanz-Metrik, die oft für text-Vergleiche. Wenn Sie vergleichen wollen ganze Artikel oder Schlagzeilen, obwohl Sie sich besser suchen bei Kreuzungen zwischen den Wörtern, aus denen der text (und die Frequenzen dieser Worte), anstatt nur die string-ähnlichkeit misst.
InformationsquelleAutor Flexo
Sich die Frage, ob zwei Texte ähnlich sind, ist eine philosophische, solange Sie nicht genau angeben, was es bedeuten soll. Betrachten Sie die Zeichenfolgen "Haus" und "Maus". Gesehen aus einer semantischen Ebene, Sie sind nicht sehr ähnlich, aber Sie sind sehr ähnlich in Bezug auf Ihre "körperliche Erscheinung", weil nur ein Buchstabe anders ist (und in diesem Fall könnten Sie gehen durch Die Levenshtein-Distanz).
Entscheidet über die ähnlichkeit benötigen Sie eine geeignete - text-Darstellung. Sie könnten – zum Beispiel – Extrakt und zählen Sie alle n-Gramm und vergleichen Sie die resultierende zwei-Frequenz-Vektoren mit einer ähnlichkeit Messen, wie z.B. Kosinus-ähnlichkeit. Oder Sie könnten Stamm die Wörter auf Ihren Stamm bilden, nachdem Sie entfernt alle Stoppwörter, summieren, deren vorkommen und Verwendung diese als input für eine ähnlichkeit Messen.
Gibt es viele Konzepte und Papiere zu diesem Thema, z.B. dieser ein über kurze Texte. In jedem Fall: je höher Die Abstraktionsebene, wo Sie wollen, um zu entscheiden, ob zwei Texte ähnlich sind, desto schwieriger wird es bekommen. Ich denke, deine Frage ist nicht-trivial (und daher meine Antwort eher Abstrakt) ... 😉
InformationsquelleAutor philonous