✅ englischsprachige Benchmark zur Bewertung von kausalen Erklärungsmethoden.
✅ Human-Validated Aspektbasierte Stimmungsanalyse (ABSA) Benchmark.
Eldar David Abraham, Karel D'Oosterlink, Amir Feder, Yair Gat, Atticus Geiger, Christopher Potts, Roi Reichart, Zhengxuan Wu. 2022. Cebab: Schätzung der kausalen Effekte realer Konzepte auf das NLP-Modellverhalten. Frau, Stanford University, Technion - Israel Institute of Technology und Gent University.
@unpublished{abraham-etal-2022-cebab,
title={{CEBaB}: Estimating the Causal Effects of Real-World Concepts on {NLP} Model Behavior},
author={Abraham, Eldar David and D'Oosterlinck, Karel and Feder, Amir and Gat, Yair Ori and Geiger, Atticus and Potts, Christopher and Reichart, Roi and Wu, Zhengxuan},
note={arXiv:2205.14140},
url={https://arxiv.org/abs/2205.14140},
year={2022}}
Datensatzdateien können von Cebab-V1.1.zip heruntergeladen werden. Unser V1.1 unterscheidet sich nur von V1.0, da v1.1 ordnungsgemäß eindeutige IDs in unseren Beispielen hat und einen Fehler korrigiert, der zu einigen nicht eindeutigen IDs in der vorherigen Version geführt hat. Es gibt keine Änderungen an anderen kritischen Feldern.
Beachten Sie, dass wir empfehlen, dass Sie die Huggingface -Datensätze Bibliothek verwenden, um unseren Datensatz zu verwenden. Eine 1-lineare Datenbelastung finden Sie unten.
Der Datensatz besteht aus Train_exclusive/Train_inclusive/Dev/Test Splits:
train_exclusive.jsontrain_inclusive.jsontrain_observational.jsondev.jsontest.json Das Datenblatt für unseren Datensatz:
Cebab wird hauptsächlich mit der Huggingface -Datensätzebibliothek gepflegt:
"""
Make sure you install the Datasets library using:
pip install datasets
"""
from datasets import load_dataset
CEBaB = load_dataset ( "CEBaB/CEBaB" ) Diese Funktion kann verwendet werden, um eine Teilmenge der RAW *.json -Dateien zu laden:
import json
def load_split ( splitname ):
with open ( splitname ) as f :
data = json . load ( f )
return data {
'id' : str in format dddddd_dddddd as the concatenation of original_id and edit_id ,
'original_id' : str in format dddddd ,
'edit_id' : str in format dddddd ,
'is_original' : bool ,
'edit_goal' : str ( one of "Negative" , "Positive" , "unknown" ) or None if is_original ,
'edit_type' : str ( one of "noise" , "service" , "ambiance" , "food" ),
'edit_worker' : str or None if is_original ,
'description' : str ,
'review_majority' : str ( one of "1" , "2" , "3" , "4" , "5" , "no majority" ),
'review_label_distribution' : dict ( str to int ),
'review_workers' : dict ( str to str ),
'food_aspect_majority' : str ( one of "Negative" , "Positive" , "unknown" , "no majority" ),
'ambiance_aspect_majority' : str ( one of "Negative" , "Positive" , "unknown" , "no majority" ),
'service_aspect_majority' : str ( one of "Negative" , "Positive" , "unknown" , "no majority" ),
'noise_aspect_majority' : str ( one of "Negative" , "Positive" , "unknown" , "no majority" ),
'food_aspect_label_distribution' : dict ( str to int ),
'ambiance_aspect_label_distribution' : dict ( str to int ),
'service_aspect_label_distribution' : dict ( str to int ),
'noise_aspect_label_distribution' : dict ( str to int ),
'food_aspect_validation_workers' : dict ( str to str ),
'ambiance_aspect_validation_workers' : dict ( str to str ),
'service_aspect_validation_workers' : dict ( str to str ),
'noise_aspect_validation_workers' : dict ( str to str ),
'opentable_metadata' : {
"restaurant_id" : int ,
"restaurant_name" : str ,
"cuisine" : str ,
"price_tier" : str ,
"dining_style" : str ,
"dress_code" : str ,
"parking" : str ,
"region" : str ,
"rating_ambiance" : int ,
"rating_food" : int ,
"rating_noise" : int ,
"rating_service" : int ,
"rating_overall" : int
}
}Details:
'id' : Die eindeutige Kennung dieses Beispiels (eine Kombination von zwei unten aufgeführten IDs).'original_id' : Die eindeutige Kennung des ursprünglichen Satzes für ein bearbeitetes Beispiel.'edit_id' : Die eindeutige Kennung des bearbeiteten Satzes.'is_original' : Geben Sie an, ob dieser Satz eine Bearbeitung ist oder nicht.'edit_goal' : Das Zieletikett für den Bearbeitungsaspekt, wenn es ein bearbeitetes Beispiel, sonst None .'edit_type' : Der Aspekt zum Ändern oder Beschriften mit Sentiment, wenn es ein bearbeitetes Beispiel gibt, sonst None .'edit_worker' : Anonymisierte MTurk -ID des Arbeiters, 'description' schrieb. Diese stammen aus derselben IDsfamilie, wie sie in 'aspect_validation_workers' verwendet werden.'description' : Der Beispieltext.'review_majority' : Das Bewertungs-Label für den Bearbeitungsaspekt, der von mindestens drei der fünf Arbeiter ausgewählt wurde, wenn es eine gibt, sonst no majority .'review_label_distribution' : Bewertungsverteilung auf Überprüfungsebene aus der MTurk-Validierungsaufgabe.'review_workers' : Individuelle Antwort für die Bewertung auf Überprüfungsebene von Annotatoren. Die Schlüssel sind Listen anonymisierter MTurk -IDs, die im gesamten Datensatz konsistent verwendet werden.'*_aspect_majority' : Das Label Aspekt-Level für den Bearbeitungsaspekt, der von mindestens drei der fünf Arbeiter ausgewählt wird, wenn es eine gibt, sonst no majority .'*_aspect_label_distribution' : Bewertungsverteilung auf Aspekt-Ebene aus der MTurk-Validierungsaufgabe.'*_aspect_label_workers' : Individuelle Antwort für die Bewertung von Annotatoren auf Überprüfungsebene. Die Schlüssel sind Listen anonymisierter MTurk -IDs, die im gesamten Datensatz konsistent verwendet werden.'opentable_metadata' : Metadaten für die Bewertung.Hier ist ein Beispiel,
{
"id" : "000000_000000" ,
"original_id" : "000000" ,
"edit_id" : "000000" ,
"is_original" : true ,
"edit_goal" : null ,
"edit_type" : null ,
"edit_worker" : null ,
"description" : "Overbooked and didnot honor reservation time,put on wait list with walk INS" ,
"review_majority" : "1" ,
"review_label_distribution" : {
"1" : 4 ,
"2" : 1
},
"review_workers" : {
"w244" : "1" ,
"w120" : "2" ,
"w197" : "1" ,
"w7" : "1" ,
"w132" : "1"
},
"food_aspect_majority" : "" ,
"ambiance_aspect_majority" : "" ,
"service_aspect_majority" : "Negative" ,
"noise_aspect_majority" : "unknown" ,
"food_aspect_label_distribution" : "" ,
"ambiance_aspect_label_distribution" : "" ,
"service_aspect_label_distribution" : {
"Negative" : 5
},
"noise_aspect_label_distribution" : {
"unknown" : 4 ,
"Negative" : 1
},
"food_aspect_validation_workers" : "" ,
"ambiance_aspect_validation_workers" : "" ,
"service_aspect_validation_workers" : {
"w148" : "Negative" ,
"w120" : "Negative" ,
"w83" : "Negative" ,
"w35" : "Negative" ,
"w70" : "Negative"
},
"noise_aspect_validation_workers" : {
"w27" : "unknown" ,
"w23" : "unknown" ,
"w81" : "Negative" ,
"w103" : "unknown" ,
"w9" : "unknown"
},
"opentable_metadata" : {
"restaurant_id" : 6513 ,
"restaurant_name" : "Molino's Ristorante" ,
"cuisine" : "italian" ,
"price_tier" : "low" ,
"dining_style" : "Casual Elegant" ,
"dress_code" : "Smart Casual" ,
"parking" : "Private Lot" ,
"region" : "south" ,
"rating_ambiance" : 1 ,
"rating_food" : 3 ,
"rating_noise" : 2 ,
"rating_service" : 2 ,
"rating_overall" : 2
}
}Wir hosten unseren Analyse -Code in unserem Code Foler.
Dieser Abschnitt enthält die Rangliste für einige der besten Punkte, die in Cebab als Fünf-Klassen-Klassifizierungsaufgabe erzielt wurden. Um Punkte hinzuzufügen, sollten Sie bitte eine Pull -Anfrage erwägen.
| Modellarchitektur | Metrisch | Ca. | S-lerner | INLP |
|---|---|---|---|---|
| Bert | L2 | 0,81 (± 0,01) | 0,74 (± 0,02) | 0,80 (± 0,02) |
| Bert | Cos | 0,61 (± 0,01) | 0,63 (± 0,01) | 0,59 (± 0,03) |
| Bert | NormDiff | 0,44 (± 0,01) | 0,54 (± 0,02) | 0,73 (± 0,02) |
| Roberta | L2 | 0,83 (± 0,01) | 0,78 (± 0,01) | 0,84 (± 0,01) |
| Roberta | Cos | 0,60 (± 0,01) | 0,64 (± 0,01) | 0,58 (± 0,01) |
| Roberta | NormDiff | 0,45 (± 0,00) | 0,59 (± 0,01) | 0,81 (± 0,01) |
| GPT-2 | L2 | 0,72 (± 0,02) | 0,60 (± 0,02) | 0,72 (± 0,01) |
| GPT-2 | Cos | 0,59 (± 0,01) | 0,59 (± 0,01) | 1,00 (± 0,00) |
| GPT-2 | NormDiff | 0,41 (± 0,01) | 0,40 (± 0,01) | 0,58 (± 0,03) |
| Lstm | L2 | 0,86 (± 0,01) | 0,73 (± 0,01) | 0,79 (± 0,01) |
| Lstm | Cos | 0,64 (± 0,01) | 0,64 (± 0,01) | 0,74 (± 0,02) |
| Lstm | NormDiff | 0,50 (± 0,01) | 0,53 (± 0,01) | 0,60 (± 0,01) |
Cebab verfügt über eine Creative Commons Attribution 4.0 International Lizenz.