Tools for elicitation dialogue.
Project description
Elicitation
Elicitation is a Python package for training and evaluating Information Elicitation Agents (IEAs), based on the paper YIELD: A Large-Scale Dataset and Evaluation Framework for Information Elicitation Agents, presented at ACL 2026.
IEAs are conversational agents designed to actively elicit information from users, rather than passively respond to requests.
Installation
pip install elicitation
Features
- Utilities for:
- Generating elicitor utterances
- Converting utterances into structured dialogues
- Evaluation metrics tailored to elicitation behavior:
- Conformity (distributional alignment with human elicitors)
- Progression (forward movement of dialogue)
- Turn-Length Ratio (TLR) (elicitor vs. respondent verbosity)
Examples
Example scripts and sample data are available in the examples/ directory.
Configuration
Create a configuration file at config/config.yaml:
paths:
proj_store: "./proj_store"
models: "/data/models"
proj_store: directory for intermediate outputs and logsmodels: path to local or downloaded model checkpoints
Running Examples
example_dialoguegen.py: End-to-end pipeline to generate elicitor utterances and convert outputs into dialogue format.example_conformity_cossim.py: Computes Conformity (embedding similarity).example_conformity_perplexity.py: Computes Conformity (perplexity-based).example_interaction_metrics.ipynb: Interactive notebook for Progression and Turn-Length Ratio.
Typical Workflow
The package follows a three-stage pipeline consistent with the YIELD evaluation setup :
- Generate Elicitor Utterances
Use a base or fine-tuned model to generate the next elicitor turn given dialogue context.
from elicitation.utils import generate_utterances
output_file = generate_utterances(
model_choice=base_model_path,
finetuning_dataset=data_input_folder,
model_type="finetuned", # or "prompted"
adapter_model=adapter_model_path, # required if finetuned
prompt_file=None, # required if prompted
batch_size=8,
save_dir=proj_store,
)
- Convert to Dialogue Format
Convert generated outputs into structured dialogues for evaluation.
from elicitation.utils import utterances_to_dialogue
utterances_to_dialogue(output_file)
- Evaluate
Conformity (Embedding Similarity)
from elicitation.metrics import conformity_cossim
results = conformity_cossim(input_filepath, embedding_model_path)
Conformity (Perplexity)
from elicitation.metrics import conformity_perplexity
results = conformity_perplexity(
input_filepath,
base_model_path,
adapter_model_path,
use_adapter=True
)
Interaction Metrics (Dialogue-Level)
from elicitation.metrics import progression, turn_length_ratio
progression_df = progression(dialogues, embedding_model, k=2, gamma=0.9)
tlr_df = turn_length_ratio(dialogues)
Citing Elicitation
If you use this resource in your projects, please cite the following paper.
@misc{De_Lima_YIELD_A_Large-Scale_2026,
author = {De Lima, Victor and Yang, Grace Hui},
doi = {10.48550/arXiv.2604.10968},
title = {{YIELD: A Large-Scale Dataset and Evaluation Framework for Information Elicitation Agents}},
url = {https://arxiv.org/abs/2604.10968},
year = {2026}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file elicitation-1.0.1.tar.gz.
File metadata
- Download URL: elicitation-1.0.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b94cf12c65607c587d8a8a7c082394e90fe5b7b05b319c2fa5cc775319d772d
|
|
| MD5 |
3cf79a6574389c67d60ec99055581cf6
|
|
| BLAKE2b-256 |
69cfde6871666c7bac9e82ab321d7eab5fa105bde3eb7d979aa5ea06450c47ef
|
File details
Details for the file elicitation-1.0.1-py3-none-any.whl.
File metadata
- Download URL: elicitation-1.0.1-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
796dc074b5e098a433d113ee111b44524d0be1196afe92938aacb0b5097112e3
|
|
| MD5 |
590fb3433db99f904f0d01980a588b51
|
|
| BLAKE2b-256 |
1c2b3edfa95d8287aaf2214b92f6f1b98e6f64b55dadbc160acac85025d9e24f
|