🚀 roberta-temporal-predictor
这是一个基于RoBERTa-base的模型,它在《纽约时报标注语料库》上进行了微调,用于预测两个事件的时间先后顺序。该模型作为我们用于常识因果推理的ROCK框架中的“时间性预测”组件。更多详细信息请参阅我们的论文。
🚀 快速开始
本模型可直接用于掩码填充任务,示例小部件展示了具体用法。不过,为了获得更好的时间推理效果,建议对输出进行对称处理,公式如下:
$$
P(E_1 \prec E_2) = \frac{1}{2} (f(E_1,E_2) + f(E_2,E_1))
$$
其中,f(E_1,E_2)
表示事件 E_1
先于事件 E_2
发生的预测概率。为简便起见,我们实现了以下 TempPredictor
类,它会自动进行对称处理。以下是 TempPredictor
类的使用示例:
from transformers import (RobertaForMaskedLM, RobertaTokenizer)
from src.temp_predictor import TempPredictor
TORCH_DEV = "cuda:0"
tp_roberta_ft = src.TempPredictor(
model=RobertaForMaskedLM.from_pretrained("CogComp/roberta-temporal-predictor"),
tokenizer=RobertaTokenizer.from_pretrained("CogComp/roberta-temporal-predictor"),
device=TORCH_DEV
)
E1 = "The man turned on the faucet."
E2 = "Water flows out."
t12 = tp_roberta_ft(E1, E2, top_k=5)
print(f"P('{E1}' before '{E2}'): {t12}")
💻 使用示例
基础用法
from transformers import (RobertaForMaskedLM, RobertaTokenizer)
from src.temp_predictor import TempPredictor
TORCH_DEV = "cuda:0"
tp_roberta_ft = src.TempPredictor(
model=RobertaForMaskedLM.from_pretrained("CogComp/roberta-temporal-predictor"),
tokenizer=RobertaTokenizer.from_pretrained("CogComp/roberta-temporal-predictor"),
device=TORCH_DEV
)
E1 = "The man turned on the faucet."
E2 = "Water flows out."
t12 = tp_roberta_ft(E1, E2, top_k=5)
print(f"P('{E1}' before '{E2}'): {t12}")
高级用法
from transformers import (RobertaForMaskedLM, RobertaTokenizer)
from src.temp_predictor import TempPredictor
TORCH_DEV = "cuda:0"
tp_roberta_ft = src.TempPredictor(
model=RobertaForMaskedLM.from_pretrained("CogComp/roberta-temporal-predictor"),
tokenizer=RobertaTokenizer.from_pretrained("CogComp/roberta-temporal-predictor"),
device=TORCH_DEV
)
E1 = "The woman received her pension."
E2 = "She retired."
t12 = tp_roberta_ft(E1, E2, top_k=10)
print(f"P('{E1}' before '{E2}'): {t12}")
📄 许可证
本项目采用 MIT 许可证。
📚 引用信息
如果您使用了本模型,请引用以下 BibTeX 条目:
@misc{zhang2022causal,
title={Causal Inference Principles for Reasoning about Commonsense Causality},
author={Jiayao Zhang and Hongming Zhang and Dan Roth and Weijie J. Su},
year={2022},
eprint={2202.00436},
archivePrefix={arXiv},
primaryClass={cs.CL}
}