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 分析工具存在以下局限性:

  1. 忽略隐私政策语句间的关系,仅将其提取为不连贯的标签,导致不清楚哪个实体收集了哪种数据类型。
  2. 上下文不完整,需手动或半自动化方式映射,缺乏普遍性,易产生模糊或错误结果。

2.3 研究方案

1. PoliGraph

PoliGraph 能够提取隐私策略中的信息,包括数据类型、与哪些实体共享、使用目的,并将其编码到知识图谱中。如下图所示。

图2.1 PoliGraph示例

图2.1 PoliGraph示例

PoliGraph 由三类元素组成:

  1. Nodes

    • Data Type:被收集的数据类型;
    • Entity:收集数据的组织(第一方或第三方)。
  2. Edges

    • COLLECT edge:表示一个实体可以收集某种数据类型;
    • SUBSUME edge:表示一种包含关系。
  3. 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结构示意图

图2.2 PoliGraph-er结构示意图

PoliGraph-er 由三个部分组成:

  1. Structured Documents

    • 处理 HTML 文档生成简化结构;
    • 使用 pipeline 进行词干、词性、句子分割和依存树分析;
    • 使用 NER 模型识别数据类型和实体。
  2. Annotators

    • 对句子进行注释,识别短语之间关系;
    • 共设计了五种不同的 Annotators。
  3. 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 的准确性评估结果

图2.3 COLLECT edges 和 SUBSUME edges 的准确性评估结果


3. 与 PolicyLint 的对比实验

将 collect(n,d) 关系转换为 PolicyLint 的 tuples ⟨n, collect, d⟩,选择特定数据类型进行比较。

结果显示:

  • PoliGraph-er precision 更高(因只考虑子集);
  • recall 相比更高,但受限于语言分析方法,无法处理表格或复杂句子。
图2.4 对比试验结果

图2.4 对比试验结果


4. 性能改进实验

进行了消融实验,验证各组件对性能的影响。

图2.5 消融实验结果

图2.5 消融实验结果


5. 应用1:隐私策略总结

总结所有策略揭示共同模式,包括:

  • 每种数据类型的收集频率;
  • 哪些实体收集这些数据;
  • 数据用途。
图2.6 隐私策略总结结果

图2.6 隐私策略总结结果


6. 应用2:评估术语定义的正确性

基于 CCPA 定义全局数据本体,检查术语是否符合标准。

结果显示:25.5% 的政策存在不同定义。

图2.7 PoliGraph 中关于全局数据本体的不同定义

图2.7 PoliGraph 中关于全局数据本体的不同定义

图2.8 政策中存在的非标准术语及其可能的定义

图2.8 政策中存在的非标准术语及其可能的定义


7. 应用3:矛盾分析

扩展 PoliGraph,添加 NOT_COLLECT edges,显著减少误报。

图2.9 PolicyLint 矛盾的重新分类结果

图2.9 PolicyLint 矛盾的重新分类结果


8. 应用4:数据流到策略的一致性分析

与 PoliCheck 对比显示,PoliGraph-er 在明确披露方面表现更好。

图2.10 PoliGraph 与 PoliCheck 中每种数据类型的流到策略一致性结果

图2.10 PoliGraph 与 PoliCheck 中每种数据类型的流到策略一致性结果


2.5 优缺点

优点

  1. 使用语义角色标注构建知识图谱,解决传统元组表示语义不完整问题;
  2. 引入全局本体作为外部知识补充;
  3. 实验充分,包括准确性评估和消融实验。

缺点

  1. 错误边可能导致推理错误扩散;
  2. NER 模型无法解析表格和列表形式数据;
  3. Collection Annotator 仅使用肯定句,遗漏疑问句信息。