schumanng/prompt-based-detection-of-contradictions-and-inconsistencies

GitHub: schumanng/prompt-based-detection-of-contradictions-and-inconsistencies

基于 prompt 工程的监管法规文本矛盾与不一致性自动检测框架,支持多模型和多语言对比实验。

Stars: 0 | Forks: 0

# 句子对分类 作为监督方法的替代方案,本项目包含三个基于 prompt 的分类器,用于检测监管法规句子之间的矛盾和不一致。随附的论文可以在[这里](https://scholarspace.manoa.hawaii.edu/server/api/core/bitstreams/5b99bd69-e789-4864-9cd8-4fe3d912b55a/content)找到。关于所使用的[数据](https://github.com/schumanng/contradictions_inconsistencies)的收集、预处理和标注的描述,在论文[Detection of Contradictions and Inconsistencies in German Regulatory Documents](https://ieeexplore.ieee.org/abstract/document/10692679?casa_token=XZbIx1qqiCUAAAAA:T2CxqFoLAvT6902_9aU3EEdSAFfRsHQPDgryu_HORDXIRk8x7w4X8lozdjaxJc_wDlojc5Wlv7cd4w)中有详细说明。 脚本 'run_ollama_classification.py' 会针对多个模型和多个 prompt 变体,对已标注的句子对进行评估。 # 项目目的 给定两个句子,模型会将它们的关系分类为预定义的标签: - 矛盾 - 不一致 - 中立 - 不相关 该框架支持: - 多个 Ollama 模型 - 多个 prompt 变体 - 英语和德语数据集 - 自动将结果导出为 CSV - 记录长时间运行实验的日志 # 项目结构 ``` project/ ├── data/ │ ├── English/ │ │ └── annotated_regulatory_sentences_english.csv │ └── German/ │ └── annotated_regulatory_sentences_german.csv │ ├── prompts/ │ ├── English/ │ │ ├── prompt_variant_1.txt │ │ ├── prompt_variant_2.txt │ │ └── prompt_variant_3.txt │ │ │ └── German/ │ ├── prompt_variant_1.txt │ ├── prompt_variant_2.txt │ └── prompt_variant_3.txt │ ├── run_ollama_classification.py └── README.md ``` # 环境要求 安装 Python 包: ``` pip install pandas ollama ``` 安装并运行 Ollama: https://ollama.com/download 确保所需的模型在本地可用。 示例: ``` ollama pull llama3.3:70b-instruct-fp16 ``` # 支持的语言 该脚本目前支持: - 英语 - 德语 语言选择决定了: - 加载哪个数据集 - 使用哪个 prompt 文件夹 - 结果存储在哪里 - 日志写入到哪里 # 如何运行 ## 英语实验 ``` python run_ollama_classification.py --language English ``` ## 德语实验 ``` python run_ollama_classification.py --language German ``` # 输出文件 对于每个模型和 prompt 的组合,都会创建一个 CSV 文件。 示例: ``` English__llama3.1_8b-instruct-fp16__prompt_variant_1__predictions.csv ``` 每个 CSV 包含: - sentence1 - sentence2 - gold_label - prediction - model - prompt - language - is_correct # 配置 所有主要设置均可在 `run_ollama_classification.py` 文件的 CONFIG 字典中进行调整。 示例: - 要测试的模型 - prompt 文件 - 上下文窗口 (num_ctx) - GPU 可见性 - CSV 分隔符 # 注意事项 - 执行前必须运行 Ollama。 - 根据数据集大小和模型的不同,长时间运行的实验可能需要数小时。 - 运行期间会定期保存中间结果。 - 结果具有非确定性。 - 仅供研究目的使用。
标签:AI风险缓解, Apex, DLL 劫持, LLM评估, NLP, Ollama, Python, 二分类/多分类, 信息抽取, 句子对分类, 合规文件分析, 大语言模型, 密钥管理, 德语数据集, 数据不一致性, 文本分析, 文本分类, 无后门, 本地大模型部署, 机器学习, 监管合规, 监管科技, 矛盾检测, 英语数据集, 逆向工具