<!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 Language Independent Author Verifier Using Fuzzy C-Means Clustering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pashutan Modaresi</string-name>
          <email>modaresi@cs.uni-duesseldorf.de</email>
          <email>pashutan.modaresi@pressrelations.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philipp Gross</string-name>
          <email>philipp.gross@pressrelations.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Heinrich-Heine-University of Düsseldorf, Institute of Computer Science</institution>
          ,
          <addr-line>Düsseldorf</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>pressrelations GmbH</institution>
          ,
          <addr-line>Düsseldorf</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>1084</fpage>
      <lpage>1091</lpage>
      <abstract>
        <p>In this work we describe our approach to solve the author verification problem introduced in the PAN 2014 Author Identification task. The author verification task presents participants with a set of problems where each problem consists of a set of documents written by the same author and a questioned document with an unknown author. The task is then to decide whether the questioned document has the same author as the other documents or not. Inspired by a psychological personality model, our approach uses basic lexical feature extraction and fuzzy clustering. Using the created fuzzy clusters, the membership values of documents to the clusters can be computed. The distribution of the cluster membership values will be used finally to solve the verification problem.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Given a set of documents with known authors, authorship attribution is the task of
identifying the author of an unseen document. Having a small number of candidate authors,
this task can be easily solved using the state-of-the-art approaches[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A realistic and
common scenario for authorship attribution is the author verification problem. Given
a set of documents written by a single author, the task here is to determine whether a
questioned document is written by the same author or not.
      </p>
      <p>The PAN 2014 Author Identification task focuses on the author verification
problem. To be more specific, in this task a multi-lingual corpus is provided which consists
of several problems. Each problem contains a maximum of 5 documents written by a
single author and a questioned document by an unknown author. The task in then to
determine whether the questioned document is written by the same author or not.</p>
      <p>
        The fact that an author may consciously or unconsciously vary his or her writing
style, makes the task of author verification a hard problem[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this paper we introduce
a novel approach for solving the task of author verification. For this we extract language
independent features from our training corpus and use a fuzzy clustering algorithm to
construct our models. Finally using the membership distribution of documents over the
clusters, we do solve the verification task.
      </p>
      <p>In Section 2 we define the problem of author verification formally and introduce
some notations. Section 3 addresses the process of feature extraction and normalization.
The process of clustering and model construction is discussed in Section 4. Section 5
covers the process of verification and scoring. An overview of the evaluation results can
be seen in Section 6. Finally in Section 7 the work will be concluded.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Problem Statement</title>
      <p>In this section we formally define the problem of author verification in the context of
the PAN 2014 Author Identification task.</p>
      <p>
        Let P = fD; dug be a problem consisting of a set of documents D = fd1; : : : ; dng
with 1 n 5 written by a single author, and a questioned document du with an
unknown author. The task in author verification is to determine whether the questioned
document du is written by the same author or not. We denote the author of a document
di by A(di). In other words an author verifier ' is a binary classification function of
the following form:
In the PAN 2014 Author Identification task, problems are from 4 different languages,
namely Dutch, English, Greek and Spanish. The author verification algorithm has to
be able to deal with documents from the specified languages. The performance of the
author verifier will be evaluated according to the area under the ROC curve (AUC) of
its probability scores and also based on the c@1 measure[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The evaluation process
will be discussed in more details in Section 6.
      </p>
      <p>In the following section, we start the description of our algorithm by discussing the
feature extraction and normalization step.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Feature Extraction and Normalization</title>
      <p>
        Feature extraction is considered as one of the important steps in author verification[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
Different kinds of stylometric features like lexical, syntactic or semantic features have
been used for solving the author verification task. In order to design an efficient author
verification algorithm, which can deal with huge amounts of documents, we only
consider a limited number of lexical features and construct our learning algorithm in a way
that would result in an acceptable performance even with a small number of features.
Lexical features have the advantage over the syntactic or semantic features, that this
kind of features can be computed very efficiently and without the use of any external
knowledge or training.
      </p>
      <p>We represent documents as vectors in R4. Each component of these 4-dimensional
vectors can be computed using the feature extraction functions. Independent of the
document language we use the following functions to compute the feature vector
components of documents:
Average Sentence Length (fsl) : Using a sentence detector, sentence boundaries of the
document will be detected (In our case we use a regular expression based sentence
detector for optimizing the performance). For each sentence s in the document, its length
l(s) will be computed. We denote the set of all sentences inside a document with S.
Finally the average sentence length of the document can be computed as follows:
Punctuation Marks Usage (fpm) : Using a predefined set of punctuation marks T =
f ( ) ; : ; ! ? g the frequency of the elements of the set T inside the document will be
computed and finally normalized by the length of the document. With f (t; d) we denote
the frequency of the punctuation mark t in document d.</p>
      <p>fsl(d) =</p>
      <p>Ps2S l(s)</p>
      <p>jSj
fpm(d) =</p>
      <p>Pt2T f (t; d)
jdj
Space After Comma (fsac) : Our experimental results show that whether a space is used
after a comma or not, can be a good discriminating feature in the author verification
task. Let denote the number of times a comma is followed by a space and be the
number of times a comma is not followed by a space. In his way fsac can be defined as
follows:
fsac(d) =
jdj
Analogue to fsac we define fsbc which is the Space Before Comma feature. Through
this feature, authors that use a space before comma can be discriminated from the ones
who do not use a space before comma.</p>
      <p>As the extracted features may exhibit significant differences in their range and
distribution, out learning algorithm could be more sensitive to features that are in a wider
range (e.g. Average Sentence Length). In order to avoid this behavior we use feature
normalization through which we can modify the mean and variance of the features
using a transformation function. The transformation function that we use in this work is
the min-max function. Given a feature f , the min-max transformation function which is
defined as follows:
In the above formula f denotes the feature vector and f 0 is the transformed feature
vector.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Fuzzy Clustering and Model Construction</title>
      <p>
        In this section we illustrate the main idea behind our learning algorithm. We believe
that different personality dimensions have a close relationship with the writing style of
authors. In psychology, the Big Five Personality Traits are 5 dimensions of personality
that are used to describe the personality of humans[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Openness, Conscientiousness,
(2)
(3)
(4)
(5)
Extraversion, Agreeableness and Neuroticism are the personality dimensions which are
described as the factors of the Big Five model. Based on these dimensions, each persons
personality can be described using a combination of the above dimensions. Inspired by
the Big Five model, we construct c clusters, where each cluster represents a
personality dimension. An author’s personality can then be determined by computing his or
her membership to these clusters. Finally two authors that have the same (or similar)
membership distribution over the clusters would be considered as the same.
      </p>
      <p>
        For this we collect all the documents in our training set from which we know that
they are written by the same author and extract their features (See Section 3). This will
result in a matrix Z = [z1tr; z2tr; : : : ; zNtr] 2 R4 N where N is the number of collected
documents and ztr denotes the transpose of the vector zi. As already mentioned the
i
personality of an author can be determined using his or her membership values to the
available clusters. Due to this consideration, we use the Fuzzy C-Means[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] clustering
algorithm to construct fuzzy clusters. For constructing c clusters, we assign initial cluster
membership values for each document in the collection (The collection of these values
constructs the partition matrix U = [ ik] 2 Rc N ). The partition matrix will be
updated after each iteration of the algorithm until no significant changes are observable.
After initializing the partition matrix randomly, the Fuzzy C-Means algorithm can be
summarized as follows:
Repeat for l = 1; 2; : : :
      </p>
      <p>Step 1: Compute the cluster centers with m 2 [1; 1)
v(l) =
i</p>
      <p>k=1( i(kl 1))mzk
PN</p>
      <p>k=1( i(kl 1))m
PN
; 1
i
c
Di2k =
v(l) 2
i
= (zk
vi(l))T (zk
vi(l)); 1
i
c; 1
k</p>
      <p>N
(7)
Step 2: Compute the distances
Step 2: Update the partition matrix:
zk
k
for 1</p>
      <p>N
otherwise
if Dik &gt; 0 for all i = 1; 2; : : : ; c
i(kl) =</p>
      <p>1
Pc</p>
      <p>j=1(Dik=Djk)2=(m 1)
i(kl) = 0 if Dik &gt; 0; and
c
i(kl) 2 [0; 1] with X</p>
      <p>i(kl) = 1
i=1</p>
    </sec>
    <sec id="sec-5">
      <title>Until U (l)</title>
      <p>U (l 1) &lt;
(6)
(8)
(9)</p>
      <p>We use the cluster information produced by the cluster algorithm, to verify whether
two documents are written by the same author or not. The process of author verification
will be discussed in the following section.
5</p>
    </sec>
    <sec id="sec-6">
      <title>Verification and Scoring</title>
      <p>In order to find an answer to an author verification problem P , we compute the cluster
membership values for documents with known authors and documents with unknown
authors. Then using the membership values we will decide if the documents have the
same author or not.</p>
      <p>Given a problem P = fD = fd1; : : : ; dng; dug and c cluster prototypes (centroids)
V = fv1; : : : ; vcg we compute the membership values of the documents with known
authors to the constructed clusters. In this way, for each document di; 1 i n
a cluster membership vector i = f i1; : : : ; icg will be computed where the j-th
element in the vectors represents the membership value of the document di to the cluster
j.</p>
      <p>In the same way we compute the cluster membership values of the document with
unknown author du. This would result in the membership vector u. At this step the
cluster membership values for all documents in the problem P are known. Notice that
the documents d1; : : : ; dn are assumed to be written by the same author. Theoretically
we would expect that the cluster membership vectors of these documents look very
similar to each other. Experimental results show that this is usually not the case, which
relies on the fact the authors write in different psychological states.</p>
      <p>In order to solve the above problem, for the documents with known authors, we
compute a mean cluster membership vector. Through this vector a more stable
estimation of membership to available personality dimensions can be made. The mean cluster
membership vector of a set of documents d1; : : : ; dn with known authors can be
computed as follows:</p>
      <p>
        Now using the cosine similarity between the average cluster membership vector of
documents with known authors and the questioned document, the similarity between
these two vectors can be computed. The cosine similarity between these two vectors is
defined as follows[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]:
~ =
      </p>
      <p>Pn
i=1 i
n
S~; u =
~</p>
      <p>u
k~k k uk
(10)
(11)</p>
      <p>Through the cosine similarity measure we compute the angle between the vectors.
A cosine values of 0 means that the vectors are orthogonal to each other and a cosine
value of 1 means that the vectors are identical. Through the cosine similarity measure
we assigned a score to each problem. Additionally we need a transformation function
which can return binary values for author verification problem. In Section 2 we defined
the function '(du; D). Here we modify this definition and redefine the function:
(1; if S~; u</p>
      <p>Using the above function definition, for each problem P it can be decided if the
documents inside P belong to the same author or not. A value of 1 means that the
documents inside P have the same author and a value of 0 means that the questioned
document has a different author than the documents with a known author.
6</p>
    </sec>
    <sec id="sec-7">
      <title>Evaluation Results</title>
      <p>In order to evaluate our approach we used the training set provided by the PAN 2014
Author Identification task. The training set consists of documents belonging to 4
different languages, namely Dutch, English, Greek and Spanish. Dutch documents are
divided into essays and reviews, and English documents into essays and novels. Greek
and Spanish documents belong only to the genre Articles. In total we constructed 6
models, where each model corresponds to a specific language and a specific genre.</p>
      <p>
        For constructing the clusters of language L and genre G, we randomly selected 20%
of the available training data to create the clusters. The experiments have been repeated
1000 times and average c@1 measure of the iterations has been computed. The c@1
measure of a single iteration can be computed as follows[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]:
(12)
(13)
1 nc ))
c@1 = ( )(nc + (nu n
      </p>
      <p>n
where, n = number of problems, nc = number of correct answers and nu = number
of unanswered problems. The results are summarized in Table 1.
Dutch
Dutch
English
English
Greek
Spanish</p>
      <p>Essays
Reviews
Essays
Novels
Articles
Articles</p>
      <p>In Table 1 the number of created clusters and the parameter m are also specified.
These parameters are the ones that returned the best results during our experiments. As
we can see the algorithm returns the best results for the English novels with an c@1
value of 0.852. The worst results are also for the English documents but the ones in the
genre essays. Even though the c@1 values for all languages and genres are greater than
0.66.</p>
      <p>
        Beside the above approach, we evaluate the performance of our algorithm according
to the area under the ROC curve (AUC)[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] of its returned probability scores. Table 1
summarizes the results. As it can be seen in the table, the AUC values are consistent
and comparable with c@1 values. The reason for this is that the verification algorithm
outputs very high probability scores for the positive cases, and very low probability
scores for the negative cases.
      </p>
      <p>
        For ranking the performance of participants in the competition a test corpus has
been provided. We have evaluated our algorithm using Tira[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] which is a service for
running experiments in computer science. Table 2 represents the performance results
and also the run-time of our algorithm on the test corpus.
      </p>
      <p>From the performance results based on the test corpus it can be seen that our
algorithm performs very well for English Novels, and Essays reaching a final score of 0.508
and 0.349 respectively. But for the other languages the results are not as satisfactory
as expected. This difference between the results indicates that for languages other than
English, a deeper feature engineering is needed.
Dutch
Dutch
English
English
Greek
Spanish</p>
      <p>Essays 0.635 0.594
Reviews 0.500 0.493
Essays 0.580 0.602
Novels 0.715 0.711
Articles 0.540 0.543
Articles 0.650 0.640</p>
      <p>The run-time of our algorithm on different data sets also shows that the introduced
algorithm can be efficiently used for large collections of author verification problems.
This is due to the small number of features that we extract from documents. This has
from one side the advantage that the author verification problems can be solved very
efficiently, but from the other side, it will result in a lower performance for specific
languages.
7</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>In this work we have described our approach to solve the author verification problem
introduced in the PAN 2014 Author Identification task. Using the fuzzy c-means
clustering algorithm, we partitioned the provided training set (Section 4) into several clusters.
Given an author verification problem, we used the membership values of the documents
inside the problem to verify whether two documents have the same author or not.</p>
      <p>In order to design an efficient algorithm we only considered a limited number of
features for each language. This resulted in very low run-times for our algorithm.
Accordingly we acquired the 1st place among the participants regarding the run-time of
algorithms.</p>
      <p>Our introduced approach also revealed sound results for the English language
achieving the 1st place for English Novels and the 5th place for English Essays among the 13
participating teams. For other languages we did not get the expected satisfactory results.
The reason for this lies in the small amount of training set that we use for constructing
our fuzzy clusters. We also use the same set of features for all available languages which
is probably the main reason for insufficient results for languages other than English.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Argamon</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Scalability issues in authorship attribution</article-title>
          .
          <source>kim luyckx. LLC</source>
          <volume>27</volume>
          (
          <issue>1</issue>
          ),
          <fpage>95</fpage>
          -
          <lpage>97</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bezdek</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ehrlich</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Full</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>FCM: The fuzzy c-means clustering algorithm</article-title>
          .
          <source>Computers &amp; Geosciences</source>
          <volume>10</volume>
          (
          <issue>2-3</issue>
          ),
          <fpage>191</fpage>
          -
          <lpage>203</lpage>
          (
          <year>1984</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Digman</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <article-title>Personality Structure: Emergence of the Five-Factor Model</article-title>
          .
          <source>Annual Review of Psychology</source>
          <volume>41</volume>
          (
          <issue>1</issue>
          ),
          <fpage>417</fpage>
          -
          <lpage>440</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fawcett</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Roc graphs: Notes and practical considerations for researchers</article-title>
          .
          <source>ReCALL 31(HPL-2003-4)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>Recent trends in digital text forensics and its evaluation</article-title>
          . In: Forner,
          <string-name>
            <given-names>P.</given-names>
            , MÃijller, H.,
            <surname>Paredes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Rosso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Stein</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>Information Access Evaluation. Multilinguality, Multimodality, and Visualization, Lecture Notes in Computer Science</source>
          , vol.
          <volume>8138</volume>
          , pp.
          <fpage>282</fpage>
          -
          <lpage>302</lpage>
          . Springer Berlin Heidelberg (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Han,
          <string-name>
            <surname>J</surname>
          </string-name>
          .:
          <article-title>Data Mining: Concepts and Techniques</article-title>
          . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Koppel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schler</surname>
          </string-name>
          , J.:
          <article-title>Authorship verification as a one-class classification problem</article-title>
          .
          <source>In: Proceedings of the Twenty-first International Conference on Machine Learning</source>
          . pp.
          <fpage>62</fpage>
          -.
          <source>ICML '04</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Peñas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodrigo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A simple measure to assess non-response</article-title>
          .
          <source>In: Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies - Volume 1</source>
          . pp.
          <fpage>1415</fpage>
          -
          <lpage>1424</lpage>
          . HLT '
          <volume>11</volume>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computational Linguistics, Stroudsburg, PA, USA (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Stamatatos</surname>
          </string-name>
          , E.:
          <article-title>A survey of modern authorship attribution methods</article-title>
          .
          <source>J. Am. Soc. Inf. Sci. Technol</source>
          .
          <volume>60</volume>
          (
          <issue>3</issue>
          ),
          <fpage>538</fpage>
          -
          <lpage>556</lpage>
          (
          <year>Mar 2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>