Continuation
Every successful PRO turn adds an accepted system response, whether the newly disclosed user argument is labelled IN or OUT.
User and methodological guide
Learn how to conduct a dialogue, interpret the argumentation graph and understand how ArgChat generates its responses.
01
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.
ArgChat introduces the root argument of the selected topic and uses it as the initial reply target.
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.
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.
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 arrow controls move between alternative sentences. Selecting an element outside the expanded message closes the details.
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
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.
Every successful PRO turn adds an accepted system response, whether the newly disclosed user argument is labelled IN or OUT.
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.
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.
| 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.
| 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
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).
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.
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)
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 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.
| 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 |
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.
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.
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.
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
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.
The left panel shows the complete topic graph. The right panel provides three views for inspecting arguments, attacks and supports.
The complete topic representation is also available through the Raw JSON link.
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:
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
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.
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.
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.
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.
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.