论文笔记:PoliGraph :Automated Privacy Policy Analysis using Knowledge Graphs
2. PoliGraph: Automated Privacy Policy Analysis using Knowledge Graphs
2.1 论文信息
- 作者:Hao Cui, Rahmadi Trimananda, Athina Markopoulou, Scott Jordan
- 年份:2023年
- 会议:USENIX Security Symposium
- 研究机构:University of California, Irvine
- 主要内容:提出了一种基于知识图谱的隐私政策文本表示方法 PoliGraph,并开发了自动提取 PoliGraph 的 NLP 工具 PoliGraph-er。该工具可用于:
- 表示不同隐私政策的基本模式;
- 评估术语正确性;
- 检测隐私政策中的矛盾;
- 分析隐私政策与网络流量的一致性。
2.2 问题分析
现有 NLP 分析工具存在以下局限性:
- 忽略隐私政策语句间的关系,仅将其提取为不连贯的标签,导致不清楚哪个实体收集了哪种数据类型。
- 上下文不完整,需手动或半自动化方式映射,缺乏普遍性,易产生模糊或错误结果。
2.3 研究方案
1. PoliGraph
PoliGraph 能够提取隐私策略中的信息,包括数据类型、与哪些实体共享、使用目的,并将其编码到知识图谱中。如下图所示。
图2.1 PoliGraph示例
PoliGraph 由三类元素组成:
Nodes:
- Data Type:被收集的数据类型;
- Entity:收集数据的组织(第一方或第三方)。
Edges:
- COLLECT edge:表示一个实体可以收集某种数据类型;
- SUBSUME edge:表示一种包含关系。
Edge Attributes:
- 将“目的”作为属性列表分配给每个 COLLECT 边(如 Purposes(ec) = {p1, p2, …})。
本体定义
文中重新定义了两种本体以提升通用性和准确性:
Local Ontologies:
- 特定于某项政策;
- 通过 SUBSUME edge 构建有向无环图,捕捉通用和具体术语之间的关系。
Global Ontologies:
- 编码外部知识;
- 包括基于 CCPA 的全局数据本体和全局实体本体,用于补充政策中缺失的定义。
2. PoliGraph-er
PoliGraph-er 是实现 PoliGraph 提取的 NLP 工具,其结构如下图所示。
图2.2 PoliGraph-er结构示意图
PoliGraph-er 由三个部分组成:
Structured Documents
- 处理 HTML 文档生成简化结构;
- 使用 pipeline 进行词干、词性、句子分割和依存树分析;
- 使用 NER 模型识别数据类型和实体。
Annotators
- 对句子进行注释,识别短语之间关系;
- 共设计了五种不同的 Annotators。
Building PoliGraph
- 合并相同含义的短语;
- 使用 sentence transformer 模型将目的短语分类为服务、安全、法律、广告、分析五类;
- 最终合并短语图形成 PoliGraph。
2.4 实验评估
1. 数据集
基于 PoliCheck 数据集,爬取截至 2023 年 3 月的最新策略版本,最终获得 6,084 个隐私策略,从中随机选取 200 条作为测试集。
2. 准确性评估
PoliGraph-er 成功为 5,255 份策略生成对应的 PoliGraph。
- COLLECT edges 精度:90.4%
- SUBSUME edges 精度:87.7%
sentence transformer 模型表现:
- Precision:91.0%
- Recall:94.8%
图2.3 COLLECT edges 和 SUBSUME edges 的准确性评估结果
3. 与 PolicyLint 的对比实验
将 collect(n,d) 关系转换为 PolicyLint 的 tuples ⟨n, collect, d⟩,选择特定数据类型进行比较。
结果显示:
- PoliGraph-er precision 更高(因只考虑子集);
- recall 相比更高,但受限于语言分析方法,无法处理表格或复杂句子。
图2.4 对比试验结果
4. 性能改进实验
进行了消融实验,验证各组件对性能的影响。
图2.5 消融实验结果
5. 应用1:隐私策略总结
总结所有策略揭示共同模式,包括:
- 每种数据类型的收集频率;
- 哪些实体收集这些数据;
- 数据用途。
图2.6 隐私策略总结结果
6. 应用2:评估术语定义的正确性
基于 CCPA 定义全局数据本体,检查术语是否符合标准。
结果显示:25.5% 的政策存在不同定义。
图2.7 PoliGraph 中关于全局数据本体的不同定义
图2.8 政策中存在的非标准术语及其可能的定义
7. 应用3:矛盾分析
扩展 PoliGraph,添加 NOT_COLLECT edges,显著减少误报。
图2.9 PolicyLint 矛盾的重新分类结果
8. 应用4:数据流到策略的一致性分析
与 PoliCheck 对比显示,PoliGraph-er 在明确披露方面表现更好。
图2.10 PoliGraph 与 PoliCheck 中每种数据类型的流到策略一致性结果
2.5 优缺点
优点
- 使用语义角色标注构建知识图谱,解决传统元组表示语义不完整问题;
- 引入全局本体作为外部知识补充;
- 实验充分,包括准确性评估和消融实验。
缺点
- 错误边可能导致推理错误扩散;
- NER 模型无法解析表格和列表形式数据;
- Collection Annotator 仅使用肯定句,遗漏疑问句信息。
