dausal因果説明方法を評価するための英語のベンチマーク。
humanヒト検証されたアスペクトベースの感情分析(ABSA)ベンチマーク。
エルダー・デイビッド・アブラハム、カレル・ド・オースターリンク、アミール・フェダー、ヤ・ガット、アッティカス・ガイガー、クリストファー・ポッツ、ロイ・ライハート、Zhengxuan wu。 2022。CEBAB:NLPモデルの動作に対する現実世界の概念の因果効果の推定。スタンフォード大学技術 - イスラエル工科大学、ゲント大学。
@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}}
データセットファイルは、cebab-v1.1.zipからダウンロードできます。 V1.1はV1.0とは異なり、V1.1には適切な一意のIDSがあり、例を修正し、以前のバージョンではいくつかの非ユニークIDにつながったバグを修正します。他の重要なフィールドに変更はありません。
Huggingface Datasetsライブラリを使用してデータセットを使用することをお勧めします。 1線形のデータ読み込みについては、以下を参照してください。
データセットは、train_exclusive/train_inclusive/dev/testスプリットで構成されています。
train_exclusive.jsontrain_inclusive.jsontrain_observational.jsondev.jsontest.json データセットのデータシート:
CEBABは、主にHuggingface Datasetsライブラリを使用して維持されています。
"""
Make sure you install the Datasets library using:
pip install datasets
"""
from datasets import load_dataset
CEBaB = load_dataset ( "CEBaB/CEBaB" )この関数は、raw *.jsonファイルの任意のサブセットをロードするために使用できます。
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
}
}詳細:
'id' :一意の識別子この例(以下にリストされている2つのIDの組み合わせ)。'original_id' :編集された例の元の文の一意の識別子。'edit_id' :編集された文の一意の識別子。'is_original' :この文が編集であるかどうかを示します。'edit_goal' :編集された例の場合、編集の側面の目標ラベルはNone 。'edit_type' :編集された例でNone場合は、センチメントを変更またはラベル付けする側面。'edit_worker' : 'description'を書いた労働者の匿名化されたmturk ID。これらは'aspect_validation_workers'で使用されているのと同じIDのファミリからのものです。'description' :テキストの例。'review_majority' : no majority人がいる場合、5人の労働者のうち少なくとも3人が選択した編集面のレビューレベルのラベル。'review_label_distribution' :mturk検証タスクからのレビューレベルの評価分布。'review_workers' :アノテーターからのレビューレベルの評価に対する個別の応答。キーは、データセット全体で一貫して使用される匿名化されたMturk IDのリストです。'*_aspect_majority' :5人の労働者のうち少なくとも3人が1人がいる場合、少なくともno majority場合、編集アスペクトのアスペクトレベルのラベル。'*_aspect_label_distribution' :mturk検証タスクからのアスペクトレベルの評価分布。'*_aspect_label_workers' :アノテーターからのレビューレベルの評価に対する個々の応答。キーは、データセット全体で一貫して使用される匿名化されたMturk IDのリストです。'opentable_metadata' :レビューのメタデータ。これが一例です、
{
"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
}
}コードフォーラーで分析コードをホストします。
このセクションには、5クラスのセンチメント分類タスクとしてCEBABで得られた最高のスコアのいくつかのリーダーボードが含まれています。スコアを追加するには、プルリクエストを検討してください。
| モデルアーキテクチャ | メトリック | 約 | S-Learner | inlp |
|---|---|---|---|---|
| バート | L2 | 0.81(±0.01) | 0.74(±0.02) | 0.80(±0.02) |
| バート | cos | 0.61(±0.01) | 0.63(±0.01) | 0.59(±0.03) |
| バート | normdiff | 0.44(±0.01) | 0.54(±0.02) | 0.73(±0.02) |
| ロベルタ | L2 | 0.83(±0.01) | 0.78(±0.01) | 0.84(±0.01) |
| ロベルタ | cos | 0.60(±0.01) | 0.64(±0.01) | 0.58(±0.01) |
| ロベルタ | 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には、Creative Commons Attribution 4.0 International Licenseがあります。