✅ Англоязычный эталон для оценки причинных методов объяснения.
✅ Основной анализ настроения на основе аспектов (ABSA).
Эльдар Дэвид Абрахам, Карел д'Оостерлинк, Амир Федер, Яир Гат, Аттикус Гейгер, Кристофер Поттс, Рой Рейхарт, Чжэнсуан Ву. 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 имеет правильные уникальные идентификаторы наших примеров и исправляет ошибку, которая привела к некоторым некноячным идентификаторам в предыдущей версии. Нет никаких изменений в других критических полях.
Обратите внимание, что мы рекомендуем использовать библиотеку наборов данных HuggingFace для использования нашего набора данных. Смотрите ниже 1-линейную загрузку данных.
Набор данных состоит из Train_exclusize/train_inclusice/dev/test Splits:
train_exclusive.jsontrain_inclusive.jsontrain_observational.jsondev.jsontest.json Таблица данных для нашего набора данных:
Cebab в основном поддерживается с помощью библиотеки наборов данных HuggingFaceface:
"""
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' : уникальный идентификатор Этот пример (комбинация двух идентификаторов, перечисленных ниже).'original_id' : уникальный идентификатор оригинального предложения для отредактированного примера.'edit_id' : уникальный идентификатор отредактированного предложения.'is_original' : укажите, является ли это предложение редактированием или нет.'edit_goal' : метка цели для аспекта редактирования, если это отредактированный пример, иначе None .'edit_type' : аспект для изменения или метки с чувством, если это отредактированный пример, иначе None .'edit_worker' : анонимный идентификатор работника, который написал 'description' . Это из того же семейства идентификаторов, которые используются в 'aspect_validation_workers' .'description' : пример текста.'review_majority' : этикетка на уровне обзора для аспекта редактирования, выбранного как минимум тремя из пяти работников, если его нет, иначе no majority .'review_label_distribution' : Распределение рейтинга на уровне просмотра из задачи проверки Mturk.'review_workers' : индивидуальный ответ на рейтинг уровня обзора от аннотаторов. Ключи представляют собой списки анонимизированных идентификаторов Mturk, которые используются последовательно по всему набору данных.'*_aspect_majority' : этикетка на уровне аспекта для аспекта редактирования, выбранного как минимум тремя из пяти работников, если его нет, иначе no majority .'*_aspect_label_distribution' : Распределение рейтинга на уровне аспекта из задачи проверки Mturk.'*_aspect_label_workers' : индивидуальный ответ для рейтинга уровня обзора от аннотаторов. Ключи представляют собой списки анонимизированных идентификаторов Mturk, которые используются последовательно по всему набору данных.'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
}
}Мы размещаем наш код анализа в нашем коде Foler.
Этот раздел содержит таблицу лидеров для некоторых из лучших результатов, полученных на CEBAB в качестве задачи классификации настроений из пяти классов. Чтобы добавить результаты, пожалуйста, рассмотрите запрос на тягу.
| Модель архитектура | Показатель | Примерно | S---терея | Инл |
|---|---|---|---|---|
| БЕРТ | 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) |
| БЕРТ | Нормардифф | 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) |
| Роберта | Нормардифф | 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 | Нормардифф | 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 | Нормардифф | 0,50 (± 0,01) | 0,53 (± 0,01) | 0,60 (± 0,01) |
Cebab имеет международную лицензию Creative Commons Attribution 4.0.