<!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>Analyzing Forum Members by Their Comments∗</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bianka Nagy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Attila Kiss</string-name>
          <email>kiss@inf.elte.hu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ELTE Eötvös Loránd University, Faculty of Informatics</institution>
          ,
          <addr-line>Budapest</addr-line>
          ,
          <country country="HU">Hungary</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>29</fpage>
      <lpage>31</lpage>
      <abstract>
        <p>In the paper we present a forum analysis from the messages of the users in Hungarian forum topics. We represent the life of a forum topic, and the peoples inside the forum. We make categories and analyze the users from their word usage. For a user, we want to represent them with their common words, their most important sentences, plus we can compare them to another user or to the average of the topic behaviors. The paper analyzes the diferences from the average word usage and the average behaviors in the topic and represent it in given time, and in a timeline. We can represent a forum topic's life.</p>
      </abstract>
      <kwd-group>
        <kwd>social network analysis</kwd>
        <kwd>centrality</kwd>
        <kwd>social influence</kwd>
        <kwd>natural language processing</kwd>
        <kwd>outlier</kwd>
        <kwd>hidden conversation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Forums and social networking sites contain a huge amount of text information
about members. Analyzing these texts is also important from a practical point of
view, as you can explore the impact that events and products can have on diferent
user groups [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Analyzes can also help influence individuals, as seen in politics and
corporate campaigns that try to get customers to buy new products and services.
Influence is now being done by bots, programs that, for some purpose, comment
on messages that try to influence a community’s beliefs, thereby hacking natural
communication [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. It is therefore an important task to find users who act and
communicate in an unnatural way [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Of course, there are natural language processing research, open systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that
perform tokenization / lemmatization / POS tagging, and other semantic analyzes,
but these can be used primarily for English language analyzes, not for Hungarian.
Comprehensive free tools are not currently available in Hungarian, so the English
language solutions had to be redesigned and implemented so that they could be
applied to Hungarian forums as well.
      </p>
      <p>We note that there would be another possibility to automatically translate
Hungarian texts into English with google translate or another free translator and
perform the linguistic analysis, emotional analysis, classification on the resulting
raw English translation in English, but we found this method based on our previous
measurements. that the error would be too large, so we discarded it.</p>
      <p>In this publication we choose the website https://prohardver.hu for our
research, because we want a Hungarian webpage which is big enough, so we can get
enough data to our calculations. On this site there are more than 100 forum topics
(it is the largest Hungarian website on Informatics). In this research, our
calculations and methods can be used in any of the topics and in the topic’s every pages.
This is a real time calculation, that’s why in long term we can get more precise
data. We will publish our code also, so if anybody wants to reuse or get data
to their research, they only needs to change the url in the code. Our developed
system can be easily applied to other websites. If somebody wants to use it in
a diferent website then the data collecting methods need to be changed, because
every website’s html code is diferent, that is why the forum messages will be in
diferent context in that website’s html, then our method still can be usable to the
new data.</p>
      <p>For the data collecting methods, we use Python language with “BeautifulSoup
version 4” which is a web scraping function to collect data from any webpages. The
bigger webpages use protection against the bots and web scraping methods. In this
case our or any other methods are not usable on those pages. However, before these
protections, there are lot of older data collections available online from that pages,
which are downloadable.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Method of data collecting</title>
      <p>To our research and to get the statistics we use Python language, and we
concentrate on Hungarian language in websites, but the methods are based on purely
mathematics, that is why they can be used in any other language. In Hungarian
language we use a lot of conjunction words, definite and indefinite articles, and
pronouns. We call the base set ‘alap’ which contains these words. In the research
we will not count the words which are the members of the ‘alap’ set so we use
corrected statistics calculations, because these words do not contain any help or
information to analyse the users.</p>
      <p>Conjunction words: “és, vagy, de, . . . ” which mean “and, or, but, . . . ”
(in)definite articles: “a, az” which mean “a, an/the”
pronouns: “én, te, ő, mi, ti, ők” which mean “I, you, she/he/it, we, you, they”
We also do not count the special characters like:“.,’;!?-” because if we use them,
then for example, the last words in sentences may be diferent words.
apple ̸= apple. ̸= apple! ̸= . . .</p>
      <p>After the data collection, first we transform the data to our format. We delete
the words from our starting dataset, which are in the ‘alap’ set, search for the
diferent words and count them. After that remove the special characters and
modify the characters to lower case.</p>
      <p>Since the Hungarian language is an agglutinative language, we consider the
words as diferent even if they have the same root.</p>
      <p>At the data collecting methods we do not only access the data from the
messages, but we also store the information such as who writes the comment (user
name, status in the web page), when she writes it, if it is a reaction to someone
then we collect the user names also.</p>
      <p>We need this information because we want to create time-line statistics with
the dates of the messages. With the user status, we search for correlations between
the status and the word usage, word frequency. Based on the data of reactions to
each other, we want to represent the users in graphs and evaluate the centrality
measures of the users to find how much a given user afects the community.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Word usage statistics</title>
      <p>First, we make statistics ‘between two users’ and ‘between a user and the whole
data set’ for this purpose we create two data:</p>
      <p>One is the set of the diferent words that the user uses, and the second is the
frequencies to these words. Creating these data to the analysed peoples and to the
‘whole data set’ and counting the number of words we get the estimated probability
to the words. For the calculations we also create files from the 100 most used words,
and the frequencies to each of them.</p>
      <p>Using these files we can make some comparisons (in these statistics we always
write X. and Y. comment writers, not with specific user names, that’s why our
calculations and graphs are dynamically usable.):</p>
      <p>We determine which are the words only used by the first person:</p>
      <p>Similarly, we can see the intersection of the two sets, i.e. which are the words
used by both users. After that we calculate the diference of the frequencies. In
the graphics, if the y parameter is high, then the first user used them more, if it is
low, then the second user used them more.</p>
      <sec id="sec-3-1">
        <title>3.1. Sock-puppet account</title>
        <p>
          We defined the user type ‘sock-puppet account’ by comparing the statistics of a
given user to an another user. A user can create multiple instances of these cheaters,
which we can detect by analyzing the statistics, since they have the same purpose
and thus communicate in a very similar way with other users. We guess if they
got highly similar statistics and their intersection diagram is close to flat, then it
is possibly a second account of the user. This account is called a ‘sock-puppet’ if
it mostly reacted to the main account. Such users are hiding, using their primary
account only to send messages to the community under the alias they have created
so that they influence the opinions of others anonymously [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. If we find such
replicated users, then we may consider them as ‘sock-puppet’ account of the same
user. Of course, this suspicion can only be considered to be certain through further
investigations.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Power of the sentences</title>
        <p>By examining the statistics, we can determine which of the most common words,
phrases and sentences a user has. For sentences, the frequency of words is added
up and divided by the number of words in the sentence. This formula maximizing
sentence is considered to be the most representative sentence for the user.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Users interaction</title>
      <p>In this section we create statistics from the reactions between the users:</p>
      <p>In this graph the arrows represent who responds to whom (or they respond to
each other).</p>
      <p>The community, the forum, the topic is characterized by the users who elicit
the most reactions from the community members, i.e. the ones who comment the
most and / or who receive the most messages and comments. Such users spin, keep
the forums alive. Such users are, in a sense, central elements of the network, the
graph. There are several degrees of centrality, such as closeness, which are used to
ifnd the most important members.</p>
      <p>We calculate the closeness centrality to each user, and with those values we
create a closeness graph (which does not include the peoples with 0 centrality).</p>
      <p>In this graph the arrows represent who reacted to whom (or they reacted to
each other). The size of the circles is proportional to the value of centrality. We
colour the graph as follows: the users with the biggest centrality values got red
color, the average got blue color, and the other accounts got mint color.</p>
      <p>In our analysed forum pages, we did not find strong correlation between the
most reacted users and the biggest closeness centralities. For example, the user
with the highest centrality value is just the fourth most reacted person and the
most reacted user got one of the smallest values. The largest centrality was 0,157
in the whole data and the user with the most reaction got 0,07. With the reactions
to each other we can find the people whose activity keep the topic rolling, and the
users who create their own “talk” in the topic. Peoples who ‘keep the topic rolling’
have the most centrality in the graph. In another way, if we delete those nodes
from the graph, the graph falls into two disjoint parts.</p>
      <sec id="sec-4-1">
        <title>4.1. Suspicious users</title>
        <p>
          Today, there is a lot to read about how terrorist groups use social networks to
hide their own messages. If our goal is to find out that there is such hidden
communication in the forum, then we need to look for a smaller, suspicious group
whose members communicate with each other with abnormal language
characteristics and, moreover, only respond to each other’s messages [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. The most suspicious
users are who had many comments, but who only react to 1-4 diferent persons and
these people also react to these small group of people. Like they have a disjoint
part of the graph. If we find a group whose members talk to each other diferently
from the forum topic, using the forum only as a means of communication, then
according to our purpose, we can either warn them to discuss elsewhere, or keep
an eye on their conversations to uncover secret terrorist messages.
        </p>
        <p>The first graph is a full graph, and the second is a subgraph of an another
graph, which represents a suspicious group, whose members have their own talk
which does not belong to the topic. The first is suspicious because one user has
a mint color, but the two people only communicate with each other, and they are
not the real part of the topic conversation. The second is suspicious, because they
had higher colors like blue, but they only reacted in the small group, but got many
reactions.</p>
        <p>If we find someone like this, we will analyse them as the previous part of the
research comparing their word usage to the whole data set.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Centrality and Entropy</title>
      <p>With the help of the reactions we also examined whether there is any relation
between the centrality and the word distribution of the individuals and the entropy
of the distribution.</p>
      <sec id="sec-5-1">
        <title>5.1. Centrality</title>
        <p>
          Four types of centrality were used to all the users [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]:
-Betweenness centrality
-Closeness centrality
-Eigenvector centrality
-Degree centrality
        </p>
        <p>For each type of centrality we search for the users with the maximum and
minimum centrality.</p>
        <p>In the graph we see the one of the centralities. Lighter (red) coloration indicates
greater centrality and darker (blue) coloration indicates lower centrality.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Entropy</title>
        <p>For analysing users, we compute the entropy to all the messages, to get a better
representation for the user behaviours. In every forum topic there are many
frequently used words, which are the topic’s speciality, and we will use this feature of
the topics. We want to compare the user to the all data set’s entropy. Therefore we
calculate two diferent entropy analyzes. Firstly, the entropy to every ten messages
of the user, where the messages follow each other in time and secondly determine
it in time. Which means, we recalculate the entropy in every new ten comments,
but we calculate with the all messages until that time.</p>
        <p>For the comparison we also need to get the entropy of the all data set. For that
we applied the two diferent type of entropy calculations. With these pre-made
calculations we can compare the user to the all dataset.</p>
        <p>For illustrating better their relation, we create two more types of analysis, which
are similar to the previous ones. In the calculations of the user entropy, we do the
same as previously. But for the all data set, we recompute the previously defined
two entropy types, to one of the subset of the all data set. The subset is where
we count with the ‘all messages - user messages’. We take this subset, because
if the given users are counted in the whole group, then we will compare them to
themselves. With this improvement we get more accurate representation of the
real world.</p>
        <p>Our goal is to show the entropy diference alteration in time: If the diference
gets less in time, then the user starts to adopt to the word usage of the topic, and
will be a long term user in the forum. If the diference starts to get bigger in time,
then the user starts their ‘secession life’ in the forum. Which means the user got
high possibility to exit the forum.</p>
        <p>Predicting customer churning is a very important practical, economic goal for
service providers. If the individual’s vocabulary moves away from the common
language or does not follow the linguistic changes of others, then he or she may
want to leave the group. In this case, the service providers may try to keep it by
ofering promotional ofers. Just like in direct marketing, here we can save some of
our expenses by not giving everyone a discount, just a smaller group.</p>
        <p>Our last entropy analysis we made, where we compare the all date set to the
‘all messages - user messages’ subset.</p>
        <p>The goal with that is to show, if the user changed the forum word usage by
bringing new words to the topic. We can see which words after that are frequently
used in the topic by other users. If the two type’s entropy diference start to get
less, that means, the forum also starts to adopt to the new user and the new words
start to spread in the topic. If the diference is constant or starts to get bigger,
then the user did not adopt to the topic usage.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. Relation between centrality and entropy</title>
        <p>In the last part we compare the 4 types of centralities to the entropies: In the
previous parts we got 4 people, whose got the highest centrality in each type, and
we also found the peoples with the least centralities in each type.</p>
        <p>To the analysis, we repeat the entropy calculations to these peoples, to analyse
if there is any correlation between the centralities and entropy.</p>
        <p>In our dataset we found that users with highest centralities are not related to
the entropies. In the forum, if somebody talks about other things than the topic
theme, or use not related words, they likely get more attention to their comments.
For example, where the other users ask them to talk in private. We observed that
most of the users with the lower centralities have very similar entropies to the all
data set, because they mostly just repeat the other user messages or did not add
new information to the communication.</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.4. Conclusion and future works</title>
        <p>This paper describes the tests that can be performed on individuals and average
behaviors in any forum using purely linguistic statistics. We have also tried diferent
methods for Hungarian language forums. English-language software is available for
this, but our methods also work for the Hungarian language. These can be used to
determine the members of the presumption, the change of the group, the attitude of
the individuals towards the group. In addition, it is predicted that individuals will
drop out or that terrorists will hide messages within the forum. In the future, we
would like to define more user types, explore more analyzes and integrate them into
a framework that can be used to analyze any Hungarian forum. As this is just the
beginning of a larger, comprehensive research, we have designed and implemented
the tools for the time being, and this will be followed by running them on several
large data sets and drawing conclusions and useful information from the obtained
measurements and analyzes.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Aggarwal</surname>
            ,
            <given-names>C. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhai</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>A Survey of Text Classification Algorithms</article-title>
          .
          <source>Mining Text Data 163-222</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Atanasov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morales</surname>
            ,
            <given-names>G. D. F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Nakov</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Predicting the Role of Political Trolls in Social Media</article-title>
          . arXiv preprint arXiv:
          <year>1910</year>
          .
          <year>02001</year>
          .
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Zhili</given-names>
            <surname>Chen Efective-Linguistic-</surname>
          </string-name>
          Steganography-Detection
          <source>In 2008 International Conference on MultiMedia and Information Technology</source>
          <volume>217</volume>
          -
          <fpage>220</fpage>
          . IEEE,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Zhili</given-names>
            <surname>Chen</surname>
          </string-name>
          , Liusheng Huang, Haibo Miao,
          <string-name>
            <surname>Wei</surname>
            <given-names>Yang</given-names>
          </string-name>
          ,
          <article-title>Peng Meng Steganalysis against substitution-based linguistic steganography based on context clusters</article-title>
          .
          <source>Computers &amp; Electrical Engineering</source>
          ,
          <volume>37</volume>
          (
          <issue>6</issue>
          ),
          <fpage>1071</fpage>
          -
          <lpage>1081</lpage>
          .
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahlf</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Sharma</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Social activity and structural centrality in online social networks</article-title>
          .
          <source>Telematics and Informatics</source>
          ,
          <volume>32</volume>
          (
          <issue>2</issue>
          ),
          <fpage>321</fpage>
          -
          <lpage>332</lpage>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Manning</surname>
            ,
            <given-names>C. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Surdeanu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finkel</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bethard</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>McClosky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>The Stanford CoreNLP natural language processing toolkit</article-title>
          .
          <source>In Proceedings of 52nd annual meeting of the association for computational linguistics: system demonstrations 55-60</source>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Torres-Soriano</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          <article-title>The dynamics of the creation, evolution, and disappearance of terrorist Internet forums</article-title>
          .
          <source>International Journal of Conflict and Violence (IJCV)</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ),
          <fpage>164</fpage>
          -
          <lpage>178</lpage>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Peter</given-names>
            <surname>Voros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Huba</surname>
          </string-name>
          ,
          <article-title>Attila Kiss Steganography and Cryptography for User Data in Calendars</article-title>
          <source>In Asian Conference on Intelligent Information and Database Systems 241-252</source>
          . Springer, Cham,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Lingyun</given-names>
            <surname>Xiang</surname>
          </string-name>
          , Xingming Sun, Gang Luo,
          <article-title>Bin Xia Linguistic steganalysis using the features derived from synonym frequency</article-title>
          .
          <source>Multimedia tools and applications</source>
          ,
          <volume>71</volume>
          (
          <issue>3</issue>
          ),
          <fpage>1893</fpage>
          -
          <lpage>1911</lpage>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lai</surname>
            ,
            <given-names>Y. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chow</surname>
            ,
            <given-names>K. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hui</surname>
            ,
            <given-names>L. C.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Yiu</surname>
            ,
            <given-names>S. M.</given-names>
          </string-name>
          <article-title>Sockpuppet detection in online discussion forums</article-title>
          .
          <source>In 2011 Seventh International Conference on Intelligent Information Hiding and Multimedia Signal Processing 374-377</source>
          .
          <year>2011</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>