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
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 response policies. Both preserve the commitment to the root argument but differ in whether an accepted user contribution requires a further system response.

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

Continuation

Every successful PRO turn adds an accepted system response, whether the newly disclosed user argument is labelled IN or OUT.

CON

Countering

CON adds a response when the newly disclosed user argument is labelled OUT. A feasible contribution labelled IN is incorporated as a terminal move. CON does not represent opposition to the root argument.

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 supports A B = OUT, A = IN C attacks B
P3 B supports A B = IN, A = IN C supports B, or C supports A
P4 B attacks A B = OUT, A = OUT C attacks B
P5 B attacks A B = IN, A = OUT C supports B, or C attacks A
P6 B supports A B = OUT, A = OUT C attacks B

Two further combinations are infeasible under stable semantics with deductive support: an accepted B cannot attack an accepted A, and an accepted B cannot support a rejected A.

CON rules

Rule User move Labels System response
C1 B attacks A B = OUT, A = IN C attacks B
C2 B supports A B = OUT, A = IN C attacks B
C3 B supports A B = IN, A = IN No further response is required
C4 B attacks A B = OUT, A = OUT C attacks B
C5 B attacks A B = IN, A = OUT No further response is required
C6 B supports A B = OUT, A = OUT C attacks B, or C attacks A

The same two infeasible combinations excluded from the PRO policy are also omitted from the CON policy.

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.

Deductive attacks

The deductive attack relation is the least relation containing every direct attack and closed under supported and mediated attack propagation. Both propagation rules apply recursively.

(X,Y) ∈ Att ⇒ attack(X,Y)
(X,Z) ∈ Sup ∧ attack(Z,Y) ⇒ attack(X,Y)
attack(X,Z) ∧ (Y,Z) ∈ Sup ⇒ attack(X,Y)

Stable semantics under deductive support

The BAF is evaluated through the associated abstract argumentation framework whose attack relation contains both direct and deductively induced attacks. A set S is stable when it is conflict-free and attacks every argument outside the set.

∀x,y ∈ S : not attack(x,y)
∀x ∉ S, ∃y ∈ S : attack(y,x)

The stable extension induces a binary labelling: its members are labelled IN and all remaining arguments are labelled OUT.

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, stable semantics 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. If the matched argument has already been disclosed in the current dialogue, the move is rejected and the user is asked to reformulate it.

    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, stable semantics 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 complete the turn 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

Stable semantics produces a binary IN/OUT labelling. If no stable extension satisfies the selected dialogue policy and its response conditions, the system reports that no valid response is available.

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