🚀 CyNER 2.0:用于网络安全的特定领域命名实体识别模型
CyNER 2.0 是一款专门为网络安全领域设计的命名实体识别(NER)模型。它基于 DeBERTa 变压器模型构建,并经过微调以识别与网络安全相关的实体,包括指标、恶意软件、组织、系统和漏洞等,为网络安全分析提供有力支持。
✨ 主要特性
- 模型架构:采用 DeBERTa(具有解缠注意力的解码增强 BERT)V3 base。
- 主要用例:针对网络安全实体进行命名实体识别(NER)。
- 性能指标:在增强数据集上实现了 91.88% 的 F1 分数。
- 训练数据:在原始 CyNER 数据集和来自各种开源网络安全平台的增强数据集上进行微调。
📦 安装指南
要使用 CyNER 2.0 模型,首先需要从 Hugging Face 安装 transformers
库:
pip install transformers
💻 使用示例
基础用法
from transformers import AutoModelForTokenClassification, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("PranavaKailash/CyNER-2.0-DeBERTa-v3-base")
model = AutoModelForTokenClassification.from_pretrained("PranavaKailash/CyNER-2.0-DeBERTa-v3-base")
高级用法
from transformers import pipeline
ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer)
text = "A recent attack by WannaCry ransomware caused significant damage to Windows systems."
entities = ner_pipeline(text)
print(entities)
输出示例
[
{"entity": "B-Malware", "score": 0.99, "index": 5, "word": "WannaCry", "start": 19, "end": 28},
{"entity": "B-System", "score": 0.98, "index": 10, "word": "Windows", "start": 54, "end": 61}
]
📚 详细文档
模型概述
CyNER 2.0 是专门为网络安全领域设计的命名实体识别(NER)模型。它基于 DeBERTa 变压器模型构建,并经过微调以识别与网络安全相关的实体,包括指标、恶意软件、组织、系统和漏洞等。
模型描述
基于 DeBERTa 的 CyNER 2.0 模型使用多种数据集进行了微调,包括原始 CyNER 数据集和包含更多近期威胁模式及额外实体标签的增强数据集。微调过程涉及在序列数据上训练模型,与其他基线模型相比,提高了精确率、召回率和 F1 分数。
预期用途
CyNER 2.0 模型旨在协助网络安全分析师自动从非结构化或结构化的网络安全报告中提取相关实体。它可以集成到威胁情报、自动报告生成等工具和应用程序中。
识别的实体示例
CyNER 2.0 模型经过训练,可识别网络安全相关文本中的以下实体:
- 指标:识别攻击指标(IoC),如 IP 地址、文件哈希、URL 等。
- 恶意软件:识别恶意软件、勒索软件或其他恶意软件的名称(例如,WannaCry、DroidRAT)。
- 组织:识别参与网络安全或成为网络威胁目标的组织名称(例如,Microsoft、FBI)。
- 系统:识别参与网络安全事件的操作系统、软件和硬件(例如,Windows 10、Linux 内核)。
- 漏洞:提取对特定漏洞的引用(例如,CVE - 2023 - XXXX)。
- 日期:识别与网络安全事件相关的日期。
- 位置:识别与网络安全事件相关的地理位置。
- 威胁组织:识别参与网络攻击的威胁组织或行为者的名称。
🔧 技术细节
数据集
该模型在两个数据集上进行了训练:
- 原始 CyNER 数据集:专注于网络安全领域的基础实体。
- 增强数据集:扩展了新的实体类型和额外的现实世界网络安全威胁。
超参数
- 学习率:2e - 5
- 训练轮数:3
- 批次大小:8
- 权重衰减:0.01
评估
- 精确率:91.06%
- 召回率:92.72%
- F1 分数:91.88%
GitHub 仓库
仓库链接
局限性
- 实体不平衡:模型在识别不太常见的实体(如漏洞)时可能表现不佳。
- 领域特定性:该模型专门针对网络安全领域进行了调整,可能无法很好地推广到其他 NER 任务。
引用
如果您在研究中使用此模型,请引用以下论文:
@misc{yet_to_update,
title={CyNER 2.0: A Name Entity Recognition Model for Cyber Security},
author={Pranava Kailash},
year={2024},
url={Yet to update}
}
📄 许可证
本项目采用 MIT 许可证。
信息表格
属性 |
详情 |
模型类型 |
基于 DeBERTa V3 base 的命名实体识别模型 |
训练数据 |
原始 CyNER 数据集和增强数据集(来自各种开源网络安全平台) |