ArgChat

User and methodological guide

ArgChat documentation

Learn how to conduct a dialogue, interpret the argumentation graph and understand how ArgChat generates its responses.

01

Using the Tool

The Tool page contains two synchronised panels. The left panel displays the BAF disclosed during the conversation, while the right panel contains the dialogue and the controls used to make a move.

Starting a conversation

  1. Select the topic you want to discuss.
  2. Select either PRO or CON mode.
  3. Press Start chat.

ArgChat introduces the root argument of the selected topic and uses it as the initial reply target.

Making a move

Every user argument must attack or support an argument already disclosed in the conversation. Select the desired relation, write the argument and send the message.

The message is matched with the arguments stored for the selected topic. If no suitable match exists, it is integrated as a new argument. The identified argument and its attack or support relation are then added to the disclosed BAF.

ArgChat evaluates the available response candidates according to the selected dialogue mode and acceptability semantics. When a valid response is found, the conversation and graph are updated with the selected argument, relation and resulting labels.

Choosing the reply target

The latest chatbot argument becomes the reply target by default. Its message is identified by the Reply target label, while its graph node has a dashed outline.

To choose a different target, select its message or graph node and use the Reply to this argument control shown in the expanded message.

Inspecting an argument

Selecting a graph node expands the corresponding chat message. Selecting a chat message highlights the same argument in the graph. The expanded message shows:

  • the speaker and acceptability label;
  • the argument ID;
  • the target argument and relation type;
  • all alternative sentences associated with the argument;
  • the control for selecting the reply target.

The arrow controls move between alternative sentences. Selecting an element outside the expanded message closes the details.

Reading and navigating the graph

Graph nodes can be selected and dragged. Hovering over a node shows its current sentence. Node colours represent acceptability labels, while arrow colours distinguish attack and support relations.

Element Meaning
Green node IN argument
Red node OUT argument
Yellow node UNDEC argument
Green arrow Support relation
Red arrow Attack relation
Dashed outline Current reply target
Solid dark outline Currently selected argument

02

Dialogue modes and rules

ArgChat provides two modes of use. PRO mode supports the user in making a decision, whereas CON mode aims to persuade the user to reconsider the position expressed on the selected topic.

Each mode uses a separate set of response rules. The applicable rule depends on the relation introduced by the user, the structure of the disclosed BAF and the acceptability labels of the arguments involved.

PRO

Decision support

PRO mode assists the user in examining the available positions and making a decision about the topic. Depending on the current BAF, the system may strengthen an accepted position, challenge a rejected argument or introduce an argument that helps resolve the current move.

CON

Persuasion

CON mode attempts to move the dialogue away from the position expressed by the user. The system may introduce a counterargument or end the exchange when the user move is already consistent with the position pursued by the system.

Dialogue rules

The response rules use the following notation:

  • A is the argument selected as the target of the user move;
  • B is the argument introduced by the user;
  • C is a candidate response argument;
  • IN and OUT are the acceptability labels computed for the disclosed BAF.

PRO rules

Rule User move Labels System response
P1 B attacks A B = OUT, A = IN C attacks B
P2 B attacks A B = IN, A = IN Not applicable
P3 B supports A B = OUT, A = IN C supports A, or C attacks B
P4 B supports A B = IN, A = IN C supports B, or C supports A
P5 B attacks A B = OUT, A = OUT C attacks A
P6 B attacks A B = IN, A = OUT C supports B, or C attacks A
P7 B supports A B = OUT, A = OUT C attacks B
P8 B supports A B = IN, A = OUT C supports B, or C attacks A

P2 is not applicable because an s-admissible set cannot contain two arguments when one attacks the other. If both A and B were labelled IN, the accepted set would attack one of its own members.

P8 is retained for compatibility with alternative semantic configurations. Under deductive support and s-admissibility, accepting B also supports A; consequently, A cannot at the same time be rejected.

CON rules

Rule User move Labels System response
C1 B attacks A B = OUT, A = IN C attacks B
C2 B attacks A B = IN, A = IN Not applicable
C3 B supports A B = OUT, A = IN C supports A
C4 B supports A B = IN, A = IN End the dialogue without a new argument
C5 B attacks A B = OUT, A = OUT End the dialogue without a new argument
C6 B attacks A B = IN, A = OUT End the dialogue without a new argument
C7 B supports A B = OUT, A = OUT C attacks B, or C attacks A
C8 B supports A B = IN, A = OUT C attacks A

C2 is not applicable for the same reason as P2: the accepted set would contain an attack between two of its members.

C8 is retained for alternative semantic configurations but cannot be reached under the current combination of deductive support and s-admissibility.

03

Argumentation model

A dialogue is represented as a bipolar argumentation framework:

BAF = ⟨Args, Att, Sup⟩

Args is the set of arguments, while Att and Sup are directed attack and support relations. Bipolar argumentation frameworks extend abstract argumentation frameworks by representing both negative and positive interactions between arguments (Dung, 1995; Cayrol and Lagasquie-Schiex, 2005).

Deductive interpretation of support

ArgChat adopts a deductive interpretation of support. If X supports Y, accepting X entails accepting Y:

(X,Y) ∈ Sup ∧ IN(X) ⇒ IN(Y)

Consequently, a supporter inherits the argumentative consequences of the argument it supports. For example, supporting an argument that attacks another argument also contributes indirectly to that attack.

Under the necessary interpretation, the direction of the dependency is reversed: accepting the supported argument requires accepting its supporter.

(X,Y) ∈ Sup ∧ IN(Y) ⇒ IN(X)

Deductive support is used because support in the dialogue expresses a reason for accepting its target and should therefore propagate the consequences of that target. Necessary support would instead represent the supporter as a prerequisite for accepting the supported argument. These interpretations and their associated complex attacks are discussed by Cayrol and Lagasquie-Schiex, 2013.

Transitive support

Let Sup⁺ denote the transitive closure of the support relation:

(X,Y) ∈ Sup ⇒ (X,Y) ∈ Sup⁺
(X,Y) ∈ Sup⁺ ∧ (Y,Z) ∈ Sup ⇒ (X,Z) ∈ Sup⁺

Complex attacks

The interaction between attack and deductive support gives rise to direct and complex attacks.

Attack Definition Interpretation
Direct (X,Y) ∈ Att ⇒ attack(X,Y) X explicitly attacks Y.
Supported (X,Z) ∈ Sup⁺ ∧ (Z,Y) ∈ Att ⇒ attack(X,Y) X supports an argument that attacks Y.
Mediated (X,Z) ∈ Att ∧ (Y,Z) ∈ Sup⁺ ⇒ attack(X,Y) X attacks an argument supported by Y.
Super-mediated (X,Z) ∈ Sup⁺ ∧ attack(Z,Y) ⇒ attack(X,Y) A direct or complex attack propagates backwards through a support chain.

s-admissibility

The prefix s stands for safe. A set of arguments is safe when it does not attack any of its own members and does not attack an argument that it supports (Cayrol and Lagasquie-Schiex, 2005).

For a set of arguments S, define the arguments attacked and supported by S as:

Att(S) = { x ∈ Args | ∃y ∈ S : attack(y,x) }
Sup(S) = { x ∈ Args | ∃y ∈ S : (y,x) ∈ Sup⁺ }

Safety can therefore be expressed as:

Att(S) ∩ (S ∪ Sup(S)) = ∅

The first part of the union prevents S from attacking one of its members. The second prevents S from attacking and supporting the same argument.

A set defends each of its members when every attacker of an argument in S is itself attacked by S:

∀x ∈ S, ∀y ∈ Args : attack(y,x) ⇒ y ∈ Att(S)

A set is s-admissible when it satisfies both conditions:

S is s-admissible ⇔ S is safe ∧ S defends every x ∈ S

04

Response generation

Response generation combines semantic processing with computational argumentation. Semantic models identify and integrate the user argument, while the argumentation model determines which response is compatible with the current dialogue.

Models and methods

Task Model or method
Sentence representation paraphrase-multilingual-mpnet-base-v2
Argument matching Cosine similarity between sentence embeddings
Relation inference qwen3:8b through Ollama
Argumentative response selection Clingo 5 with deductive support, s-admissibility and dialogue rules
  1. Identify the user argument

    The move is first checked to ensure that its target belongs to the disclosed BAF. The user message is then encoded with paraphrase-multilingual-mpnet-base-v2 (Reimers and Gurevych, 2019).

    The resulting embedding is compared with the stored sentence embeddings through cosine similarity. Matching does not use a separate model. If a sufficiently similar argument is found, its identifier is reused and the new sentence may be stored as an alternative formulation.

    The declared attack or support is then checked against the knowledge base. An existing relation is reused, a missing relation is added and an opposite relation is reported as a conflict.

  2. Integrate an unknown argument

    If no suitable match exists, the contribution is assigned a new argument identifier. The stored embeddings are used to select the existing arguments most closely related to the new contribution.

    The selected arguments are analysed with qwen3:8b (Yang et al., 2025). The model proposes direct attack or support relations involving the new argument. Invalid or malformed relations are discarded, while the relation explicitly declared by the user is added independently.

    The argument and its validated relations are stored in the shared topic knowledge base and become available to subsequent conversations.

  3. Select the chatbot response

    The user argument and its explicit relation are added to the BAF disclosed in the current conversation. The response candidates are the undisclosed arguments that attack or support either the user argument or its selected target.

    The disclosed BAF, the candidates and the user move are evaluated using the rules associated with the previously selected PRO or CON mode. Clingo applies deductive support, s-admissibility and the enabled dialogue rules to select a compatible response (Gebser et al., 2016).

    The selected dialogue mode is not chosen by Clingo. It is fixed when the conversation starts and determines which family of rules can be applied.

  4. Return the result

    The result contains the selected response and relation, the applied dialogue rule and the labels of the disclosed arguments. The interface updates the conversation and graph using this information.

    Some CON rules end the exchange without adding another argument. If no candidate satisfies the required constraints, the system reports that no valid response is available.

05

Topics and knowledge base

Each topic has a shared knowledge base containing its root argument, the available arguments and their attack and support relations. The Topics page can be used to inspect this complete structure.

Exploring a topic

The left panel shows the complete topic graph. The right panel provides three views for inspecting arguments, attacks and supports.

  • Arguments can be searched by ID or sentence and expanded to display every associated formulation.
  • Attacks and supports can be searched by source or target argument ID.
  • Arguments and relations can be filtered according to whether they belong to the original dataset or were introduced during a conversation.
  • Selecting an argument or relation highlights the corresponding graph element.
  • Selecting the source or target of a relation opens the corresponding argument.

The complete topic representation is also available through the Raw JSON link.

Knowledge-base evolution

The knowledge base may evolve when a user contribution introduces information that is not already represented. Depending on the semantic matching and relation analysis, a move may:

  • add an alternative sentence to an existing argument;
  • introduce a previously unknown argument;
  • introduce a new explicit attack or support;
  • add relations inferred during the integration of a new argument.

Successfully integrated arguments and relations become part of the shared topic. They can therefore be used as knowledge in later conversations, including conversations started by other users.

06

Current limitations

Semantic matching

Argument recognition depends on the semantic representations produced by the embedding model and on a configurable similarity threshold. Semantically related arguments may occasionally be merged even though they express different positions, while alternative formulations of the same argument may remain separate when their similarity is insufficient.

Storing multiple sentences for the same argument helps improve coverage, but does not completely remove the ambiguity involved in matching natural-language contributions with abstract arguments.

Relation inference

Relations inferred for a new argument depend on the language model and on the existing arguments selected for comparison. The analysis is limited to a semantically relevant subset of the knowledge base rather than the complete topic.

The validation stage checks relation types, identifiers and structural constraints, but cannot guarantee that every inferred attack or support is argumentatively correct. The resulting knowledge base may therefore require human inspection.

Response selection

More than one candidate response may satisfy the argumentation semantics and the dialogue rules. The current implementation uses the first answer set returned by Clingo and does not rank valid responses according to relevance, novelty or persuasive effectiveness.

A response can only be selected from arguments already connected to the user argument or its target in the topic knowledge base. If no candidate produces a valid configuration, the system cannot generate a new response for that move.

Dialogue coverage

The current dialogue construction is designed to select responses that produce the intended IN and OUT labels without unresolved UNDEC cases. The response rules do not yet define a dedicated strategy for every configuration in which an undecided label is unavoidable.

Knowledge-base evolution

New arguments and relations become shared knowledge and can influence later conversations. Consequently, two conversations performed at different times may use different versions of the same topic.

Reproducible experiments should therefore use a fixed topic snapshot together with fixed model and system configurations.

07

References

  1. P. M. Dung. “On the Acceptability of Arguments and its Fundamental Role in Nonmonotonic Reasoning, Logic Programming and n-Person Games”. Artificial Intelligence, 77(2):321–357, 1995. DOI
  2. C. Cayrol and M.-C. Lagasquie-Schiex. “On the Acceptability of Arguments in Bipolar Argumentation Frameworks”. In Symbolic and Quantitative Approaches to Reasoning with Uncertainty, LNCS 3571, pp. 378–389, 2005. DOI
  3. C. Cayrol and M.-C. Lagasquie-Schiex. “Bipolarity in Argumentation Graphs: Towards a Better Understanding”. International Journal of Approximate Reasoning, 54(7):876–899, 2013. DOI
  4. N. Reimers and I. Gurevych. “Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks”. In Proceedings of EMNLP-IJCNLP 2019, pp. 3982–3992, 2019. DOI
  5. A. Yang et al. “Qwen3 Technical Report”. arXiv preprint arXiv:2505.09388, 2025. DOI
  6. M. Gebser, R. Kaminski, B. Kaufmann and T. Schaub. “Theory Solving Made Easy with Clingo 5”. In Technical Communications of the 32nd International Conference on Logic Programming, OASIcs 52, pp. 2:1–2:15, 2016. DOI