in 인과 관계 설명 방법을 평가하기위한 영어 벤치 마크.
ABSA (human-validated anspect-based sentiment analysis) 벤치 마크.
Eldar David Abraham, Karel D 'Oosterlink, Amir Feder, Yair Gat, Atticus Geiger, Christopher Potts, Roi Reichart, Zhengxuan Wu. 2022. CEBAB : NLP 모델 동작에 대한 실제 개념의 인과 적 영향을 추정합니다. Stanford University, Technion -Israel Institute of Technology 및 Ghent 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}}
데이터 세트 파일은 cebab-v1.1.zip에서 다운로드 할 수 있습니다. v1.1은 v1.0에만 다릅니다. 다른 중요한 분야에는 변화가 없습니다.
Huggingface DataSets 라이브러리를 사용하여 데이터 세트를 사용하는 것이 좋습니다. 1 라인어 데이터로드는 아래를 참조하십시오.
데이터 세트는 Train_ExClusive/Train_Inclusive/Dev/Test Splits로 구성됩니다.
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' : 고유 식별자이 예제 (아래에 나열된 두 ID의 조합).'original_id' : 편집 된 예제에 대한 원본 문장의 고유 식별자.'edit_id' : 편집 된 문장의 고유 식별자.'is_original' :이 문장이 편집인지 아닌지를 나타냅니다.'edit_goal' : 편집 측면의 목표 레이블이 편집 된 예제 인 경우 else None .'edit_type' : 편집 된 예제 인 경우 감정으로 수정하거나 None 을 지정하는 측면.'edit_worker' : 'description' 쓴 근로자의 익명화 된 mturk ID. 이들은 'aspect_validation_workers' 에 사용 된 것과 동일한 ID 제품군에서 나온 것입니다.'description' : 예제 텍스트.'review_majority' : 5 명의 근로자 중 3 명 이상이 선택한 편집 측면에 대한 리뷰 레벨 레이블은 1 명이면 no majority .'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- 러너 | inlp |
|---|---|---|---|---|
| 버트 | L2 | 0.81 (± 0.01) | 0.74 (± 0.02) | 0.80 (± 0.02) |
| 버트 | 코사인 | 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) |
| 로베르타 | 코사인 | 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 | 코사인 | 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 | 코사인 | 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 Advribution 4.0 International License가 있습니다.