<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Set-Based Approach to Plagiarism Detection</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, University of Düsseldorf</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>This paper describes our approach to the Detailed Analysis subtask of the PAN 2012 competition. Our experiments deal with monolingual plagiarism cases, only. We use a simple set-based algorithm, that employs Dice's coefficient as a similarity measure. Furthermore we employ basic strategies from Information Retrieval and Natural Language Processing for stop word removal and language detection. We achieved the 7th place with an overall PlagDet score of 0.35.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        2.1
Our detection algorithm is simple and works as follows: in a first step we use a language
detection algorithm to determine the natural language the document is written in. This
language detector is based on the classification algorithm from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The classifier was
trained to distinguish between 11 European languages - we used the Europarl Corpus[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
as our training set. The detector works well most of the time, but there is a considerable
problem with documents, which contain text in more than one language. This was the
case for a few documents in the PAN 2012 training corpus.
      </p>
      <p>The next processing step deals with the tokenization of the raw text, whereby we store
the original positions of the token within the document. We perform only a simple string
normalization by collapsing whitespace.</p>
      <p>Afterwards the token sequence (for both the suspicious and the source document) has
to be divided into smaller sequences. This processing step is called chunking. The
selection of a suitable chunk size is crucial for the overall performance of the plagiarism
detector: a small chunk size leads usually to more accurate results, but the computation
effort rises. A longer chunk size tends to reduce the computation complexity, but the
overall precision decreases, because longer chunks contain non-plagiarized text with a
higher probability than smaller ones. We use a chunking algorithm with a semi-fixed
window size of 250 characters. To prevent tokens from being split, the algorithm
expands the window by 1 character at a time until a separator character (usually a
single space) is hit. We experimented with another chunking algorithm, which produces
chunks on a sentence level (1 natural sentence = 1 chunk), but we drop this approach
due to a below average implementation of the sentence detection. So we decided to
”emulate” a sentence detection algorithm by defining the rough length of a sentence
with approximately 250 characters.</p>
      <p>At this point we chunked the suspicious document into n and the source document into
m chunks. We conduct an exhaustive search by comparing all n suspicious chunks to
the m source chunks, therefore we have to perform n m comparisons by computing
the pair-wise similarity of the chunks. Before we compute the similarity of two chunks,
we use language-dependent pre-compiled stop lists to eliminate stop words (words with
a high frequency are usually considered useless or even harmful for comparison tasks).
By removing these words, we prevent our algorithm from detecting similarities between
chunks, which are solely based on shared articles, pronouns, etc.</p>
      <p>The adjusted chunks are then treated as a simple set of words, so we can use the Dice
coefficient to compute the similarity of the sets. Dice’s coefficient is defined as follows:
2</p>
      <p>jA T Bj
jAj + jBj
Obviously the function’s range is the interval [0; 1], whereby 0 means no similarity
between the sets and 1 indicates total equality. We consider a chunk (or set) as plagiarized,
if the Dice similarity between the sets is higher (or equal) 0:4. The Dice similarity is
relatively robust against simple obfuscation techniques like re-ordering or word
substitution (to a certain degree). Due to the simple approach we are not able to detect
cross-language plagiarisms adequately.
2.2</p>
      <sec id="sec-1-1">
        <title>Post-Processing</title>
        <p>The described detection algorithm produces a series of detected plagiarism cases, which
are analyzed further in a post-processing step. We used non-overlapping chunks (cf.
section 2.1), so there is never a plagiarism case contained within another, but adjacent
cases are most probable to appear. Therefore two plagiarism cases are merged, if their
distance to each other is less than 500 characters.
2.3</p>
      </sec>
      <sec id="sec-1-2">
        <title>Parameter Tuning</title>
        <p>The algorithm described in section 2.1 is adjustable by two parameters: the chunk size
(in characters) and the similarity threshold. We performed a series of experiments to
determine the optimal parameter pair for a high PlagDet score. Due to runtime issues
(which remained unsolved at this point), we were unfortunately unable to perform the
experiments on the whole PAN 2012 training corpus. Therefore we generated a smaller
subcorpus with roughly 10% of the size of the original corpus and performed our
experiments on the smaller one. The experimental results are shown in table 1. A chunk
size of approximately 250 characters with a similarity threshold of 0:4 seemed to be a
good choice for our algorithm. We performed no further experiments with even smaller
chunk sizes. It is noticeable, that regardless of the chunk size all experiments with a
similarity threshold of 0:4 achieved the highest PlagDet score within their respective
series.
3</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Evaluation</title>
      <p>
        Despite our simple approach we achieved 7th place (as a first-time contestant) in the
Detailed Comparison sub-task of the Plagiarism Detection task of the PAN 2012 workshop.
Table 2 shows the final results for our contribution. We achieved an overall PlagDet
score of 0:35, that was mainly biased by a low recall of 28%. The low recall can be
explained by numerous reasons. The most obvious explanation is the simple nature of our
detector, because words from the analyzed documents are not subject to further
processing like stemming (e.g. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Therefore even minor variations on words (e.g. inflections)
are most likely to mislead our detection algorithm. Furthermore it is quite probable, that
our detection algorithm fails to detect the exact boundaries of a plagiarism case, because
of the used chunking algorithm (cf. section 2.1). A different chunking algorithm, that
produces overlapping chunks of texts, could be a better choice. At last the PAN 2012
training corpus contained some plagiarism cases, which were shorter than our chosen
chunk size (cf. section 2.3). If the PAN 2012 test corpus contained such small cases as
well, then it is highly probable our detector missed them.
      </p>
      <p>Our algorithm required nearly 28 seconds to analyze a document pair. This runtime
issues can easily be explained by a poor implementation of our algorithm. Actually the
current version of our detector is much faster and requires only about 10% of the time to
analyse a document pair, but naturally the memory requirements increased. We achieved
a good precision ( 78%) and granularity score (1.27), so there is little requirement on
enhancing our merging algorithm at this time.</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Future Works</title>
      <p>
        The proposed algorithm is at least suitable to detect monolingual plagiarism cases with
low obfuscation, but most probably fails on highly obfuscated plagiarism. Therefore
our future work includes the employment of language-dependent stemming techniques
(e.g. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) to reduce the effect of inflections. Furthermore we plan to employ another
chunking algorithm, that is similar to the shingle approach from [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Furthermore we
plan to extend our approach to deal with cross-language plagiarism cases.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Broder</surname>
            ,
            <given-names>A.Z.</given-names>
          </string-name>
          :
          <article-title>Identifying and filtering near-duplicate documents</article-title>
          .
          <source>In: COM '00: Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . Springer-Verlag (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cavnar</surname>
            ,
            <given-names>W.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trenkle</surname>
            ,
            <given-names>J.M.:</given-names>
          </string-name>
          <article-title>N-gram-based text categorization</article-title>
          .
          <source>In: In Proceedings of SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval</source>
          . pp.
          <fpage>161</fpage>
          -
          <lpage>175</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Koehn</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Europarl: A Parallel Corpus for Statistical Machine Translation</article-title>
          .
          <source>In: Conference Proceedings: the tenth Machine Translation Summit</source>
          . pp.
          <fpage>79</fpage>
          -
          <lpage>86</lpage>
          . AAMT (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Porter</surname>
            ,
            <given-names>M.F.</given-names>
          </string-name>
          :
          <article-title>An algorithm for suffix stripping</article-title>
          .
          <source>Program</source>
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <fpage>130</fpage>
          -
          <lpage>137</lpage>
          (
          <year>1980</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>