2016-09-13 5 views
0

Ich habe einen Test- und Trainingsdatensatz erhalten, der für die Stringähnlichkeitsmessung verwendet werden sollte. Hier habe ich einige Zeilen des Datensatzes gegeben,Verwendung des Jaccard-Koeffizienten zur Messung der Stringähnlichkeit

Brandon Bass ||| what the hell is Brandon bass thinking ||| Brandon Bass Has 5 Personal Fouls ||| False 
Sac ||| Congrats to Sac Kings fans ||| why yall forcing the kings to stay in sac town smh ||| False 
Stella ||| hello Stella can you follow me please ||| STELLA DO U HATE ME ||| False 


The data file has 50 entries of the form 
TOPIC ||| TWEET_SENT_1 ||| TWEET_SENT_2 ||| HAVE_SIMILAR_MEANING 

THEMA - Twitter Thema

TWEET_SENT_1 – Tweet sentence 1 
TWEET_SENT_2 – Tweet sentence 2 
HAVE_SIMILAR_MEANING – a binary label (True – two sentences are similar, false – two sentences are not similar) assigned by a human annotator 

Wir müssen die Daten teilen, setzen sich in zwei: Trainingssatz (35 Proben) und Test-Set (15 Proben) und müssen den Trainingssatz zur Parameterabstimmung der Algorithmen verwenden. Und testen Sie mit dem Testset mit dem am besten abgestimmten Parameter.

Wenn der Algorithmus Jaccard Koeffizient

wie kann ich diese Aufgabe ausführen? Kann mir jemand bitte den Ansatz mitteilen, den ich verwenden kann?

Antwort

0

Jaccard Ähnlichkeit ist ein Maß dafür, wie zwei Sätze (von N-Grammen in Ihrem Fall) ähnlich sind. Es gibt hier kein "Tuning", außer dem Schwellenwert, bei dem Sie entscheiden, dass zwei Strings ähnlich sind oder nicht.

Zum Beispiel, wenn Sie 2 Strings abcde und abdcde es funktioniert wie folgt:

ngrams (n=2) : 'abcde' & 'abdcde' 
    ab bc cd de dc bd 
A 1 1 1 1 0 0 
B 1 0 1 1 1 1 

J (A, B) = (A∩B)/(A∪B)

J (A, B) = (3/6) = 0,5

Es gibt auch den Jaccard Abstand, der die Unähnlichkeit zwischen zwei Sätzen einfängt, und wird berechnet, indem die one minus Jaccard KOEFFIZIENT (in diesem Fall 1 - 0.5 = 0.5) berechnet

Also, für Sie Problem, würde ich den Trainingssatz mit den Etiketten verwenden, um den richtigen Schwellenwert zu definieren, für die Ihre Zeichenfolgen als ähnlich/unähnlich betrachtet werden.

Verwandte Themen