2017-07-02 3 views
0

Ich möchte eine Art von Ähnlichkeitswert berechnen für Suchanfragen auf Google gesucht.versucht Ähnlichkeit zwischen den Suchbegriffen zu berechnen

Das bedeutet unter anderem, dass die Reihenfolge der Wörter nicht unbedingt wichtig. Zum Beispiel:

„adidas Schuhe blau“ und „blaue Schuhe adidas“

sollte die als genau die gleiche Sequenz sein, was nicht der Fall in vielen der traditionellen Fern Algorithmen ist, glaube ich.

Das obige Beispiel mit Kosinusähnlichkeit gelöst werden könnte ich denke, aber was, wenn ich habe:

„adiddas Schuhe blue“

Ich würde den Algorithmus wie eine sehr ähnliche Distanz zum Original zu erhalten " „adidas Schuhe blue“

Ist ein solcher Algorithmus existieren?

+0

Nicht sicher, was Sie fragen hier. Erstens fordern Sie einen Algorithmus, wo Reihenfolge der Wörter keine Rolle spielt (obwohl Tonnen vorhanden sind) und dann fordern Sie einen Algorithmus, oder führt eine Korrektur Rechtschreibung enthält? Welcher der beiden ist dein Interesse? Außerdem glaube ich, dass dies zu Statistiken oder Data-Science Stackexchange gehört. –

+0

1. Reihenfolge keine Rolle spielt und 2 nimmt es ähnliche Schreibweisen. Rechtschreibfehler sind natürlich eine Sache, aber bei Marken nicht sicher, ob das die ganze Zeit funktioniert. In jedem Fall sagen wir für das Argument, dass das, was Sie sagen, richtig ist. Ich möchte Ähnlichkeitswerte für den Satz als Ganzes berechnen, basierend darauf, wie ähnlich Wörter sind, bei denen die Reihenfolge der Wörter keine Rolle spielt. In Bezug auf Ihren zweiten Kommentar gibt es viele Fragen wie SO zu SO. – elelias

Antwort

2

Verwenden Sie die Soft Cosine Similarity und stellen Sie die Ähnlichkeitsmaßes zwischen Begriffen der Levenshtein distance. die Soft Kosinusähnlichkeit verallgemeinern s das traditionelle Cosine-Ähnlichkeitsmaß unter Berücksichtigung der Bearbeitungsdistanz zwischen Begriffspaaren. Mit anderen Worten kompensiert das Soft-Cosine-Ähnlichkeitsmaß die Tatsache, dass die verschiedenen Dimensionen des Vektorraums nicht wirklich orthogonal sind.

Beachten Sie, dass Sie die Levenshtein-Distanz so normalisieren müssen, dass ähnliche Ausdrücke eine Ähnlichkeit von 1 haben (dh, wenn die Entfernung zwischen den Termen 0 ist, dann muss ihre Ähnlichkeit 1 sein).

Weitere Details finden Sie in the paper suggesting the soft similarity measure finden.

Verwandte Themen