Tri-PvP
AI & ML interests
None defined yet.
Recent Activity
Tri-PvP
Tri-PvP is a tri-modal conflict benchmark for measuring modality bias in omni-modal LLMs. Each sample gives the model an image, an audio clip, and a text passage that point to three different answers, then asks an open-ended question. The answer the model commits to shows which modality it trusts.
Image and audio each come in two evidence forms:
- Perceptual: direct sensory evidence, such as a natural photo or a real recording.
- Propositional: a declarative claim, such as a rendered word card or a TTS utterance saying "This is a
Text is always propositional.
The benchmark covers four domains, each released as a separate repository:
| Domain | Repository | Classes | Perceptual image source | Perceptual audio source |
|---|---|---|---|---|
| Animal | Tri-PvP/animal |
6 | ImageNet | ESC-50 |
| Emotion | Tri-PvP/emotion |
6 | KDEF | CREMA-D |
| Environment | Tri-PvP/environment |
9 | Open Images V7 | ESC-50 |
| Music | Tri-PvP/music |
7 | ImageNet | Medley-solos-DB |
Dataset Structure
Every domain shares the same schema and has one test split. One row holds one label triple together with both forms of its image and audio (image_perceptual, image_propositional, audio_perceptual, audio_propositional). You pick the image and audio columns to build any of the four evidence conditions, so the same triple is reused across conditions as a matched counterfactual.
| Per domain | Count |
|---|---|
| Rows (label triples) | 500 |
| Evaluated samples (× 4 conditions) | 2,000 |
Across the four domains this gives 8,000 samples.
Fields
| Field | Type | Description |
|---|---|---|
id |
int64 | Sample index within the domain. |
image_perceptual |
Image | Perceptual evidence: a natural photo that directly shows image_label, with no text in it. |
image_propositional |
Image | Propositional evidence: a word card stating image_propositional_text on a white background. |
image_propositional_text |
string | Source sentence for the word card. |
audio_perceptual |
Audio | Perceptual evidence: a real recording in which audio_label is heard directly, with no speech naming it. |
audio_propositional |
Audio | Propositional evidence: GPT-4o mini TTS speech stating audio_propositional_text. |
audio_propositional_text |
string | Source sentence for the TTS audio. |
text_propositional |
string | Propositional evidence: a sentence stating text_label. |
image_label |
string | Ground-truth concept carried by the image, in either form. |
audio_label |
string | Ground-truth concept carried by the audio, in either form. |
text_label |
string | Ground-truth concept carried by the text. |
question |
string | Modality-neutral, open-ended question. |
The three labels in a row are always mutually distinct. The perceptual and propositional versions of a modality always carry the same label, so switching evidence form never changes the conflict.
Evidence Conditions
| Condition | Image column | Audio column | Text column |
|---|---|---|---|
| Perc-I × Perc-A | image_perceptual |
audio_perceptual |
text_propositional |
| Perc-I × Prop-A | image_perceptual |
audio_propositional |
text_propositional |
| Prop-I × Perc-A | image_propositional |
audio_perceptual |
text_propositional |
| Prop-I × Prop-A | image_propositional |
audio_propositional |
text_propositional |
Label-modality combinations are balanced within each domain, so no modality is more reliable than another by construction.
Usage
from datasets import load_dataset
domain = "animal" # animal | emotion | environment | music
ds = load_dataset(f"Tri-PvP/{domain}", split="test")
CONDITIONS = {
"perc_img__perc_aud": ("image_perceptual", "audio_perceptual"),
"perc_img__prop_aud": ("image_perceptual", "audio_propositional"),
"prop_img__perc_aud": ("image_propositional", "audio_perceptual"),
"prop_img__prop_aud": ("image_propositional", "audio_propositional"),
}
img_col, aud_col = CONDITIONS["perc_img__prop_aud"]
row = ds[0]
image = row[img_col] # PIL.Image
audio = row[aud_col] # {"array": np.ndarray, "sampling_rate": int, ...}
text = row["text_propositional"]
question = row["question"]
Unless specified, the paper feeds inputs in the order image, audio, text, question. Score free-form responses against image_label, audio_label, and text_label with the LLM judge in the GitHub repo. It assigns one of eight labels: BIAS_IMAGE, BIAS_AUDIO, BIAS_TEXT, BIAS_IMAGE_AUDIO, BIAS_IMAGE_TEXT, BIAS_AUDIO_TEXT, HALLUCINATION, or NO_BIAS.
Source Licenses
| Source | License |
|---|---|
| ImageNet | ImageNet Terms of Access, non-commercial |
| ESC-50 | CC BY-NC 3.0 |
| KDEF | CC0 |
| CREMA-D | ODC Attribution License |
| Open Images V7 | Images CC BY 2.0, annotations CC BY 4.0 |
| Medley-solos-DB | CC BY 4.0 |
License
The benchmark compilation and the generated data are released under CC BY-NC 4.0. That covers the text, the synthesized speech, the word-card images, and the metadata. Perceptual source files keep their original licenses listed above. ImageNet and ESC-50 restrict use to non-commercial purposes, so Tri-PvP is for non-commercial research and educational use only.
Citation
@misc{piao2026tripvpexposingmodalitybias,
title={Tri-PvP: Exposing Modality Bias in Omni-Modal Large Language Models through Perceptual-Propositional Evidence Conflicts},
author={Yen-Ting Piao and Shu-Yun Chen and Chin-Hui Chu and Chun-Wei Chen and Shih-Yun Shan Kuan and Hung-yi Lee and Yun-Nung Chen},
year={2026},
eprint={2609.06011},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2609.06011},
}