GDN-CC
Collection
ressources related to the paper "The GDN-CC Dataset: Automatic Corpus Clarification for AI-enhanced Democratic Citizen Consultations" @ ACL 2026 • 6 items • Updated
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("LequeuISIR/AS-detection_gemma-2-9b-it")
model = AutoModelForCausalLM.from_pretrained("LequeuISIR/AS-detection_gemma-2-9b-it")Gemma-2-9b-it finetuned on the GDN-CC dataset for the task of Argumentative Structure Detection. This is the best model for AS detection and the one used to annotate GDN-CC-large.
It is recommended to use it with the vLLM framework:
from vllm import LLM, SamplingParams
llm = LLM(model="LequeuISIR/AS-detection_gemma-2-9b-it",
max_model_len=2048)
tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-9b-it")
sampling_params = SamplingParams(temperature=0.2, max_tokens=2000)
messages = [
{"role": "user", "content": f"{PROMPT}texte initial:\n {item["text"].strip()}\n\n segment à annoter:\n{item["AU"].strip()}"}
]
prompt_string = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
outputs = llm.generate(formatted_prompts, sampling_params)
with the prompt being:
PROMPT= """
Je vais te donner un segment de texte d'opinions en français. Ton travail est de segmenter ce texte et attribuer à chaque segment un type. \
les types possibles sont CLAIM, PREMISE et SOLUTION, et UNIQUEMENT ceux-là. Ci-dessous la définition de chaque type:\n \
- SOLUTION: une proposition d'action (concrête et réalisable ou non) à prendre pour résoudre un problème.\n \
- CLAIM: l'expression d'une opinion comme affirmation, que n'apporte pas de solution mais plutôt exprime un sentiment.\n \
- PREMISE: une justification, un argument, ou un exemple qui soutient une affirmation ou une solution.\n\n \
Cette tâche est EXTRACTIVE, to dois copier le texte de chaque segment exactement comme il est écrit, incluant les majuscules et la ponctuation. \
l'intégralité du texte doit être segmenté. il n'y a pas forcément tous les types de segments, et plusieurs segments peuvent avoir le même type. \
Tu DOIS ressortir la segmentation en suivant la forme exacte de l'exemple, incluant le "-" pour chaque segment. \n\n \
- [CLAIM] Affirmation 1\n \
- [SOLUTION] Solution 1\n \
- [CLAIM] Affirmation 2\n \
- [PREMISE] argument 1\n \
...
Je vais te donner le texte initial et le segment, et tu dois sortir la liste des segments et leur types sous la forme "- [TYPE] SEGMENT", et rien d'autre.
"""
BibTeX:
@article{lequeu2026gdn,
title={The GDN-CC Dataset: Automatic Corpus Clarification for AI-enhanced Democratic Citizen Consultations},
author={Lequeu, Pierre-Antoine and Labat, L{\'e}o and Cave, Laur{\`e}ne and Lejeune, Ga{\"e}l and Yvon, Fran{\c{c}}ois and Piwowarski, Benjamin},
journal={arXiv preprint arXiv:2601.14944},
year={2026}
}
# Use a pipeline as a high-level helper # Warning: Pipeline type "summarization" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("summarization", model="LequeuISIR/AS-detection_gemma-2-9b-it")