]> www.fi.muni.cz Git - pan13-paper.git/blob - pan13-paper/yenya-text_alignment.tex
Finalni upravy
[pan13-paper.git] / pan13-paper / yenya-text_alignment.tex
1 \section{Text Alignment}~\label{text_alignment}\r
2 %\subsection{Overview}\r
3 Our approach at the text alignment subtask of PAN 2013 uses the same\r
4 basic principles as our previous work in this area, described\r
5 in \cite{suchomel_kas_12}, which in turn builds on our work for previous\r
6 PAN campaigns \cite{Kasprzak2010}, \cite{Kasprzak2009a}:\r
7 \r
8 We detect {\it common features} between source and suspicious documents,\r
9 where the features we currently use are word $n$-grams, and stop-word $m$-grams\r
10 \cite{stamatatos2011plagiarism}. From those common features (each of which\r
11 can occur multiple times in both source and suspicious document), we form\r
12 {\it valid intervals}\footnote{%\r
13 See \cite{Kasprzak2009a} for the algorithm for computing valid intervals;\r
14 a similar approach is also used in \cite{stamatatos2011plagiarism}.}\r
15 of characters\r
16 from the source and suspicious documents, where the interval in both\r
17 of these documents is covered ``densely enough'' by the common features.\r
18 \r
19 We then postprocess the valid intervals, removing the overlapping detections,\r
20 and merging the detections which are close enough to each other.\r
21 \r
22 For the training corpus,\r
23 our unmodified software from PAN 2012 gave the following results\footnote{%\r
24 See \cite{potthastframework} for definition of {\it plagdet} and the rationale behind this type of scoring.}:\r
25 \r
26 \def\plagdet#1#2#3#4{\par{\r
27 $\textit{plagdet}=#1, \textit{recall}=#2, \textit{precision}=#3, \textit{granularity}=#4$}\hfill\par}\r
28 \r
29 \plagdet{0.7235}{0.6306}{0.8484}{1.0000}\r
30 \r
31 We take the above as the baseline for further improvements.\r
32 In the next sections, we summarize the modifications we did for PAN 2013.\r
33 \r
34 \subsection{Alternative Features}\r
35 \label{altfeatures}\r
36 \r
37 In PAN 2012, we used word 5-grams and stop-word 8-grams.\r
38 This year we experimented with different word $n$-grams, and also\r
39 with contextual $n$-grams as described in \cite{torrejondetailed}.\r
40 Modifying the algorithm to use contextual $n$-grams created as word\r
41 5-grams with the middle word removed (i.e. two words before and two words\r
42 after the context) yielded better score:\r
43 \r
44 \plagdet{0.7421}{0.6721}{0.8282}{1.0000}\r
45 \r
46 We then made tests with plain word 4-grams, and to our surprise,\r
47 it gave even better score than contextual $n$-grams:\r
48 \r
49 \plagdet{0.7447}{0.7556}{0.7340}{1.0000}\r
50 \r
51 It should be noted that these two quite similar approaches (both use the\r
52 features formed from four words), while having a similar plagdet score,\r
53 have their precision and recall values completely different. Looking at the\r
54 training corpus parts, plain word 4-grams were better at all parts\r
55 of the corpus (in terms of plagdet score), except the 02-no-obfuscation\r
56 part.\r
57 \r
58 In our final submission, we used word 4-grams and stop-word 8-grams.\r
59 \r
60 \subsection{Global Postprocessing}\r
61 \r
62 For PAN 2013, the algorithm had access to all of the source and suspicious\r
63 documents at once. It was not limited to a single document pair, as it was\r
64 in 2012. We have rewritten our software to handle\r
65 all of the documents in one run, in order to be able to do cross-document\r
66 optimizations and postprocessing, similar to what we did for PAN 2010.\r
67 %This required refactorization of most of the code. We are able to handle\r
68 %most of the computation in parallel in per-CPU threads, with little\r
69 %synchronization needed. The parallelization was used especially\r
70 %for development, where it has provided a significant performance boost.\r
71 %The official performance numbers are from single-threaded run, though.\r
72 \r
73 For PAN 2010, we used the following postprocessing heuristics:\r
74 If there are overlapping detections inside a suspicious document,\r
75 keep the longer one, provided that it is long enough. For overlapping\r
76 detections up to 600 characters, drop them both. We implemented\r
77 this heuristics, but found that it led to a lower score than\r
78 without this modification. Further experiments with global postprocessing\r
79 of overlaps led to a new heuristics: we unconditionally drop overlapping\r
80 detections with up to 250 characters both, but if at least one of them\r
81 is longer, we keep both detections. This is probably a result of\r
82 plagdet being skewed too much towards recall (because the percentage of\r
83 plagiarized cases in the corpus is way too high compared to real-world),\r
84 so it is favourable to keep the detection even though the evidence\r
85 for it is rather low.\r
86 \r
87 The global postprocessing improved the score even more:\r
88 \r
89 \plagdet{0.7469}{0.7558}{0.7382}{1.0000}\r
90 \r
91 \subsection{Evaluation Results and Future Work}\r
92 \r
93         The evaluation on the competition corpus had the following results:\r
94 \r
95 \plagdet{0.7448}{0.7659}{0.7251}{1.0003}\r
96 \r
97 This is quite similar to what we have seen on a training corpus,\r
98 with only the granularity different from 1.000 being a bit surprising.\r
99 %, given\r
100 %the aggressive joining of neighbouring detections we perform.\r
101 Compared to the other participants, our algorithm performs\r
102 especially well for human-created plagiarism (the 05-summary-obfuscation\r
103 sub-corpus), which is where we want to focus for our production\r
104 systems\footnote{Our production systems include the Czech National Archive\r
105 of Graduate Theses,\\ \url{http://theses.cz}}.\r
106 \r
107 %       After the final evaluation, we did further experiments\r
108 %with feature types, and discovered that using stop-word 8-grams,\r
109 %word 4-grams, {\it and} contextual $n$-grams as described in\r
110 %Section \ref{altfeatures} performs even better (on a training corpus):\r
111 %\r
112 %\plagdet{0.7522}{0.7897}{0.7181}{1.0000}\r
113 \r
114 We plan to experiment further with combining more than two types\r
115 of features, be it continuous $n$-grams or contextual features.\r
116 This should allow us to tune down the aggressive heuristics for joining\r
117 neighbouring detections, which should lead to higher precision,\r
118 hopefully without sacrificing recall.\r
119 \r
120         As for the computational performance, it should be noted that\r
121 our software is prototyped in a scripting language (Perl), so it is not\r
122 the fastest possible implementation of the algorithm used. The code\r
123 contains about 800 non-comment lines of code, including the parallelization\r
124 of most parts and debugging/logging statements.\r
125 \r
126         The system is mostly language independent. The only language dependent\r
127 part of the code is the list of English stop-words for stop-word $n$-grams.\r
128 We use no stemming or other kinds of language-dependent processing.\r
129 \r
130 \r