Keywords

1 Introduction

People are eager to discuss local and global issues and share their opinions and views with others. Online discussion allows for massive participation from users with different personal backgrounds and perspectives. Large-scale cyber-argumentation services facilitate massive online discussion where users can post issues and viewpoints and then others respond to them. In addition, integrated AI models can analyze the argumentation data and capture the crowd wisdom from these discussions. These analytics help users understand extensive discussions without the need to go through the whole discussion. People mostly use social media and networking services for large-scale issue-based discussion because of its popularity and accessibility. However, social media and networking services, such as Facebook, Twitter and LinkedIn, are not explicitly designed to handle large-scale cyber-argumentation. They are not structured for substantial discussions because they are user and connection-centric, not issue-centric. Discussions on issues are fragmented, they take place in many users’ local pages and/or are separated into numerous different threads, which are hard to follow and it is easy to lose track of the conversation.

Instead of using social media services for argumentation, some people use online debate services for argumentation. These debate services, such as Kialo [11], Contra [12] and Debate.com [13], are designed to handle argumentation in a user-friendly interface. However, these services have limited capabilities. Typically, they present only two-sides of the issues forcing users to either completely agree or disagree with a side. Moreover, some of these services require users to reply or comment in order to express their opinions on an issue. In certain cases, users would like to express their agreement or disagreement without the need to post a new comment or reply. For example, if a user sees that someone else has made the argument they were going to make, he/she should be able to express his/her agreement without having to make a redundant post of the same reasoning. In addition, they lack analytics to understand the discussion. While these debates services facilitate argumentation and deliberation better than social media services, they tend to lack support for mobile applications. Of the three services listed above, only Contra has a mobile application, and its mobile app presented even fewer content and analytics than its web-version. Thus, these services lack the analytical power of cyber argumentation systems and only rarely have robust mobile applications. In the aforementioned services, users cannot explicitly state the degree of agreement/disagreement on a solution for an issue or other arguments. Therefore, users feel restricted and limited in those kinds of discussions. Moreover, many of these services do not provide analytics for facilitating argumentation effectively.

There are other available services such as Quora [15] and Reddit [14] open for public questioning and discussion. Quora is a question and answering service and Reddit is a social news aggregation and discussion service. Both have downvote/upvote features for answers, but these features are intended as a judgment of quality, not a judgment of agreement or disagreement. They have a similar structure to the issue tree, but they cannot effectively facilitate many types of discussions like debates. For example, neither services have a way for users to express explicit agreement or disagreement, outside of writing it in their text. This means that the only way to tell if an idea is being supported or not is to read the text replies from every user which is very cumbersome on the reader. In addition, they provide fundamental analytics to users. They are not designed to handle online argumentation.

Researchers have developed few online debate platforms for argumentation where users can have many more choices of solutions on a single issue. These tools [1, 2, 7] can handle the argumentation better than the above-listed services, but they are not widely available and supported after their research is finished. In addition, the number of participants in these tools is small. Moreover, there are no statistics or measures regarding collective opinions about the posted issues or arguments on these platforms. Most of these platforms do not provide mobile services; and if it has, they have limited functionality.

Developing mobile services for online argumentation is a challenging task due to the limited mobile screen space and the potentially massive issue tree size. Thus, to resolve this problem, we designed a mobile service with a native application for online argumentation. This service represents the issue tree in the mobile space in a user-friendly way. The issue tree is broken down substantially-complicated question into smaller solvable ones. The root of the tree is the issue that is a question or an unsettled problem or situation under consideration to be solved. The internal nodes and leaves of the tree are suggested views or solution to the root. In this mobile application service, users can easily navigate, participate, and follow issue-based discussion and understand what is going on in discussions. It allows users to post issues, viewpoints, or arguments pertaining to different topics. Issues are user generated and can be about any topic. Under the issues, users can post different viewpoints or positions on the issue. These positions serve as solutions or stances on a given topic, depending on the nature of the issue. Unlike other argumentation services, which provided users a choice between distinct mutually exclusive positions, our service allows users to define positions that overlap or are alternatives to other positions. Everyone can react to each position or other arguments with different levels of agreement or disagreement. Moreover, users have the choice to add more arguments or counterarguments for deliberation. The resulting discussions between users highlight various aspects of the positions. The application adapted several AI models to provide meaningful statistics for users such as the collective opinions prediction and each position’s polarization index. Therefore, users stay aware and well informed about the collective interactions with the system.

This paper is structured as follow: Sect. 2 is about the related work done in research for cyber argumentation. Section 3 is discussing the service components and application framework. It contains the architecture of the app and the Interface discussion. Section 4 discusses the analytics model used in this application: the collective intelligence model, the polarization index model and the collective opinions prediction model. Section 5 presents a detailed example from the data set and analyzes it. Section 6 is the conclusion and future work.

2 Related Work

There has been some academic research done on both web-based and mobile-based argumentation platforms. ArguBlogging [2] and CCSAV in [7] are examples of web-based argumentation platforms while ArgueApply [1] is an example of a mobile-based argumentation platform.

In mobile-based argumentation services, ArgueApply [1] is a mobile-based argumentation app that uses the Grappa [10] framework to evaluate different viewpoints on a specific debate. In this app, users can post statements to an ongoing discussion with five levels of agreement or disagreement. Then, the application reports all posted viewpoints and the extent to which users have accepted and rejected each viewpoint. The result is displayed as who is right in the discussion. In debates and deliberations, rightness and wrongness are typically not evaluated based on user-feedback, but based on truth and logical reasoning. Moreover, if a user is unhappy with the results of a discussion, he could add unquestionable links that influence the outcome significantly. The discussion in cyber-argumentation systems should capture the crowd thinking and not be biased based individual tendency. This application presents modest analytics for users such as who is viewing or joining the discussion.

In web-based argumentation services, there are different design choices and presentations adapted to handle cyber argumentation. ArguBlogging [2] is designed to let users share opinions across blogs. It allows users to post arguments with two responses: agree or disagree. However, it gives users the option to provide more details (links) to support or attack the argument as evidence. It only supports two kinds of blogging sites: Tumblr and Blogger. Still, it is limited to binary sides as responses to posted arguments. No analytics or statistics are provided to the user. Another example of web-based argumentation is [7]. It uses a CCSAV, collaborative computer-supported argument visualization, platform with moderation. CCSAV platforms are a representation-centric process to consolidate the collective efforts for the creation of a shared argument map based on IBIS, Issue-Based Information System, [9] argumentation web framework. The argument map is presented to the users as a tree or network filled with arguments and counter-arguments, such as issues, claims, premises, and evidence, with different kinds of relationships, such as support, attack, warrant, etc. This kind of platforms requires skilled users because it expects users to form the argument map accurately; which for novice users can be challenging to follow [7]. It has a better visual representation for the discussion. However, it requires moderation. If a user does not map the argument accurately, the created argument gets pending until a moderator validates the issue. They estimated 1:20 as a moderator to active participants ratio [4]. In a real-time large-scale online service, it is not feasible to hire the same moderators-users ratio to process all pending posts manually.

The argumentation map in [4] had more than 200 users and more than 5000 postings (ideas, arguments and comments) in three weeks. It claimed to be large-scale deliberation. In our empirical study, there are more than 300 users and 10000 arguments in five weeks. Please refer to the Discussion section for more information on our empirical data. There is potential for it to be used by a larger user population.

According to Statista [5], there was about 13% increase in the number of mobile app downloads in 2018 than in 2017. Therefore, mobile phones are taking more focus and use from people. The mobile market growth is expecting mobile users who are using smartphones to be more than 50% of the total users by 2018. Therefore, developing a mobile-based argumentation application is a significant achievement to bring a large-scale cyber-argumentation to everyone worldwide. In this research paper, we contribute a mobile application design to support large-scale cyber-argumentation with simple design and intelligent metrics/analysis capabilities. This design allows users to view issue trees and create new issues, positions, and arguments. Moreover, it allows users to react and reply to each other based on their opinions. Finally, the application produces the collective and personal statistics and additional useful information to users as they use the system such as predicting collective opinions index and polarization index on the position level.

3 Framework

3.1 The Mobile Service Architecture

This mobile service is built on the intelligent cyber-argumentation system (ICAS) platform [3]. ICAS is a web-based argumentation platform based on informal Issue-Based Information System model [9]. The structure of the system can be viewed as multiple weighted directed trees. Each issue can be considered as a tree root. Each position addressing that issue is a child to the root, as in Fig. 1. Users can support or attack each position with an argument(s). In addition, users can support and attack each other’s arguments. These arguments become children to a position or other arguments. Each argument has text and an agreement value. Each component is detailed later this section.

Fig. 1.
figure 1

Issue, positions, and arguments representation

An overview of the environment used to develop this application is given in Fig. 2. The framework of this mobile application consists of two major components, the front-end and the back-end.

Fig. 2.
figure 2

App architecture and components

3.2 The Front-End

The front-end is an Android application developed by the Cordova framework and written using JQuery and HTML 5. This application requires a minimum SDK level of 28 (Android 9) as a front-end. The front-end connects to the back end using HTTPS.

3.3 User Interface

This application is taking simplicity and ease of use into consideration. The main components of the app are issues, position, arguments, reactions and analytics buttons. Below are the details of each component.

Issues

Issues are the unsolved problem or open questions for discussion. When a user is logged in to the application, the main page is loaded, as in Fig. 3(a). The main page displays a list of issues. Every user has the choice either to add a new issue or view the existing issues. A user can select any issue to view all related information. When a user selects an issue, all related positions are displayed, as in Fig. 3(b). Users can navigate to the issues list by tabbing in the home bar.

Fig. 3.
figure 3

(a) Main page. (b) Selected issue. (c) Selected position. (d) Collective intelligence analytics. (e) Personal intelligence analytics.

Positions

Positions are the stances or solutions for issues. Like issues, a user can select any existing position to engage to it or add a new position, as in Fig. 3(b). When a user selects a position, all related arguments are displayed. In addition, the number of replies, number of reactions and the overall agreement value of the position are shown, see Fig. 3(c). These numbers summarize the discussion size and the degree to which participants have agreed/disagreed with the position. From the position tab users can reply or react to any positions. Users can navigate or go back to the selected issue by tabbing on the issue text at the top of the screen.

Arguments and Reactions

Arguments are statements of users opinions against positions or other arguments. Arguments are made of text and agreement values. The text describes the user’s argument in words and can be up to 2500 characters. The agreement value is a user-defined value that indicates the user’s agreement or disagreement on the parent node. The agreement value is a real number between −1 and 1, where the sign indicates that the user is in agreement or disagreement with the parent argument and the value represents the intensity of agreement/disagreement. For example, a user may post (−0.4) as an agreement value. Since the sign is negative, it is a disagreement. The 0.4 indicates that the user is moderately disagreeing. If the agreement value is 0, it means the user is natural (indifferent) about the argument. Levels of agreements/disagreements are selected using the sliding bar as in Fig. 4. This sliding bar is divided into 11 levels, which indicate different levels of agreement. These levels are in one interval [−1, 1] and are separated with 0.2 interval length. The sections are Completely Disagree (−1.0), Strongly Disagree (−0.8), Moderately Disagree (−0.6), Weakly Disagree (−0.4), Slightly Disagree (−0.2), Indifferent (0), Slightly Agree (+0.2), Weakly Agree (+0.4), Moderately Agree (+0.4), Strongly Agree (+0.8), and Completely Agree (+1). This sliding bar is used to simplify the system interface to users.

Fig. 4.
figure 4

The Sliding Bar

Users can add arguments by using the reply button. Arguments can be made for positions or other arguments. A position’s discussion is made up of all arguments under it. Users can also interact with positions and arguments using a reaction. Reactions are statements of agreement/disagreement without any text. Reactions are used to explicitly support or attack arguments or positions using the react button as in Fig. 3(c). This helps with reducing redundant arguments in the system but still allow users to stay engaged in the discussion. To maintain the discussion’s integrity, the application service does not allow standard users to delete or modify issues, positions and arguments after posting them. Instead, users can post updates to arguments and reactions they authored. An update creates a new argument with the user’s modification and linked to the old argument. The old argument is still visible in the application but marked as an updated one. The application will keep both values because the old argument may have some children that are calculated in the collective intelligence index. This update’s restriction is made because we do not want the author to change the issue, positions or arguments to something contradictory or unrelated to the original post. This restriction ensures transparency and encourages honesty for all users.

The Analytics Buttons

There are two analytics buttons in the application. The first button is the collective intelligence analytics button, as in Fig. 3(d). It presents meaningful numbers about the collective efforts on each position under the selected issue. It contains three collective measurements. The first one is the collective intelligence index. This index represents the overall discussion agreement for the selected position. The second index is the collective opinion index. This index reflects the users’ total agreement value including the users who have not participated in a selected position, but have participated in other positions in the system. The third index is the polarization index. This index tells the user how polarized the discussion is under a selected position. More information about these indexes discussed in Sect. 4.

The second button is the personal intelligence analytics button, as in Fig. 3(e). It summaries the number of reactions and replies made by the user for each position under the selected issue. It also calculates the overall individual agreement value based on arguments and/or user reactions has made.

3.4 The Backend

The back-end consists of three major components: The Apache server, which hosts the website, the ICAS server and the Neoj4 database, as seen in Fig. 2. All analytics the applications are handled in the back end, ICAS. The Apache server connects to the ICAS server using WebSocket connection. The ICAS server connects to the Neoj4 database using the Bolt connection.

4 Collective Analytics Models

As in Table 2, the issue has four positions. Each position has more than 350 arguments. For users, to understand the discussion direction and participants attitudes, they need to read every argument in the issue tree. This is time-consuming and most likely users cannot comprehend the whole discussion. Therefore, this application design has adapted three analytics models used to make the app intelligent and informative for users. The models are the collective intelligent index, polarization index, and the prediction of collective opinions on the position level. These models use AI techniques to help users to understand the discussion event without participating. In the next subsections, there are more details about these models in the application.

4.1 Collective Intelligence Index

As stated before, users can reply and react to positions and arguments. Each reaction to a node in the application has an agreement value. This value ranges from −1 and 1. On a position level, the position or argument agreement as shown in Fig. 3(d) and (e) is calculated as:

$$ Position_{overall\_agreement} = \mathop \sum \limits_{i = 1}^{N} avg({\text{argument}}_{i} ||reaction_{i} ) $$
(1)

For analytics, we need to determine the user agreement towards a position. Some users made direct reactions to positions while others made reactions to arguments. Reactions made to positions are easy to calculate their agreement value. However, for the arguments further down the tree, it is not obvious how the argument is related to the parent position. We need to derive the argument’s agreement level with its parent position. For example, on position P, as shown in Fig. 5(a) is not known exactly the argument B agreement value to position P. To solve this problem, the application uses a fuzzy logic engine to reduce arguments agreement value to its parent position. In the argument reduction procedure, the fuzzy inference engine takes in two inputs and produces one output. The inputs are the agreement values of an argument to be and its parent. The output will be the new reduced agreement value for the argument to be from the fuzzy inference engine. The fuzzy inference engine uses fuzzy membership functions to quantify the linguistics agreement terms used in the application, as listed in Sect. 3. The fuzzy membership function used in the application is the piecewise linear trapezoidal function. Membership functions are defined by using four vertices of the trapezoids to define the fuzzy sets. For more explanation of the fuzzy logic engine, please refer to [3].

Fig. 5.
figure 5

(a) Position subtree before reduction. (b) Position subtree after reduction

This fuzzy logic engine uses inference rules to combine two or more inputs of the fuzzy sets. These inputs are identical to the logical operators, e.g., and, or. The inference rules are predetermined of 25 inference rules to reduce arguments agreement values. Here are two examples of the inference rules:

  • If argument B supports argument A and argument A attacks position P, then argument B attacks position P (Implicit attack).

  • If argument B attacks argument A and argument A attacks position P, then argument B supports position P. (Implicit support).

For more information about general argumentation heuristic rules, please refer to [3].

For example, argument A disagrees to position P with an agreement value (−1.0). Then, argument B disagrees to user A with agreement value (−0.5). From the tree visualization in Fig. 5(a), it can be inferred that argument B is supporting position P because it already disagrees with argument A. Now the application wants to determine the agreement value of argument B towards position P. The application uses a fuzzy logic engine to reduce the agreement value for nested arguments. In the application, the fuzzy logic engine reduces the agreement value of nested arguments to become direct arguments to the associated position. This engine helps in simulating all arguments into one level and connected directly to the parent position, in Fig. 5(b), more details are in [3]. This index captures the participants’ thinking towards the selected position. It helps the end user to see the overall agreement value so far for the selected position from participants. This index posted to the end users as the overall agreement index. It has two attributes: a value and a color. If the index is posted with red color, it means that most of the participants are being against the selected position. If it is posted with green, it says that most of the participants are being for the selected position. The value is the overall density for this position.

4.2 Polarization Index

The polarization index, adapted from [6], measures the amount of polarization among the individual users’ agreement in a given position. This index is a distribution-based index that returns a value between 0 and 1, where 0 indicates that there is no polarization and 1 indicates that there is complete polarization.

$$ P_{t,norm} \left( {\pi .\varvec{y},N} \right) = \frac{{P_{t} \left( {\pi ,\varvec{y}} \right)}}{{P_{max} (N)}} $$
(2)
$$ P_{t} \left( {\pi ,\varvec{y}} \right) = \mathop \sum \limits_{i = 1}^{N} \mathop \sum \limits_{j = 1}^{N} \pi_{i} \pi_{j} I_{i}^{\alpha } { \hbox{max} }\{ \left| {y_{i} - y_{j} } \right| - D,0\} $$
(3)
$$ I_{i} = \log \left( {\mathop \sum \limits_{{j:\left| {y_{i} - y_{j} } \right| \le D}} \left( {\pi_{j} * \left( {1 - \frac{{y_{i} - y_{j} }}{D}} \right)} \right)} \right) $$
(4)

The index is calculated by taking the distribution of the averaged reduced agreement value for each user as an input, represented as the pair (π, y), where y is the vector of average agreement values and π is a vector of the same length as y, where the value at πi represents the number of users with the average agreement of yi. To calculate the polarization index, the distribution (π, y) and the total number of users N, are given to the function Pt,nrom in (2). The value returned by Pt,nrom is the polarization index that is normalized by the maximum possible value for the population size N, Pmax(N).

The application has measured the polarization index for all positions; more analysis is discussed in Sect. 5. For a full reference on the polarization index, please refer to [6]. This index helps users to know if the discussion in a position is polarized or not.

4.3 Prediction of Collective Opinions

In large-scale cyber argumentation and deliberation, discussions are often incomplete. Not all users explicitly share their full positions. Therefore, it is difficult to determine the collective opinions in large-scale argumentation. If we can predict the agreement value for non-participating users, it will help us to understand the overall user attitude towards the issue or position. The application uses the cosine similarity with position correlation collaborative filtering (CSCCF) [8] model to predict the collective agreement value for all non-participating users on a particular position. To predict position p, for each user who did not participate in any discussion on this position, the application calculates their prediction value using the CSCCF model and averages all the prediction values as a collective prediction on this position.

CSCCF model integrates user agreement values on positions with their correlation values with the test position. To predict the agreement value of position t for user x, the most similar users of x are identified with respect to position t and their position t agreement values are averaged as the predicted value of position t for user x after being weighted by corresponding similarity values with the test user.

For example, assume user x has the following agreement vector \( {\text{U}}^{\text{x}} = \left[ {{\text{R}}_{1}^{\text{x}} ,{\text{R}}_{2}^{\text{x}} \ldots {\text{R}}_{{{\text{t}} - 1}}^{\text{x}} ,{\text{R}}_{{{\text{t}} + 1}}^{\text{x}} \ldots \ldots \ldots {\text{R}}_{\text{n}}^{\text{x}} } \right] \), where \( {\text{R}}_{\text{p}}^{\text{x}} \) represents the agreement value of user x at position p. The application wants to report the collective opinions predication for position t. The person-correlation coefficients between all position pairs are measured with the corresponding two tailed p values. The correlation value between position i and j is measured using Eq. (5).

$$ C_{i,j} = \left\{ {\begin{array}{*{20}l} {\frac{{\mathop \sum \nolimits_{k = 1}^{m} (R_{i}^{k} - R_{i}^{ \wedge } ) * (R_{j}^{k} - R_{j}^{ \wedge } )}}{{\sqrt {\mathop \sum \nolimits_{k = 1}^{m} (R_{i}^{k} - R_{i}^{ \wedge } )^{2} } * \sqrt {\mathop \sum \nolimits_{k = 1}^{m} (R_{j}^{k} - R_{j}^{ \wedge } )^{2} } }}} \hfill & {if\,p < 0.05} \hfill \\ {\quad \quad \quad 0} \hfill & {else} \hfill \\ \end{array} } \right. $$
(5)
$$ {\text{Similarity}}\,({\text{x}},{\text{y}}) = \frac{{\mathop \sum \nolimits_{i = 1, i \ne t}^{n} C_{ti}^{2} R_{i}^{x} R_{i}^{y} }}{{\sqrt {\mathop \sum \nolimits_{i = 1,i \ne t}^{n} C_{ti}^{2} (R_{i}^{X} )^{2} } + \sqrt {\mathop \sum \nolimits_{i = 1,i \ne t}^{n} C_{ti}^{2} (R_{i}^{y} )^{2} } }} $$
(6)

To measure the similarity between user x and y, at first their agreement vectors are updated with associated correlation values with test position t and then the similarity value is measured between the updated vectors (Ux, Uy). The similarity measure is the cosine similarity value between user x and y as in Eq. 6.

Users are then ranked based on their similarity values and the agreement value of position t for test user x is predicted using the top k most similar users corresponding agreement values and their similarity values with user x. More analysis is explained in Sect. 5. For more information about this model; please refer to [8]. This model predicts the collective opinion for users based on the discussion and the similarity between participants. Therefore, users can see on which direction the discussion is going.

5 Discussion and Analysis

This mobile application is capable of facilitating large-scale cyber-argumentation. Table 1 shows different nodes and content in the application. Here is a detailed example of an issue in the application.

Table 1. Data in the application

5.1 Example: Issue: Guns on Campus

This issue posted with the following question: “Should students with a concealed carry permit be allowed to carry guns on campus?” and had the next four positions for users’ discussion:

  • Position 1: No, college campuses should not allow students to carry firearms under any circumstances.

  • Position 2: No, but those who receive special permission from the university should be allowed to concealed carry.

  • Position 3: Yes, but students should have to undergo additional training.

  • Position 4: Yes, and there should be no additional test. A concealed carry permit is enough to carry on campus.

The discussion form the above issue is summarized in Table 2. The number of participants among all positions is about the same except for position 1. The reason for this exception could be it is more arguable than the other positions or because it was the first listed position under this issue. The same applies to the number of arguments made on each position.

Table 2. Positions statistics to the gun on campus issue

The table has the overall, arguments and reactions agreement values. The reaction agreement is the collective average for users reactions towards the position without a text. The user’s reaction is the user agreement degree on the posted position. The argument agreement is the collective average users reactions towards the position with a text. In this application, the user has the option to react only or to react and reply to a position or an argument. The overall collective agreement is the average users reactions to the position and all related arguments, regardless if it is with text or not. These measurements help non-participants to know about the participants’ reactions to each position under the selected issue. It also informs the user about how many users have participated and arguments made so far for the selected issue. For example, position 1 seems to be more popular than position 4 because it has more number of participants and arguments than position number 4. People who like to join hot topic discussions may favor position 1 over position 4. For position 3, it seems that people are not in favor of additional training to carry a gun on campus; This position has an agreement value of −0.36.

Regarding the polarization index, the positions under the Guns on Campus issue have similar polarization values. The polarization Index for all the positions is less than or equal to 0.30. All of the positions are slightly polarized but not into a significant degree. This index helps users to have a glance about the distribution of the participant’s agreement for a particular position. It leads to understanding the discussion better.

Finally, the application adapted collective opinions prediction index to predict the future of a discussion about a position. In this application, about 94 participants out of 336 have responded to all positions. Only about one-fourth of the users have participated in all discussions in the application. Incomplete discussions are the typical case for argumentation and deliberation. However, users may want to know the collective opinions prediction, which predicts what the collective user agreement would be if everyone had participated. The collective prediction index calculates the collective opinion for non-participants based on similar participants’ argument, reactions to position and correlations between positions. In position 1, less than half of the users did not participate in the conversation. If they join in the future, the application would predict that they might slightly agree on the position with an agreement value 0.31.

6 Conclusion and Future Work

In this paper, we developed an innovative large-scale cyber-argumentation mobile application service. This mobile service is designed to represent the issue tree and facilitate structured discussion from multiple positions for each issue in a handheld screen size. Users can add issues, multiple positions and arguments. They can react to positions and arguments and explicitly specify degrees of their agreements/disagreements. Discussions and conversations are well organized and easy to follow and understand. In addition, this application intelligently provides analytics about the collective and personal participation based on AI analytic models such as polarization index and collective opinion prediction. These models help users stay focused and well informed about the ongoing discussions. This application is an improvement for argumentation over the existing social media and debate service.

In a real-world setting, attacks can happen in this application such as scams and trolls. However, this problem is beyond the scope of this paper and left as future research. Currently, this app is being expanded to incorporate social networking services for argumentation, automatic issues generation based on hot and daily topics. In the future, a stable version of this application is going to be published in the applications stores.