Slik Sjekker Du Tekstlikhet Mellom To Tekster (Cosinuslikhet Forklart)
Cosinuslikhet mellom to tekster er et tall fra 0 til 100 % som viser hvor mye av ordforrådet de to tekstene har til felles. En score på 74 % betyr at to tekster deler nesten alle sine meningsbærende ord, det er typisk for to produktbeskrivelser som er skrevet om litt for raskt. En score på 6 % betyr nesten ingen felles ord, selv om de to tekstene i praksis kan handle om akkurat det samme. Det siste er den fellen de fleste går i, og den kommer vi tilbake til under.
Hvordan scoren faktisk regnes ut
Metoden er enklere enn den høres ut. Verktøyet gjør fire ting med de to tekstene du limer inn:
- Gjør all tekst om til små bokstaver og fjerner tegnsetting, slik at “Headphones.” og “headphones” telles som samme ord.
- Deler teksten opp i enkeltord og fjerner korte fyllord (ett tegn) og vanlige stoppord som “the”, “and” eller “en”, “og”, avhengig av språket.
- Bygger en vektor per tekst der hvert unike ord får et tall, hvor mange ganger det ordet dukker opp.
- Regner ut cosinuslikheten mellom de to vektorene, altså prikkproduktet delt på produktet av de to vektorlengdene.
Resultatet vises som en prosent. Det viktige å forstå er hva dette faktisk måler: ordoverlapp, ikke betydning. Verktøyet vet ikke at “kjøpe” og “handle” betyr omtrent det samme, det bare teller om de to tekstene bruker nøyaktig de samme ordene eller ikke. Det kjører for øvrig helt lokalt i nettleseren din, ingen av tekstene sendes til noen server.
Eksempel 1: to produktbeskrivelser som er skrevet om litt for raskt
Dette er scenarioet mange nettbutikker havner i uten å tenke over det: samme produkt, to landingssider, teksten er “unik nok” til at et menneske som skummer gjennom den ikke ser noe galt.
Tekst A: “Buy affordable wireless bluetooth headphones with active noise cancellation and thirty hour battery life. Free shipping on every order today.”
Tekst B: “Shop cheap wireless bluetooth headphones featuring active noise cancellation and a thirty hour battery. Enjoy free shipping on every order this week.”
(Tekstene er bevisst holdt på engelsk her, verktøyet fungerer med tekst på hvilket som helst språk, engelsk er bare valgt som eksempel i denne artikkelen slik at tallene blir like i alle språkversjoner.)
Resultat: 74 % likhet, i “høy likhet”-sonen.
| Kategori | Ord |
|---|---|
| Felles (13) | active, battery, bluetooth, cancellation, every, free, headphones, hour, noise, order, shipping, thirty, wireless |
| Kun i A (4) | affordable, buy, life, today |
| Kun i B (5) | cheap, enjoy, featuring, shop, week |
Legg merke til forholdet: 13 felles ord mot bare 4 og 5 unike ord på hver side. De to tekstene sier i praksis nøyaktig det samme, med litt forskjellige synonymer for “kjøp” og “billig”, og litt forskjellig sluttfrase. Det er nok til at et menneske opplever det som “omskrevet”, men langt fra nok til at ordvektoren skiller seg vesentlig, og det er akkurat den typen duplisering en score på 74 % er laget for å fange opp.
Eksempel 2: samme innhold, helt annerledes ordvalg
Nå snur vi på det. Tekst C er identisk med tekst A over. Tekst D sier faktisk det samme, trådløse hodetelefoner som blokkerer støy og varer en hel dag på lading, med gratis frakt, men med et helt annet ordforråd:
Tekst D: “Our over ear audio devices block outside sound automatically and last more than a full day per charge, and delivery costs nothing no matter what you order.”
Resultat: 6 % likhet, i “lav likhet”-sonen. Det eneste ordet de to tekstene faktisk deler, er “order”.
Les de to tekstene selv: en person vil uten tvil si at tekst A og tekst D handler om det samme produktet med de samme fordelene. Verktøyet er uenig, fordi det ikke leser innhold, det teller ord. “Headphones” og “audio devices” er null overlapp for et verktøy som bare ser på bokstavene, selv om de betyr det samme for et menneske.
Dette er selve poenget å ta med seg videre: en høy score er et solid signal om at to tekster deler ordforråd. En lav score derimot beviser ingenting om hvorvidt innholdet er originalt, den viser bare at ordvalget er forskjellig. Verktøyet er godt til å fange opp slurvete, hastig omskrevet duplisering (eksempel 1), men det er ikke en plagiatdetektor mot en tekst som er skikkelig omformulert (eksempel 2).
Score-tabell
| Score | Merkelapp | Hva det betyr |
|---|---|---|
| 70 % og over | Høy likhet | Tekstene deler nesten hele ordforrådet sitt |
| 40-69 % | Moderat likhet | Betydelig overlapp, men også egne partier i hver tekst |
| 1-39 % | Lav likhet | Lite felles vokabular, kan fortsatt handle om samme tema |
| 0 % | Ingen likhet | Ingen felles innholdsord i det hele tatt |
Sjekk din egen tekst
Lim inn to tekster under, så kjøres nøyaktig samme utregning direkte i nettleseren din.
Skriv inn begge tekstene ovenfor for å beregne likheten
TF-cosinuslikhet · stoppord fjernet · kjører i nettleseren din
Vanlige feil
Å tro dette er en ekte AI-embeddingmodell som forstår mening. Det gjør den ikke. Verktøyet teller felles ord, det forstår ikke at “kjøp” og “handle” betyr omtrent det samme. Eksempel 2 over viser konsekvensen tydelig: 6 % på en tekst som i realiteten sier akkurat det samme som originalen.
Å stole på at en lav score betyr “ikke duplisert”. En godt omformulert kopi kan lande nær 0 % og likevel være en kopi i ånd og innhold, ikke i ordvalg. Bruk verktøyet til å fange opp den slurvete dupliseringen, ikke til å friskmelde alt som scorer lavt.
Å sammenligne en kort tekstbit mot en mye lengre side og bli overrasket over at scoren ikke er høyere. Hvis en kort tekst er fullstendig inneholdt i en lang side, drukner den likevel i alt det ekstra, unike ordforrådet på den lange siden, og totalscoren blir lavere enn man kanskje forventer.
Å ikke ta høyde for at stoppord fjernes før scoren regnes ut. En veldig kort tekst bygget mest av vanlige småord (“og”, “at”, “den”, “the”, “and”) kan i praksis lande på 0 %, ikke fordi tekstene er ulike, men fordi det knapt er noe innholdsord igjen å sammenligne etter at stoppordene er fjernet. Stoppordlisten dekker foreløpig bare et fåtall språk, så resultatet kan variere noe på andre språk enn de mest brukte.
Ofte stilte spørsmål
Hvordan skiller dette seg fra en ekte embeddingmodell som OpenAIs text-embedding-3? En ekte embeddingmodell forstår betydning og kan se at “bil” og “kjøretøy” er beslektede begreper selv uten felles bokstaver. Dette verktøyet ser bare på ordfrekvens, det måler ordoverlapp, ikke dyp mening. Fordelen er at det kjører umiddelbart i nettleseren uten API-nøkkel eller kostnad.
Hvilken score bør bekymre meg med tanke på duplisert innhold og SEO? 70 % og oppover, altså “høy likhet”-sonen, er der du bør se nærmere på saken. Men se alltid på hvilke ord som faktisk er felles og hvilke som er unike, ikke bare selve tallet. To tekster kan lande på samme prosent av helt forskjellige grunner.
Fanger dette opp omskrevet plagiat? Nei, og det er verktøyets tydeligste svakhet. Eksempel 2 over viser det konkret: en tekst som i realiteten sier akkurat det samme som originalen, men med annet ordforråd, kan lande på så lavt som 6 %. Bruk verktøyet som en pekepinn for åpenbar, slurvete duplisering, ikke som bevis på originalitet.
Regnes stoppord med i scoren? Nei, vanlige stoppord fjernes før vektorene bygges, slik at scoren gjenspeiler faktiske innholdsord og ikke bare hvor mange ganger “og” eller “the” dukker opp i begge tekster.
Blir teksten min sendt til en server? Nei. Hele beregningen skjer lokalt i nettleseren din. Tekstene du limer inn forlater aldri enheten din.
Kan jeg dele resultatet med noen andre? Fra denne artikkelen kan du ikke det, siden verktøyet her kjører uten å oppdatere adressefeltet. Åpne verktøyets egen side for å få en lenke der tekstene dine allerede er fylt ut og klare til bruk for den du deler den med.