研究文章
软件系统安全漏洞管理使用NLP探索语言的功能模型
|
输入:安全- nonsecurity-related文本和标记过程: |
| (1) |
标记与伯特:记号赋予器= |
|
transformers.BertTokenizer |
|
from_pretrained (“bert-base-uncased”) |
| (2) |
数据准备伯特的需要,包括降低套管的文本,分词,词分成块,伯特单词与词汇索引匹配文件,添加特殊标记,并添加面具,每个输入段令牌 |
| (3) |
模型体系结构构建与TF: |
|
model.compile(优化器= tf.optimizers |
|
亚当(learning_rate = 2e−5,ε= 1e−08),损失= " binary_crossentropy”指标=(“准确性”)) |
| (4) |
最大序列长度设置为250 |
| (5) |
TF Keras层构建模型编译 |
| (6) |
文本转换为伯特输入功能: |
|
create_bert_input_features(记号赋予器, |
|
train_text max_seq_length) |
| (7) |
训练数据集分成50%,10%进行验证,40%用于测试 |
| (8) |
创建函数用于创建伯特输入功能 |
| (9) |
IDs特性,特性面具,功能段创建培训和验证 |
| (10) |
模型训练和验证 |
| (11) |
测试检查数据转换在伯特输入功能 |
| (12) |
模型性能评价与测试数据:从sklearn。指标导入 |
|
confusion_matrix, |
|
classification_report, accuracy_score |
|
输出: |
|
精度:91.39% |
|
精度:0.92 |
|
回忆:0.91 |
|
F1-score: 0.88 |
|