2016-12-29 16 views
1

Ich versuche, die Ähnlichkeit zwischen 2 Sätzen zu berechnen, so habe ich 2 Satz von Wörtern, jeder stellt einen Satz und eine Funktion (F), die zwei Wörter erhält und die Ähnlichkeit zwischen ihnen zurück ein Weg .. Image 1Messen Ähnlichkeit zwischen 2 Vektoren

In Bild 1 sind die schwarzen Kreise die Worte des Satzes A sind, und die roten Quadrate repräsentieren Satz B. Für jede Zeitfunktion (F) 2 Wörter empfängt, gibt sie einen Wert zwischen 0,0 und 1.0, zum Beispiel: das erste Wort in A und das dritte Wort von B haben eine Ähnlichkeit von 0,3. Ich habe M x N Vergleich verwendet, weil die Reihenfolge der beiden Sätze oft nicht gleich ist, und auch die Anzahl der Wörter.

Meine Fragen sind:

  1. alle M x N Vergleichsergebnisse Nachdem sie, wie könnte ich eine endgültige Punktzahl zwischen 0,0 und 1,0 erhalten, die die Ähnlichkeit der beiden Sätze oder Listen bezeichnet? "da die Länge der beiden Sätze nicht immer gleich ist".

  2. Wenn dieser Ansatz nicht richtig ist, was ist die Alternative?

+1

Interessant. Wie haben Sie Ähnliches definiert? –

+0

Ich denke nicht, es ist genau klar, was Sie versuchen zu tun. Haben Sie eine Matrix von Ähnlichkeitswerten? Ich bin mir nicht sicher, was M x N Vergleich bedeuten soll. Ist die Frage zu einem Thema "Ähnlichkeit" oder Mathematik? Vielleicht können Menschen, die noch keine Erfahrung mit "Ähnlichkeit" haben, Hilfe leisten. –

+0

@NickZiebert, semantisch mit kürzesten Weg in einer Ontologie. –

Antwort

0

Ich habe die Punktzahl der obigen Tabelle in der folgenden Art und Weise bekam:

1- Wenn ich 2 Listen bekommen, desto kürzer ist eine auf der linken Seite sein wird.

2- für jedes Wort auf der linken Seite, habe ich das Maximum extrahiert (1.0 in unserem Beispiel) dann dividiere es durch die Anzahl der Wörter auf der rechten Seite, um eine Punktzahl für das Wort zu erhalten.

3 - schließlich habe ich die Ergebnisse für die Wörter zusammengefasst, um das Endergebnis zu erhalten, dann dividiere es durch die Anzahl der Wörter auf der linken Seite. (1 + 0.8)/2 = 0.4

Diese Art der Berechnung hängt von der Art der Beziehungen ab, da jedes Wort Beziehungen über NULL haben kann, aber wenn jedes Wort nur eine Beziehung über NULL mit den anderen Relationen hat Wir sollten die Endergebnisse nicht durch die Anzahl der Wörter im letzten Schritt teilen.

Verwandte Themen