2016-03-22 11 views
0

Ich baue eine Android-App für die Registrierung von Benutzerbeschwerden für bestimmte Probleme mit der Regierung. Ich möchte die Beschwerden in meiner Datenbank eindeutig und eindeutig machen. Ich benutze PHP und MySQL-Datenbank. Ich möchte die Ähnlichkeiten zwischen den Beschwerden mit einer Software wie Wordnet übereinstimmen, um identische Beschwerden zu beseitigen und dem Benutzer Vorschläge zu geben. Wie kann ich das tun? Gibt es nur Wordnet oder eine andere zuverlässige Methode?Aufbau eines Empfehlungssystems für den Vergleich von Zeichenketten

+1

Verwenden Sie einen String-Distanz-Algorithmus, um zu berechnen, wie weit potenzielle neue Einträge von vorhandenen entfernt sind. Beginnen Sie hier: https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance – JLB

+0

Sagt dieser Algorithmus die Synonyme zwischen zwei Zeichenketten voraus? Aber es wäre präziser, wenn ich ein Werkzeug dafür hätte, damit ich meine Arbeit bald erledigen kann. Es scheint lange dauern, um es zu implementieren. – vicky

+0

Eine Diskussion über das, was Sie versuchen zu tun: http://stackoverflow.com/questions/12094326/match-similar-variations-of-words-suffixes-in-mysql – JLB

Antwort

0

Empfehlungen (die Art, nach der Sie fragen, nicht die Art, die Sie erstellen) sind in Stack Overflow nicht zulässig, und ich erwarte, dass diese Frage geschlossen wird. Hoffentlich kann ich das beenden, bevor das passiert.

Während Single-Case-Zeug und Ambiguität scheinen wie Dinge, die Sie loswerden wollen, gibt es eine Menge Wert in die Aufnahme alles, was Menschen sagen in der Art, wie sie es sagen. Dies gilt auch hier auf Stack Overflow, Fragen können als Duplikate geschlossen werden, aber wir entfernen sie nicht, wir behalten sie herum, so dass, wenn jemand die Frage so eingibt und hier von Google landet, wir immer noch ihr Verständnis der Problem.

Das Problem, mit dem Sie konfrontiert sind, ist eher ein Produktdesign als ein Algorithmus. Unabhängig von dem passenden Algorithmus, mit dem Sie die Ähnlichkeit bestimmen (von denen es viele gibt), müssen Sie immer noch entscheiden, welche Auswirkungen die Erklärung von Dingen auf Ihre Benutzer hat. Das wird Ihnen wahrscheinlich helfen, die Ähnlichkeit zu bestimmen. (dh ist es Wortähnlichkeit, Zeichen-N-Gram-Ähnlichkeit, begriffliche Ähnlichkeit, etc.)

Sobald Sie eine Ähnlichkeit wählen und auf ein bestimmtes Problem stoßen, bekommen Sie den gewünschten Effekt (dh Sie können Ihre Eingaben beschreiben und was Sie erwarten als Ausgabe), das ist die Art von Frage, die Sie hier stellen können.