🚀 事實核查
本生成式模型基於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模型可能存在信息洩露問題,從而不自然地提高了得分。