🚀 事实核查
本生成式模型基于FEVER数据集进行训练,旨在预测某一陈述是否与所提供的证据相符。
🚀 快速开始
本模型可用于预测陈述与证据的一致性,通过简单的安装和代码调用即可使用。
📦 安装指南
一种快速安装该工具的方法是在命令行中输入以下命令:
pip install fact_checking
💻 使用示例
基础用法
安装完成后,可使用以下代码进行基本的事实核查:
from transformers import (
GPT2LMHeadModel,
GPT2Tokenizer,
)
from fact_checking import FactChecker
_evidence = """
Justine Tanya Bateman (born February 19, 1966) is an American writer, producer, and actress . She is best known for her regular role as Mallory Keaton on the sitcom Family Ties (1982 -- 1989). Until recently, Bateman ran a production and consulting company, SECTION 5 . In the fall of 2012, she started studying computer science at UCLA.
"""
_claim = 'Justine Bateman is a poet.'
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
fact_checking_model = GPT2LMHeadModel.from_pretrained('fractalego/fact-checking')
fact_checker = FactChecker(fact_checking_model, tokenizer)
is_claim_true = fact_checker.validate(_evidence, _claim)
print(is_claim_true)
上述代码运行后,输出结果如下:
False
高级用法
输出结果可以包含概率成分,通过多次迭代输出生成过程来实现。系统会生成一组答案,并按“是”或“否”进行分组。例如:
from transformers import (
GPT2LMHeadModel,
GPT2Tokenizer,
)
from fact_checking import FactChecker
_evidence = """
Jane writes code for Huggingface.
"""
_claim = 'Jane is an engineer.'
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
fact_checking_model = GPT2LMHeadModel.from_pretrained('fractalego/fact-checking')
fact_checker = FactChecker(fact_checking_model, tokenizer)
is_claim_true = fact_checker.validate_with_replicas(_evidence, _claim)
print(is_claim_true)
运行上述代码,输出结果如下:
{'Y': 0.95, 'N': 0.05}
📚 详细文档
FEVER数据集得分
模型的预测结果在FEVER开发数据集的一个子集上进行评估,该子集仅限于“支持”和“反驳”选项:
精确率 |
召回率 |
F1值 |
0.94 |
0.98 |
0.96 |
需要注意的是,这些结果仅供参考。该项目仍在进行中,底层的GPT2模型可能存在信息泄露问题,从而不自然地提高了得分。