detection of similarity between documents

13
Detection of similarity between documents Axel Bengtsson [email protected] Ola Olsson [email protected]

Upload: bevis

Post on 18-Jan-2016

50 views

Category:

Documents


1 download

DESCRIPTION

Detection of similarity between documents. Axel Bengtsson [email protected] Ola Olsson [email protected]. Mål. Målet med projektet var att hitta dokument som är mycket lika varandra rent syntaktiskt Användningsområden - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Detection of similarity between documents

Detection of similarity between documents

Axel Bengtsson [email protected]

Ola Olsson [email protected]

Page 2: Detection of similarity between documents

Mål

• Målet med projektet var att hitta dokument som är mycket lika varandra rent syntaktiskt

• Användningsområden– Man kan låta vår applikation köras nyhetsartiklar,

böcker, etc för att visa likheter.– Känna igen uppsats-fusk, fusk på skrivningar– Lätt att hitta skillnader mellan avtal, revisioner på

dokument.

Page 3: Detection of similarity between documents

Algoritmer

• Vårt program baseras på två algoritmer som snarare kompletterar varandra än baserar sig på varandras in- och utdata.

• TDT (TF-IDF & Cosine similarity rate)– Ordfrekvens– Antalet dokument orden befinner sig

• LCS– kontexten

Page 4: Detection of similarity between documents

Klassdiagram

Page 5: Detection of similarity between documents

Viktberäkning (TF-IDF)

• Den här modulen innehåller algoritmen som ger två dokument en vikt som är beroende på hur lika de är (vikten är givetvis symmetrisk).

• Modulen består av:– TF-IDF och Cosine

similarity rating– TF-IDF – Term Frequence

Inverted Document Frequence

Page 6: Detection of similarity between documents

Cosine similarity rating

• Som indata tar den här funktionen två dokument och som utdata ges ett poäng (deras likhetspoäng).

• 0 om de olika• 1 om de lika

Page 7: Detection of similarity between documents

LCS – Longest Common Subsequence

Page 8: Detection of similarity between documents

LCS – Longest Common Subsequence

Iterativ lösningfor(int x=i;x>=0;++x){ for(int y=j;y>0;++y) { if (X[x]==0 || Y[y]==0) ResultMatrix[x][y]=""; if (X[x]==Y[y]) ResultMatrix[x][y] = ResultMatrix[x+1][y+1] + X[x]; else ResultMatrix[x][y] = max(ResultMatrix[x][y+1],

ResultMatrix[x+1][y]); }}

Page 9: Detection of similarity between documents

LCS – Longest Common Subsequence

Page 10: Detection of similarity between documents

GUI

• GUI:t används för att välja filer som indata och sedan visa grafiskt vår LCS algoritm. LCS för dokumenten visas i röd text i båda dokumenten.

• GUI:t visar två dokument åt gången, alla 2-par av dokument kan väljas med upp och ner knappar.

• Som standard visas LCS:en på det paret som har högst cosine similarity rate.

Page 11: Detection of similarity between documents

DemonstrationFil1

Hello everybody. this is a test Ola and Axel.Fil2

Hello anyone. What may be the deal.Fil3

Hello anybody. Great program Ola and Axel.4 observationer som borde stämma när vi kör filerna som indata till vårt program

1. Ordet “Hello” ska få 0 i vikt då log21= 0.2. File1 and File3 är det paret som borde få högst cosine similarity rate då de delar orden ”Ola and Axel”.3. Fil1 till Fil2 och Fil2 till Fil3 borde vara värda 0 då de inte har något gemensamt ord överhuvudtaget.4. LCS mellan File1 och File3 borde bli “Hello

Ola and Axel” då de inte har något annat gemensamt.

Om vi kör ett annat test där vi vill köra med en text där ord förekommer endast en gångThis is a test.

Mot baklänges.test a is This

Det som kommer att rödmarkeras kan vara vad som helst beronde på hur max-funktionen för strängarna är implementerad, men vi måste förstå att det endast kommer att markeras ett enda ord.

Page 12: Detection of similarity between documents

Utvärdering

• Två personer oberoende av varandra rangordnade liknande artiklar från tidningar

• Programmet körs och rankar samma tidnings artiklar

• Programmet rankade 80% rätt

• Problemet var vid stor skillnad på mängden text

Page 13: Detection of similarity between documents

Slutsats

• Resultatet är bra, TDT och LCS kompletterar varandra på ett bra sätt och det verkar vara eniga.

• Problem med att delmängder får ett lågt TDT värde

• Halebops avtal

• Tdt revisioner