<!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>Author Verification using PPM with Parts of Speech Tagging</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Waterloo</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>1063</fpage>
      <lpage>1068</lpage>
      <abstract>
        <p>In this paper we describe a compression-based authorship verification model used in conjunction with a parts of speech tagger. We use standard language-specific parts of speech taggers on the texts in question to generate a stream of symbols representing each word, run the PPM (Prediction by Partial Matching) algorithm on the resulting stream, and use Bobicev's method of calculating and comparing cross-entropies to determine text authorship.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Authorship attribution is generally described as determining the author of a particular
disputed work. This is framed as a problem of authorship identification, where, given
a sample of documents of known authorship, identify which author wrote the unknown
text. This may also be framed as a problem of authorship verification, where we simply
want to get a binary answer of whether the author in question wrote a particular text.
This is one of the tasks set for PAN2014, an evaluation lab for methods relating to
various aspects of stylometry[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        PPM is a popular off-the-shelf compression method that has been explored for
attribution purposes[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], but it has primarily only been explored for raw texts, and
primarily only for the English language. We extract the statistical model powering PPM
and use its predictive capabilities on a per-word basis as opposed to a per-character
basis in previous experiments. We pre-process the texts in question to convert into
POS-symbol streams, use PPM to calculate entropies, then calculate the probability
of authorship based on these entropies.
The basis of our method is extremely simple: run the texts in question through a parts
of speech tagger and label each corresponding part with a symbol, then run the PPM
algorithm on the resulting symbols, and calculate the cross-entropy between the known
and unknown texts. This method is an extension of [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], in that we use the same method
of calculating cross-entropies and running a pairwise t-test on the results. We change
things slightly by simply preprocessing the text by running the parts of speech tagger.
2.1
      </p>
      <sec id="sec-1-1">
        <title>Parts of speech tagging</title>
        <p>
          The effectiveness of PPM on texts is purely dependent on whether or not the context
size of the model can accurately capture word usage patterns. While PPM usage has
been studied on English texts[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ][
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], it appears that its effectiveness is relatively
unknown on other forms of texts. We posit that this is due to the fact that the effectiveness
of PPM per-language requires context-sizing tweaks to accurately capture patterns in
symbols for other languages. We decide to reduce the texts in question to symbols
representing the parts of speech of the original words, and assess the effectiveness of the
PPM statistical model on per-word instead of per character instances.
        </p>
        <p>
          We used TreeTagger[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ][
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] for converting texts to their parts of speech equivalents,
due to the fact that it had support for English, Dutch, and Spanish language tagging.
Unfortunately due to time constraints we were not able to test other English speech of
taggers (of which there are numerous), nor were we able to test this method for the
Greek corpus.
2.2
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Prediction by Partial Matching (PPM)</title>
        <p>PPM is a compression technique that makes use of a combination of a previously seen
context along with Markov chains to generate a statistical model that represents the
originally seen text. Symbols on an input stream simultaneously update the model, in
addition to being arithmetically coded in the resulting output stream. For the purposes
of authorship attribution it is simpler to discard the arithmetic coder and any ‘state’
optimizations in place for compression; we are mostly only concerned with the
statistical model for which we use to calculate the next character probabilties, and thus the
resulting entropies, of the text in question.</p>
        <p>The basic methdology for PPM is as follows:
1. Assume: a context structure already containing previously seen symbols in the
stream
2. Read a symbol s from the stream
3. Query the context structure as to whether an n-order chain exists containing n 1
previously seen symbols along with s
4. If an n-order chain does not exist...</p>
        <p>(a) Query the n 1-order chain with n 2 previously seen symbols along with s
(b) Repeat for progressively smaller chains until an order 1 chain is reached
5. Increment the symbol counter in the context structure for n, n 1, ... 1 order
chains. If the symbol does not exist, initialize it in all context-matching chains that
do not yet contain the symbol s.
6. Repeat for each successive symbol s</p>
        <p>We wrote our own version of PPM in C using a hard-coded symbol context-size of
5. Code for this is available on Github1.
1 https://github.com/worldwise001/ppm-c/
2.3</p>
      </sec>
      <sec id="sec-1-3">
        <title>Cross-entropy calculation</title>
        <p>
          We used Bobicev’s cross-entropy calculation method for comparing entropies generated
by the PPM model[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. A rundown of the algorithm is as follows:
– Concatenate all known-author texts into a text K. Let the unknown-author text be
known as text U .
– Split K into k fixed n-size text chunks, and split U into u fixed n-size text chunks.
– Generate same-entropies
– Generate cross-entropies
        </p>
        <sec id="sec-1-3-1">
          <title>For each k:</title>
        </sec>
        <sec id="sec-1-3-2">
          <title>For each u:</title>
        </sec>
        <sec id="sec-1-3-3">
          <title>Generate a PPM statistical model on (K k) Run the model on k and calculate the resulting entropy.</title>
        </sec>
        <sec id="sec-1-3-4">
          <title>Generate a PPM statistical model on (U u) Run the model on u and calculate the resulting entropy.</title>
        </sec>
        <sec id="sec-1-3-5">
          <title>Generate a PPM statistical model on U</title>
          <p>For each k:</p>
          <p>Run the model on k and calculate the resulting entropy.</p>
        </sec>
        <sec id="sec-1-3-6">
          <title>Generate a PPM statistical model on K</title>
          <p>For each u:</p>
          <p>Run the model on u and calculate the resulting entropy.
– Compare the same-entropies with the cross-entropies using a pairwise t-test with
a null hypothesis that the values are equivalent. If the null hypothesis is accepted,
then we can consider that K and U are written by the same author.</p>
          <p>Determining the appropriate values for n and the p-value for pairwise t-test required
some initial experimentation. We settled on a n value of 300 (i.e. a word chunk size of
300), for most languages, with the exception of Spanish, which had a n value of 100. We
also used a standard p-value of 0.05 for most languages, with the exception of Spanish,
which used a p-value of 0.01.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Results</title>
      <sec id="sec-2-1">
        <title>3.1 Initial testing</title>
        <p>
          We briefly experimented with varying the cross-entropy chunk sizes, in order to
determine how the value of 350 words was determined in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], while simultaneously
comparing t-test thresholds across languages. A graph showing the results on the training texts
is denoted by Figure 1.
We present a variant on a compression-based attribution scheme (PPM) by making the
model train on parts of speech of the text, versus individual characters of the text. In this
manner we can capture the style using a statistical model based on the ordering of the
type of words, in contrast to the actual words being used. We found that this approach
performed particularly poor for Dutch Reviews, but surprisingly well for Spanish
Articles and Dutch Essays. For English Essays, performance was almost baseline, and for
English Novels performance was inconsistent. We did not evaluate any Greek-language
approaches in this evaluation lab.
        </p>
        <p>
          We have a number of take-aways from this evaluation lab with regards to attributed
performance and possible improvements for future work:
– It appears that an adequate choice of word chunk size is critical to the performance
of this method. By reducing the chunk size for Spanish Articles to 100, we saw
an improvement of 20%, that was consistent over the training and test results.
Initial analysis of varying chunk size for the other languages did not show noticeable
improvements, hence we simply used the size of 350 as mentioned in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. It is
possible that more granular tuning might produce different results, as we only looked
at intervals of 50 words.
– We simply used a fixed context-size of 5 for the PPM model, and did not vary this
value. Not much prior work exists in experimenting with this value in authorship
verification in general, so it would be interesting to see further analysis in this area.
– We only tried using a single parts of speech tagger (TreeTagger) due to the fact it
had support for 3 of the languages in question in this evaluation lab. Future work
would include evaluating the results of other parts of speech taggers such as the
Stanford Log-linear Part-of-Speech Tagger, or the Brill Tagger. As correct tagging
is imperative for our approach to work correctly, it is possible that we could see
improvements in both English Essay and English Novel authorship verification if
alternate English taggers are used.
– There is a clear contrast in performance between the Dutch Reviews and the Dutch
Essays corpora. It is very interesting that there is a clear stylistic difference between
these two corpora that this method managed to capture in such a way that the essays
were more easily reidentifiable over the reviews. We posit that this is due to the fact
that the essays are likely to be more clearly structured with a strong style, such that
this is more readily capturable by our technique.
        </p>
        <p>In general, it appears that this technique on its own does not perform exemplary
in answering the binary-answer question posed by this evaluation lab: did a particular
author A write a work W ? It is possible that this technique may serve to augment an
existing verification method by perhaps providing information regarding the ordering
of type of words, versus the word usage itself. We hope to improve upon this method
by coupling it with existing verification techniques that capture actual word usage.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bobicev</surname>
          </string-name>
          , V.:
          <article-title>Authorship detection with ppm (</article-title>
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cappellato</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferro</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halvey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kraaij</surname>
          </string-name>
          , W., editors:
          <article-title>Clef 2014 labs and workshops, notebook papers</article-title>
          .
          <source>In: CEUR Workshop Proceedings (CEUR-WS.org)</source>
          .
          <source>5th International Conference of the CLEF Initiative (CLEF 14)</source>
          , Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gollub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Potthast</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beyer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Busse</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rangel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stamatatos</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Information access evaluation meets multilinguality, multimodality, and visualization</article-title>
          .
          <source>In: Recent Trends in Digital Text Forensics and its Evaluation. 4th International Conference of the CLEF Initiative (CLEF 13)</source>
          , Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Juola</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stamatatos</surname>
          </string-name>
          , E.:
          <article-title>Overview of the author identification task at pan 2013</article-title>
          . In:
          <article-title>CLEF 2013 Evaluation Labs</article-title>
          and Workshop-Working Notes Papers (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Khmelev</surname>
            ,
            <given-names>D.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teahan</surname>
            ,
            <given-names>W.J.:</given-names>
          </string-name>
          <article-title>A repetition based measure for verification of text collections and for text categorization</article-title>
          .
          <source>In: Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Informaion Retrieval</source>
          . pp.
          <fpage>104</fpage>
          -
          <lpage>110</lpage>
          . SIGIR '03,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , Toronto, Canada (
          <year>2003</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/860435.860456
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Schmid</surname>
          </string-name>
          , H.:
          <article-title>Probabilistic part-of-speech tagging using decision trees</article-title>
          .
          <source>In: Proceedings of International Conference on New Methods in Language Processing</source>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Schmid</surname>
          </string-name>
          , H.:
          <article-title>Improvements in part-of-speech tagging with an application to german</article-title>
          .
          <source>In: Proceedings of the ACL SIGDAT-Workshop</source>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Stamatatos</surname>
          </string-name>
          , E.:
          <article-title>A survey of modern authorship attribution methods</article-title>
          .
          <source>Journal of the American Society for information Science and Technology</source>
          <volume>60</volume>
          (
          <issue>3</issue>
          ),
          <fpage>538</fpage>
          -
          <lpage>556</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Teahan</surname>
            ,
            <given-names>W.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harper</surname>
            ,
            <given-names>D.J.:</given-names>
          </string-name>
          <article-title>Using compression-based language models for text categorization</article-title>
          .
          <source>In: Language Modeling for Information Retrieval</source>
          , pp.
          <fpage>141</fpage>
          -
          <lpage>165</lpage>
          . Springer (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Teahan</surname>
          </string-name>
          , W.J.:
          <article-title>Text classification and segmentation using minimum cross-entropy</article-title>
          .
          <source>In: RIAO</source>
          . pp.
          <fpage>943</fpage>
          -
          <lpage>961</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>